
「TP-Link TL-WN725N」のドライバーをRaspberry Pi 4にインストール
TP-Linkから発売されているTL-WN725Nのドライバー(正確にはRTL8188EUSドライバー)をインストールしたので、その作業メモ。
最近のRaspberry Pi OSには標準でドライバーがついてくるのだが、機能不足な面(主にモニターモード関係)もあるので、多機能なドライバーに入れ替えてみた。
作業環境
作業環境は以下の通り。
$ uname -a
Linux pickun01 6.1.34-v8+ #1657 SMP PREEMPT Fri Jun 16 12:36:29 BST 2023 aarch64 GNU/Linux
実は、Kernelバージョンが6未満のインストール方法は散見されるものの、6.1.xでのインストール方法が見つけられなかったので、ここにメモを残すことにした。
RTL8188EUSドライバーのインストール
作業自体は基本的にドライバーを公開してくれているここの手順通りにすればインストールできる。
最初に既存のドライバーを使用しないようにするために、ブラックリストに追加する。設定したら反映するために端末を再起動する。
$ sudo echo 'blacklist r8188eu'|sudo tee -a '/etc/modprobe.d/realtek.conf'
$ reboot
再起動が終わったらGitをホームディレクトリにCloneする。
$ git clone https://github.com/gglluukk/rtl8188eus.git
GitのCloneが終わったら、ファイル一式の入っている「rtl8188eus」ディレクトリに移動してビルドする。
$ cd rtl8188eus
$ make && sudo make install
最後に端末を再起動して、ブラックリストの内容とドライバーを反映する。
$ reboot
インストールの確認
これで一通りのドライバーのインストールと設定は完了。端末が再起動したらWiFiの設定を確認するときちんとドライバーが認識されてネットワークに接続できているはず。
接続状況はiwconfigコマンドでも確認できる。wlan0はRaspberry Pi 4の内蔵WiFi、wlan1が今回ドライバーを追加したWiFi。
$ iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wlan0 IEEE 802.11 ESSID:"MYHOMEWIFI-2G"
Mode:Managed Frequency:2.437 GHz Access Point: XX:XX:XX:XX:XX:XX
Bit Rate=72.2 Mb/s Tx-Power=31 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=58/70 Signal level=-52 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
wlan1 IEEE 802.11bgn ESSID:"MYHOMEWIFI-2G" Nickname:"<WIFI@REALTEK>"
Mode:Managed Frequency:2.437 GHz Access Point: XX:XX:XX:XX:XX:XX
Bit Rate:144.4 Mb/s Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Encryption key:****-****-****-****-****-****-****-**** Security mode:open
Power Management:off
Link Quality=100/100 Signal level=46/100 Noise level=0/100
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
aircrack-ngを導入しているなら、airmon-ngでも確認できる。
$ sudo airmon-ng
PHY Interface Driver Chipset
phy0 wlan0 brcmfmac Broadcom 43430
phy2 wlan1 rtl8192eu TP-Link TL-WN823N v2/v3 [Realtek RTL8192EU]
モニターモードで起動してみる
このドライバーを導入すると「モニターモード(monitor mode)」なるものが使えるようになる。
これは端末の周囲を飛び交うWiFiの電波をすべて拾って取得するモードで、WiFiの通信を監視することができる。所謂、WiFiプローブデータと呼ばれる人流計測等ではこの機能を使って人の流れを計測したりしている。
モニターモードの起動はaircrack-ngを導入すれば可能になる。以下のコマンドでインストールできる。
$ sudo apt-get install aircrack-ng
aircrack-ngがインストールできれば、あとは以下のコマンドを実行すればTL-WN725Nをモニターモードとして起動することができる。
$ sudo airmon-ng start wlan1
$ sudo airmon-ng
おわりに
新しいKernelに対応しているドライバーを見つけるまでが一苦労。英語圏の情報しかないことも多いが、そこはDeeplも活用しつつといったところ。
ただ、やっぱりエラーを吐かれると手も足も出ないこともあって…。そういうときには一旦離れて時間を置いてから取り組むようにしている。
時間をあけることで頭がリセットされて整然と思考できるようになるから、案外と沼っていた部分がすんなりできるようになったりする。