無線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日火曜日

More Related Content

PDF
高速な倍精度指数関数expの実装
PDF
実践イカパケット解析α
PDF
ゲーム開発者のための C++11/C++14
PDF
Fpgaでの非同期信号の扱い方とvivadoによるサポート(公開用)
PDF
Rust で RTOS を考える
PPTX
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
PDF
SES2020 IoTアーキテクチャ・デザインパターン
ODP
Format string Attack
高速な倍精度指数関数expの実装
実践イカパケット解析α
ゲーム開発者のための C++11/C++14
Fpgaでの非同期信号の扱い方とvivadoによるサポート(公開用)
Rust で RTOS を考える
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
SES2020 IoTアーキテクチャ・デザインパターン
Format string Attack

What's hot (20)

PDF
initramfsについて
PDF
Bluetoothl-Low-Energy入門講座-part1
PDF
AndroidとPCのみでスマート電球BLEハッキング
PDF
リンク機構を有するロボットをGazeboで動かす
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け
PDF
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
PPTX
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
PDF
Androidの新ビルドシステム
PDF
Lxc で始めるケチケチ仮想化生活?!
PPTX
画像処理の高性能計算
PDF
Android/iOS端末におけるエッジ推論のチューニング
PDF
C++ マルチスレッド 入門
PDF
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
PDF
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
PDF
CTF for ビギナーズ ネットワーク講習資料
PDF
詳説データベース輪読会: 分散合意その2
PDF
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
PPTX
YoctoをつかったDistroの作り方とハマり方
PDF
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
PDF
Pythonはどうやってlen関数で長さを手にいれているの?
initramfsについて
Bluetoothl-Low-Energy入門講座-part1
AndroidとPCのみでスマート電球BLEハッキング
リンク機構を有するロボットをGazeboで動かす
ネットワーク ゲームにおけるTCPとUDPの使い分け
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
Androidの新ビルドシステム
Lxc で始めるケチケチ仮想化生活?!
画像処理の高性能計算
Android/iOS端末におけるエッジ推論のチューニング
C++ マルチスレッド 入門
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
CTF for ビギナーズ ネットワーク講習資料
詳説データベース輪読会: 分散合意その2
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
YoctoをつかったDistroの作り方とハマり方
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
Pythonはどうやってlen関数で長さを手にいれているの?
Ad

Viewers also liked (20)

PDF
zsh とわたし
PDF
企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう
PDF
Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい
PDF
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
PDF
Kernel overview
PDF
自動並列化コンパイラをAndroidに適用してみた
PDF
React native
PDF
Programming Embedded linux
PDF
Linux device driver for dummies
PPTX
Linux IO
PDF
20150928楽しいlambda
PPTX
DMA Survival Guide
PDF
Linux scheduler
PDF
Innovation eggcloudnative
PDF
JAWSUG architecture-crowler
PDF
Crawler for Non engineer
PDF
Lambda認証認可パターン
PDF
English for programmers
PDF
OSS についてあれこれ
PDF
[Arquitetura] projetos de casas suomi (2)
zsh とわたし
企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう
Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
Kernel overview
自動並列化コンパイラをAndroidに適用してみた
React native
Programming Embedded linux
Linux device driver for dummies
Linux IO
20150928楽しいlambda
DMA Survival Guide
Linux scheduler
Innovation eggcloudnative
JAWSUG architecture-crowler
Crawler for Non engineer
Lambda認証認可パターン
English for programmers
OSS についてあれこれ
[Arquitetura] projetos de casas suomi (2)
Ad

無線LANデバイスについて(kernelレベル)