AnsweredAssumed Answered

i.MX6Q-USB_OTG

Question asked by 工 符 on Sep 18, 2016

两台IMX6Q开发板,通过USB_OTG通讯。采用USB虚拟网络(RNDIS)方式传输数据和文件。现在通过把两台连接后,一直出现USB连接上又断开的操作。是什么原因呢?用单台连电脑或手机(安卓系统),串口打印都正常。如下为串口打印信息:

 

两台imx6开发板。采用linux3.14.52内核。
其中一台用usb otg 作为host设备,设备树dr_mode="host" 
│ -> Device Drivers │ 
│ -> Network device support (NETDEVICES [=y]) │ 
│ -> USB Network Adapters │ 
│ -> Multi-purpose USB Networking Framework (USB_USBNET [=y]) │

 

另外一台作为usb device 从设备,设备树:dr_mode="peripheral" 

 

│ -> Device Drivers │ 
│ -> USB support (USB_SUPPORT [=y]) │ 
│ -> USB Gadget Support (USB_GADGET [=y]) │ 
│ -> USB Gadget Drivers ( [=y]) │ 
│ -> Ethernet Gadget (with CDC Ethernet support) (USB_ETH [=y │

 


完成配置,把内核设备树均下载到相应板子,通过usb线把两台设备连接后。
其中主设备一直重复打印以下信息:

 

王峰 2016/9/19 10:30:32

 

root@imx6qsabresd:~# usb 1-1: new high-speed USB device number 2 using ci_hdrc
cdc_ether 1-1:1.0 usb0: register 'cdc_ether' at usb-ci_hdrc.0-1, CDC Ethernet De
vice, 0e:f8:01:da:16:19
usb 1-1: USB disconnect, device number 2
cdc_ether 1-1:1.0 usb0: unregister 'cdc_ether' usb-ci_hdrc.0-1, CDC Ethernet Dev
ice
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
IPv6: ADDRCONF(NETDEV_UP): sit0: link is not ready
usb 1-1: new high-speed USB device number 3 using ci_hdrc
cdc_ether 1-1:1.0 usb0: register 'cdc_ether' at usb-ci_hdrc.0-1, CDC Ethernet De
vice, 0e:f8:01:da:16:19
usb 1-1: USB disconnect, device number 3
cdc_ether 1-1:1.0 usb0: unregister 'cdc_ether' usb-ci_hdrc.0-1, CDC Ethernet Dev
ice
usb 1-1: new high-speed USB device number 4 using ci_hdrc
cdc_ether 1-1:1.0 usb0: register 'cdc_ether' at usb-ci_hdrc.0-1, CDC Ethernet De
vice, 0e:f8:01:da:16:19
usb 1-1: USB disconnect, device number 4
cdc_ether 1-1:1.0 usb0: unregister 'cdc_ether' usb-ci_hdrc.0-1, CDC Ethernet Dev
ice
usb 1-1: new high-speed USB device number 5 using ci_hdrc
cdc_ether 1-1:1.0 usb0: register 'cdc_ether' at usb-ci_hdrc.0-1, CDC Ethernet De
vice, 0e:f8:01:da:16:19
usb 1-1: USB disconnect, device number 5
cdc_ether 1-1:1.0 usb0: unregister 'cdc_ether' usb-ci_hdrc.0-1, CDC Ethernet Dev
ice
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
IPv6: ADDRCONF(NETDEV_UP): sit0: link is not ready
usb 1-1: new high-speed USB device number 6 using ci_hdrc
cdc_ether 1-1:1.0 usb0: register 'cdc_ether' at usb-ci_hdrc.0-1, CDC Ethernet De
vice, 0e:f8:01:da:16:19
usb 1-1: USB disconnect, device number 6
cdc_ether 1-1:1.0 usb0: unregister 'cdc_ether' usb-ci_hdrc.0-1, CDC Ethernet Dev
ice
usb 1-1: new high-speed USB device number 7 using ci_hdrc
cdc_ether 1-1:1.0 usb0: register 'cdc_ether' at usb-ci_hdrc.0-1, CDC Ethernet De
vice, 0e:f8:01:da:16:19
usb 1-1: USB disconnect, device number 7
cdc_ether 1-1:1.0 usb0: unregister 'cdc_ether' usb-ci_hdrc.0-1, CDC Ethernet Dev
ice
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
IPv6: ADDRCONF(NETDEV_UP): sit0: link is not ready
usb 1-1: new high-speed USB device number 8 using ci_hdrc
cdc_ether 1-1:1.0 usb0: register 'cdc_ether' at usb-ci_hdrc.0-1, CDC Ethernet De
vice, 0e:f8:01:da:16:19
usb 1-1: USB disconnect, device number 8
cdc_ether 1-1:1.0 usb0: unregister 'cdc_ether' usb-ci_hdrc.0-1, CDC Ethernet Dev
ice
usb 1-1: new high-speed USB device number 9 using ci_hdrc
cdc_ether 1-1:1.0 usb0: register 'cdc_ether' at usb-ci_hdrc.0-1, CDC Ethernet De
vice, 0e:f8:01:da:16:19
usb 1-1: USB disconnect, device number 9
cdc_ether 1-1:1.0 usb0: unregister 'cdc_ether' usb-ci_hdrc.0-1, CDC Ethernet Dev
ice
usb 1-1: new high-speed USB device number 10 using ci_hdrc
cdc_ether 1-1:1.0 usb0: register 'cdc_ether' at usb-ci_hdrc.0-1, CDC Ethernet De
vice, 0e:f8:01:da:16:19
usb 1-1: USB disconnect, device number 10
cdc_ether 1-1:1.0 usb0: unregister 'cdc_ether' usb-ci_hdrc.0-1, CDC Ethernet Dev
ice
usb 1-1: new high-speed USB device number 11 using ci_hdrc
cdc_ether 1-1:1.0 usb0: register 'cdc_ether' at usb-ci_hdrc.0-1, CDC Ethernet De
vice, 0e:f8:01:da:16:19
usb 1-1: USB disconnect, device number 11
cdc_ether 1-1:1.0 usb0: unregister 'cdc_ether' usb-ci_hdrc.0-1, CDC Ethernet Dev
ice
usb 1-1: new high-speed USB device number 12 using ci_hdrc
cdc_ether 1-1:1.0 usb0: register 'cdc_ether' at usb-ci_hdrc.0-1, CDC Ethernet De
vice, 0e:f8:01:da:16:19
usb 1-1: USB disconnect, device number 12
cdc_ether 1-1:1.0 usb0: unregister 'cdc_ether' usb-ci_hdrc.0-1, CDC Ethernet Dev
ice
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
IPv6: ADDRCONF(NETDEV_UP): sit0: link is not ready
usb 1-1: new high-speed USB device number 13 using ci_hdrc
cdc_ether 1-1:1.0 usb0: register 'cdc_ether' at usb-ci_hdrc.0-1, CDC Ethernet De
vice, 0e:f8:01:da:16:19
usb 1-1: USB disconnect, device number 13
cdc_ether 1-1:1.0 usb0: unregister 'cdc_ether' usb-ci_hdrc.0-1, CDC Ethernet Dev
ice
usb 1-1: new high-speed USB device number 14 using ci_hdrc
cdc_ether 1-1:1.0 usb0: register 'cdc_ether' at usb-ci_hdrc.0-1, CDC Ethernet De
vice, 0e:f8:01:da:16:19
usb 1-1: USB disconnect, device number 14
cdc_ether 1-1:1.0 usb0: unregister 'cdc_ether' usb-ci_hdrc.0-1, CDC Ethernet Dev
ice

 

王峰 2016/9/19 10:30:58

 

其中从设备打印信息如下:
g_ether gadget: high-speed config #1: CDC Ethernet (ECM)
g_ether gadget: high-speed config #1: CDC Ethernet (ECM)
g_ether gadget: high-speed config #1: CDC Ethernet (ECM)
。。。。

Outcomes