無線 LAN アダプタの接続(9)カーネルの再構築

Debian LS-QVL

以前からやってみたいと思っていた LinkStation へ無線 LAN アダプタを接続しているが、 なかなかうまいこといかない。

driver ?

hostapd を起動すると、
root@qvl:~# hostapd /etc/hostapd/hostapd.conf
Configuration file: /etc/hostapd/hostapd.conf
ioctl[SIOCGIFFLAGS]: No such device
nl80211 driver initialization failed.
root@qvl:~#
となるが、、、

nl80211 driver が No such device ?

nl80211 driver って何?

CONFIG_LIB80211 ?

.config から 80211 を探すと、、、
root@qvl:/usr/src/linux-2.6.31.8# grep 80211 .config
CONFIG_CFG80211=m
# CONFIG_CFG80211_REG_DEBUG is not set
# CONFIG_LIB80211 is not set
CONFIG_MAC80211=m
CONFIG_MAC80211_DEFAULT_PS=y
CONFIG_MAC80211_DEFAULT_PS_VALUE=1
CONFIG_MAC80211_RC_MINSTREL=y
# CONFIG_MAC80211_RC_DEFAULT_PID is not set
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel"
# CONFIG_MAC80211_LEDS is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
# CONFIG_WLAN_PRE80211 is not set
CONFIG_WLAN_80211=y
# CONFIG_MAC80211_HWSIM is not set
root@qvl:/usr/src/linux-2.6.31.8#
DEBUG 関連はさておき、
CONFIG_LIB80211 が組み込まれていない。

CONFIG_LIB80211 って何?と、make menuconfig して / CONFIG_LIB80211 してみると、、

 .config - Linux Kernel v2.6.31.8 Configuration
 qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
  lqqqqqqqqqqqqqqqqqqqqqqqqqqqq Search Results qqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
  x Symbol: LIB80211_CRYPT_WEP [=n]                                         x
  x   Selected by: LIBIPW && NETDEVICES && !S390 && PCI && WLAN_80211 || HO x
  x                                                                         x
  x                                                                         x
  x Symbol: LIB80211_CRYPT_CCMP [=n]                                        x
  x   Selected by: LIBIPW && NETDEVICES && !S390 && PCI && WLAN_80211 || HO x
  x                                                                         x
  x                                                                         x
  x Symbol: LIB80211_CRYPT_TKIP [=n]                                        x
  x   Selected by: LIBIPW && NETDEVICES && !S390 && PCI && WLAN_80211 || HO x
  x                                                                         x
  x                                                                         x
  x Symbol: LIB80211_DEBUG [=n]                                             x
  x Prompt: lib80211 debugging messages                                     x
  x   Defined at net/wireless/Kconfig:83                                    x
  x   Depends on: NET && WIRELESS && LIB80211                               x
  x   Location:                                                             x
  x     -> Networking support (NET [=y])                                    x
  x       -> Wireless (WIRELESS [=y])                                       x
  x                                                                         x
  x                                                                         x
  x Symbol: LIB80211 [=n]                                                   x
  x Prompt: Common routines for IEEE802.11 drivers                          x
  x   Defined at net/wireless/Kconfig:64                                    x
  x   Depends on: NET && WIRELESS                                           x
  x   Location:                                                             x
  x     -> Networking support (NET [=y])                                    x
  x       -> Wireless (WIRELESS [=y])                                       x
  x   Selected by: LIBERTAS && NETDEVICES && !S390 && WLAN_80211 || IPW2100 x
  x                                                                         x
  x                                                                         x
  tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq(100%)qqu
  x                                < Exit >                                 x
  mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj


Common routines for IEEE802.11 drivers とある。

これ、入れなあかんのでは?

CONFIG_LIB80211 の有効化

