USB 3 Arch Linux 3.15.1なし

USB 3 Arch Linux 3.15.1なし

最後の再起動までUSB 3ポートにアクセスできました。しばらく前にシステムをインストールしてからしばらくして、それ以前はドライバーを構成してインストールすることをしていましたが、それが私が実際に作業していたセッションでした。 xf86-input-synapticsドライバがインストールされていましたが、ちょうどアンインストールして再起動して問題が発生したかどうかを確認しましたが、戻ってこなかったため再び発生しませんでした。今私は詰まっています。多くのフォーラムで人々が問題を抱えているのを見ましたが、ポートは通常lsusb、dmesg、またはlspciに表示されます。

lsusb:

Bus 002 Device 005: ID 047b:0011 Silitek Corp. SK-1688U Keyboard
Bus 002 Device 004: ID 045e:0040 Microsoft Corp. Wheel Mouse Optical
Bus 002 Device 003: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 0bda:0139 Realtek Semiconductor Corp. RTS5139 Card Reader Controller
Bus 001 Device 003: ID 13d3:5134 IMC Networks 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

LSPCI | grep -i USB

00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)

dmesg | grep -i USB

[    1.278138] ACPI: bus type USB registered
[    1.278159] usbcore: registered new interface driver usbfs
[    1.278167] usbcore: registered new interface driver hub
[    1.278268] usbcore: registered new device driver usb
[    1.278630] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.278904] ehci-pci 0000:00:1a.0: new USB bus registered, assigned bus number 1
[    1.291224] ehci-pci 0000:00:1a.0: USB 2.0 started, EHCI 1.00
[    1.291408] hub 1-0:1.0: USB hub found
[    1.291716] ehci-pci 0000:00:1d.0: new USB bus registered, assigned bus number 2
[    1.304530] ehci-pci 0000:00:1d.0: USB 2.0 started, EHCI 1.00
[    1.304982] hub 2-0:1.0: USB hub found
[    1.597732] usb 1-1: new high-speed USB device number 2 using ehci-pci
[    1.721971] hub 1-1:1.0: USB hub found
[    1.830738] usb 2-1: new high-speed USB device number 2 using ehci-pci
[    1.955115] hub 2-1:1.0: USB hub found
[    2.037276] usb 1-1.2: new high-speed USB device number 3 using ehci-pci
[    2.240377] usb 1-1.4: new high-speed USB device number 4 using ehci-pci
[    2.390210] usb 2-1.2: new high-speed USB device number 3 using ehci-pci
[    2.476044] hub 2-1.2:1.0: USB hub found
[    2.743395] usb 2-1.2.3: new low-speed USB device number 4 using ehci-pci
[    2.899768] usb 2-1.2.4: new low-speed USB device number 5 using ehci-pci
[    6.531535] scsi6 : SCSI emulation for RTS5139 USB card reader
[    6.531790] usbcore: registered new interface driver rts5139
[    6.632207] uvcvideo: Found UVC 1.00 device USB2.0 UVC 1M WebCam (13d3:5134)
[    6.636268] input: USB2.0 UVC 1M WebCam as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input15
[    6.636452] usbcore: registered new interface driver uvcvideo
[    6.636456] USB Video Class driver (1.1.1)
[    7.114946] usbcore: registered new interface driver usbhid
[    7.114954] usbhid: USB HID core driver
[    7.125179] input: Microsoft Microsoft 3-Button Mouse with IntelliEye(TM) as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2.3/2-1.2.3:1.0/0003:045E:0040.0001/input/input18
[    7.125756    ] hid-generic 0003:045E:0040.0001: input,hidraw0: USB HID v1.10 Mouse [Microsoft Microsoft 3-Button Mouse with IntelliEye(TM)] on usb-0000:00:1d.0-1.2.3/input0
[    7.126179] input: Silitek Standard USB Keyboard  as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2.4/2-1.2.4:1.0/0003:047B:0011.0002/input/input19
[    7.126612] hid-generic 0003:047B:0011.0002: input,hidraw1: USB HID v1.00 Keyboard [Silitek Standard USB Keyboard ] on usb-0000:00:1d.0-1.2.4/input0

lshw - 短距離バス

H/W path           Device  Class          Description
=====================================================
/0                         bus            G74Sx
/0/100/1a                  bus            6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2
/0/100/1a/1        usb1    bus            EHCI Host Controller
/0/100/1a/1/1              bus            Integrated Rate Matching Hub
/0/100/1d                  bus            6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1
/0/100/1d/1        usb2    bus            EHCI Host Controller
/0/100/1d/1/1              bus            Integrated Rate Matching Hub
/0/100/1d/1/1/2            bus            USB2.0 Hub
/0/100/1f.3                bus            6 Series/C200 Series Chipset Family SMBus Controller

