質問

質問

質問

マイコンピュータには内部WiFi PCIExpressがあります: "Intel Corporation Wireless-AC 9260"

したがって、次のように表示されますlspci

06:00.0 Network controller: Intel Corporation Wireless-AC 9260 (rev 29)

私がこれをするとき、私sudo lshw -c networkはこれを得ます。

$ sudo lshw -c network
  *-network
       description: Network controller
       product: Wireless-AC 9260
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:06:00.0
       version: 29
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list
       configuration: driver=iwlwifi latency=0
       resources: irq:38 memory:fc600000-fc603fff

しかし、私が実行すると表示されませんip link show

$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
3: wlx7cc2c6146876: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000

インターフェイスn'3の出力を少し減らしip link show ました。現在、インターネットアクセスのためのバックアップソリューションとして使用するのはUSB Wi-Fiドングルであり、Intel Wi-Fiカードではありません。

システムログ

dmesg何かを初期化するための一種の再試行を示します。それがどういう意味なのかわかりません(いいですか?悪いですか?正常ですか?例外ですか?)。

$ dmesg | grep iwlwifi
[    8.346821] iwlwifi 0000:06:00.0: WRT: Overriding region id 0
[    8.346825] iwlwifi 0000:06:00.0: WRT: Overriding region id 1
[    8.346828] iwlwifi 0000:06:00.0: WRT: Overriding region id 2
[    8.346829] iwlwifi 0000:06:00.0: WRT: Overriding region id 3
[    8.346831] iwlwifi 0000:06:00.0: WRT: Overriding region id 4
[    8.346832] iwlwifi 0000:06:00.0: WRT: Overriding region id 6
[    8.346833] iwlwifi 0000:06:00.0: WRT: Overriding region id 8
[    8.346834] iwlwifi 0000:06:00.0: WRT: Overriding region id 9
[    8.346835] iwlwifi 0000:06:00.0: WRT: Overriding region id 10
[    8.346837] iwlwifi 0000:06:00.0: WRT: Overriding region id 11
[    8.346838] iwlwifi 0000:06:00.0: WRT: Overriding region id 15
[    8.346840] iwlwifi 0000:06:00.0: WRT: Overriding region id 16
[    8.346841] iwlwifi 0000:06:00.0: WRT: Overriding region id 18
[    8.346842] iwlwifi 0000:06:00.0: WRT: Overriding region id 19
[    8.346844] iwlwifi 0000:06:00.0: WRT: Overriding region id 20
[    8.346845] iwlwifi 0000:06:00.0: WRT: Overriding region id 21
[    8.346846] iwlwifi 0000:06:00.0: WRT: Overriding region id 28
[    8.347346] iwlwifi 0000:06:00.0: loaded firmware version 46.fae53a8b.0 9260-th-b0-jf-b0-46.ucode op_mode iwlmvm
[    8.360070] iwlwifi 0000:06:00.0: Detected Intel(R) Wireless-AC 9260 160MHz, REV=0x324
[    8.440248] iwlwifi 0000:06:00.0: retry init count 0
[    8.440283] iwlwifi 0000:06:00.0: Detected Intel(R) Wireless-AC 9260 160MHz, REV=0x324
[    8.520234] iwlwifi 0000:06:00.0: retry init count 1
[    8.520262] iwlwifi 0000:06:00.0: Detected Intel(R) Wireless-AC 9260 160MHz, REV=0x324
[    8.600235] iwlwifi 0000:06:00.0: retry init count 2

/sys/busでデバイスを探す

私の考えでは、このパスの/sys/busでデバイスの場所を見つけたようです。

# pwd
/sys/bus/pci/drivers/iwlwifi/0000:06:00.0
# pwd -P
/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:05.0/0000:06:00.0

設定

  • リリース:Linux Mint 21
  • カーネル: 5.15.0-82-一般 #91 - Ubuntu SMP Mon Aug 14 14:14:14 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

問題を引き起こす可能性があるカーネルアップデートはありますか?

これまで、このカードはこのディストリビューションでうまく機能しています。最近のカーネルアップデートでカードが機能しないようです。しかし、これは単なる推測です。 「最近」という言葉は昨日カーネルアップデートが行われ、一日を終えるためにゲームをするためにWindowsで再起動(二重起動)したという意味です。今朝コンピュータを起動し、Linux - > Wi-Fiが動作しない状態に入りました。

スクリプトを使用してデバイスをリセットする

この住所: https://unix.stackexchange.com/a/474378/322580

台本を見つけました。

#!/bin/bash

dev=$1

if [ -z "$dev" ]; then
    echo "Error: no device specified"
    exit 1
fi

if [ ! -e "/sys/bus/pci/devices/$dev" ]; then
    dev="0000:$dev"
fi

if [ ! -e "/sys/bus/pci/devices/$dev" ]; then
    echo "Error: device $dev not found"
    exit 1
fi

port=$(basename $(dirname $(readlink "/sys/bus/pci/devices/$dev")))

if [ ! -e "/sys/bus/pci/devices/$port" ]; then
    echo "Error: device $port not found"
    exit 1
fi

echo "Removing $dev..."

echo 1 > "/sys/bus/pci/devices/$dev/remove"

echo "Performing hot reset of port $port..."

bc=$(setpci -s $port BRIDGE_CONTROL)

echo "Bridge control:" $bc

setpci -s $port BRIDGE_CONTROL=$(printf "%04x" $(("0x$bc" | 0x40)))
sleep 0.01
setpci -s $port BRIDGE_CONTROL=$bc
sleep 0.5

echo "Rescanning bus..."

echo 1 > "/sys/bus/pci/devices/$port/rescan"

私のコンピュータでこれを実行します。

$ sudo ./pciRescan 06:00.0

ID番号は06:00.0以下から来ます。

$ lspci | grep Intel
06:00.0 Network controller: Intel Corporation Wireless-AC 9260 (rev 29)

pciRescanスクリプトを実行しても何も起こりません。 Wi-Fiカードがまだオフになっていて不明な理由で表示されません。

私が試した他のもの

  • 再起動 - >何もしない
  • Wi-FiカードがWindowsで動作していることを確認してください(マイコンピュータではデュアルブート)。 - >カードはWindowsで動作します。
  • /sys/bus/で「リセット」ビットをリセットしてみました(このドキュメントの上のフルパスを参照) - >何もしませんでした。おそらく間違っているようです。

私が逃した部分がある場合、提案や助けなどがある場合 - >躊躇しないでください。助けてくれてありがとうございました<3

編集する

オンラインで多くのコンテンツを読んだ後、Windowsに依存してコンピュータをシャットダウンするコンピュータのデュアルブートでWindowsに問題があるようです。 -> Wi-Fiで不要な動作が発生するため、回避策は簡単に見えます。 Windowsで再起動します。 Linuxで起動を再開します。

関連情報