On Fri, Oct 2, 2020, at 1:54 AM, Felipe Balbi wrote: > > Hi, > > "Sid Spry" <sid@xxxxxxx> writes: > > On Tue, Sep 29, 2020, at 1:33 AM, Felipe Balbi wrote: > >> > >> Hi, > >> > >> "Sid Spry" <sid@xxxxxxx> writes: > >> > Hi, I can't enable USB3 with e.g. f_ncm because bcdUSB is always reset to 0x0210: > >> > > >> > $ sudo sh -c 'echo "0x0300" > /sys/kernel/config/usb_gadget/g11/bcdUSB' > >> > $ cat /sys/kernel/config/usb_gadget/g11/bcdUSB > >> > 0x0300 > >> > $ sudo sh -c 'echo "fe800000.usb" > /sys/kernel/config/usb_gadget/g11/UDC' > >> > $ cat /sys/kernel/config/usb_gadget/g11/bcdUSB > >> > 0x0210 > >> > $ tree /sys/kernel/config/usb_gadget/g11 > >> > /sys/kernel/config/usb_gadget/g11 > >> > ├── bcdDevice > >> > ├── bcdUSB > >> > ├── bDeviceClass > >> > ├── bDeviceProtocol > >> > ├── bDeviceSubClass > >> > ├── bMaxPacketSize0 > >> > ├── configs > >> > │ └── c.1 > >> > │ ├── bmAttributes > >> > │ ├── MaxPower > >> > │ ├── ncm.0 -> ../../../../usb_gadget/g11/functions/ncm.0 > >> > │ └── strings > >> > │ └── 0x409 > >> > │ └── configuration > >> > ├── functions > >> > │ └── ncm.0 > >> > │ ├── dev_addr > >> > │ ├── host_addr > >> > │ ├── ifname > >> > │ ├── os_desc > >> > │ │ └── interface.ncm > >> > │ │ ├── compatible_id > >> > │ │ └── sub_compatible_id > >> > │ └── qmult > >> > ├── idProduct > >> > ├── idVendor > >> > ├── max_speed > >> > ├── os_desc > >> > │ ├── b_vendor_code > >> > │ ├── qw_sign > >> > │ └── use > >> > ├── strings > >> > │ └── 0x409 > >> > │ ├── manufacturer > >> > │ ├── product > >> > │ └── serialnumber > >> > └── UDC > >> > > >> > Board is a RK3399 based RockPro64. > >> > >> what's your max_speed? > >> > > > > $ cat /sys/kernel/config/usb_gadget/g11/max_speed > > super-speed > > > > Looks ok. From Windows, the xHCI driver reports that the device supports > > super speed but chooses high speed. I can't see this info from a Linux host. > > It's probably failing Rx.Detect and falling back to high-speed. Which > USB Peripheral Controller is that? > It's a dwc3. I recently found that if I plug the device into itself (there are two dwc3, one on a C port, one on a female A port) the device enumerates at superspeed with the NCM configfs driver. But connecting to my x86 machines fails. In an earlier thread I found that the type C port would not work with USB2 or 3 if in the "normal" direction (as opposed to "reversed").