현재 Pop!_OS 21.04 x86_64
커널을 사용하고 있는데 ,,, 5.15.5-76051505-generic
에서 이 문제를 재현해봤습니다. 따라서 릴리스 버전은 중요하지 않습니다.Manjaro
Tails
Ubuntu
MX
Linux를 부팅할 때 Wi-Fi 네트워크에 연결할 수 없습니다.
얼마 전에 Windows(이중 부팅)와 연결하는 솔루션을 찾았습니다.
Linux에서 Wi-Fi를 사용하려면 먼저 Windows에서 Wi-Fi를 꺼야 합니다.
하지만 지금은 내 컴퓨터에 Linux만 있습니다(이중 부팅 없음). 일부 유틸리티와 함께 라이브 USB Windows를
사용할 때까지는 모든 것이 잘 작동했습니다 .Hiren's BootCD PE
USB 드라이브에서 유틸리티를 실행하고 Wi-Fi에 연결하면 Linux에서 Wi-Fi 작동이 중지됩니다.
이전과 동일한 문제인 것 같지만 이번에는 Hiren의 부팅 Windows에서 Wi-Fi를 성공적으로 비활성화할 수 없었습니다. 장치 관리자에서 Wi-Fi 카드를 비활성화하고 완전히 제거하고 전원 관리로 인해 카드 종료 허용을 선택 취소해 보았지만 모두 소용이 없었습니다.
내 생각엔 Windows가 어떻게든 Wi-Fi 카드를 차단하고 Linux가 Wi-Fi 카드를 제대로 초기화하지 못하는 것 같습니다.
이전에 Windows와 Linux를 이중 부팅했을 때 제가 시도한 솔루션은 Windows를 부팅하고 Wi-Fi를 끈 다음 Linux를 부팅하는 것이었습니다.
하지만 지금은 Windows가 설치되어 있지 않고 Windows에 live-usb 유틸리티만 설치되어 있습니다. 비표준을 사용하여 PE Network Manager
Wi-Fi를 관리하므로 이를 끄더라도 표준 Windows Wi-Fi 인터페이스만큼 도움이 되지 않습니다.
Linux에서 무선 카드를 "깨우는" 방법에 대한 아이디어가 있습니까?
무선 카드가 분명히 감지되었지만 작동하지 않습니다.
Wi-Fi를 끄고 분쇄하기 위해 Windows를 설치하고 싶지는 않습니다.
현재 Linux 상태 로그:
$ iwconfig
lo no wireless extensions.
enp0s31f6 no wireless extensions.
$ rfkill
ID TYPE DEVICE SOFT HARD
1 wlan dell-wifi unblocked unblocked
2 bluetooth dell-bluetooth blocked unblocked
$ sudo lshw -C network
*-network
description: Network controller
product: Wireless 8265 / 8275
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:02:00.0
version: 78
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: driver=iwlwifi latency=0
resources: irq:135 memory:ef100000-ef101fff
*-network
description: Ethernet interface
product: Ethernet Connection (4) I219-LM
vendor: Intel Corporation
physical id: 1f.6
bus info: pci@0000:00:1f.6
logical name: enp0s31f6
version: 21
serial: 10:65:30:2e:ee:de
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=5.15.5-76051505-generic firmware=0.1-4 latency=0 link=no multicast=yes port=twisted pair
resources: irq:131 memory:ef300000-ef31ffff
$ sudo dmesg | grep iwlwifi
Dec 15 11:06:54 ncno2 kernel: iwlwifi 0000:02:00.0: enabling device (0000 -> 0002)
Dec 15 11:06:54 ncno2 kernel: iwlwifi 0000:02:00.0: loaded firmware version 36.ca7b901d.0 8265-36.ucode op_mode iwlmvm
Dec 15 11:06:54 ncno2 kernel: iwlwifi 0000:02:00.0: Detected Intel(R) Dual Band Wireless AC 8265, REV=0x230
Dec 15 11:06:56 ncno2 kernel: iwlwifi 0000:02:00.0: Couldn't prepare the card
Dec 15 11:06:56 ncno2 kernel: iwlwifi 0000:02:00.0: Error while preparing HW: -110
Dec 15 11:06:57 ncno2 kernel: iwlwifi 0000:02:00.0: Master Disable Timed Out, 100 usec
답변1
Windows에서 Wi-Fi를 끄는 것 외에는 작동하는 솔루션을 찾지 못했습니다. 그래서 USB 드라이브에 Windows 휴대용 버전을 만들고 Linux 컴퓨터에서 부팅한 다음 Windows에서 Wi-Fi를 끈 다음 Linux를 다시 부팅했더니 모든 것이 정상으로 돌아왔습니다. Wi-Fi는 문제없이 작동됩니다.
휴대용 버전의 Windows를 얻으려면 가상 디스크의 VirtualBox에 Windows를 설치한 다음 .vdi
해당 가상 디스크에서 파일을 생성하고 USB 드라이브에 복제하면 됩니다..img
VirtualBox로 휴대용 Windows 만들기
Windows 설치 단계에서 지역을 선택할 때 가상 머신을 종료했다는 점을 언급할 가치가 있습니다("지역부터 시작하겠습니다. 이것이 맞습니까?"라고 물음). 어쩌면 별것 아닌 일이고 VirtualBox에서 설치를 완료해도 되지만 저는 USB 드라이브에서 Windows를 부팅한 후 완료하기로 했습니다.
나는 다음 단계를 수행했습니다.
VirtualBox에 Windows 설치
가상 디스크에서 디스크 이미지 파일 생성
$ VBoxManage clonehd /path/to/existing/Windows10.vdi /path/to/new/disk/image/Windows10.img --format RAW
- 삽입된 USB 드라이브의 장치 이름을 확인하세요.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 119.5G 0 disk
├─sda1 8:1 1 50M 0 part
├─sda2 8:2 1 29.5G 0 part
└─sda3 8:3 1 508M 0 part
nvme0n1 259:0 0 476.9G 0 disk
├─nvme0n1p1 259:1 0 498M 0 part /boot/efi
├─nvme0n1p2 259:2 0 4G 0 part /recovery
├─nvme0n1p3 259:3 0 468.4G 0 part
│ └─cryptdata 253:0 0 468.4G 0 crypt
│ └─data-root 253:1 0 468.4G 0 lvm /
└─nvme0n1p4 259:4 0 4G 0 part
└─cryptswap 253:2 0 4G 0 crypt [SWAP]
제 경우에는 USB 드라이브 sda
이름이 있습니다(파티션 sda1
, sda2
, sda3
).
- Windows 디스크 이미지를 USB 드라이브에 복제합니다.
경고하다: 주의해서 사용하세요. 이 경로에서 디스크를 제거하므로 경로를 두 번
확인하세요 .of=
$ sudo dd if=/path/to/Windows10.img of=/dev/sda bs=4M status=progress
- 컴퓨터를 다시 시작하고 USB 드라이브에서 Windows를 부팅합니다.
VirtualBox를 사용하여 휴대용 Windows를 만드는 것이 적합하지 않다면 어떻게 될까요?
두 번째 옵션이 있지만 Windows가 설치된 컴퓨터가 필요합니다.
기존 Windows 설치에서 Rufus 또는 WinToUSB를 사용하고 USB 드라이브에 설치된 휴대용 Windows 버전인 "Windows To Go"를 만듭니다.
답변2
일부 Wi-Fi 및 네트워크 카드에는 Linux 장치 드라이버가 이해하지 못하는 기능이 있습니다. Windows 드라이버가 이러한 기능을 활성화하고 재부팅 후에도 해당 기능을 유지하는 경우 Linux는 인터페이스를 사용할 수 없습니다.
해결 방법은 웜 부팅을 수행하는 대신 Windows를 종료하고 Linux를 시작하는 사이에 컴퓨터를 다시 시작하는 것입니다.
PCI 네트워크 카드의 경우 최소한 이론적으로는 PCI 슬롯의 전원을 끄고 Linux 시작 스크립트에서 다시 전원을 켜는 것이 가능합니다. (이 작업을 수동으로 수행했는데 적어도 한 번은 작동했습니다.) 실제로 배포판에서는 이 작업을 수행하지 않으며 이식 가능하고 안정적인 방식으로 이를 수행하기 위한 스크립트를 작성하는 것은 혼란스럽습니다. 전체 머신을 재부팅하는 것이 훨씬 쉽습니다.