Ubuntu の wifi が動作不安定だったので頑張って解消しようとしたけど、結局、様子を見ることにした話。

10年前くらいのだけど状態が良い Let’s note を、ヤフオクで落札。届いてみたら、本当に状態が良くてびっくり。ほとんど使われていなかったのでは?と思えるくらいのキレイな一品で大満足。

とはいえ、OSがWin7だったので、Linux使いたい気持ちを抑えきれずに Ubuntu MATE Jammy Jellyfish 22.04 を入れてみた。ちょうどローンチされたばかりだり、ちょうど良い。(ちなみに、その前には Linux Mint を入れてみた。動作安定していてなんの遜色もなく使えて、素晴らしいと感動した次第)

Free wifi を使っていると、Free wifi の時間制限でセッション断するタイミングで、こちらの wifi が変になる。具体的には、wifiのインタフェース部分が「デバイスの準備ができていません」と表示されてしまう。Free wifi じゃなければ問題なく使えるのに、なぜだろう…?

以下、ifconfig の結果。

hiro@CF-SX2JEADR:~$ ifconfig
enp0s25: flags=4099 mtu 1500
ether 04:20:9a:41:df:17 txqueuelen 1000 (イーサネット)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xf7f00000-f7f20000

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (ローカルループバック)
RX packets 247 bytes 22877 (22.8 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 247 bytes 22877 (22.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions

wlp2s0: flags=4163 mtu 1500
inet 10.51.158.213 netmask 255.255.252.0 broadcast 10.51.159.255
inet6 fe80::7c35:93f6:309:ba30 prefixlen 64 scopeid 0x20
ether 64:80:99:64:a2:e4 txqueuelen 1000 (イーサネット)
RX packets 25560 bytes 33273876 (33.2 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7535 bytes 673521 (673.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

このPCで使っているwifiのインタフェースは wlp2s0 らしい。wifiで通信できているときは、上記のようにIPアドレスが振られているが、通信できていないときは、もちろん表示されない。

色々とぐぐってみると、デバイスドライバをアップデートしたら安定した、という情報があった。OK試してみようと、まずは今のドライババージョンとか情報をチェックしたくなった。

以下が、sudo lshw -C network の結果。

hiro@CF-SX2JEADR:~$ sudo lshw -C network
[sudo] hiro のパスワード:
*-network
詳細: イーサネット interface
製品: 82579LM Gigabit Network Connection (Lewisville)
ベンダー: Intel Corporation
物理ID: 19
バス情報: pci@0000:00:19.0
論理名: enp0s25
バージョン: 04
シリアル: 04:20:9a:41:df:17
容量: 1Gbit/s
幅: 32 bits
クロック: 33MHz
性能: pm msi bus_master cap_list ______ physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
設定: autonegotiation=on broadcast=yes driver=e1000e driverversion=5.15.0-23-generic firmware=0.13-4 latency=0 link=no multicast=yes port=twisted pair
リソース: irq:29 メモリー:f7f00000-f7f1ffff メモリー:f7f41000-f7f41fff IOポート:f080(サイズ=32)
*-network 無効
詳細: 無線インターフェース
製品: Centrino Advanced-N + WiMAX 6250 [Kilmer Peak]
ベンダー: Intel Corporation
物理ID: 0
バス情報: pci@0000:02:00.0
論理名: wlp2s0
バージョン: 5e
シリアル: 64:80:99:64:a2:e4
幅: 64 bits
クロック: 33MHz
性能: pm msi pciexpress bus_master cap_list ______ physical wireless
設定: broadcast=yes driver=iwlwifi driverversion=5.15.0-23-generic firmware=41.28.5.1 build 33926 6050-5.uc latency=0 link=no multicast=yes wireless=IEEE 802.11
リソース: irq:33 メモリー:f7d00000-f7d01fff

ん?「*-network 無効」って表示される。これが原因か?


けれど、デスクトップ右上のNWのアイコンをチェックするに、wifiは有効になっている。試しにこの状態で ifconfig してみると、以下の通り、wifiが表示されなかった。

hiro@CF-SX2JEADR:~$ ifconfig
enp0s25: flags=4099 mtu 1500
ether 04:20:9a:41:df:17 txqueuelen 1000 (イーサネット)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xf7f00000-f7f20000

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (ローカルループバック)
RX packets 14332 bytes 1071907 (1.0 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14332 bytes 1071907 (1.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

なるほど、ハードウェアが認識されなくなっているのか。そりゃ、通信できないわ。wifiが有効になっているのと、ハードウェアが認識されているのは、別なのか。。。

PCを再起動すると認識してもらえる。そして、もちろんwifiも使える。
ということで、症状をまとめると、以下だと分かった。

  • Free wifiを使うことができるが、セッションタイムアウトでwifiルータから一方的に切断されると、wifiのハードウェアが認識されない状態になる。ただし、ソフトウェア上はwifiONになっている。
  • PCを再起動すると通常通り使える。すなわち、PC起動中のプロセスでwifiのハードウェアインタフェースもONになるのだろうが、その際はちゃんと認識される
  • Free wifi のセッションタイムアウトのように、wifiルータ側から一方的に通信断されるとハードウェアはOFFになるがソフトウェア的にはwifiONのまま。

ということで、wifiのハードウェアを手動でONにしてみることに。

しかし、以下のエラーが出てONにならず。

hiro@CF-SX2JEADR:~$ sudo ifconfig wlp2s0 up
SIOCSIFFLAGS: 入力/出力エラーです

ググってみたけど、ドライバが正常に動作してない場合とかによく出るメッセージの模様。よし、やっぱりドライバを最新にしてみるか。。

以下、lspci の結果。

hiro@CF-SX2JEADR:~$ lspci
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:04.0 Signal processing controller: Intel Corporation 3rd Gen Core Processor Thermal Subsystem (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C216 Chipset Family MEI Controller #1 (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (Lewisville) (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C216 Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)
00:1c.4 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 5 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation QM77 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C216 Chipset Family SMBus Controller (rev 04)
00:1f.6 Signal processing controller: Intel Corporation 7 Series/C210 Series Chipset Family Thermal Management Controller (rev 04)
02:00.0 Network controller: Intel Corporation Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (rev 5e)
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 PCI Express Card Reader (rev 01)

当該部分は、以下。

2:00.0 Network controller: Intel Corporation Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (rev 5e)

ネットで調べてみたけど、分からなくなってしまった。そもそも、Free wifi じゃなければ普通に使えるから、変にドライバをアップデートするのも憚られる

今はwifi使いたいから、繋がらなくなったら再起動という運用対処にしておこうと思う。

それに、ググっても最新ドライバがどこにあるのか分からず…。さらに言うと、今使っているドライバのバージョンも分からず…。

かける時間の割に得るものが少ない気がするので、一旦ここでストップしよう。

【追記】

その後、なぜか普通に使うことができている。Free wifi のルータの調子か?それとも、日中だったので、利用ユーザが多かったとかが原因か?兎にも角にも、変にドライバをいじらなくて正解だった。気持ち悪いけど、一旦、このまま様子見とする。