OTG ケーブルを使用して USB 3.0 ペンドライブをボードに接続しようとしています。しかし、常に高速モードで接続され、SuperSpeed モードではありません。オペレーティング システムとして 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 モードで使用したいのですが、USB 3.0 ドライバーは dwc3 なので、ドライバーに変更を加えたり、dts ファイルを変更したりする必要があるのでしょうか?
答え1
おっしゃるとおり、お使いの「ボード」には USB 3.0 マイクロ B コネクタがあります。したがって、このボードは正式に認められた「OTG」(別名「デュアル データ ロール」ポート) デバイスではありません。OTG の場合、ボード コネクタはマイクロ A/B タイプでなければならないからです。したがって、お使いの「ボード」を USB ホストとして使用することは、ユーザーの意図した使用法の範囲外です。Sandisk フラッシュが USB 3.0 SuperSpeed 速度で接続されない理由は、少なくとも 3 つ考えられます。
ペンドライブは SS モードでは限界/不良です。
通常の OTG モードでは、プラグイン コネクタは uA タイプ (四角いハウジング) である必要があります。したがって、ポートをホスト モードにするには、uB 端の「OTG ケーブル」を使用する必要がありますが、これは USB 標準では正式には違法であり、USB-IF 認証の対象にはなりません。認証されていない USB ケーブルは、非常に雑に作られており、信号の整合性が非常に悪いため、限界デバイスでは動作せず、USB 2.0 モードに戻る可能性があります。
「ボード」がホスト モードで動作するという事実は、すべての USB モードをサポートする必要がある/サポートすることを意味するものではありません。ポータブル デバイスの USB 3.0 ポートは、OTG モードで最も頻繁にデバッグ目的 (UART スタイルの ADB モード) で使用され、「ボード」はファームウェア レベルで部分的にしか構成できず、USB 2.0 データ レートのみをサポートします。
ログには、Sandisk ドライブが接続されたが、何らかの理由で 1.5 秒後に切断されたことが示されているようです。