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

ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)Mr. Vengineer
 
監視 Overview
監視 Overview監視 Overview
監視 OverviewIIJ
 
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話mariydi1
 
ABEMA の視聴品質向上戦術
ABEMA の視聴品質向上戦術ABEMA の視聴品質向上戦術
ABEMA の視聴品質向上戦術Yusuke Goto
 
ARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくいARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくいwata2ki
 
第 1 回 Jetson ユーザー勉強会
第 1 回 Jetson ユーザー勉強会第 1 回 Jetson ユーザー勉強会
第 1 回 Jetson ユーザー勉強会NVIDIA Japan
 
SX1302ベース LoRaWAN HAT for Rasberry Pi - PG1302 - コマンドライン・インストール編
SX1302ベース LoRaWAN HAT for Rasberry Pi - PG1302  - コマンドライン・インストール編SX1302ベース LoRaWAN HAT for Rasberry Pi - PG1302  - コマンドライン・インストール編
SX1302ベース LoRaWAN HAT for Rasberry Pi - PG1302 - コマンドライン・インストール編CRI Japan, Inc.
 
20分でわかるgVisor入門
20分でわかるgVisor入門20分でわかるgVisor入門
20分でわかるgVisor入門Shuji Yamada
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)NTT DATA Technology & Innovation
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能Kohei Tokunaga
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Masahito Zembutsu
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門Fixstars Corporation
 
Onieで遊んでみようとした話
Onieで遊んでみようとした話Onieで遊んでみようとした話
Onieで遊んでみようとした話Masaru Oki
 
SFUの話
SFUの話SFUの話
SFUの話tnoho
 
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜LINE Corporation
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化Takuya ASADA
 
Usb接続するアプリを開発した時に試行錯誤した事
Usb接続するアプリを開発した時に試行錯誤した事Usb接続するアプリを開発した時に試行錯誤した事
Usb接続するアプリを開発した時に試行錯誤した事Masataka Kono
 
FlutterでBLEを
いい感じにする
FlutterでBLEを
いい感じにするFlutterでBLEを
いい感じにする
FlutterでBLEを
いい感じにするchigichan24
 

Mais procurados (20)

ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
 
監視 Overview
監視 Overview監視 Overview
監視 Overview
 
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
 
ABEMA の視聴品質向上戦術
ABEMA の視聴品質向上戦術ABEMA の視聴品質向上戦術
ABEMA の視聴品質向上戦術
 
ARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくいARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくい
 
第 1 回 Jetson ユーザー勉強会
第 1 回 Jetson ユーザー勉強会第 1 回 Jetson ユーザー勉強会
第 1 回 Jetson ユーザー勉強会
 
SX1302ベース LoRaWAN HAT for Rasberry Pi - PG1302 - コマンドライン・インストール編
SX1302ベース LoRaWAN HAT for Rasberry Pi - PG1302  - コマンドライン・インストール編SX1302ベース LoRaWAN HAT for Rasberry Pi - PG1302  - コマンドライン・インストール編
SX1302ベース LoRaWAN HAT for Rasberry Pi - PG1302 - コマンドライン・インストール編
 
20分でわかるgVisor入門
20分でわかるgVisor入門20分でわかるgVisor入門
20分でわかるgVisor入門
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
 
Onieで遊んでみようとした話
Onieで遊んでみようとした話Onieで遊んでみようとした話
Onieで遊んでみようとした話
 
SFUの話
SFUの話SFUの話
SFUの話
 
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 
Usb接続するアプリを開発した時に試行錯誤した事
Usb接続するアプリを開発した時に試行錯誤した事Usb接続するアプリを開発した時に試行錯誤した事
Usb接続するアプリを開発した時に試行錯誤した事
 
FlutterでBLEを
いい感じにする
FlutterでBLEを
いい感じにするFlutterでBLEを
いい感じにする
FlutterでBLEを
いい感じにする
 

Destaque

企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう
企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう
企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそうSanae Yamashita
 
Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい
Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたいRubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい
Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたいSanae Yamashita
 
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」Takuya Mukohira
 
Kernel overview
Kernel overviewKernel overview
Kernel overviewKai Sasaki
 
自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみたmagoroku Yamamoto
 
Programming Embedded linux
Programming Embedded linuxProgramming Embedded linux
Programming Embedded linuxLiran Ben Haim
 
Linux device driver for dummies
Linux device driver for dummiesLinux device driver for dummies
Linux device driver for dummiesHirohito Kato
 
20150928楽しいlambda
20150928楽しいlambda20150928楽しいlambda
20150928楽しいlambdaNorifumi Homma
 
DMA Survival Guide
DMA Survival GuideDMA Survival Guide
DMA Survival GuideKernel TLV
 
Innovation eggcloudnative
Innovation eggcloudnativeInnovation eggcloudnative
Innovation eggcloudnativeTakuro Sasaki
 
JAWSUG architecture-crowler
JAWSUG architecture-crowlerJAWSUG architecture-crowler
JAWSUG architecture-crowlerTakuro Sasaki
 
Crawler for Non engineer
Crawler for Non engineerCrawler for Non engineer
Crawler for Non engineerTakuro Sasaki
 
Lambda認証認可パターン
Lambda認証認可パターンLambda認証認可パターン
Lambda認証認可パターンTakuro Sasaki
 
English for programmers
English for programmersEnglish for programmers
English for programmersHirohito Kato
 
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 ThymeleafMasatoshi Tada
 
OSS についてあれこれ
OSS についてあれこれOSS についてあれこれ
OSS についてあれこれTakuto Wada
 

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レベル)