Estou tentando conectar um pen drive USB 3.0 usando um cabo OTG à minha placa. Mas está sempre conectado no modo Alta Velocidade e não no modo SuperSpeed. Estou usando o Android Marshmellow como sistema operacional.
Abaixo estão meus registros quando conectei o pen drive usando o cabo otg no usb 3.0.
[ 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
Quero usar meu pen drive no modo SuperSpeed. Meu driver usb 3.0 é dwc3, então há alguma alteração no driver ou no arquivo dts necessária para isso?
Responder1
Como você disse, sua "placa" possui conector USB 3.0 micro-B. Portanto a placa não é um dispositivo "OTG" (também conhecido como porta "Dual-Data-Role") oficialmente reconhecido, porque para o caso OTG o conector da placa deve ser do tipo micro-A/B. Portanto, o uso da sua "placa" como host USB está fora do uso pretendido pelo usuário. Pode haver pelo menos três razões pelas quais o seu flash Sandisk não se conecta na taxa USB 3.0 SuperSpeed:
O pen drive está marginal/defeituoso no modo SS;
Para o modo OTG normal, o conector plug-in deve ser do tipo uA (caixa quadrada). Portanto para transformar a porta em modo host é necessário usar o "cabo OTG" com extremidade uB, o que é formalmente ilegal pelo padrão USB e, portanto, não pode ser elegível para certificação USB-IF. Cabos USB não certificados podem ser muito mal feitos e ter integridade de sinal muito ruim, e podem não funcionar com dispositivos marginais e voltar ao modo USB 2.0.
O fato de a "placa" funcionar no modo host não significa que ela deva/irá suportar todos os modos USB. O uso mais frequente da porta USB 3.0 em dispositivos portáteis no modo OTG é para fins de depuração (modo ADB estilo UART), e a "placa" pode ser configurada apenas parcialmente no nível do firmware e suporta apenas taxa de dados USB 2.0.
Seu log parece indicar que a unidade Sandisk foi conectada e desconectada em 1,5 segundos, por qualquer motivo.