無線 LAN アダプタの接続(2)カーネルのリコンフィグ

Debian LS-QVL

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

接続するためには、 カーネルのリコンフィグが必要なのだが、 make menuconfig しても必要な設定が選択肢として 現れなかった。

依存を一つづつ潰していく。

必要な CONFIG の追加

依存関係の調査

まず、
  x Symbol: RT2800USB [=n]                                                  x
  x Prompt: Ralink rt2800 (USB) support                                     x
  x   Defined at drivers/net/wireless/rt2x00/Kconfig:80                     x
  x   Depends on: NETDEVICES && !S390 && RT2X00 && USB                      x
とのことなので、
yasunari@qvl:/usr/src/linux-2.6.31.8$ grep NETDEVICES .config
CONFIG_NETDEVICES=y
yasunari@qvl:/usr/src/linux-2.6.31.8$
NETDEVICES は、ある。

次に、!S390。こんなものあるわけないが。

yasunari@qvl:/usr/src/linux-2.6.31.8$ grep S390 .config
yasunari@qvl:/usr/src/linux-2.6.31.8$
続いて、RT2X00
yasunari@qvl:/usr/src/linux-2.6.31.8$ grep RT2X00 .config
yasunari@qvl:/usr/src/linux-2.6.31.8$
無い!

USB は、あるはず。

yasunari@qvl:/usr/src/linux-2.6.31.8$ grep USB .config
CONFIG_MV_INCLUDE_USB=y
	:
	:
CONFIG_USB=m
	:
ということで、RT2X00 を組み込む
yasunari@qvl:/usr/src/linux-2.6.31.8$ make menuconfig
RT2X00 は、
  x Symbol: RT2X00 [=n]                                                     x
  x Prompt: Ralink driver support                                           x
  x   Defined at drivers/net/wireless/rt2x00/Kconfig:1                      x
  x   Depends on: NETDEVICES && !S390 && MAC80211 && WLAN_80211 && EXPERIME x
  x   Location:                                                             x
  x     -> Device Drivers                                                   x
  x       -> Network device support (NETDEVICES [=y])                       x
  x         -> Wireless LAN                                                 x
  x           -> Wireless LAN (IEEE 802.11) (WLAN_80211 [=y])               x

=n だと。
では、MAC80211 && WLAN_80211 && EXPERIME は?
  x Symbol: MAC80211 [=n]                                                   x
  x Prompt: Generic IEEE 802.11 Networking Stack (mac80211)                 x
  x   Defined at net/mac80211/Kconfig:1                                     x
  x   Depends on: NET && WIRELESS && CFG80211                               x
  x   Location:                                                             x
  x     -> Networking support (NET [=y])                                    x
  x       -> Wireless (WIRELESS [=y])                                       x
  x   Selects: CRYPTO && CRYPTO_ECB && CRYPTO_ARC4 && CRYPTO_AES && CRC32 & x
  x
MAC80211 は n
  x Symbol: WLAN_80211 [=y]                                                 x
  x Prompt: Wireless LAN (IEEE 802.11)                                      x
  x   Defined at drivers/net/wireless/Kconfig:104                           x
  x   Depends on: !S390 && NETDEVICES                                       x
  x   Location:                                                             x
  x     -> Device Drivers                                                   x
  x       -> Network device support (NETDEVICES [=y])                       x
  x         -> Wireless LAN
WLAN_80211 は y 。今回設定した。
  x Symbol: EXPERIMENTAL [=y]                                               x
  x Prompt: Prompt for development and/or incomplete code/drivers           x
  x   Defined at init/Kconfig:26                                            x
  x   Location:                                                             x
  x     -> General setup                                                    x

EXPERIMENTAL は y

MAC80211 が依存している CFG80211 は

  x Symbol: CFG80211 [=n]                                                   x
  x Prompt: Improved wireless configuration API                             x
  x   Defined at net/wireless/Kconfig:1                                     x
  x   Depends on: NET && WIRELESS && (RFKILL || !RFKILL)                    x
  x   Location:                                                             x
  x     -> Networking support (NET [=y])                                    x
  x       -> Wireless (WIRELESS [=y])                                       x
  x
n。

ようやくスタックの底かな?

カーネルのコンフィギュレーション

CFG80211 を y にする。

  x x    <*>   Improved wireless configuration API                        x x
MAC80211 を y にする。
  x x    <*>   Generic IEEE 802.11 Networking Stack (mac80211)            x x
ようやく RT2X00 を y にできそう。
  x x    <*>   Ralink driver support  --->                                x x
HELP と階層が違うが、Ralink driver support を y にして選択
  x x    <M>   Ralink rt2800 (USB) support                                x x
menuconfig 前と比べる
yasunari@qvl:/usr/src/linux-2.6.31.8$ diff -u .config.120725 .config
--- .config.120725      2012-07-25 23:17:24.395558727 +0900
+++ .config     2012-10-27 18:27:29.472891420 +0900
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.31.8
-# Wed Jul 25 23:17:24 2012
+# Sat Oct 27 18:27:29 2012
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -643,7 +643,27 @@
 # CONFIG_IRDA is not set
 # CONFIG_BT is not set
 # CONFIG_AF_RXRPC is not set
