管理者/DebianのWiFi設定 の履歴(No.2)

更新


公開メモ

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 に接続して指定したアドレスでアクセスできた。


Counter: 104 (from 2010/06/03), today: 5, yesterday: 6