我正在尝试使用 OTG 电缆将 USB 3.0 笔式驱动器连接到我的主板。但它始终处于高速模式,而不是超高速模式。我使用 android marshmellow 作为操作系统。
下面是使用 USB 3.0 中的 OTG 电缆连接笔式驱动器时的日志。
[ 1180.791471] init: Starting service 'wfdservice'...
[ 1180.817831] init: Service 'wfdservice' (pid 2617) exited with status 1
[ 1180.823813] init: Service 'wfdservice' (pid 2617) killing any children in process group
[ 1184.996960] android_work: android_work: sent uevent USB_STATE=SUSPENDED
[ 1185.060843] healthd: battery l=50 v=0 t=20.0 h=3 st=3 c=0 chg= 1970-01-01 00:19:54.036257626 UTC
[ 1185.076653] healthd: battery l=50 v=0 t=20.0 h=3 st=3 c=0 chg= 1970-01-01 00:19:54.052092939 UTC
[ 1185.164381] dwc3 6a00000.dwc3: request ffffffc033964b00 was not queued to ep0out
[ 1185.164898] msm-dwc3 6a00000.ssusb: DWC3 in low power mode
[ 1185.170838] android_work: android_work: sent uevent USB_STATE=DISCONNECTED
[ 1185.174512] read descriptors
[ 1185.174607] read strings
[ 1185.204638] init: Starting service 'wfdservice'...
[ 1185.224892] init: Service 'wfdservice' (pid 2622) exited with status 1
[ 1185.230521] init: Service 'wfdservice' (pid 2622) killing any children in process group
[ 1186.179483] init: Untracked pid 2610 exited with status 0
[ 1190.193860] init: Starting service 'wfdservice'...
[ 1190.221855] init: Service 'wfdservice' (pid 2623) exited with status 1
[ 1190.227396] init: Service 'wfdservice' (pid 2623) killing any children in process group
[ 1191.243877] msm-dwc3 6a00000.ssusb: DWC3 exited from low power mode
[ 1191.247675] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[ 1191.256338] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 3
[ 1191.256745] xhci-hcd xhci-hcd.1.auto: irq 804, io mem 0x06a00000
[ 1191.257437] healthd: battery l=50 v=0 t=20.0 h=3 st=3 c=0 chg= 1970-01-01 00:20:00.232274447 UTC
[ 1191.268358] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
[ 1191.268401] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1191.268426] usb usb3: Product: xHCI Host Controller
[ 1191.268459] usb usb3: Manufacturer: Linux 3.18.20-g9c6c034-dirty xhci-hcd
[ 1191.268483] usb usb3: SerialNumber: xhci-hcd.1.auto
[ 1191.273544] healthd: battery l=50 v=0 t=20.0 h=3 st=3 c=0 chg= 1970-01-01 00:20:00.249013562 UTC
[ 1191.282095] hub 3-0:1.0: USB hub found
[ 1191.282262] hub 3-0:1.0: 1 port detected
[ 1191.284426] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[ 1191.285214] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 4
[ 1191.286168] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003
[ 1191.286179] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1191.286187] usb usb4: Product: xHCI Host Controller
[ 1191.286194] usb usb4: Manufacturer: Linux 3.18.20-g9c6c034-dirty xhci-hcd
[ 1191.286200] healthd: battery l=50 v=0 t=20.0 h=3 st=3 c=0 chg= 1970-01-01 00:20:00.261711635 UTC
[ 1191.288879] healthd: battery l=50 v=0 t=20.0 h=3 st=3 c=0 chg= 1970-01-01 00:20:00.264407364 UTC
[ 1191.302832] usb usb4: SerialNumber: xhci-hcd.1.auto
[ 1191.306483] hub 4-0:1.0: USB hub found
[ 1191.306575] hub 4-0:1.0: 1 port detected
[ 1191.864273] usb 3-1: new high-speed USB device number 2 using xhci-hcd
[ 1192.015270] usb 3-1: New USB device found, idVendor=0781, idProduct=5590
[ 1192.015332] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1192.015370] usb 3-1: Product: Ultra
[ 1192.015400] usb 3-1: Manufacturer: SanDisk
[ 1192.015430] usb 3-1: SerialNumber: 4C531001571111109275
[ 1192.027256] usb-storage 3-1:1.0: USB Mass Storage device detected
[ 1192.033546] scsi host1: usb-storage 3-1:1.0
[ 1193.047251] scsi 1:0:0:0: Direct-Access SanDisk Ultra 1.00 PQ: 0 ANSI: 6
[ 1193.147859] sdg: sdg1
[ 1194.613417] usb 3-1: USB disconnect, device number 2
[ 1195.244878] init: Starting service 'wfdservice'...
[ 1195.275236] init: Service 'wfdservice' (pid 2628) exited with status 1
[ 1195.281284] init: Service 'wfdservice' (pid 2628) killing any children in process group
[ 1195.644491] xhci-hcd xhci-hcd.1.auto: remove, state 4
[ 1195.644627] usb usb4: USB disconnect, device number 1
[ 1195.663814] xhci-hcd xhci-hcd.1.auto: USB bus 4 deregistered
[ 1195.667451] xhci-hcd xhci-hcd.1.auto: remove, state 4
[ 1195.667632] usb usb3: USB disconnect, device number 1
[ 1195.679791] healthd: battery l=50 v=0 t=20.0 h=3 st=3 c=0 chg= 1970-01-01 00:20:04.655197622 UTC
我想在 SuperSpeed 模式下使用我的 U 盘。我的 USB 3.0 驱动程序是 dwc3,因此是否需要对驱动程序或 dts 文件进行任何更改?
答案1
正如您所说,您的“主板”具有 USB 3.0 micro-B 连接器。因此,该主板不是官方认可的“OTG”(又称“双数据角色”端口)设备,因为对于 OTG 情况,主板连接器必须是 micro-A/B 类型。因此,将您的“主板”用作 USB 主机超出了用户预期用途。您的 Sandisk 闪存无法以 USB 3.0 SuperSpeed 速率连接的原因可能至少有三个:
在 SS 模式下,U 盘处于边缘/故障状态;
对于普通的 OTG 模式,插入式连接器必须是 uA 型(方形外壳)。因此,要将端口转换为主机模式,您必须使用带有 uB 端的“OTG 电缆”,这在 USB 标准中是非法的,因此不符合 USB-IF 认证的资格。未经认证的 USB 电缆可能制作非常粗糙,信号完整性非常差,可能无法与边缘设备配合使用并退回到 USB 2.0 模式。
“主板”在主机模式下工作并不意味着它必须/将支持所有 USB 模式。便携式设备上 USB 3.0 端口在 OTG 模式下最常用于调试目的(UART 样式 ADB 模式),并且“主板”只能在固件级别进行部分配置,并且仅支持 USB 2.0 数据速率。
您的日志似乎表明 Sandisk 驱动器已连接,然后由于某种原因在 1.5 秒内断开连接。