RTL8188CUSのLinuxドライバのインストール (2013/04/06)
Ubuntu 12.04でRealtek 8188CUSチップを使ったUSB Wifiドングルを使おうとすると、いつまでたってもWPA認証が終わらず接続できない不具合がある。
Ubuntuに含まれているドライバに不具合があるようで、Realtek公式サイトよりダウンロードしたドライバを用いると不具合が解消されるようだ。
■ 参考サイト
・ubuntu forum : Good news re RealTek RTL-8188CUs
■ 検証環境
・Ubuntu 12.04 LTS
・USB Wifi (Realtek 8188CUS)
Bus 001 Device 004: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN
■ ドライバのダウンロードとインストール
Realtek公式サイト(Downloads)より「8188CUS」のキーワードで検索すると、Software: Drivers & Utilitiesにたどり着くので、”Linux Kernel 2.6.18~2.6.38 and Kernel 3.0.8”ドライバをダウンロードする。
解凍してインストール。(インストール方法は documents/内のPDFに書かれている通り)
# cd RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105/
# bash ./install.sh
〜 略 〜
CC /root/workspace/RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105/driver/rtl8188C_8192C_usb_linux_v3.4.4_4749.20121105/8192cu.mod.o
LD [M] /root/workspace/RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105/driver/rtl8188C_8192C_usb_linux_v3.4.4_4749.20121105/8192cu.ko
make[1]: ディレクトリ `/usr/src/linux-headers-3.2.0-39-generic-pae' から出ます
##################################################
Compile make driver ok!!
##################################################
Authentication requested [root] for remove driver:
ERROR: Module 8192cu does not exist in /proc/modules
Authentication requested [root] for insert driver:
insmod: error inserting '8192cu.ko': -1 Device or resource busy
Authentication requested [root] for install driver:
install -p -m 644 8192cu.ko /lib/modules/3.2.0-39-generic-pae/kernel/drivers/net/wireless/
/sbin/depmod -a 3.2.0-39-generic-pae
##################################################
The Setup Script is completed !
##################################################
#
ubuntuデフォルトのドライバを無効化する
〜 最後に追加する 〜
blacklist rtl8192cu
■ 修正前のドライバ読み込み状態
rtl8192cu 97757 0
rtl8192c_common 69519 1 rtl8192cu
rtlwifi 95839 1 rtl8192cu
mac80211 436493 3 rtl8192cu,rtl8192c_common,rtlwifi
■ 修正後のドライバ読み込み状態
8192cu 502561 0
RTL8188CUSのモジュール組み込み状況 (2014/03/31追記)
$ lsusb Bus 001 Device 007: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN $ lsmod | grep -e rtl rtl8192cu 97717 0 rtl8192c_common 69519 1 rtl8192cu rtlwifi 95855 1 rtl8192cu mac80211 436493 3 rtl8192cu,rtl8192c_common,rtlwifi cfg80211 178877 2 rtlwifi,mac80211
RT5370のモジュール組み込み状況 (2014/03/31追記)
RTL8188CUSを取り外した後に接続したため、rtl8192やrtlwifiなどのモジュールが残存している…
$ lsusb Bus 001 Device 006: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter $ lsmod | grep -e rt2 rt2800usb 22373 0 rt2800lib 53298 1 rt2800usb crc_ccitt 12627 1 rt2800lib rt2x00usb 20099 1 rt2800usb rt2x00lib 48923 3 rt2800usb,rt2800lib,rt2x00usb mac80211 436493 6 rt2800lib,rt2x00usb,rt2x00lib,rtl8192cu,rtl8192c_common,rtlwifi cfg80211 178877 3 rt2x00lib,rtlwifi,mac80211
購入時に付属していたCD-ROMに格納されていたドライバ
メーカーや他のところに公開されているドライバがどうしても見つからないときに…。RT5370は製造メーカーが消滅してドライバ自体が見つけられない。
・RT5370 Driver for Windows/Mac/Linux
(Linux driver version v1.4.0.0)
Ralink-USB-Wifi-Driver.zipをダウンロードする
・RTL8188CUS Driver for Windows/Mac/Linux
(Linux driver version v2.0.1324.20110126)
(Windows driver version 01/31/2011, 1012.1.0131.2011)
Realtek8188CU-Driver.zipをダウンロードする
Ubuntu 16.04でRTL8189FTV (RTL8188FU)を使う
eBayでは802.11aの機能もあると書かれているが、実際は5GHzには全く対応していない…
$ lsusb Bus 002 Device 005: ID 0bda:f179 Realtek Semiconductor Corp.
Ubuntu16.04でも、RTL8188のドライバは標準で組み込まれていない。
Ask Ubuntu 『Can't find wifi drivers for 0bda:f179 Realtek Semiconductor Corp』に、ドライバの入手方法が書かれている。
ドライバはRealtek公式サイトでは配布が終了したようで、現在はGitHubのlutmm/rtl8188fuで配布されているものを使う。
$ git clone https://github.com/lutmm/rtl8188fu.git
ドライバのソースコードを解凍し、Makefileをテキストエディタで編集し、次の1箇所をコメントアウトして有効化する。
# Fix compile error on gcc 4.9 and later EXTRA_CFLAGS += -Wno-error=date-time
ドライバをmakeし、インストール
$ make $ sudo make install install -p -m 644 8188fu.ko /lib/modules/4.4.0-140-generic/kernel/drivers/net/wireless/ /sbin/depmod -a 4.4.0-140-generic
ドライバインストール後の認識状況
$ less /var/log/syslog 〜 略 〜 Jun 9 23:19:39 S5350Ubuntu1604 kernel: [11898.434116] usb 2-1.2: New USB device found, idVendor=0bd a, idProduct=f179 Jun 9 23:19:39 S5350Ubuntu1604 kernel: [11898.434122] usb 2-1.2: New USB device strings: Mfr=1, Pro duct=2, SerialNumber=3 Jun 9 23:19:39 S5350Ubuntu1604 kernel: [11898.434126] usb 2-1.2: Product: 802.11n Jun 9 23:19:39 S5350Ubuntu1604 kernel: [11898.434130] usb 2-1.2: Manufacturer: Realtek Jun 9 23:19:39 S5350Ubuntu1604 kernel: [11898.434133] usb 2-1.2: SerialNumber: 00E0222DB9BD Jun 9 23:19:39 S5350Ubuntu1604 mtp-probe: checking bus 2, device 4: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2" Jun 9 23:19:39 S5350Ubuntu1604 mtp-probe: bus: 2, device: 4 was not an MTP device Jun 9 23:19:40 S5350Ubuntu1604 kernel: [11899.528096] RTL871X: module init start Jun 9 23:19:40 S5350Ubuntu1604 kernel: [11899.528101] RTL871X: rtl8188fu v4.3.23.6_20964.20170110 Jun 9 23:19:40 S5350Ubuntu1604 kernel: [11899.528103] RTL871X: build time: Jun 9 2019 23:09:47 Jun 9 23:19:40 S5350Ubuntu1604 kernel: [11899.528157] RTL871X: Jun 9 23:19:40 S5350Ubuntu1604 kernel: [11899.528157] usb_endpoint_descriptor(0): Jun 9 23:19:40 S5350Ubuntu1604 kernel: [11899.528161] RTL871X: bLength=7 Jun 9 23:19:40 S5350Ubuntu1604 kernel: [11899.528162] RTL871X: bDescriptorType=5 Jun 9 23:19:40 S5350Ubuntu1604 kernel: [11899.528163] RTL871X: bEndpointAddress=81 Jun 9 23:19:40 S5350Ubuntu1604 kernel: [11899.528165] RTL871X: wMaxPacketSize=512 Jun 9 23:19:40 S5350Ubuntu1604 kernel: [11899.528166] RTL871X: bInterval=0 Jun 9 23:19:40 S5350Ubuntu1604 kernel: [11899.528168] RTL871X: RT_usb_endpoint_is_bulk_in = 1 Jun 9 23:19:40 S5350Ubuntu1604 kernel: [11899.528169] RTL871X: Jun 9 23:19:40 S5350Ubuntu1604 kernel: [11899.528169] usb_endpoint_descriptor(1): 〜 略 〜 $ lsmod | grep 8188 8188fu 1306624 0 cfg80211 565248 1 8188fu