2つのUSBポートを持つLinux 3.0.35カーネルを実行するVariscite VAR-SOM-MX6があります。第1のポートは、外部ミニOTGジャックに接続されたOTGポートである。もう1つは、ハブチップに接続され、次に他のデバイスに接続される内部ホストポートです。 最初のポートにOTGケーブルを差し込んでホストにすると、すべて正常に動作します。通常のケーブルを使用している場合、またはケーブルを接続していない場合は、2番目のホストポートが適切に列挙されません。ケーブルの反対側には何もする必要はありません。したがって、これは、OTGがホストであるかデバイスであるかだけに関係するバグです。 たとえば、OTGケーブルを接続して再起動すると、カーネルログに次の行が含まれます。 LinuxのOTGポートが他のホストポートを壊す
usb 2-1: new high speed USB device number 2 using fsl-ehci
usb 2-1: New USB device found, idVendor=0424, idProduct=2534
usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
hub 2-1:1.0: USB hub found
hub 2-1:1.0: 4 ports detected
usb 2-1.1: new high speed USB device number 3 using fsl-ehci
usb 2-1.1: New USB device found, idVendor=0424, idProduct=9e00
usb 2-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
usb 2-1.2: new high speed USB device number 4 using fsl-ehci
usb 2-1.2: New USB device found, idVendor=0403, idProduct=6011
usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-1.2: Product: Quad RS232-HS
usb 2-1.2: Manufacturer: FTDI
私は、ポート1からOTGケーブルをヤンクした場合
は、それはポート2上のすべてを切断:usb 2-1: USB disconnect, device number 2
usb 2-1.1: USB disconnect, device number 3
usb 2-1.2: USB disconnect, device number 4
をしてから、すべてを再列挙しようとしますが、無残に失敗します。
usb 2-1: new high speed USB device number 5 using fsl-ehci
usb 2-1: new high speed USB device number 6 using fsl-ehci
usb 2-1: new high speed USB device number 7 using fsl-ehci
usb 2-1: device not accepting address 7, error -71
usb 2-1: new high speed USB device number 8 using fsl-ehci
usb 2-1: device not accepting address 8, error -71
hub 2-0:1.0: unable to enumerate USB device on port 1
私はいくつかのコードがポートがホストかデバイスかにかかわらず、物理ポート番号1と2を使用していると思われますが、他のコードは実際のホストポートだけを見ており、ポート番号を混乱させるネイティブに。誰もこのバグを見たことがありますか?グーグルは何も変えなかった。あるいは、私はこの質問を投稿すべきより専門的なフォーラムがありますか?