Linux的OTG端口搞砸了我的另一个主机端口

我有一个运行Linux 3.0.35内核的Variscite VAR-SOM-MX6,带有两个USB端口。 第一个端口是连接到外部迷你OTG插孔的OTG端口。 第二个是内部主机端口到集线器芯片,然后到其他一些设备。 如果我有一个插入到第一个端口的OTG电缆,告诉它是一个主机,那么一切工作正常。 如果我有一个普通的电缆,或根本没有电缆,插入,然后第二个主机端口不正确枚举。 在电缆的另一端没有任何东西,所以这是一个只与OTG是否成为主机或设备有关的错误。 例如,如果我插入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,而不pipe端口是主机还是设备,而其他代码只是查看实际的主机端口,并在内部弄到端口号。 有没有人见过这个bug? 谷歌search没有把任何东西了。 还是有一个更专业的论坛,我应该发表这个问题?

如果任何人有兴趣,这原来是一个硬件设计问题。 两个USB PHY均由一个内部稳压器供电,该稳压器由主机VBUS或OTG VBUS(以较高者为准)供电+ 5V。 设计者认为这些是电压感测输入,并通过一个10K电阻驱动主机VBUS 5V。 所以当OTG端口没有连接的时候,它就没有用了。 改变10K到0欧姆固定它。