無線 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
起動してこない物体が出来上がった(藁



無線 LAN アダプタの接続(1)前途多難
ハックの記録
LinkStation/玄箱 をハックしよう
無線 LAN アダプタの接続(3)カーネルのリコンフィグ、今度こそ

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

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

AltStyle によって変換されたページ (->オリジナル) /