-# CONFIG_WIRELESS is not set
+CONFIG_WIRELESS=y
+CONFIG_CFG80211=y
+# CONFIG_CFG80211_REG_DEBUG is not set
+# CONFIG_WIRELESS_OLD_REGULATORY is not set
+CONFIG_WIRELESS_EXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=y
+CONFIG_LIB80211_DEBUG=y
+CONFIG_MAC80211=y
+CONFIG_MAC80211_DEFAULT_PS=y
+CONFIG_MAC80211_DEFAULT_PS_VALUE=1
+
+#
+# Rate control algorithm selection
+#
+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_WIMAX is not set
 # CONFIG_RFKILL is not set
 # CONFIG_NET_9P is not set
@@ -1011,7 +1031,45 @@
 # Wireless LAN
 #
 # CONFIG_WLAN_PRE80211 is not set
-# CONFIG_WLAN_80211 is not set
+CONFIG_WLAN_80211=y
+# CONFIG_LIBERTAS is not set
+# CONFIG_LIBERTAS_THINFIRM is not set
+# CONFIG_ATMEL is not set
+# CONFIG_AT76C50X_USB is not set
+# CONFIG_PRISM54 is not set
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_USB_NET_RNDIS_WLAN is not set
+# CONFIG_RTL8180 is not set
+# CONFIG_RTL8187 is not set
+# CONFIG_ADM8211 is not set
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_MWL8K is not set
+# CONFIG_P54_COMMON is not set
+# CONFIG_ATH5K is not set
+# CONFIG_ATH9K is not set
+# CONFIG_AR9170_USB is not set
+# CONFIG_IPW2100 is not set
+# CONFIG_IPW2200 is not set
+# CONFIG_IWLWIFI is not set
+# CONFIG_HOSTAP is not set
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
+# CONFIG_ZD1211RW is not set
+CONFIG_RT2X00=y
+# CONFIG_RT2400PCI is not set
+# CONFIG_RT2500PCI is not set
+# CONFIG_RT61PCI is not set
+# CONFIG_RT2500USB is not set
+# CONFIG_RT73USB is not set
+CONFIG_RT2800USB=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_HT=y
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_RFKILL=y
+# CONFIG_RT2X00_DEBUG is not set
+# CONFIG_HERMES is not set

 #
 # Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -1053,7 +1111,7 @@
 #
 CONFIG_INPUT=y
 # CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
+CONFIG_INPUT_POLLDEV=y

 #
 # Userland interfaces
@@ -1725,7 +1783,7 @@
 CONFIG_CRYPTO_CBC=y
 # CONFIG_CRYPTO_CTR is not set
 # CONFIG_CRYPTO_CTS is not set
-CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_ECB=y
 # CONFIG_CRYPTO_LRW is not set
 CONFIG_CRYPTO_PCBC=m
 # CONFIG_CRYPTO_XTS is not set
yasunari@qvl:/usr/src/linux-2.6.31.8$

コンパイル

幾つか組み込みにしたので、カーネルからコンパイル
yasunari@qvl:/usr/src/linux-2.6.31.8$ make -j2 uImage
scripts/kconfig/conf -s arch/arm/Kconfig
  CHK     include/linux/version.h
	:
	:
Image Name:   Linux-2.6.31.8
Created:      Sat Oct 27 18:44:19 2012
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    2854524 Bytes = 2787.62 kB = 2.72 MB
Load Address: 0x00008000
Entry Point:  0x00008000
  Image arch/arm/boot/uImage is ready
yasunari@qvl:/usr/src/linux-2.6.31.8$
続いてカーネルモジュールのコンパイル
yasunari@qvl:/usr/src/linux-2.6.31.8$ make modules
  CHK     include/linux/version.h
	:
	:

インストール

yasunari@qvl:/usr/src/linux-2.6.31.8$ sudo make modules_install
[sudo] password for yasunari:
  INSTALL crypto/authenc.ko
  INSTALL crypto/pcbc.ko
  INSTALL drivers/char/hw_random/rng-core.ko
	:
	:
  INSTALL net/xfrm/xfrm_ipcomp.ko
  INSTALL net/xfrm/xfrm_user.ko
  DEPMOD  2.6.31.8
yasunari@qvl:/usr/src/linux-2.6.31.8$ sudo cp arch/arm/boot/uImage /boot/uImage.buffalo
yasunari@qvl:/usr/src/linux-2.6.31.8$

リブート

yasunari@qvl:/usr/src/linux-2.6.31.8$ sudo reboot
起動してこない物体が出来上がった(藁

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


無線 LAN アダプタの接続(1)前途多難
ハックの記録
LinkStation/玄箱 をハックしよう

無線 LAN アダプタの接続(3)カーネルのリコンフィグ、今度こそ

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

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