Last Updated: September 15, 2020
·
8.768K
· Alisue Lambda

lubuntu de wifi

自宅のノートパソコンが遅くて遅くてたまらなかったので比較的軽いと言われている Lubuntu をインストールしました。すこぶる快調。

ただ、無線LANのドライバを認識していないのか無線が使えませんでした。で、使えるようにした日記です。

原因の特定

まずは原因の特定を行わないといけないと思うんです。なので下記コマンドを打っていきます

% lshw -C Network
% dmesg | grep -e wlan -ie radio
% lspci -nn # (or lsusb)
% sudo iwlist scan

1. lshw による物理認識確認

ハードウェアとして認識されているか調べます。ドライバが存在していなくても普通は認識はされるはずなので、ここでコケた場合は絶望的ですね。以下出力例です(一部修正済み)

% lshw -C Network
WARNING: you should run this program as super-user.
  *-network               
       description: Ethernet interface
       product: 88E8040 PCI-E Fast Ethernet Controller
       vendor: Marvell Technology Group Ltd.
       physical id: 0
       bus info: pci@0000:00:00.0
       logical name: eth0
       version: 12
       serial: xx:xx:xx:xx:xx:xx
       size: 100Mbit/s
       capacity: 100Mbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=sky2 driverversion=1.30 duplex=full latency=0 multicast=yes port=twisted pair speed=100Mbit/s
       resources: irq:44 memory:xxxxxxxx-xxxxxxxx ioport:xxxx(size=256)
  *-network
       description: Network controller
       product: BCM4321 802.11a/b/g/n
       vendor: Broadcom Corporation
       physical id: 0
       bus info: pci@0000:00:00.0
       version: 03
       width: 64 bits
       clock: 33MHz
       capabilities: bus_master cap_list
       configuration: driver=b43-pci-bridge latency=0
       resources: irq:17 memory:xxxxxxxx-xxxxxxxx memory:xxxxxxxx-xxxxxxxx
  *-network
       description: Wireless interface
       physical id: 1
       logical name: wlan0
       serial: xx:xx:xx:xx:xx:xx
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=b43 driverversion=3.5.0-23-generic firmware=666.2 ip=192.168.0.6 multicast=yes wireless=IEEE 802.11bg
WARNING: output may be incomplete or inaccurate, you should run this program as super-user.
lshw -C Network  3.44s user 0.10s system 97% cpu 3.648 total

2. dmesg による起動時メッセージの確認

dmesg は起動時の詳細なログが記載されているので、ここから無線に関する部分を持ってくる。正しい場合の出力は以下みたいな感じ

% dmesg | grep -e wlan -ie radio
[   18.479025] b43-phy0: Broadcom 4321 WLAN found (core revision 12)
[   19.194506] Registered led device: b43-phy0::radio
[   19.589894] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   19.590375] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   69.268582] wlan0: authenticate with xx:xx:xx:xx:xx:xx
[   69.292177] wlan0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
[   69.294795] wlan0: authenticated
[   69.296054] wlan0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
[   69.299478] wlan0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=0x00 status=0 aid=0)
[   69.299914] wlan0: associated
[   69.300205] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready

3. lspci / lsusb による物理的認識確認

lspci コマンドでPCIバスデバイスの情報が表示されます。また lsusb ではUSBデバイスの情報が表示されます。 ここで表示されなければ物理的接続を疑う。

% lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub [0000:0000] (rev 0c)
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (primary) [0000:0000] (rev 0c)
…略…
09:00.0 Ethernet controller [0200]: Marvell Technology Group Ltd. 88E8040 PCI-E Fast Ethernet Controller [0000:0000] (rev 12)
0b:00.0 Network controller [0280]: Broadcom Corporation BCM4321 802.11a/b/g/n 0000:0000] (rev 03)

# 僕のPCにはUSBで無線カードが刺さっているわけではないので表示されません
% lsusb
Bus 005 Device 002: ID xxxx:xxxx Cypress Semiconductor Corp. Mouse
Bus 001 Device 001: ID xxxx:xxxx Linux Foundation 2.0 root hub
Bus 002 Device 001: ID xxxx:xxxx Linux Foundation 2.0 root hub
Bus 003 Device 001: ID xxxx:xxxx Linux Foundation 1.1 root hub
Bus 004 Device 001: ID xxxx:xxxx Linux Foundation 1.1 root hub
Bus 005 Device 001: ID xxxx:xxxx Linux Foundation 1.1 root hub
Bus 006 Device 001: ID xxxx:xxxx Linux Foundation 1.1 root hub
Bus 007 Device 001: ID xxxx:xxxx Linux Foundation 1.1 root hub

4. iwlist scan によるインターフェイスの確認

iwlist scan で存在しているインターフェイスの確認ができます。
もしもドライバーが存在しないため無線LANが使えない場合はここで wlan0 が表示されません

% sudo iwlist scan
eth0      Interface doesn't support scanning.

lo        Interface doesn't support scanning.

wlan0     Scan completed :
          Cell 01 - Address: 00:3A:9D:A1:8E:7E
                    Channel:3
                    Frequency:2.422 GHz (Channel 3)
                    Quality=70/70  Signal level=-28 dBm  
                    …略…

今回のケース

今回の場合ドライバが存在しないことによって無線が使えませんでした。その場合正しい出力が iwlist scan で見られず wlan0 が存在していませんでした。

より詳細を表示するために dmesg からgrep -e wlan -e b43 として以下のように情報を取り出しました。

% dmesg | grep -e wlan -e b43
[   18.553312] b43-phy0: Broadcom 4321 WLAN found (core revision 12)
[   18.952494] b43-phy0 ERROR: Firmware file "b43/n0initvals11.fw" not found
[   18.952499] b43-phy0 ERROR: Firmware file "b43-open/ucode11.fw" not found
[   18.952502] b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.

でURLが貼ってあったのでその先に飛び、指定されたものを以下のようにインストールし再起動をかけると使えるようになりますた。

% sudo apt-get install firmware-b43-installer

参考