title: Android USB host and hidden devices
body: <p>I am developing an Android application in which I have to communicate to an USB device. I tried to use standart google API in my app, but list of devices is allways empty. </p>
  
  <p>Same things if i use USB device info with google api. List of devices searched by google api is empty, </p>
  
  <p>lsusb gives following results:</p>
  
  <pre><code>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
  </code></pre>
  
  <p>my device is 2226:0014</p>
  
  <p>log of eclipse:</p>
  
  <pre><code>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 &amp;,
  I/USB3G(92): excute ret : 0,err:No such file or directory
  </code></pre>
  
  <p>If i plug in devices like rs232 adapters, bluetooth dongle, nothing happens,and there is no any result from API and lsusb.</p>
  
  <p>Prtocol of a device is based on ezusb library.
  Android v.:     4.0.3
  kernel v.:      3.0.8
  firmware build: crane_evb-eng 4.0.3 IMLK74k 20120330</p>
  
  <p>Is there are any way to access hidden USB devices via API, or should i implement support of this device by writing driver and patching it into the firmware?</p>
  
  <p>UPDATE: even if i create info file in *system/etc/usb_modeswitch.d/* with name 2226_0014
  containing </p>
  
  <pre><code>DefaultVendor= 0x2226
  DefaultProduct=0x0014
  TargetVendor=  0x2226
  TargetProductList="0014"
  MessageEndpoint="0x00"
  NeedResponse=1
  CheckSuccess=20
  </code></pre>
  
  <p>i get the same error: "No such file or directory"</p>