我非常好奇为什么每台索尼爱立信手机(w200i,2660等)在通过USB连接到PC时会注册两个ttyACM设备?这也引入了与移动设备连接的复杂性。 任何人都可以解释一下吗?
我和我的同事正在使用Python-Gammu编写一个SMS网关,我们很难制作一个自动系统,该系统将监听Udev并提供即插即用/热插拔功能。
以下是插入手机后“dmesg”的快照:
[ 3335.853330] sd 6:0:0:0: [sdc] Synchronizing SCSI cache
[ 3335.853388] sd 6:0:0:0: [sdc] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
[ 3373.115701] usb 1-1.4: new full speed USB device number 5 using ehci_hcd
[ 3373.245499] cdc_acm 1-1.4:1.1: ttyACM0: USB ACM device
[ 3373.246619] cdc_acm 1-1.4:1.3: ttyACM1: USB ACM device
[ 3373.247459] usbcore: registered new interface driver cdc_acm
[ 3373.247464] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 3373.247519] cdc_wdm 1-1.4:1.7: cdc-wdm0: USB WDM device
[ 3373.247565] usbcore: registered new interface driver cdc_wdm
答案 0 :(得分:2)
您有两个设备,因为您的手机有两个USB接口。正如您在日志中看到的那样,为您的手机加载了两个内核模块。
[ 3373.247464] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN
[ 3373.247519] cdc_wdm 1-1.4:1.7: cdc-wdm0: USB WDM device
从cdc-wdm
模块的Kconfig:
This driver supports the WMC Device Management functionality
of cell phones compliant to the CDC WMC specification. You can use
AT commands over this device.
所以你最终得到两个“调制解调器”设备(acm,wdm),因为两者都可以使用AT-Command Set进行通信。 我对WDM规范一无所知,但我希望无论如何我都可以帮到你。