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

MacBook Air から Cisco 892J へのコンソール接続に苦戦した話

MacBook AirCisco 892J を接続したメモ。

  • Cisco 892J
  • MacBook Air (Early 2015)
  • Console Cable (Cisco製)
  • USB A to D-sub9ピン (RS232) (UGREEN製)
  • PL2303 ドライバ

確認したこと

  1. 892J のコンソールポートを間違えていないか。(青枠で,"Console" と書いてある)
  2. USBが認識されているか。
  3. コード自体に不具合がないか。

Windowsで確認,Consoleへ入れることを確認。

↓USB A to RS232 を指す前の出力

$ ioreg -p IOUSB -lb |grep -E '@|PortNum|USB Serial Number'
  +-o AppleUSBXHCI Root Hub Simulation@14000000
    +-o BRCM20702 Hub@14300000
    | +-o Bluetooth USB Host Controller@14330000
    +-o USB2.0 Hub@14100000
    | 
    +-o USB3.0 Hub@14400000

↓USB A to RS232 を指すと

$ ioreg -p IOUSB -lb |grep -E '@|PortNum|USB Serial Number'
  +-o AppleUSBXHCI Root Hub Simulation@14000000
    +-o BRCM20702 Hub@14300000
    | +-o Bluetooth USB Host Controller@14330000
    +-o USB2.0 Hub@14100000
    | +-o USB-Serial Controller@14140000
    +-o USB3.0 Hub@14400000

"USB-Serial Controller" として認識されていることを確認(出力結果のclass や id,ポート番号などは省いています)。

  1. /dev/tty. に追加されているか。

されなかった。ここで詰む。
https://qiita.com/ryusukefuda/items/5b2edea6b62794069209qiita.com
この記事を参考に,システム環境設定のネットワークの項目を整理して再起動

反映されず。
ドライバを再インストール。

$ sudo rm -rf /System/Library/Extensions/ProlificUsbSerial.kext
$ sudo rm -rf /var/db/receipts/*PL2303*.*
$ sudo rm -rf /var/db/receipts/*ProlificUSbSerial*.*


結局原因の切り分けを行い,どうやら変換ケーブルがダメそうだと判明
ケーブルをこれ
Amazon CAPTCHA
に変えて,再度挑戦

$ ls /dev/tty.usb*
/dev/tty.usbserial-AC01GY99

あっさり解決。原因の切り分けが素早く適切にできるようにならないとな,と痛感。
*1を9600に指定して,コンソールへ接続。
$screen /dev/tty.usbserial-AC01GY99 9600
少し時間がかかって,
Router>
成功!
control + a を入力後,kを入力。Macだと確認メッセージも表示されたので,yと入力。とりあえず今日はここまで。

*2

*1:ボーレート

*2:ボーレート:一秒間あたりの変復調回数。つまり,一秒間あたりどれくらいの情報を転送するか。

rsync

rsyncディレクトリごとコピーする際には,コピー元の最後に "/" をつけない。

例:testS/test.txt,testD/ がある場合。

スラッシュなしの場合

$ rsync -av testS testD


testD/testS/test.txt


スラッシュありの場合

$ rsync -av testS/ testD


testD/test.txt

 

コピー先ディレクトリの最後の "/" の有無は,結果に影響なかった。(動作確認環境 Mac OS X 10.13.4)