コンパクトでない空間

a good experience become even better when it is shared

Ubuntu 14.04のwifiが繋がらない問題

環境

状況

$ lspci
00:00.0 Host bridge: Intel Corporation Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register (rev 0e)
00:02.0 VGA compatible controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display (rev 0e)
00:14.0 USB controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series USB xHCI (rev 0e)
00:17.0 SD Host controller: Intel Corporation Atom Processor E3800 Series eMMC 4.5 Controller (rev 0e)
00:1a.0 Encryption controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine (rev 0e)
00:1b.0 Audio device: Intel Corporation Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller (rev 0e)
00:1c.0 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 1 (rev 0e)
00:1c.1 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 2 (rev 0e)
00:1f.0 ISA bridge: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Power Control Unit (rev 0e)
00:1f.3 SMBus: Intel Corporation Atom Processor E3800 Series SMBus Controller (rev 0e)
01:00.0 Network controller: Broadcom Corporation BCM43142 802.11b/g/n (rev 01)
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 PCI Express Card Reader (rev 01)

NICは下から二番目のBroadcom Corporation BCM43142 802.11b/g/nが入っている。

$ ifconfig
lo        Link encap:ローカルループバック  
          inetアドレス:127.0.0.1  マスク:255.0.0.0
          inet6アドレス: ::1/128 範囲:ホスト
          UP LOOPBACK RUNNING  MTU:65536  メトリック:1
          RXパケット:1641 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:1641 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:1 
          RXバイト:133954 (133.9 KB)  TXバイト:133954 (133.9 KB)

loしかいない。eth0もeth1もいない。

$ iwconfig
lo        no wireless extensions.
$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

どうしてこうなったかはわからないけど、タイミング的にあからさまにカーネルのアップデート以降ダメになった気がする。

kate@Kaede:~$ cd /boot
kate@Kaede:boot$ ls
System.map-3.19.0-25-generic  config-3.19.0-56-generic
System.map-3.19.0-30-generic  config-3.19.0-58-generic
System.map-3.19.0-32-generic  config-3.19.0-59-generic
System.map-3.19.0-33-generic  config-3.19.0-65-generic
System.map-3.19.0-39-generic  config-3.19.0-74-generic
System.map-3.19.0-42-generic  config-4.4.0-47-generic
System.map-3.19.0-43-generic  grub
System.map-3.19.0-47-generic  initrd.img-3.19.0-25-generic
System.map-3.19.0-49-generic  initrd.img-3.19.0-30-generic
System.map-3.19.0-51-generic  initrd.img-3.19.0-32-generic
System.map-3.19.0-56-generic  initrd.img-3.19.0-33-generic
System.map-3.19.0-58-generic  initrd.img-3.19.0-39-generic
System.map-3.19.0-59-generic  initrd.img-3.19.0-42-generic
System.map-3.19.0-65-generic  initrd.img-3.19.0-43-generic
System.map-3.19.0-74-generic  initrd.img-3.19.0-47-generic
System.map-4.4.0-47-generic   initrd.img-3.19.0-49-generic
abi-3.19.0-25-generic         initrd.img-3.19.0-51-generic
abi-3.19.0-30-generic         initrd.img-3.19.0-56-generic
abi-3.19.0-32-generic         initrd.img-3.19.0-58-generic
abi-3.19.0-33-generic         initrd.img-3.19.0-59-generic
abi-3.19.0-39-generic         initrd.img-3.19.0-65-generic
abi-3.19.0-42-generic         initrd.img-3.19.0-74-generic
abi-3.19.0-43-generic         initrd.img-4.4.0-47-generic
abi-3.19.0-47-generic         memtest86+.bin
abi-3.19.0-49-generic         memtest86+.elf
abi-3.19.0-51-generic         memtest86+_multiboot.bin
abi-3.19.0-56-generic         vmlinuz-3.19.0-25-generic
abi-3.19.0-58-generic         vmlinuz-3.19.0-30-generic
abi-3.19.0-59-generic         vmlinuz-3.19.0-32-generic
abi-3.19.0-65-generic         vmlinuz-3.19.0-33-generic
abi-3.19.0-74-generic         vmlinuz-3.19.0-39-generic
abi-4.4.0-47-generic          vmlinuz-3.19.0-42-generic
config-3.19.0-25-generic      vmlinuz-3.19.0-43-generic
config-3.19.0-30-generic      vmlinuz-3.19.0-47-generic
config-3.19.0-32-generic      vmlinuz-3.19.0-49-generic
config-3.19.0-33-generic      vmlinuz-3.19.0-51-generic
config-3.19.0-39-generic      vmlinuz-3.19.0-56-generic
config-3.19.0-42-generic      vmlinuz-3.19.0-58-generic
config-3.19.0-43-generic      vmlinuz-3.19.0-59-generic
config-3.19.0-47-generic      vmlinuz-3.19.0-65-generic
config-3.19.0-49-generic      vmlinuz-3.19.0-74-generic
config-3.19.0-51-generic      vmlinuz-4.4.0-47-generic

3.19.0-74-genericから4.4.0-47-genericにアップデートしたときにダメになったようなので、3.19.0-74に戻してみる。

Shift押しながら再起動で、grubの設定画面から3.19.0-74を選択して起動してみる。 参考:

Ubuntuでのカーネルのダウングレード - ひよっこエンジニアの日記

と、wifiがつながった。

$ uname -a
Linux Kaede 3.19.0-74-generic #82~14.04.1-Ubuntu SMP Fri Oct 21 15:44:07 UTC 2016 i686 i686 i686 GNU/Linux

確かに3.19.0-74-genericになっていることを確認。でも、これは今回一回限りなので、デフォルトがこれになるように設定する。

解決策

/etc/default/grubを以下のように変更

# GRUB_DEFAULT=0
GRUB_DEFAULT="1>2"

grubの画面にて2番目→3番目の順に選択するとこのバージョンになった。メニューは0から番号が振られているのでひとつ減って1>2と表記。 0から数えるか1から数えるかは環境によるとかいう話も聞いたような?気をつけてください。

$ sudo update-grub

で変更を反映。再起動すると無事wifiもつながり、unameコマンドでカーネルのバージョンも3.19.0-74になっていることが確認できた。

注意点

最初0番から数えるの忘れてて"2>3"にしたらMemTestが起動してびっくりした。Shift押しながら再起動したらどうにかなった。 どういうわけか、"Ubuntu, with Linux 3.19.0-74-generic"のような形で指定する方法ではうまくいかなかった。

参考

sweng.web.fc2.com

jewelbox.hatenablog.jp