title: Accessing an Android Serial Port the Same Way As on Linux
body: <p>I would like to access a serial port connected to an Android Device.  I can access the port from the Android APIs fine.  I compiled the cdc-acm module and loaded it into the kernel.  When I plug in the serial devices, the kernel recognizes it.</p>
  
  <pre><code>&lt;6&gt;[  128.283910] usbcore: registered new interface driver cdc_acm
  &lt;6&gt;[  128.289574] cdc_acm: USB Abstract Control Model driver for USB    modems and ISDN adapters
  &lt;6&gt;[  138.115155] usb 1-1.3: USB disconnect, device number 4
  &lt;6&gt;[  140.913303] usb 1-1.4: new full-speed USB device number 5 using dwc_otg
  &lt;6&gt;[  141.048377] usb 1-1.4: New USB device found, idVendor=2341, idProduct=0042
  &lt;6&gt;[  141.055330] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=220
  &lt;6&gt;[  141.062824] usb 1-1.4: Manufacturer: Arduino (www.arduino.cc)
  &lt;6&gt;[  141.068617] usb 1-1.4: SerialNumber: 85439313230351706291
  &lt;6&gt;[  141.078802] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device
  </code></pre>
  
  <p>I then add the device
     mknod /dev/ttyACM0 c 166 0</p>
  
  <p>However, when I access the /dev/ttyACM0 from a C program, I get </p>
  
  <p>No such device or address</p>
  
  <p>Is the Android kernel preventing character drivers from accessing the USB stack?  If so, can someone point me to where in the kernel this occurs.  Also if there is a switch to turn it on/off.</p>
  
  <p>Thanks!</p>