コンパイルでエラーとなる時は(その2)を参照してください。
BuffaloのUSB接続のWi-FiアダプターWI-U2-433DHPを購入した。もちろんwindows 10では問題なく使えたが、Linuxbeanを立ち上げると、WI-U2-433DHBは認識しない。
そこで、googleで調べたら、いくつかのページが見つかったが、改めて使用できるよう行った内容を記すこととした。
まず最初にDKMS(Dynamic Kernel Module Support)をインストールする。
$ sudo apt-get update
$ sudo apt-get install dkms
ソースをダウンロード
$ git clone https://github.com/msharov/rtl8812au.git
作業するディレクトリーを作り、ダウンロードで得られたrtl8812auを移す。
$ cp -r rtl8812au /home/nakamura/temp
rtl8812auのディレクトリーに入って、作業に先立ちWI-U2-433DHPのデバイスIDを調べる。
WI-U2-433DHPを挿した状態で
nakamura@Linux-host:~$ lsusb
libudev: udev_new: missing = in /etc/udev/udev.conf[8]; skip line
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 03f0:2e4a Hewlett-Packard
Bus 001 Device 004: ID 152d:0569 JMicron Technology Corp. / JMicron USA Technology Corp.
Bus 001 Device 003: ID 03f0:094a Hewlett-Packard Optical Mouse [672662-001]
Bus 001 Device 002: ID 0411:029b BUFFALO INC. (formerly MelCo., Inc.)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
BUFFALO INC.となっているものが目的のデバイスで、IDは0411:029bの部分である。
/os_dep/linux/usb_intf.c を開く。
nakamura@Linux-host:~$ vi /home/nakamura/temp/rtl8812au/os_dep/linux/usb_intf.c
#ifdef CONFIG_RTL8821A の中に {USB_DEVICE(0x0411, 0x029B),.driver_info = RTL8821}, /* Buffalo – WI-U2-433DHP */ を追加する
0x0411と0x029Bは先ほど調べたIDである。
#ifdef CONFIG_RTL8821A
/*=== Realtek demoboard ===*/
.......................................
.......................................
.......................................
{USB_DEVICE(0x3823, 0x6249),.driver_info = RTL8821}, /* Obihai - OBiWiFi */
{USB_DEVICE(0x0411, 0x029B),.driver_info = RTL8821}, /* Buffalo - WI-U2-433DHP */
#endif
そしてビルド
$ make
$ sudo insmod 8812au.ko
モジュールがロードされたことの確認。
$ lsmod
表示されたリストに8812auがあればOK
起動時にスタートさせるため/etc/udev/udev.confに8812auの記述行を追加。
しかし、linuxbeanを更新したら8812auが認識されなくなった。
やむなく、力技で下記を/etc/rc.localに追加
# cd /etc
vi rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
insmod /home/nakamura/temp/rtl8812au/8812au.ko <==== 追加 (makeしたdirectry内の8812au.koを指定)
exit 0
これで再起動すれば、WI-U2-433DHPが認識され、使用可能となる。