管理者/DebianのWiFi設定

更新


公開メモ

N100 ミニPCに Debian を入れました

その WiFi を使うために行った設定は以下の通り。

概要としては

  • 無線モジュールは Intel Wi-Fi 6 AX101
  • Debian 12 Bookworm の Linux 6.1 ではサポートされていない
    • サポートされているはずがバグで動かない(?)
  • Debian 13 trixie の Linux 6.10 ではサポートされているので特に何もせず動いた
  • NetworkManager で接続設定を行った

目次

無線モジュールの確認

LANG:console
$ sudo lspci -vvnn | less
 ... 'Network controller' を検索
 
00:14.3 Network controller [0280]: Intel Corporation CNVi: Wi-Fi [8086:54f0]
         DeviceName: Onboard - Ethernet
         Subsystem: Intel Corporation CNVi: Wi-Fi (Wi-Fi 6 AX101NGW) [8086:0244]
         Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
         Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
         Interrupt: pin A routed to IRQ 16
         IOMMU group: 3
         Region 0: Memory at 6001114000 (64-bit, non-prefetchable) [size=16K]
         Capabilities: [c8] Power Management version 3
                 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
                 Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
         Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
                 Address: 0000000000000000  Data: 0000
         Capabilities: [40] Express (v2) Root Complex Integrated Endpoint, MSI 00
                 DevCap: MaxPayload 128 bytes, PhantFunc 0
                         ExtTag- RBE- FLReset+
                 DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                         RlxdOrd+ ExtTag- PhantFunc- AuxPwr+ NoSnoop+ FLReset-
                         MaxPayload 128 bytes, MaxReadReq 128 bytes
                 DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr+ TransPend-
                 DevCap2: Completion Timeout: Range B, TimeoutDis+ NROPrPrP- LTR+
                          10BitTagComp- 10BitTagReq- OBFF Via WAKE#, ExtFmt- EETLPPrefix-
                          EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                          FRS-
                          AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                 DevCtl2: Completion Timeout: 16ms to 55ms, TimeoutDis- LTR+ 10BitTagReq- OBFF Disabled,
                          AtomicOpsCtl: ReqEn-
         Capabilities: [80] MSI-X: Enable- Count=16 Masked-
                 Vector table: BAR=0 offset=00002000
                 PBA: BAR=0 offset=00003000
         Capabilities: [100 v1] Latency Tolerance Reporting
                 Max snoop latency: 0ns
                 Max no snoop latency: 0ns
         Capabilities: [164 v1] Vendor Specific Information: ID=0010 Rev=0 Len=014 <?>
         Kernel modules: iwlwifi

重要なのは、

Subsystem: Intel Corporation CNVi: Wi-Fi (Wi-Fi 6 AX101NGW) [8086:0244]

にある "Wi-Fi 6 AX101NGW" がモジュールの種別
https://www.intel.co.jp/content/www/jp/ja/products/sku/203014/intel-wifi-6-ax101/specifications.html

Kernel modules: iwlwifi

これがドライバ。

こちらで調べると、

https://help.ubuntu.com/community/WifiDocs/WirelessCardsSupported

Intel の miniPCI のところに、

**Model****Chipset****Driver****Works "out of the box"**
Intel Ultimate-N 5300Intel Link 5300iwlwifiYes

があって、何もしなくてもそのまま動くと書かれてる。

network-managerを入れる

LANG:console
$ nmcli
-bash: nmcli: コマンドが見つかりません
$ sudo apt install network-manager
$ nmcli radio wifi on
$ nmcli dev wifi
(何も表示されない)

動いていない・・・

dmesg を確認

https://endy-tech.hatenablog.jp/entry/linux_wireless_troubleshooting を見ながら、

LANG:console
$ sudo dmesg | grep iwlwifi
[    2.280469] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[    2.282142] iwlwifi: No config found for PCI dev 54f0/0244, rev=0x370, rfid=0x10c000
[    2.282158] iwlwifi: probe of 0000:00:14.3 failed with error -22

iwlwifi がエラーを吐いている

https://askubuntu.com/questions/1459856/intel-alder-lake-n100-wifi-and-bluetooth-issues

https://community.intel.com/t5/Wireless/AX101-Ubuntu-22-04-or-22-10-driver/m-p/1473073/highlight/true#M46650

あたりを見ると、似たようなことで困っている人が多かった。

カーネルバージョンを上げなければならない

https://tech.takake-blog.com/wifi-ax101-ubuntu/

Intel AX101チップセットのLinuxドライバーは、カーネルv6.1以降に搭載されているようです。一方で、記事の執筆時点ではドライバにバグが含まれており、特定環境ではv6.1だと動作しない(?)ようです。

Intelの公式フォーラムでAX101に関するスレッドが立っており、2023/06/21時点でカーネルv6.4-rc7だと動くというコメントがあるので、それに従います。

参考:https://community.intel.com/t5/Wireless/AX101-Linux-driver/td-p/1465559

LANG:console
$ uname -a
Linux minipc 6.1.0-25-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.106-3 (2024-08-26) 

確かに今のシステムは 6.1 で、ドライバは入っているのに動作しないというのは書かれている通りの症状だ。

手っ取り早く testing バージョンを入れてしまう

2024-09-01 現在、Debian の最新の安定板は Debian 12 Bookworm

テスト版の Debian 13 trixie は Linux 6.10 なのでこちらなら動くはず

今回の用途はどうしても安定動作が必要というわけでもなく、「さしあたり動けばいい」なのでテスト版にアップグレードしてしまうことにした。