これまでは、これらのデバイスのいずれにもデバイスが表示されていないため、デバイスが損傷していると言われました。今、私はそれがうまくいくのを見たので、うまくいきませんでしたが、それは単に設定の問題であることを知っています。

動作すると、lsusbの出力にfescoドライバが含まれます。 grepを使用するとfescoは表示されません。

コンピュータはAsus G74sxノートブックです。

全ての情報ありがとうございます。ありがとうございます。

編集:
良いです。これがどのように役立つかはわかりませんが、USB3ポートを使用できる別のコンピュータ(Linuxを実行)があります。私はxhci_hcdとehci_hcd(もしあれば)の2つの違いをチェックし始めました/ /sys/bus/pci/drivers/で、作業システムには「xhci_hcd」フォルダがあり、動作しないシステムにはないことがわかりました。最初は「ねえ、これをあるシステムから別のシステムにコピーできるかもしれません。ルートとしてもファイルをコピーすることはできません。明らかにシステムの他の場所に何か問題があるようです。わからない。事項です。

編集2:エラーメッセージ
この問題は、システムを一時停止モードにすることに関連しているようです。変更をすばやく消去できるように、ライブディスクから起動します。コンピュータを一時停止モードに切り替えると、通常は問題なく終了します。再び動作すると、USB 3は正常に動作します。予期しないエラーが発生することがあります。エラーが発生した場合は、コンピュータのプラグを抜き、ライブディスクをリセットしてポートを復元する必要があります。

メッセージは数ミリ秒ほど長く続きませんでしたが、カメラで見ました。

エラーメッセージ:

xhci_hcd 0000:04:00.0: PCI post-resume error -110!
xhci_hcd 0000:04:00.0: HC died; cleaning up
xhci_hcd 0000:04:00.0: HC died; cleaning up
dpm_run_callback(): pci_pm_resume+0x0/0xb0 returns -110
PM: Device 0000:04:00.0 failed to resume async: error -110
dpm_run_callback(): usb_dev_resume+0x0/0x20 [usbcore] returns -5
PM: Device 4-1.4 failed to resume async: error -5

編集3:考えられる答えは何ですか? (テストが必要)これsystemctl suspend、手動でusb3バインディングをオフにしてから呼び出すと、スリープモードを解除し、usb3デバイスを手動でバインドすると機能することがわかりました。 150回実行しましたが、通常は2番から10番の間で失敗することを考慮すると、平均からの標準偏差は十分なので動作すると仮定します。バインディングとバインド解除を「/etc/pm/sleep.d/20_custom-xhci_hcd」に入れました。次に、実行可能であることを確認します。

#!/bin/sh
#File: "/etc/pm/sleep.d/20_custom-xhci_hcd"

case "${1}" in
    hibernate|sleep)
        #unbind
        echo "Unbinding xhci device"
        echo -n "0000:04:00.0" > /sys/bus/pci/drivers/xhci_hcd/unbind
    ;;
    resume|thaw)
        # bind
        echo "Binding xhci device"
        ehco -n "0000:04:00.0" > /sys/bus/pci/drivers/xhci_hcd/bind
    ;;
esac

エコー出力を見ることができないため、このファイルは呼び出されないようです。考えてみると、このマシンにはpm-utilsがなく、代わりにsystemdを使用するので、これが意味があります。だから私は/usr/lib/systemd/system-sleep/に移動しました。このウェブサイト次のように調整します。

#!/bin/sh
#File: "/usr/lib/systemd/system-sleep/xhci_hcd.sleep"

