您好!想向您再请教一下,就是我的目标平台有USB OTG接口和串口接口,由于USB otg接口在应用程序中被定义成CDC类,Windows缺少相应的驱动,故调试方式是将串口连接Windows,USB OTG上接Linux系统。在应用程序中定义了设备框架高速描述符结构体和全速描述符结构体,且都有IAD描述符,连接到Linux时默认高速模式,且只有ACM设备:
[ 390.636170] usb 2-3: new high-speed USB device number 3 using ehci-pci
[ 390.769236] usb 2-3: config 1 interface 0 altsetting 0 endpoint 0x84 has an invalid bInterval 255, changing to 11
[ 390.769247] usb 2-3: config 1 interface 1 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64
[ 390.769256] usb 2-3: config 1 interface 1 altsetting 0 bulk endpoint 0x82 has invalid maxpacket 64
[ 390.770227] usb 2-3: New USB device found, idVendor=xxxx, idProduct=xxxx
[ 390.770234] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 390.770241] usb 2-3: Product: EL Composite device
[ 390.770247] usb 2-3: Manufacturer: Expres Logic
[ 390.770253] usb 2-3: SerialNumber: 0001
[ 390.802450] cdc_acm 2-3:1.0: ttyACM0: USB ACM device
[ 390.803234] usbcore: registered new interface driver cdc_acm
[ 390.803238] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
想请教的问题是:
1、如果想验证自己的目标平台是不是硬件支持低速模式,是不是得添加USB低速设备的描述符?
2、如果需要实现多路复用功能,最好是设计成复合设备,还是组合设备呢?
急需您的帮助,希望能得到您的回复,谢谢!