LANG:console
$ sudo sed -e 's/bookworm/trixie/g' -i.bak /etc/apt/sources.list
$ sudo apt update
$ sudo apt upgrade
$ uname -a
Linux minipc 6.1.0-25-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.106-3 (2024-08-26) x86_64 GNU/Linux
$ reboot
...
$ uname -a
Linux minipc 6.10.6-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.10.6-1 (2024-08-19) x86_64 GNU/Linux

これで 6.10 になった。

LANG:console
$ sudo dmesg | grep wifi
 [    2.724567] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
 [    2.725755] iwlwifi 0000:00:14.3: Detected crf-id 0x501, cnv-id 0x80400 wfpm id 0x80000030
 [    2.725798] iwlwifi 0000:00:14.3: PCI dev 54f0/0244, rev=0x370, rfid=0x10c000
 [    2.738340] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.0.2.42
 [    2.738759] iwlwifi 0000:00:14.3: firmware: failed to load iwl-debug-yoyo.bin (-2)
 [    2.738770] iwlwifi 0000:00:14.3: firmware: failed to load iwl-debug-yoyo.bin (-2)
 [    2.738772] iwlwifi 0000:00:14.3: loaded firmware version 89.202a2f7b.0 so-a0-hr-b0-89.ucode op_mode iwlmvm
 [    2.899875] iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6 AX101, REV=0x370
 [    2.910291] iwlwifi 0000:00:14.3: WRT: Invalid buffer destination
 [    3.013540] iwlwifi 0000:00:14.3: WFPM_UMAC_PD_NOTIFICATION: 0x20
 [    3.013551] iwlwifi 0000:00:14.3: WFPM_LMAC2_PD_NOTIFICATION: 0x1f
 [    3.013560] iwlwifi 0000:00:14.3: WFPM_AUTH_KEY_0: 0x90
 [    3.013568] iwlwifi 0000:00:14.3: CNVI_SCU_SEQ_DATA_DW9: 0x10
 [    3.013622] iwlwifi 0000:00:14.3: Detected RF HR1 B3, rfid=0x10c000
 [    3.014807] iwlwifi 0000:00:14.3: RFIm is deactivated, reason = 4
 [    3.054656] iwlwifi 0000:00:14.3: base HW address: **:**:**:**:**:**
 [    3.072799] iwlwifi 0000:00:14.3 wlo1: renamed from wlan0
 [    3.643657] iwlwifi 0000:00:14.3: WRT: Invalid buffer destination
 [    3.741882] iwlwifi 0000:00:14.3: WFPM_UMAC_PD_NOTIFICATION: 0x20
 [    3.741928] iwlwifi 0000:00:14.3: WFPM_LMAC2_PD_NOTIFICATION: 0x1f
 [    3.741939] iwlwifi 0000:00:14.3: WFPM_AUTH_KEY_0: 0x90
 [    3.741950] iwlwifi 0000:00:14.3: CNVI_SCU_SEQ_DATA_DW9: 0x10
 [    3.743113] iwlwifi 0000:00:14.3: RFIm is deactivated, reason = 4
 [    3.786815] iwlwifi 0000:00:14.3: Registered PHC clock: iwlwifi-PTP, with index: 2
 [    3.833748] iwlwifi 0000:00:14.3: WRT: Invalid buffer destination
 [    3.931933] iwlwifi 0000:00:14.3: WFPM_UMAC_PD_NOTIFICATION: 0x20
 [    3.931981] iwlwifi 0000:00:14.3: WFPM_LMAC2_PD_NOTIFICATION: 0x1f
 [    3.931995] iwlwifi 0000:00:14.3: WFPM_AUTH_KEY_0: 0x90
 [    3.932042] iwlwifi 0000:00:14.3: CNVI_SCU_SEQ_DATA_DW9: 0x10
 [    3.933242] iwlwifi 0000:00:14.3: RFIm is deactivated, reason = 4
  • firmware: failed to load iwl-debug-yoyo.bin (-2)
  • WRT: Invalid buffer destination
  • RFIm is deactivated, reason = 4

とか書かれてるけど、どうやらこれで問題なく動いているらしい。

WiFi の接続

LANG:console
$ sudo nmcli radio wifi on
$ nmcli dev wifi
...
$ sudo nmcli dev wifi connect <SSID> --ask
Password: xxxxx
  • nmcli radio wifi on で 無線LAN を on にして
  • nmcli dev wifi で接続可能な SSID の一覧を表示して
  • nmcli dev wifi connect で接続する

とても簡単だった。

IP アドレスの固定

IP アドレスを固定するには、

https://raspida.com/nmcli-static-ipaddress/

にある手順で、

/etc/NetworkManager/system-connections/<SSID>.nmconnection

のようなファイルの [ipv4] セクションを

[ipv4]
method=manual
address1=192.168.0.21/24,192.168.0.1

などとすればいい。

これを勘違いして /etc/network/interfaces に

# これを書いちゃダメ!
allow-hotplug wlo1
iface wlo1 inet static
  ...

みたいのを書いちゃうと nmcli が正常に動かなくなっちゃう。

  • nmcli device wifi で一覧が取れなくなる。
  • nmcli device wifi rescan で "Error: Scanning not allowed while unavailable or activating." と言われる

https://askubuntu.com/questions/715345/network-manager-is-not-detecting-wifi-networks/921392#921392

/etc/network/interfaces の上記の設定を消せば元に戻るのだけれど、、、

訳が分からなくて何時間も途方に暮れることになる。。。

リブートしても自動でつながった

以上が設定されていれば、リブートしても自動で WiFi に接続して指定したアドレスでアクセスできた。

・・・これ、本当かな? ちょっと自信がなくなった。

たぶん wifi 接続キーを保存しなければならないはずで、別途その操作をどこかでしていたのかもしれない???


Counter: 645 (from 2010/06/03), today: 4, yesterday: 15