SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
無線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日火曜日

Mais conteúdo relacionado

Mais procurados

レベルを上げて物理で殴れ、Fuzzing入門 #pyfes
レベルを上げて物理で殴れ、Fuzzing入門 #pyfesレベルを上げて物理で殴れ、Fuzzing入門 #pyfes
レベルを上げて物理で殴れ、Fuzzing入門 #pyfes
Tokoroten Nakayama
 
僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない
Takuya ASADA
 

Mais procurados (20)

FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
 
レベルを上げて物理で殴れ、Fuzzing入門 #pyfes
レベルを上げて物理で殴れ、Fuzzing入門 #pyfesレベルを上げて物理で殴れ、Fuzzing入門 #pyfes
レベルを上げて物理で殴れ、Fuzzing入門 #pyfes
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
30分でわかる! コンピュータネットワーク
30分でわかる! コンピュータネットワーク30分でわかる! コンピュータネットワーク
30分でわかる! コンピュータネットワーク
 
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
 
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能についてDeep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
 
KiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアルKiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアル
 
ZigBee/IEEE802.15.4について調べてみた
ZigBee/IEEE802.15.4について調べてみたZigBee/IEEE802.15.4について調べてみた
ZigBee/IEEE802.15.4について調べてみた
 
CRC-32
CRC-32CRC-32
CRC-32
 
僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
 
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50
 
TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介
 

Destaque

企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう
企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう
企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう
Sanae Yamashita
 
Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい
Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたいRubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい
Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい
Sanae Yamashita
 
自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた
magoroku Yamamoto
 

Destaque (20)

zsh とわたし
zsh とわたし zsh とわたし
zsh とわたし
 
企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう
企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう
企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう
 
Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい
Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたいRubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい
Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい
 
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
 
Kernel overview
Kernel overviewKernel overview
Kernel overview
 
自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた
 
React native
React nativeReact native
React native
 
Programming Embedded linux
Programming Embedded linuxProgramming Embedded linux
Programming Embedded linux
 
Linux device driver for dummies
Linux device driver for dummiesLinux device driver for dummies
Linux device driver for dummies
 
Linux IO
Linux IOLinux IO
Linux IO
 
20150928楽しいlambda
20150928楽しいlambda20150928楽しいlambda
20150928楽しいlambda
 
DMA Survival Guide
DMA Survival GuideDMA Survival Guide
DMA Survival Guide
 
Linux scheduler
Linux schedulerLinux scheduler
Linux scheduler
 
Innovation eggcloudnative
Innovation eggcloudnativeInnovation eggcloudnative
Innovation eggcloudnative
 
JAWSUG architecture-crowler
JAWSUG architecture-crowlerJAWSUG architecture-crowler
JAWSUG architecture-crowler
 
Crawler for Non engineer
Crawler for Non engineerCrawler for Non engineer
Crawler for Non engineer
 
Lambda認証認可パターン
Lambda認証認可パターンLambda認証認可パターン
Lambda認証認可パターン
 
English for programmers
English for programmersEnglish for programmers
English for programmers
 
Getting start Java EE Action-Based MVC with Thymeleaf
Getting start Java EE Action-Based MVC with ThymeleafGetting start Java EE Action-Based MVC with Thymeleaf
Getting start Java EE Action-Based MVC with Thymeleaf
 
OSS についてあれこれ
OSS についてあれこれOSS についてあれこれ
OSS についてあれこれ
 

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