web-dev-qa-db-ja.com

USB-シリアルアダプターが機能しない

USB-シリアルアダプタがあります。私のデスクトップコンピューターでは正常に動作しますが、ラップトップでは動作しません。私のデスクトップPCは汎用コンピューター(MSI K9AGM搭載のAthlon 64 X2 6000 +、6つのUSB 2.0ポート、USB 3.0ポートなし)であり、私のラップトップはHP ENVY4-1015DX(2つのUSB 2.0ポート、1つのUSB 3.0ポート)です。

私のデスクトップにはUbuntu 12.04.2 64ビット、カーネル3.5.0-37があります。このPCのUSBポートに接続すると、kern.logで次のようになります。

Sep  9 15:31:07 amdx2 kernel: [   57.968035] usb 4-2: new full-speed USB device number 2 using ohci_hcd
Sep  9 15:31:07 amdx2 kernel: [   58.128306] usb 4-2: New USB device found, idVendor=4348, idProduct=5523
Sep  9 15:31:07 amdx2 kernel: [   58.128311] usb 4-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Sep  9 15:31:07 amdx2 kernel: [   58.302088] usbcore: registered new interface driver usbserial
Sep  9 15:31:07 amdx2 kernel: [   58.302530] usbcore: registered new interface driver usbserial_generic
Sep  9 15:31:07 amdx2 kernel: [   58.302544] USB Serial support registered for generic
Sep  9 15:31:07 amdx2 kernel: [   58.302548] usbserial: USB Serial Driver core
Sep  9 15:31:07 amdx2 kernel: [   58.318155] usbcore: registered new interface driver ch341
Sep  9 15:31:07 amdx2 kernel: [   58.318178] USB Serial support registered for ch341-uart
Sep  9 15:31:07 amdx2 kernel: [   58.318194] ch341 4-2:1.0: ch341-uart converter detected
Sep  9 15:31:07 amdx2 kernel: [   58.340514] usb 4-2: ch341-uart converter now attached to ttyUSB0

ただし、ラップトップのポートにまったく同じアダプターを同じUSBケーブルで接続すると(USB 2.0またはUSB 3.0ポートに接続しても問題ありません)、次のようになりました。

Sep  9 15:31:50 envy4 kernel: [10776.099052] usb 3-1: new full-speed USB device number 37 using xhci_hcd
Sep  9 15:31:50 envy4 kernel: [10776.115364] usb 3-1: device descriptor read/8, error -71
Sep  9 15:31:50 envy4 kernel: [10776.235486] usb 3-1: device descriptor read/8, error -71
Sep  9 15:31:50 envy4 kernel: [10776.450932] usb 3-1: new full-speed USB device number 38 using xhci_hcd
Sep  9 15:31:50 envy4 kernel: [10776.467242] usb 3-1: device descriptor read/8, error -71
Sep  9 15:31:50 envy4 kernel: [10776.587459] usb 3-1: device descriptor read/8, error -71
Sep  9 15:31:50 envy4 kernel: [10776.802756] usb 3-1: new full-speed USB device number 39 using xhci_hcd
Sep  9 15:31:50 envy4 kernel: [10776.819142] usb 3-1: device descriptor read/8, error -71
Sep  9 15:31:51 envy4 kernel: [10776.939484] usb 3-1: device descriptor read/8, error -71
Sep  9 15:31:51 envy4 kernel: [10777.042877] hub 3-0:1.0: unable to enumerate USB device on port 1

私のラップトップにはUbuntu 12.04.3 64ビット、カーネル3.8.0-30があります。

主な違いは、私のPCではUbuntuがohci_hcdドライバーを使用し、ラップトップではxhci_hcdを使用していることです。私はやってみました:

Sudo modprobe ohci_hcd

また、試してみました:

Sudo modprobe -r xhci_hcd

ただし、これらのいずれも機能しません。最初の場合、modprobeでエラーはありませんが、システムはまだxhci_hcdを使用しています。 2番目のケースでは、modprobeでエラーが発生します。

FATAL: Module xhci_hcd is builtin

問題を解決するために他に何ができますか?ありがとう!

5

シリアル-USBコンバーター(ch341-uart)がUSB 3.0ポートで動作しないことがわかりました。残念ながら、私のHP EnvyにはUSB 2.0ハブがありません。すべてのポートはOSへのUSB 3.0ポートとして報告されます。このデバイスはUSB 3.0ではサポートされていないようです。ただし、USB 2.0ハブがあります。このハブを任意のポートに接続し、シリアルコンバーターをこのハブに接続すると、xhci_hcdを使用しても正常に動作します。

Sep 13 10:36:36 envy4 kernel: [ 1852.477261] usb 3-3: new high-speed USB device number 53 using xhci_hcd
Sep 13 10:36:36 envy4 kernel: [ 1852.493499] usb 3-3: New USB device found, idVendor=1a40, idProduct=0101
Sep 13 10:36:36 envy4 kernel: [ 1852.493504] usb 3-3: New USB device strings: Mfr=0, Product=1, SerialNumber=0
Sep 13 10:36:36 envy4 kernel: [ 1852.493508] usb 3-3: Product: USB 2.0 Hub
Sep 13 10:36:36 envy4 kernel: [ 1852.493811] hub 3-3:1.0: USB hub found
Sep 13 10:36:36 envy4 kernel: [ 1852.493842] hub 3-3:1.0: 4 ports detected

Sep 13 10:36:37 envy4 kernel: [ 1852.781193] usb 3-3.1: new full-speed USB device number 54 using xhci_hcd
Sep 13 10:36:37 envy4 kernel: [ 1852.798586] usb 3-3.1: New USB device found, idVendor=4348, idProduct=5523
Sep 13 10:36:37 envy4 kernel: [ 1852.798592] usb 3-3.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Sep 13 10:36:37 envy4 kernel: [ 1852.799069] ch341 3-3.1:1.0: ch341-uart converter detected
Sep 13 10:36:37 envy4 kernel: [ 1852.800220] usb 3-3.1: ch341-uart converter now attached to ttyUSB0
1

ubuntu 14.04でch341ドライバーに問題がある場合は、ドライバーをパッチし、3.13.Xカーネルで動作します。

https://www.mediafire.com/?3ph5x6ttc7ddde4

おかげで:

https://stackoverflow.com/questions/23040820/driver-ch341-usb-adapter-serial-port-or-qserialport-not-works-in-linux

0
carlos