Raspbian에서 rfkill을 제거한 후 rfkill을 비활성화하는 방법

Raspbian에서 rfkill을 제거한 후 rfkill을 비활성화하는 방법

시스템 업데이트를 수행한 후 갑자기 Raspberry Pi 4의 Wi-Fi가 작동을 멈춘 것을 발견했습니다. IP 주소가 없습니다. 그래서 (간단한 DHCP 구성)을 사용하여 새 임대를 시도했지만 dhclient wlan0오류 메시지가 표시되었습니다 RTNETLINK answers: Operation not possible due to RF-kill.

간단한 구글 검색 끝에 찾아낸단순히 패키지를 비우기 위한 제안apt purge rfkill, 물론 나는 주저하지 않고 즉시 도망갔습니다. 이제 사용자 공간 rfkill명령이나 도구가 없기 때문에 rfkill커널 모듈이 계속 다시 로드되어 Wi-Fi를 활성화할 수 없으며(따라서 간단히 rfkill다시 설치할 수 없음 apt) 부팅을 방지하는 방법을 모르겠습니다.

내가 뭘 한거지:

sudo systemctl disable rfkill
sudo systemctl stop rfkill
echo "rfkill" | sudo tee -a /etc/modprobe.d/raspi-blacklist.conf
sudo mv /lib/systemd/{systemd-rfkill,system/systemd-rfkill.{service,socket}} ~
echo "0" | sudo tee /var/lib/systemd/rfkill/*

내부에서 /lib/systemd/system/raspberrypi-net-mods.service나는 다음과 같이 주석을 달았습니다.

#After=systemd-rfkill.service

마지막으로 systemd.restore_state=0다음에 추가하십시오 /boot/cmdline.txt.

console=serial0,115200 console=tty1 root=PARTUUID=738a4d67-02 rootfstype=ext4 rootfsflags=commit=120,data=writeback elevator=deadline noatime nodiratime data=writeback fsck.repair=yes rootwait systemd.restore_state=0

lsmodrfkill다시 시작한 후 모듈이 다음과 같은 것을 볼 수 있습니다 .아직로드 중이며 실행을 시도하면 dhclient wlan0동일한 원래 오류 메시지가 나타납니다!

rfkill그렇다면 Wi-Fi 어댑터를 비활성화하거나 제거하고 다시 활성화하려면 어떻게 해야 합니까 ?


$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux bullseye/sid
Release:        testing
Codename:       bullseye

$ uname -a
Linux jam 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020 armv7l GNU/Linux

답변1

~에 따르면Linux 커널 매개변수 문서또한 기본적으로 잠금 해제되도록 커널에 rfkill.default_state=1매개변수(외에 )를 추가 해야 합니다 .systemd.restore_state=0/boot/cmdline.txt

    rfkill.default_state=1

관련 정보