USB子機(USBドングル)を使ってUbuntu18.04でWifiを設定する方法
概要と動機
Ubuntuを使用する際に有線LAN環境を用意することができなかったため、仕方なくWifi環境を構築することになりました。
私の環境は、BUFFALO WI-U2-433DMSを使用していますが、どのUSB子機でも問題なく動作するはずです。
Ubuntu初心者にもわかりやすく書いてあるSiteがあまりなかったので、備忘録として残しておくことにしました。
導入準備
まず、下記でパッケージの更新をします。
※パッケージの更新をしたくない場合は、実行しなくても大丈夫だと思います。
$ sudo apt update && sudo apt upgrade
次に、必要なパッケージをUbuntuにインストールします。
$ sudo apt install linux-headers-generic build-essential git
導入
ここでUSB子機(USBドングル)をPCに差します。
以下のコマンドで、今回導入するUSB wifiドングルのID情報を入手します。
$ lsusb
例えば、BUFFALO WI-U2-433DMSなら、0411:0242
Bus 001 Device 002: ID 0411:0242 BUFFALO INC. (formerly MelCo., Inc.)
等と表示されると思います。
次に、ソースをGitから入手します。
$ git clone https://github.com/gnab/rtl8812au.git
入手したソース『usb_inif.c』を開きます。
~/rtl8812au/os_dep/linux/usb_inif.c にあると思います。
ここで、自身の所有しているUSB子機のIDがusb_inif.cに書かれているかどうか確認します。
IDはWI-U2-433DMSならRTL8821です。
IDがなければ下記のように追記する。
追記する場所はドライバが列挙されている場所、WI-U2-433DMSならRTL8821を検索して、最後(そのへんならどこでも可)など。
{USB_DEVICE(0x0411, 0x0242),.driver_info = RTL8821}, /* Buffalo – WI-U2-433DMS */
ただし、今回導入したBUFFALO WI-U2-433DMSのID 0411:0242があるので、追記はしない。
{USB_DEVICE(0x0411, 0x0242),.driver_info = RTL8821}, /* BUFFALO - Edimax */
コメントの中身は気にしなくても大丈夫。
あとは、下記をコピペでターミナルに打てば、動作すると思います。
$ cd rtl8812au
$ sudo make
$ sudo insmod 8812au.ko
$ sudo cp 8812au.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless
$ sudo depmod
dkmsで自動更新
dkmsを使用して、自動でカーネルを更新したい場合は、下記の設定もしておくと動作するようです。
ただし、私は使用しておりませんが。。
$ sudo dkms status $ sudo cp rtl8812au /usr/src/rtl8812au-4.2.2 $ sudo apt-get install build-essential dkms $ sudo dkms add -m rtl8812au -v 4.2.2 $ sudo dkms build -m rtl8812au -v 4.2.2 $ sudo dkms install -m rtl8812au -v 4.2.2 $ sudo dkms remove -m 8812au -v 4.2.2 --all