LAN-W150N/U2BKというUSB接続するタイプの小型無線LANアダプタをKali Linuxで使えるようにしました。
Ubuntu 20.04.1 LTSで使用する場合にはUSBに接続するだけでOKでしたが、Kali Linuxではそうはいきませんでした。
Ubuntu 20.04.1 LTSでLAN-W150N/U2BKを使った記事

LAN-W150N/U2BKが使えるよう、Kali Linuxで認識させるまでを書いていきます。
LAN-W150N/U2BK を使う
環境
- Kali Linux
# lsb_release -a No LSB modules are available. Distributor ID: Kali Description: Kali GNU/Linux Rolling Release: 2020.4 Codename: kali-rolling
状況
lsusb
無線LANアダプタを接続した状態で、USBデバイスの情報を表示するコマンドlsusbを実行します。
# lsusb Bus 002 Device 005: ID 25a7:fa61 Areson Technology Corp Elecom Co., Ltd MR-K013 Multicard Reader Bus 002 Device 004: ID 0566:3107 Monterey International Corp. Keyboard Bus 002 Device 003: ID 0789:0168 Logitec Corp. LAN-W150N/U2 Wireless LAN Adapter Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[Logitec Corp. LAN-W150N/U2 Wireless LAN Adapter]と表示されたので、ハードウェアとしては認識されているようです。
なお、ベンダーID:プロダクト番号を指す、[0789:0168]という数字は後で使用する情報です。
ip add show
ハードウェア上では無線LANアダプタが認識されていました。
試しにip add showを実行してみますが、OS上では認識されていないので、ワイヤレスインターフェースは表示されませんでした。
ip add show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 90:2b:34:5b:28:94 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.131/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 2400:4052:62:db00:922b:34ff:fe5b:2894/64 scope global dynamic mngtmpaddr
valid_lft 2591958sec preferred_lft 604758sec
inet6 fe80::922b:34ff:fe5b:2894/64 scope link
valid_lft forever preferred_lft forever
ループバックと有線LANのみが表示されました。
OS上で認識させる
ファームウェアの確認
LAN-W150N/U2はrt2800usbというドライバを使用します。
このドライバを使うためのファームウェアがあるかを確認します。
# ll /lib/firmware/rt2870.bin -rw-r--r-- 1 root root 8192 1月 19 23:52 /lib/firmware/rt2870.bin
Kali Linuxの場合、初期状態で入っていました。
ドライバのインストール
ドライバをインストールします。
# modprobe rt2800usb
コマンド実行後にドライバを確認してみる。
# ll /sys/bus/usb/drivers/ 合計 0 drwxr-xr-x 2 root root 0 1月 27 17:12 hub drwxr-xr-x 2 root root 0 1月 27 17:15 rt2800usb drwxr-xr-x 2 root root 0 1月 27 17:12 usb drwxr-xr-x 2 root root 0 1月 27 17:12 usbfs drwxr-xr-x 2 root root 0 1月 27 17:12 usbhid
rt2800usbが出た。 続いて以下のコマンドを実行します。
echo 0789 0168 > /sys/bus/usb/drivers/rt2800usb/new_id
echoの後の数字は、lsusbで確認したベンダーIDとプロダクト番号です。
ip add show
# ip add show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 90:2b:34:5b:28:94 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.131/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 2400:4052:62:db00:922b:34ff:fe5b:2894/64 scope global dynamic mngtmpaddr
valid_lft 2591669sec preferred_lft 604469sec
inet6 fe80::922b:34ff:fe5b:2894/64 scope link
valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:01:8e:45:90:f3 brd ff:ff:ff:ff:ff:ff
inet6 fe80::323d:52dc:d799:f1ad/64 scope link noprefixroute
valid_lft forever preferred_lft forever
wlan0というインターフェースが表示されました。 うまくいったようです。
自動起動の設定
Kali LinuxでLAN-W150N/U2を認識させることができました。
しかし、再起動をするとこの設定は消えてしまいます。
毎回設定をするのは面倒なので、起動時に自動で読み込むように設定をします。
/etc/modules
/etc/modulesにrt2800usbを追記します。
# cat /etc/modules # /etc/modules: kernel modules to load at boot time. # # This file contains the names of kernel modules that should be loaded # at boot time, one per line. Lines beginning with "#" are ignored. firewire-sbp2 rt2800usb ←追記する
/etc/modprobe.d/rt2800usb.conf
/etc/modprobe.d/rt2800usb.confは存在していないので作成します。
# vi /etc/modprobe.d/rt2800usb.conf
そして以下の内容を記載します。
install rt2800usb /sbin/modprobe --ignore-install rt2800usb $CMDLINE_OPTS; /bin/echo 0789 0168 > /sys/bus/usb/drivers/rt2800usb/new_id
rt2800usbのインストールと/sys/bus/usb/drivers/rt2800usb/new_idの作成をやってくれます。
後は再起動をして動作確認をすれば完了です!
再起動後の確認
再起動後、ip add showなどのコマンドを実行すれば結果は明白ですが、もうすこし細かく確認してみます。
# systemctl status systemd-modules-load.service
● systemd-modules-load.service - Load Kernel Modules
Loaded: loaded (/lib/systemd/system/systemd-modules-load.service; static)
Active: active (exited) since Wed 2021-01-27 21:58:37 JST; 1min 27s ago
Docs: man:systemd-modules-load.service(8)
man:modules-load.d(5)
Process: 269 ExecStart=/lib/systemd/systemd-modules-load (code=exited, status=0/SUCCESS)
Main PID: 269 (code=exited, status=0/SUCCESS)
CPU: 69ms
1月 27 21:58:35 kali systemd-modules-load[269]: Inserted module 'firewire_sbp2'
1月 27 21:58:37 kali systemd[1]: Finished Load Kernel Modules.
Warning: journal has been rotated since unit was started, output may be incomplete.
Processの番号を確認し、ジャーナルを見ます。
# journalctl -b _PID=269 -- Journal begins at Mon 2021-01-25 01:09:25 JST, ends at Wed 2021-01-27 21:59:29 JST. -- 1月 27 21:58:35 kali systemd-modules-load[269]: Inserted module 'firewire_sbp2' 1月 27 21:58:37 kali systemd-modules-load[269]: Inserted module 'rt2800usb'
とくにエラーも発生しせず、モジュールがロードされています。
# ll /sys/bus/usb/drivers/rt2800usb/new_id -rw-r--r-- 1 root root 4096 1月 27 21:58 /sys/bus/usb/drivers/rt2800usb/new_id
new_idファイルも作成されています。
これで一安心。
さいごに
今回の設定で無線LANに接続することができるようになりましたが、どうも接続が安定しません。
アクセスポイントとの接続が切れたあとに再接続しようとすると接続できなかったり、そもそもつながらなかったりとかなり問題ありです。
システムログを読んで解決していくほかなさそうです。。。


コメント