Realtek RTL8192CUを使っている無線LANアダプタがPuppy Linux(TahrPupやXenialPup)でつながらない時の対処法(Ubuntu系でも同様)
うちで使っている古いマシンで使っているUSBタイプの無線LANアダプタではTahrPupの通信が不安定だった。
lsusb
とすると
Bus 001 Device 003: ID 2019:ab2b PLANEX GW-USEco300 802.11bgn Wireless Adapter [Realtek RTL8192CU]
と出てきた。
どうやらこれのようだ。
この無線LANアダプタは、有線から無線に変換することもできる無線LANルーターにタダでついてきたものだったと思う。
こんな感じのいわゆる「ホテル用WiFiルーター」などと言われているものだ。
調べてみると、RTL8192CUの無線LANアダプタはLinuxでは通信が不安定だとして有名らしい。
不具合を改善したものがあるらしく、これを自分でビルドしなくてはいけないようだ。
ここではTahrPup 6.0.6を例に、その手順を書いていく。
有線で接続するか
https://github.com/DebianDog/xenialdog/blob/gh-pages/rtl8192cu-dkms_0.2_all.deb
をインストールし
/etc/modprobe.d/blacklist.conf に
blacklist rtl8xxxu
をして再起動すると、不安定ながらもインターネットへの接続は可能になる。
訂正
Trusty Tahr(14.04)なので以下のdebファイルだった。
また、TahrPupの32bitにはrtl8xxxuは無いようなのでblacklistには何も追加しなくても良いみたいだ。
しかし、通信が不安定なのは同じ。
訂正終わり
ネットにつなげるようになったら
http://distro.ibiblio.org/puppylinux/puppy-tahr/iso/tahrpup%20-6.0-CE/devx_tahr_6.0.6.sfs
をダウンロードする。
そしてカーネルソースもダウンロードする。
カーネルの確認は端末で
uname -r
として確認する。
TahrPup 6.0.6は3.14.79のはずである。
http://distro.ibiblio.org/puppylinux/pet_packages-tahr/kernel_sources-3.14.79-tahr.sfs
をダウンロードする。
この2つを/mnt/homeなどに置き(そもそも容量の関係もあるのでPuppyの個人データ用の場所にダウンロードするよりも最初から/mnt/homeへダウンロードする方が良い)、SFS-Loadでロードする。
Puppy Package Managerを開いて、リポジトリを更新する。
その方法は以下の記事に書いてある。
更新したあと、「dkms」で検索してdebファイルをインストールする。
これを書いている時点では、dkms_2.2.0.3のはずである。
gitもインストールする方法もあるが、今回のビルド以外には使わないのでファイル群を直接ダウンロードする。
Ubuntuだと、そもそもリンク先にある方法をそのまま行えばうまくできるはず。
上の画像のように「Clone or download」という緑のボタンからZipファイルがダウンロードできる。
これを解凍すると「rtl8192cu-fixes-master」というフォルダとその下にファイル群ができる。
一応、これを「rtl8192cu-fixes」にリネームする。
そして
dkms add ./rtl8192cu-fixes
とし、次に
dkms install 8192cu/1.10
として、ドライバーをビルドする。
それが終わったら
cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/
とする。
終わったら、マシンを再起動する。
うまく行けば、wlan0が有効になり、ネットにつながるはずである。
今、試してみている範囲では通信は安定している。
同じような症状に悩んでいる人は試してみて欲しい。
お金に余裕があるなら、別のUSB無線LANアダプタを買うのが一番手っ取り早いとは思うが・・・。
今はハイパワーのものや5GHz帯を使える無線LANアダプタがあるし、そちらのほうが便利なことは間違いない。