case $1/$2 in
    pre/*)
        #unbind
        echo "Unbinding xhci device"
        echo -n "0000:04:00.0" > /sys/bus/pci/drivers/xhci_hcd/unbind
    ;;
    post/*)
        # bind
        echo "Binding xhci device"
        ehco -n "0000:04:00.0" > /sys/bus/pci/drivers/xhci_hcd/bind
    ;;
esac

同じウェブサイトに記載されているとおりです。その後、実行可能にします。試してみようとするのに愛が感じられるようです。うまくいけば、答えのセクションに投稿します。

ベストアンサー1

機器を探す
まず、端末番号を調べる必要があります。ポートが有効になっていてコマンドで表示できる場合はlsusb使用してくださいls /sys/bus/pci/drivers/xhci_hcd。デバイスはxxxx:xx:xx.xの形式の数値であり、コマンドから返された最初の項目である可能性が高いですls

ポートリセット
ポートが表示されない場合はポートが機能しないことを意味しますが、デバイスからすべての電源を切るとリセットされる可能性があります。コンピュータの電源を切り、すべてのバッテリーと電源コードを外し、10秒間待ちます。その後、電源コードを再接続し、本機を起動します。次に、デバイス番号をもう一度見つけます。

私のデバイス番号は0000:04:00.0ですが、異なる場合があります。他の場所で見た例は0000:00:14.0です。電話番号を覚えておいてください。バインディングとバインド解除に必要です。 USB 3ポートが複数ある場合は、2つ以上がある可能性があります。

電源管理フレームワークの決定
~のため適切/能力/dpkg(ubuntu/debian/mint):
dpkg --get-selections | grep pm-utils
何かが返送されたら午後を送ることができます。

~のためパックマンパッケージマネージャ(アーチ)
pacman -Qe | grep pm-utils
何かが返ってきたら午後があります。

~のためrpm パッケージマネージャ(fedora、centosなど...):
rpm -qa | grep pm-utils
何かが返されたらメッセージを送ることができます。

~のため他の人、これを試してみてください。どのように動作するかわからないし、テストするシステムもありません。

メモ:パッケージがインストールされたとしてもそれを使用しているという意味ではありませんが、実際に使用する可能性が高いです。あなたができるもう1つのことは、スクリプトがcd /etc/pm/存在する場合はそこにスクリプトを置くことです。技術的には、両方の場所でスクリプトのバインドをオフにしても問題はないと思います。これが真であるか、pmを使用するかを決定するためのより良い方法があるかどうかについてコメントを提示したい人がいる場合は良いでしょう。

systemd一時停止スクリプト(pmユーティリティなし)
pmなしでsystemdまたはsystemctlを使用している場合は、スクリプトをに入れる必要があります/usr/lib/systemd/system-sleep/xhci_hcd.sleep。マイコンピュータの場合、スクリプトは次のようになります。

#!/bin/sh
#File: /usr/lib/systemd/system-sleep/xhci_hcd.sleep

case $1/$2 in
        pre/*)
                # Unbind
                echo "Unbinding xhci Device"
                echo -n "0000:04:00.0" > /sys/bus/pci/drivers/xhci_hcd/unbind
        ;;
        post/*)
                # bind xhci_dev
                echo "Rebinding xhci Device"
                echo -n "0000:04:00.0" > /sys/bus/pci/drivers/xhci_hcd/bind
        ;;
esac

どちらの場合も、0000:04:00.0をデバイス番号に置き換えます。デバイス番号が複数ある場合は、デバイスごとにバインディングとバインド解除を実行してください。つまり、xxxx:xx:xx.x ポートと yyyy:yy:yy.y ポートがある場合は、両方のデバイスが必要なので、バインディングを解除し、デバイスを使用してecho -n "xxxx:xx:xx.x" > /sys/bus/pci/drivers/xhci_hcd/unbindバインドする必要があります。を使用してログを表示するときに、バインディングとバインド解除がいつ発生するかを確認できるように、最初のechoコマンドを配置しました。追加情報:echo -n "yyyy:yy:yy.y" > /sys/bus/pci/drivers/xhci_hcd/unbindecho -n "xxxx:xx:xx.x" > /sys/bus/pci/drivers/xhci_hcd/bindecho -n "yyyy:yy:yy.y" > /sys/bus/pci/drivers/xhci_hcd/bindjournalctl -b -u systemd-suspendエネルギー管理systemd/systemctlを使用してください。ファイルを保存して実行してsudo chmod a+x /usr/lib/systemd/system-sleep/xhci_hcd.sleep実行可能にします。個人的には、新しいファイルが適用されることを確認するためにシステムを再起動しますが、おそらくすぐに適用されると思います。それ以外の場合、システムをスリープ状態(または一時停止/休止状態)に設定した場合は、上記のポートをリセットする方法を参照してください。

pm 一時停止スクリプト (pm utils インストール済み)
pm utilsを使用している場合は、スクリプトを次の場所に配置する必要があります。/etc/pm/sleep.d/20_custom-xhci_hcd

#!/bin/sh
#File: "/etc/pm/sleep.d/20_custom-xhci_hcd"

case "${1}" in
    hibernate|sleep)
        #unbind
        echo "Unbinding xhci device"
        echo -n "0000:04:00.0" > /sys/bus/pci/drivers/xhci_hcd/unbind
    ;;
    resume|thaw)
        # bind
        echo "Binding xhci device"
        ehco -n "0000:04:00.0" > /sys/bus/pci/drivers/xhci_hcd/bind
    ;;
esac

どちらの場合も、0000:04:00.0をデバイス番号に置き換えます。デバイス番号が複数ある場合は、デバイスごとにバインディングとバインド解除を実行してください。 systemd一時停止スクリプトの手順については、以下の手順を参照してください。代わりにchmod a+x /etc/pm/sleep.d/20_custom-xhci_hcdファイルを実行可能にするために使用してください。その後、再起動してテストします。

より便利なリソース:

おすすめ記事