USB-хост Android и скрытые устройства

Я разрабатываю приложение для Android, в котором я должен общаться с устройством USB. Я пытался использовать стандартный API Google в своем приложении, но список устройств всегда пуст.

То же самое, если я использую информацию об устройстве USB с API Google. Список устройств, найденных google api, пуст,

lsusb дает следующие результаты:

Bus 001 Device 001: ID 1d6b:0001
Bus 002 Device 001: ID 1d6b:0002
Bus 003 Device 001: ID 1d6b:0001
Bus 002 Device 002: ID 2226:0014

мое устройство 2226:0014

журнал eclipse:

I/USB3G(92): event { 'add', '/devices/platform/sw-ehci.1/usb2/2-1', 'usb', '', 189, 133 }
I/USB3G(92): path : '/sys/devices/platform/sw-ehci.1/usb2/2-1'
I/USB3G(92): VID :size 5,vid_path '/sys/devices/platform/sw-ehci.1/usb2/2-1/idVendor',VID  '2226
I/USB3G(92): '.
I/USB3G(92): PID :size 5,Pid_path '/sys/devices/platform/sw-ehci.1/usb2/2-1/idProduct',PID  '0014
I/USB3G(92): '.
I/USB3G(92): cmd=/system/etc/usb_modeswitch.sh /system/etc/usb_modeswitch.d/2226_0014 &,
I/USB3G(92): excute ret : 0,err:No such file or directory

Если я подключаю такие устройства, как адаптеры rs232, bluetooth-ключ, ничего бывает, а результата от API и lsusb нет.

Протокол устройства основан на библиотеке ezusb. Версия Android: 4.0.3 ядро версии: 3.0.8 сборка прошивки: Crane_evb-eng 4.0.3 IMLK74k 20120330

Есть ли способ получить доступ к скрытым USB-устройствам через API, или мне нужно реализовать поддержку этого устройства, написав драйвер и вставив его в прошивку?

ОБНОВЛЕНИЕ: даже если я создаю информационный файл в *system/etc/usb_modeswitch.d/* с именем 2226_0014 содержащий

DefaultVendor= 0x2226
DefaultProduct=0x0014
TargetVendor=  0x2226
TargetProductList="0014"
MessageEndpoint="0x00"
NeedResponse=1
CheckSuccess=20

, я получаю ту же ошибку: «Нет такого файла или каталога»

24
задан Alexey.Shilenkov 25 June 2012 в 17:35
поделиться