No More USB Host API Support On KI Firmware

No More USB Host API Support On KI Firmware

The world of mobile technology is a rather complicated one with lots of strings and intricacies that only the most knowledgeable of business analysts could understand. I say this because for the likes of technology advocates like ourselves, sometimes decisions made up in the higher places of power of manufacturer’s companies really make no sense. However, before getting into the nitty gritty of the situation, let me take a step back and remind all of you that manufacturers know and understand the power that our user base has over their sales and that the word of a “geek” with anything related to technology could be worth far more than simply throwing money away on advertising. With this in mind, several companies of the likes of HTC and Samsung have gotten intricately closer to developer forums like xda-developers. They want to try to get better rapport with their end users but also, they recognize the power that freelance developers, hobbyists, and enthusiasts play in their business model. With this in mind, we have seen them do things like release product updates, sources, and some information that was previously not available in attempts to get, as stated earlier, closer to devs. The latest installment of good faith by Samsung came with the official release of the KI firmware, which is their first official build of 2.3.4. Happy and excited about it, our devs decided to do what they do best: dissected it and looked for bugs. XDA Recognized Developer Chainfire made a post in his own personal blog where he talks about his findings after cracking this one open.

You will find the story below, but the basic premise is that there are a few things that Samsung has either forgotten to include or deliberately excluded from this new firmware. The first one is USB host API support for third party applications, and if you are not certain what this means, it is actually rather simple when put in context. Lets assume that you used to play Need For Speed with a USB controller rather than by using the device itself. Well, you will no longer have this option as this ability of the program to interact and communicate with peripherals has been eliminated. However, the device can still use USB peripherals assuming that whatever you are trying to connect is supported by the kernel. However, if you are a dev, this is the least of your worries because they did do something else. The bootloader has also been patched to ensure that the kernel flash counter cannot be reset. This means that if you are a flash-a-holic and you are planning on being able to return your device for warranty reasons, anyone with access to this little number will know that you have flashed it numerous times if it is not 0, even if you do return everything to stock prior to the return. Last but not least, XDA Senior Moderator pulser_g2 also chipped in the discussion, letting Chainfire know that the SIP support was also completely removed from the KI firmware.

We find ourselves at a cross roads here. We certainly understand that manufacturers are, for the most part, at the mercy of “higher” powers when it comes to decision making, which would explain things like the bootloader patch. However, from a sales standpoint, there is really no reason to remove USB host API support from the kernel. This little fact leads me to believe that it was either a mistake and someone simply “forgot” to cook this in, or we have bigger issues at hand as there is really no real reason for this to be removed. So, what say you Samsung? Do you have an answer for your loyal customers? You have been doing well lately and have been addressing the developer community in a rather timely manner. You may want to consider visiting this small issue as it should be no reason to neglect putting it back in. We believe in you and that you really want to please your user base. The ball is in your court now…


The first official Android 2.3.4 series firmwares (KI) for the Samsung Galaxy S2 are now finally available.

Two things immediately stick out:

USB host support

Samsung has removed the USB host Android APIs from this release. The kernel is still USB host enabled, which means your memory stick (etc) will still work. However, 3rd party applications can no longer make use of USB host capabilities to communicate with peripherals through the Android APIs, so only USB devices with direct kernel support can be used.

One wonders why Samsung would remove this feature that has been present on SGS2 firmwares for months, especially since having the feature has generated a lot of good press in combination with DSLR Controller [XDA].


Samsung has also modified the bootloaders (sbl specifically) to prevent use of the USB JIG to erase the custom kernel counter and warning triangle. Workarounds to remove the custom kernel warning triangle are still available (the non-JIG triangle removal method as described in the CF-Root thread [XDA] still works), but there is no workaround to reset the custom kernel flash counter.

To keep being able to reset the counter, you need to flash the new firmwares without the bootloaders, or flash old bootloaders separately (KH series bootloaders work).

Intratech has both the latest firmware with the bootloaders stripped out – as well as an old bootloader package for those who have already flashed the evil bootloaders – available in his firmware thread here [XDA].


[1] Information based on Nordic official “KI4” Android 2.3.4 firmware

[2] It appears the Sprint version of the SGS2 (Epic 4G Touch) doesn’t even have kernel support for USB host at the moment

[3] The warning triangle mentioned is a yellow triangle that shows on screen while booting if you are running a custom kernel on your device

[4] The custom kernel counter is a counter inside the device that tracks how often you have flashed a custom kernel. It is assumed your device will not be serviced under warranty if this counter is not 0

[5] I have just been informed by pulser [villainrom] that Samsung has also actively removed SIP support from this firmware series.

You can find the original article here.

Want something published in the Portal? Contact any News Writer.

Thanks Chainfire for the tip!

About author


I have been an active member of xda-developers since 2005 and have gone through various roles in my time here. I am Former Portal Administrator, and currently part of the administrator team while maintaining my writer status for the portal. In real life, I am a Chemical Engineer turned Realtor in the Miami area.