管理者/DebianのWiFi設定 の履歴(No.1)
更新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 5300 | Intel Link 5300 | iwlwifi | Yes |
があって、何もしなくてもそのまま動くと書かれてる。
network-managerを入れる†
LANG:console $ nmcli -bash: nmcli: コマンドが見つかりません $ sudo apt install network-manager $ nmcli radio wifi on $ nmcli device wifi list (何も表示されない)
動いていない・・・
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://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
$ 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 になった。
WiFi の接続†
LANG:console $ sudo nmcli radio wifi on $ sudo nmcli device wifi list ... $ sudo nmcli device wifi connect <SSID> --ask Password: xxxxx
- nmcli radio wifi on で 無線LAN を on にして
- nmcli device wifi list で接続可能な SSID の一覧を表示して
- nmcli device 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
などとすればいい。
リブートしても自動でつながった†
以上が設定されていれば、リブートしても自動で WiFi に接続して指定したアドレスでアクセスできた。