Enable on-board wifi device with linux kernel 4.0

概要

lubuntu 15.04 載せていい感じに動いてたx205ta にlinux kernel 4.0 を入れて内蔵のwifi が動作するようにしました。

注意:この記事に沿った手順によって生じたあらゆる不都合・損害に対して、一切の責任はとれません。自己責任でおねがいします。

背景

Lubuntu 15.04 へのUpgrade の中で内蔵Wifi は後回しとしたのですが、他用でUSB-Wifi デバイスを使いたくなったのでチャレンジしてみました。

手順

基本的にDebian Wikiの通りにやりました。世界中のはっかーのみなさん本当にありがとうございます。

Linux Kernel 4.0 のインストール

How To: Install/Upgrade to Linux Kernel 4.0.0 in Ubuntu/Linux Mint Systems にしたがって、

1
2
3
4
5
6
7
8
9
$ cd /tmp

$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-vivid/linux-headers-4.0.0-040000_4.0.0-040000.201504121935_all.deb
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-vivid/linux-headers-4.0.0-040000-generic_4.0.0-040000.201504121935_amd64.deb
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-vivid/linux-image-4.0.0-040000-generic_4.0.0-040000.201504121935_amd64.deb

$ sudo dpkg -i linux-headers-4.0.0*.deb linux-image-4.0.0*.deb

$ sudo reboot

で完了。再起動後 $ uname -a して4.0 が使用されていることを確認。

ファームウェア・nvram ファイルの導入

1
2
3
4
5
6
7
8
9
$ wget https://android.googlesource.com/platform/hardware/broadcom/wlan/+archive/master/bcmdhd/firmware/bcm43341.tar.gz
$ tar xf bcm43341.tar.gz
$ cp fw_bcm43341.bin /lib/firmware/brcm/brcmfmac43340-sdio.bin

$ sudo cp /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 /lib/firmware/brcm/brcmfmac43340-sdio.txt

$ sudo apt-get install sysfsutils

$ sudo nano /etc/sysfs.conf

でファイル内に

1
2
# Disable SDHCI-ACPI for Wireless, otherwise WLAN doesn't work
bus/platform/drivers/sdhci-acpi/INT33BB:00/power/control = on

を追記。

もう一回再起動して内蔵のwifi が動いてることを確認して今この記事を書いてます。

まとめ

また1つ、linux 載せたx205ta の弱点が解消されました。世界中のすーぱーはかーの皆さま、本当にありがとうございます。

次はぜひSound, bluetooth あたりをよろしくお願いいたします。