Je travaille sur un matériel personnalisé pour une tablette Android utilisant la puce VNC2.Essayer de faire fonctionner OTG sur un appareil Android
Sur la puce VNC2 j'ai flashé quelques progiciels personnalisés que j'ai réalisés. J'ai défini l'identifiant USB VendorID sur 0403 et l'identifiant USB ProductId sur 6001.
J'ai également une application Android sur laquelle je travaille. J'ai ajouté ce qui suit au dans le manifeste:
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
<meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" android:resource="@xml/device_filter" />
device_filter.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<usb-device/>
</resources>
Mon but est que cette application devrait commencer si je connecter le périphérique USB. Cela ne fonctionne pas cependant. J'ai téléchargé un outil de Google Play appelé "USB Host Controller" et cette application m'a montré que le périphérique USB était connecté de sorte que certaines parties semblent fonctionner.
J'ai aussi vu la sortie en logcat lors de la connexion du dispositif:
I/USB3G ( 91): event { 'add', '/devices/platform/sw_hcd_host0/usb1/1-1', 'usb', '', 189, 12 }
I/USB3G ( 91): path : '/sys/devices/platform/sw_hcd_host0/usb1/1-1'
I/USB3G ( 91): VID :size 5,vid_path '/sys/devices/platform/sw_hcd_host0/usb1/1-1/idVendor',VID '0403
I/USB3G ( 91): '.
I/USB3G ( 91): PID :size 5,Pid_path '/sys/devices/platform/sw_hcd_host0/usb1/1-1/idProduct',PID '6001
I/USB3G ( 91): '.
I/USB3G ( 91): cmd=/system/etc/usb_modeswitch.sh /system/etc/usb_modeswitch.d/0403_6001 &,
I/USB3G ( 91): excute ret : 0,err:No such file or directory
Creuser dans modeswitch il semble comme un outil pour changer l'état sur les modems 3G USB principalement. Ma première supposition est que j'ai une image très handicapée sur mon appareil (basé sur Allwinner A10). Mais il pourrait aussi y avoir une erreur dans mon application, même si je trouve cela peu probable. Selon ma compréhension, je devrais être présenté avec une sorte de dialogue lors de l'insertion d'un matériel OTG, peu importe si j'ai une application installée avec un filtre d'intention correspondant, ou ai-je tort?
Toutes les idées seraient appréciées. Je peux changer l'apk de quelque façon que ce soit si nécessaire. La tablette est enracinée et je peux changer les fichiers de toutes les manières possibles. Serait heureux d'essayer toutes les idées que vous avez.
Peut-être possible sur un téléphone non rooté? –
@RaviMehta Si android.hardware.usb.host.xml est manquant, alors vous avez besoin de root malheureusement. Mais USB OTG fonctionnera aussi bien sur les appareils non-root s'ils sont déjà configurés –