질문

질문

질문

내 컴퓨터에는 내부 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

설정

  • 출시: 리눅스 민트 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로 부팅을 다시 시작합니다.

관련 정보