Pracuję nad aplikacją na Androida, w której muszę się komunikować z urządzeniem USB. Próbowałem użyć standardowego interfejsu Google API w mojej aplikacji, ale lista urządzeń jest zawsze pusta.Android USB host i ukryte urządzenia
Te same rzeczy, jeśli korzystam z informacji o urządzeniu USB za pomocą google api. Lista urządzeń poszukiwanych przez google api jest pusta,
lsusb daje następujące wyniki:
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
urządzenie pracuje 2226: 0014
dziennik zaćmienia:
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
Jeżeli podłączę w urządzeniach takich jak karty rs232, klucz bluetooth, nic się nie dzieje i nie ma żadnego wyniku z API i lsusb.
Produkcja urządzenia oparta jest na bibliotece ezusb. Android v .: 4.0.3 jądro v .: 3.0.8 firmware build: crane_evb-pol 4.0.3 IMLK74k 20120330
Czy istnieje jakiś sposób, aby uzyskać dostęp do ukrytych urządzeń USB przez API, lub należy wdrożyć wsparcie tego urządzenia, pisząc sterownik i instalując go w oprogramowaniu?
UPDATE: nawet jeśli utworzyć plik informacji w systemie */etc/usb_modeswitch.d/* z nazwą 2226_0014 zawierającej
DefaultVendor= 0x2226
DefaultProduct=0x0014
TargetVendor= 0x2226
TargetProductList="0014"
MessageEndpoint="0x00"
NeedResponse=1
CheckSuccess=20
uzyskać ten sam błąd: "Nie ma takiego pliku lub katalogu"
Dziękuję kolego! To działało również na moim Yarvik TAB464! –
excellent) wszystko działa świetnie) –
dzięki, pracuję dla mnie – Marijn