ひゃまだのblog

ひゃまだ(id:hymd3a)の趣味のブログ

RTNETLINK answers: Operation not possible due to RF-kill エラー対策

(2022-02-03 初稿 - 2022-02-04 追記)

はじめに

Raspberry Pi 3B+に、Debian 11(Bullseye) arm64版をインストールして、一足先に64bit環境を楽しもうと思いインストールした。

インストールの方法や細々とした設定については、別ページにアップする。

ここでは、Debian 11をインストール後のRaspberry PiWi-Fi設定に手こずったので、その対策をアップする。

現象

別ページに記載した方法で、Debianをインストールするとネットワークの制御は以下のファイルで行う。

cat /etc/network/interfaces.d/eth0

auto eth0
iface eth0 inet dhcp
iface eth0 inet auto

有線ケーブルを接続しDHCP環境で利用する場合は全く問題がないが、ケーブルの取り回しが面倒な場所にRaspberry Piを置きたかったので、Wi-Fiで接続することにした。

# To enable wireless networking, uncomment the following lines and -naturally-
# replace with your network's details.
#
allow-hotplug wlan0
iface wlan0 inet dhcp
iface wlan0 inet6 dhcp
     wpa-ssid YOUR-SSID
     wpa-psk JugemuJugemu

wlan0 ファイルができたので、以下のコマンドでWi-Fiを有効にしようとしたところ、以下のエラーメッセージが出た。

$ sudo ifup wlan0
RTNETLINK answers: Operation not possible due to RF-kill
(以下省略)

ネットで検索するとrfkillコマンドで確認できるとのことで、rfkillをインストールして、確認。

$ sudo apt install rfkill
$ sudo rfkill list
0: phy0: Wireless LAN
    Soft blocked: yes
    Hard blocked: no
1: hci0: Bluetooth
    Soft blocked: yes
    Hard blocked: no

どうも、Wireless LANとBluetoothはソフトウェア的に使えなくしているらしい。

余計なことをしおってと思ったが、少ない電力で動かないといけないRaspberry Piには必要な機能かもしれないね。

対策

なるほど、以下のサイトを参照して、blockを解除しよう。

$ sudo rfkill unblock wifi
$ sudo rfkill list
0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
1: hci0: Bluetooth
    Soft blocked: yes
    Hard blocked: no

おし、ブロック解除だ。

$ sudo ifup wlan0
$ ping 192.168.xxx.xxx  必ずつながるところへping
(省略 成功)

よっしゃー、ということでRaspberry Piを再起動。

$ ping 192.168.xxx.xxx  必ずつながるところへping
(省略 失敗 (T_T) )

なんで、(・・?

$ sudo rfkill list
0: phy0: Wireless LAN
    Soft blocked: yes
    Hard blocked: no

また、ブロックしてるじゃん。

ネットで検索して以下のページ発見。多謝 m(__)m。

$ connmanctl enable wifi

ということで、connmanctlで設定した場合は、再起動してもWi-Fiが無事に使えた。

Raspberry PiWi-Fiにつなげるだけで、どっと疲れた。

それにしても、connmanctlなんてコマンド初めて知った。

Linuxは何年使っていても、学ぶこと一杯だね。^^;

関連ページ