Skip to main content
無線LANデバイスに
関するいろいろ。
認識しない!動かない!で
はまらないためのはなし
13年9月10日火曜日
アジェンダ
無線LANに関わるモジュールについて
インストールのしかた。
kernel moduleにあるデバイスを動かした
いとき
kernel moduleにないデバイスを動かした
いとき
認識しない、動かないときに見るべきこと
13年9月10日火曜日
スピーカーについて
Yuki Uchikoba (内木場 夕紀)
1974年産、鹿児島出身東京経由福岡在住
無線LAN関係のお仕事をしてます
Debian歴は3年くらい??
http://sayama-yuki.net/
Facebook: yuki.uchikoba
    こんなアイコンです→
13年9月10日火曜日
無線LANに関する
モジュールについて
13年9月10日火曜日
cfg80211
mac80211
Driver for Device
PHY
UserSpace
Kernel
無線LANに関わるモジュール
13年9月10日火曜日
無線LANに関わるモジュール
cfg80211
mac80211
Drivers for Device
PHY
UserSpace
Kernel
nl80211
cfg80211_ops
ieee80211_ops
13年9月10日火曜日
cfg80211
wireless設定を共通化したAPI
ユーザースペースとは nl80211でやりとりを
する
古いドライバはこれに対応してない
see also
http://wireless.kernel.org/en/developers/
Documentation/cfg80211
13年9月10日火曜日
mac80211
デバイスドライバとのインタフェース
see also
http://wireless.kernel.org/en/developers/
Documentation/mac80211
13年9月10日火曜日
この表以外のもの
rfkill
読んで字のごとくです。
無線デバイスのOn/Off制御をします
無線LAN以外にも、
Bluetoothなどでも使います
13年9月10日火曜日
各設定有効方法
cfg80211,mac80211
Networking support
→Wireless
  cfg80211 - wireless configuration API
  Generic IEEE 802.11 Networking Stack (mac80211)
rfkill
Networking support
→RF switch subsystem support
 →Generic rfkill regulator driver
13年9月10日火曜日
別(従来)のタイプ
Drivers for Device
PHY
UserSpace
Kernel
Space
WE(Wireless Extentions)
13年9月10日火曜日
別(従来)のタイプ
mac80211/cfg80211を使わずにやっていま
す
Wireless Extentionを使っています
この場合、iwは使えません
設定コマンドはwireless-toolsを使います
http://www.hpl.hp.com/personal/
Jean_Tourrilhes/Linux/Tools.html
※パッケージにもなっております。
13年9月10日火曜日
別(従来)のタイプ
% lsmod | grep r8712
r8712u 142898 0
usbcore 128681 7 ehci_hcd,uhci_hcd,usbhid,btusb,usb_storage,r8712u
例)Realtek RT8192SU(r8712u)
/usr/src/linux-source-3.2/drivers/staging/rtl8712
お暇があればソースを眺めてみるの
もいいでしょう。
13年9月10日火曜日
ファームウェア
本体ドライバ以外に、デバイス内で動かすた
めのプログラム(ファームウェア)も
必要な場合があります
(最近は大体そう)
PC
Bus(PCI,USB,...)
Device
firmware
13年9月10日火曜日
インストールのしかた。
13年9月10日火曜日
デバイスを知る
製品名でぐぐる
大抵出てくる
または一覧載せてるサイトから辿る
http://wikidevi.com とか詳しい
13年9月10日火曜日
moduleにある場合
make menuconfigする
menuで以下の位置にある
Device Drivers
→Network Device Support
 →Wireless LAN
あとは
make modules → make modules_install
13年9月10日火曜日
moduleにある場合
ただしこれだけでは動かないものがある
モノによっては別途ファームウェアが必要
non-freeにあるものもあるから注意
→ /etc/apt/souces.list に追加しましょう
see also
http://wiki.debian.org/Firmware
13年9月10日火曜日
moduleにない場合
たとえば以下のケース
ベンダー公式配布のものを使う場合
Linux Wirelessにあるのを自分で入れたい
http://wireless.kernel.org/en/users/Download/stable/
13年9月10日火曜日
moduleにない場合
ドキュメントにしたがいmakeする
ファームウェアが必要な場合は忘れずに!
/lib/firmware に入れます
aptからも入れられますが
non-freeにあることが多いので注意です。
13年9月10日火曜日
認識しない、動かないとき
ここを見よう
13年9月10日火曜日
makeが通らない
よくあること
エラーに従って頑張ってなおす
または対応してるバージョンか確認!
cfg80211,mac80211が必要なら入れてある
か?
13年9月10日火曜日
認識しない?
Network managerが入ってたらすぐに見え
ます
見えなかったら?
lsusbまたはlspciしてハードウェアが見え
てる?
dmesgで差し込んだ直後のログを見てみよ
う
USBまたはPCIレベルで認識できてたら次
にいく
13年9月10日火曜日
認識してない!
dmesgでなにかエラー出してるはず
firmware入れてる?
[ 8361.258283] usb 1-2: new high-speed USB device number 9 using ehci_hcd
[ 8361.435068] usb 1-2: New USB device found, idVendor=2019, idProduct=ed18
[ 8361.435072] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 8361.435074] usb 1-2: Product: GW-USH300N
[ 8361.435076] usb 1-2: Manufacturer: PLANEX COMMUNICATIONS INC.
[ 8361.435077] usb 1-2: SerialNumber: 00e04c000001
[ 8361.546794] r8712u: DriverVersion: v7_0.20100831
[ 8361.546989] r8712u: register rtl8712_netdev_ops to netdev_ops
[ 8361.546996] r8712u: USB_SPEED_HIGH with 4 endpoints
[ 8361.549432] r8712u: Boot from EFUSE: Autoload OK
[ 8366.268881] r8712u: CustomerID = 0x0000
[ 8366.268884] r8712u: MAC Address from efuse = 00:22:cf:46:26:b2
[ 8366.268887] r8712u: Loading firmware from "rtlwifi/rtl8712u.bin"
[ 8366.281171] usb 1-2: firmware: agent aborted loading rtlwifi/rtl8712u.bin (not found?)
13年9月10日火曜日
iwコマンドが使えない
「nl80211 not found」などと怒られる
→ Wireless Extentionだけ使ってる
  (以前型の)ドライバです
  → Wireless tools を使いましょう。
13年9月10日火曜日