Realtek RTL8192SUのドライバービルドに失敗 | 見よう見まねのブログ

見よう見まねのブログ

CameraやPCなど、見よう見まねの悪戦苦闘

カーネル4.4系(K.4.4)になった途端、繋らなくなったRealtek r8712u(RTL8192SU)です。

ネットで調べてみると、いろんなLinuxが同様のトラブルに見舞われています。

 

(1)Debian Stretch (K.4.3) → K.4.4.3で解決

r8712u(RTL8191SU)

http://techpatterns.com/forums/about2510.html

 

(2)Fedora 23(K.4.4.6)→ NetworkManager更新(DownGrade or UpGarde)で解決

RTL8188EU/RTL8812AU

https://bugzilla.redhat.com/show_bug.cgi?id=1325631

https://github.com/gnab/rtl8812au/issues/80

 

(3)Arch (K.4.4.5)→ NetworkManager更新(DownGrade)で解決

RTL8188SU/RTL8191SU/RTL8192CU/RTL8192CUS/RTL8188EU/RTL8188EUS

https://bbs.archlinux.org/viewtopic.php?id=210868

 

(4)Manjero 160330(K.4.x ?)

r8712u(RTL8192SU)

https://forum.manjaro.org/index.php?topic=32757.0

 

前回、gitを使ったRealtek無線LANのドライバーのビルド方法があることを知りました。

Realtek RTL8192CU無線LANのバグ対策

http://ameblo.jp/miyou55mane/entry-12156088982.html

 

ならば、Ubuntu 16.04(32bit版)で苦闘している、r8712u(RTL8192SU)もこの方法でビルドできないか、挑戦しました。

調べてみると、r8712uは今後rtl8192suに移行するのですね。

Realtek 802.11n drivers

http://linuxwireless.org/en/users/Drivers/rtl819x/

rtlwifi

   rtl8192su is a USB driver for RTL8712U/RTL8192SU devices. (WIP : http://github.com/chunkeey/rtl8192su )

staging drivers

    r8712u is a USB driver for RTL8712U/RTL8192SU devices, it's going to be replaced by rtl8192su.

 

前回紹介の手法を応用し、rtl8192suのビルドにトライしました。

開発環境は既にあるので、重複しますが、

$ sudo apt-get install git linux-headers-generic build-essential dkms

$ git clone https://github.com/chunkeey/rtl8192su.git

# cd rt8192su
$ make

make -C /lib/modules/4.4.0-21-generic/build M=/home/ace/rtl8192su/rtlwifi CONFIG_RTL_CARDS=y CONFIG_RTLWIFI=m CONFIG_RTLWIFI_DEBUG=y CONFIG_RTLWIFI_DEBUGFS=y CONFIG_RTLWIFI_USB=m CONFIG_RTLWIFI_PCI=m CONFIG_RTL8192SU=m CONFIG_RTL8192SE=m CONFIG_RTL8192S_COMMON=m CONFIG_RTL8192CU=n CONFIG_RTL8192DE=n CONFIG_RTL8192CE=n CONFIG_RTL8192C_COMMON=n CONFIG_RTL8723AE=n CONFIG_RTL8188EE=n  EXTRA_CFLAGS="-DDEBUG -DCONFIG_RTLWIFI_DEBUGFS=m"
make[1]: ディレクトリ '/usr/src/linux-headers-4.4.0-21-generic' に入ります
  LD      /home/ace/rtl8192su/rtlwifi/built-in.o
  CC [M]  /home/ace/rtl8192su/rtlwifi/base.o
In file included from /home/ace/rtl8192su/rtlwifi/base.c:26:0:
/home/ace/rtl8192su/rtlwifi/wifi.h:1363:40: error: ‘NUM_NL80211_BANDS’ undeclared here (not in a function)
  struct ieee80211_supported_band bands[NUM_NL80211_BANDS];
                                        ^
/home/ace/rtl8192su/rtlwifi/base.c: In function ‘rtlwifi_rate_mapping’:
/home/ace/rtl8192su/rtlwifi/base.c:961:25: warning: comparison between ‘enum nl80211_band’ and ‘enum ieee80211_band’ [-Wenum-compare]
   if (NL80211_BAND_2GHZ == hw->conf.chandef.chan->band) {
                         ^

scripts/Makefile.build:258: ターゲット '/home/ace/rtl8192su/rtlwifi/base.o' のレシピで失敗しました
make[2]: *** [/home/ace/rtl8192su/rtlwifi/base.o] エラー 1
Makefile:1396: ターゲット '_module_/home/ace/rtl8192su/rtlwifi' のレシピで失敗しました
make[1]: *** [_module_/home/ace/rtl8192su/rtlwifi] エラー 2
make[1]: ディレクトリ '/usr/src/linux-headers-4.4.0-21-generic' から出ます
Makefile:22: ターゲット 'all' のレシピで失敗しました
make: *** [all] エラー 2

でも、エラーが出てビルドに失敗しました。

 

次は、dkmsを使って、

$ git clone https://github.com/chunkeey/rtl8192su.git --depth 1
$ cd rtl8192su

$ sudo make dkms

make: *** ターゲット 'dkms' を make するルールがありません.  中止.

でもダメでした。

 

本当に、ドライバーのビルドは鬼門ですね。実力の無さを痛感させられます。

多分やり方が間違っているのでしょう。今後の研究課題です。

でも、こんなドライバー関連の難しさも、Linuxが普及しないひとつの要因と思います。

 

2016-05-03付の下記記事によると、

Windows drops below 90% market share for the first time in years; Windows 7 falls below 50%

http://www.extremetech.com/computing/227693-windows-drops-below-90-market-share-for-the-first-time-in-years-windows-7-falls-below-50

Winのシェアが初めて90%を切り、Win7も 50%以下(48.8%)になったそうです。

Win10(14.4%)、XP(9.7%)、Win8.1(9.2%)、Win8(3.0%)、NT(2.2%)。

Mac OS Xでも4.0%あるのに、Linuxはその他大勢8.6%の中(多分、1%位?)。

 

下記wikiによると、Linuxのシェアは、
https://en.wikipedia.org/wiki/Usage_share_of_operating_systems

2016-04時点で、Desktop/Laptopのブラウザベースで、1.55%。(1位はWin7の、44.56%)

2016時点で、英語圏のDesktopベースで、21.7%。(Win 52.0%、Mac 26.2%)

Linux別では、Ubuntu 12.3%、Debian 1.9%、Minit 1.7%、Fedora 1.4% の順。

 

こうして見ると、なかなか興味深いですね。

Linuxは群雄割拠の弱小集団。Win、Macに敵わないのが現状。

 

想い馳せメイクをしても嫌われて

フリーでも無銭で食えぬドライバー