Networking support → Wireless で、 Common routines for IEEE802.11 drivers をモジュールにする
 .config - Linux Kernel v2.6.31.8 Configuration
 qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
  lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq Wireless qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
  x  Arrow keys navigate the menu.  <Enter> selects submenus --->.          x
  x  Highlighted letters are hotkeys.  Pressing <Y> includes, <N> excludes, x
  x  <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help, </> x
  x  for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < >       x
  x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
  x x    --- Wireless                                                     x x
  x x    <M>   Improved wireless configuration API                        x x
  x x    [ ]     cfg80211 regulatory debugging                            x x
  x x    [ ]   Old wireless static regulatory definitions                 x x
  x x    -*-   Wireless extensions                                        x x
  x x    [*]     Wireless extensions sysfs files                          x x
  x x    <M>   Common routines for IEEE802.11 drivers                     x x
  x x    [ ]   lib80211 debugging messages (NEW)                          x x
  x x    <M>   Generic IEEE 802.11 Networking Stack (mac80211)            x x
  x x    [*]   enable powersave by default                                x x
  x x          Rate control algorithm selection  --->                     x x
  x x    [ ]   Enable LED triggers                                        x x
  x x    [ ]   Select mac80211 debugging features  --->                   x x
  x x                                                                     x x
  x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj x
  tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu
  x                    <Select>    < Exit >    < Help >                     x
  mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

保存して終了
root@qvl:/usr/src/linux-2.6.31.8# diff -u .config_WLI-UC-GNM2_OK .config
--- .config_WLI-UC-GNM2_OK      2012-10-27 20:45:00.759956397 +0900
+++ .config     2012-11-03 09:14:17.983032777 +0900
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.31.8
-# Sat Oct 27 20:45:00 2012
+# Sat Nov  3 09:14:17 2012
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -649,7 +649,8 @@
 # CONFIG_WIRELESS_OLD_REGULATORY is not set
 CONFIG_WIRELESS_EXT=y
 CONFIG_WIRELESS_EXT_SYSFS=y
-# CONFIG_LIB80211 is not set
+CONFIG_LIB80211=m
+# CONFIG_LIB80211_DEBUG is not set
 CONFIG_MAC80211=m
 CONFIG_MAC80211_DEFAULT_PS=y
 CONFIG_MAC80211_DEFAULT_PS_VALUE=1
root@qvl:/usr/src/linux-2.6.31.8#

カーネルの再構築

root@qvl:/usr/src/linux-2.6.31.8# make -j2 uImage
	:
	:
root@qvl:/usr/src/linux-2.6.31.8# make modules
	:
	:
root@qvl:/usr/src/linux-2.6.31.8#

カーネルのインストール

root@qvl:/usr/src/linux-2.6.31.8# sudo make modules_install
	:
	:
root@qvl:/usr/src/linux-2.6.31.8# sudo cp arch/arm/boot/uImage /boot/uImage.buffalo
root@qvl:/usr/src/linux-2.6.31.8#

リブート

root@qvl:/usr/src/linux-2.6.31.8# sudo reboot
しばらくして、、、

Linux 2.6.31.8 (x60l.yamasita.jp) (pts/0)

qvl login: yasunari
Password:
Last login: Sat Nov  3 08:33:56 JST 2012 from x60l.yamasita.jp on pts/0
Linux qvl 2.6.31.8 #8 Sat Nov 3 09:16:01 JST 2012 armv5tel

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
yasunari@qvl:~$ uname -a
Linux qvl 2.6.31.8 #8 Sat Nov 3 09:16:01 JST 2012 armv5tel GNU/Linux
yasunari@qvl:~$

iwconfig の実行

wmaster0 の mode を Master にしてみる
root@qvl:~# iwconfig wmaster0 mode Master
Error for wireless request "Set Mode" (8B06) :
    SET failed on device wmaster0 ; Operation not supported.
root@qvl:~#
一緒。

wlan0 は、、、

root@qvl:~# iwconfig wlan0 mode Master
Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlan0 ; Invalid argument.
root@qvl:~#
一緒。

やっぱりあかん?

hostpad の起動

root@qvl:~# hostapd /etc/hostapd/hostapd.conf
Configuration file: /etc/hostapd/hostapd.conf
ioctl[SIOCGIFFLAGS]: No such device
nl80211 driver initialization failed.
root@qvl:~#
一緒かぁ、、

LS-QVL
バッファローダイレクト
楽天市場
amazon
ドスパラ
livedoor デパート
Yahoo!ショッピング
バリューモア
ムラウチドットコム


無線 LAN アダプタの接続(8)wmaster0 の設定
ハックの記録
LinkStation/玄箱 をハックしよう

ファームウェアアップデータ Ver.1.64 公開

ツイート Tweet to @yasunari_y @yasunari_yをフォロー

Copyright (C) 2003-2012 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市