我想访问连接到Android设备的串口。我可以很好地从Android API访问端口。我编译了cdc-acm模块并将其加载到内核中。当我插入串行设备时,内核会识别它。
<6>[ 128.283910] usbcore: registered new interface driver cdc_acm
<6>[ 128.289574] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
<6>[ 138.115155] usb 1-1.3: USB disconnect, device number 4
<6>[ 140.913303] usb 1-1.4: new full-speed USB device number 5 using dwc_otg
<6>[ 141.048377] usb 1-1.4: New USB device found, idVendor=2341, idProduct=0042
<6>[ 141.055330] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=220
<6>[ 141.062824] usb 1-1.4: Manufacturer: Arduino (www.arduino.cc)
<6>[ 141.068617] usb 1-1.4: SerialNumber: 85439313230351706291
<6>[ 141.078802] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device
然后我添加设备 mknod / dev / ttyACM0 c 166 0
但是,当我从C程序访问/ dev / ttyACM0时,我得到了
没有这样的设备或地址
Android内核是否阻止字符驱动程序访问USB堆栈?如果是这样,有人可以指向我发生在内核中的位置。如果有开关打开/关闭它。
谢谢!