Когда я копался в исходниках ядра CyanogenMod 7.1 для моего Galaxy S2, я обнаружил, что драйвер USB-аксессуаров отсутствует в ядре 2.6.35.7 (я думаю, что флаг .config ядра - CONFIG_USB_ANDROID_ACCESSORY).
Из того, что я нашел во время многих поисков и форумов, я узнал, что драйвер аксессуара был реализован в Honeycomb (3.x), но перенесен в Gingerbread (2.3) и должен быть доступен из ядра 2.6.35.15. Я предпринял несколько неудачных попыток скомпилировать свое собственное ядро, планируя выбрать драйвер, но по какой-то причине мне не удалось загрузить телефон с моим собственным ядром.
Сейчас я запускаю раннюю экспериментальную сборку CyanogenMod 9 ICS (4.0.3) на моем SGS2, и можно разговаривать по телефону с моей платой Arduino. Я сделал телефон способным переключать светодиод на плате, так что, думаю, пришло время начать работу над планами мирового господства.