MoのWebLog

思ったことをテキトウに。

CentOSでTPLINKのUSB Wi-Fi Adapterを使いたかった

以前amazonで購入したTP-LinkのWifi USBアダプターTL-WN725NCentOS 7で使用したい。

さしただけでは使用できなかった。

一応まずはCentOSのバージョンを確認

[motsuo@localhost ~]$ cat /etc/centos-release
CentOS Linux release 7.5.1804 (Core) 
[motsuo@localhost ~]$

USBデバイス一覧で認識されていることを確認

TL-WN725N挿入前に一度lsusb
[motsuo@localhost ~]$ lsusb > beforeinserting
挿入後にもういちどlsusb
[motsuo@localhost ~]$ lsusb > afterinserting

出力結果を比較するためにdiff
[motsuo@localhost ~]$ diff beforeinserting afterinserting 
6a7
> Bus 003 Device 017: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter
[motsuo@localhost ~]$ 

TP-LINK TL-WN725N v1 - WikiDeviを参照してどのドライバーをインストールすれば良いか確認

ドライバーをコンパイルするために必要なアプリケーションをインストール

[motsuo@localhost ~]$ sudo yum install -y  gcc automake autoconf kernel-headers kernel-devel ncurses-devel git dkms wireless-tools dhclient
(他の方法も並行してごちゃごちゃやっていたのでいらないパッケージもあると思う)
[motsuo@localhost ~]$ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
[motsuo@localhost ~]$ sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

ドライバーインストール&その他諸の設定

[motsuo@localhost ~]$ sudo yum -y install kmod-8188eu
[motsuo@localhost ~]$ sudo yum list kmod-8188eu
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.steadfast.net
 * elrepo: ftp.ne.jp
 * epel: mirror.dmmlabs.jp
 * extras: mirror.steadfast.net
 * updates: mirror.steadfast.net
インストール済みパッケージ
kmod-8188eu.x86_64                          4.1.4_6773.20130222-4.el7_5.elrepo                          @elrepo
[motsuo@localhost ~]$ 
[motsuo@localhost ~]$ sudo modprobe 8188eu
[motsuo@localhost ~]$ wpa_passphrase "MY-SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf 
[root@localhost ~]# vi /etc/wpa_supplicant/wpa_supplicant.conf 
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
update_config=1
ap_scan=2

network={
        ssid="MY-SSID"
        key_mgmt=WPA-PSK
        proto=WPA WPA2
        pairwise=CCMP TKIP
        group=CCMP TKIP
        psk="xxxxxxxxxxxxxxxxxxxxxxxxxx"
        scan_ssid=1
        priority=1
}
[root@localhost ~]#
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-wlp0s20u3 
TYPE=Wireless
DEVICE=wlp0s20u3
ONBOOT=yes
BOOTPROTO=dhcp
ESSID="MY-SSID"
MODE=Auto
USERCTL=yes
PEERDNS=yes
[root@localhost ~]#

/usr/share/doc/wpa_supplicant-2.6/wpa_supplicant.conf にかなり細かくパラメータ説明や設定例がある。

[root@localhost ~]# systemctl enable wpa_supplicant.service 
[root@localhost ~]# reboot

[root@localhost ~]# wpa_supplicant -i wlp0s20u3 -D wext -c /etc/wpa_supplicant/wpa_supplicant.conf
[root@localhost ~]# dhclient -d wlp0s20u3
↑
最終行は、DHCPでアドレスを割り当てるのに必要

確認

[motsuo@localhost ~]$ iwconfig wlp0s20u3
wlp0s20u3  IEEE 802.11bgn  ESSID:"MY-SSID"  Nickname:"<WIFI@REALTEK>"
          Mode:Managed  Frequency:2.462 GHz  Access Point: MACADDR 
          Bit Rate:72.2 Mb/s   Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=81/100  Signal level=-46 dBm  Noise level=0 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

[motsuo@localhost ~]$ 
[motsuo@localhost ~]$ ifconfig
wlp0s20u3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.150  netmask 255.255.255.0  broadcast 0.0.0.0
        inet6 fe80:: prefixlen 64  scopeid 0x20<link>
        inet6 2001:0DB8::  prefixlen 64  scopeid 0x0<global>
        ether d4:6e:0e:0e:a6:b1  txqueuelen 1000  (Ethernet)
        RX packets 1059  bytes 4682590 (4.4 MiB)
        RX errors 0  dropped 19494  overruns 0  frame 0
        TX packets 28  bytes 247303 (241.5 KiB)
        TX errors 0  dropped 2 overruns 0  carrier 0  collisions 0

[motsuo@localhost ~]$ 

実際はかなりとらいあんどえらーだったので
モジュール読み込むのに
[motsuo@localhost ~]$ sudo insmod /usr/lib/modules/3.10.0-862.el7.x86_64/extra/8188eu/8188eu.ko
したり
[motsuo@localhost ~]$ sudo rmmos 8188eu
したりした。

その他メモ
SSIDのスキャン

iwlist [device name] scan

ステルスSSIDにした場合
(wpa_supplicant.confに情報は設定済みとして)

[motsuo@localhost ~]$ sudo iwconfig wlp0s20u3 essid [ステルスSSID]
[sudo] motsuo のパスワード:
[motsuo@localhost ~]$ sudo systemctl restart wpa_supplicant.service 
[motsuo@localhost ~]$ sudo reboot

デフォルトゲートウェイの登録をしないとインターネットへ繋がらない場合もある。

[motsuo@localhost ~]$ sudo ip route add default via 192.168.1.1(任意のデフォルトルート) dev wlp0s20u3 

backportsでの使用も試みたが、makeでエラーはきまくったので断念。。。

参考
Soft29 blog: CentOS 7: usb wifi (8188eu) setup
Arch Linuxインストールメディア環境下でのWi-Fi接続(ワイヤレス設定)について | Unskilled?Raspberry Pi/無線LAN/その1-とりあえずつないでみる実験 - Berry Pie Lab
FedoraでのNetworkManagerを使わない無線接続方法まとめ - Kerosoft : Modus Operandi