人気ブログランキング | 話題のタグを見る

Orange piでLinuxを動かそう エピソード6 WIFIの設定

WIFIドングルに目出度くドライバが組み込まれたら、動かしてみましょう。

まず、必要なパッケージを導入します。
sudo apt install wireless-tools
sudo apt install wpasupplicant

ここまで入れるとWIFIの電波がスキャンできるようになります。
デバイス名を調べます。
kodera@kodera-dynabook-Satellite-K33-220C-W:/etc$ iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

wlxbc5c4c5846ad unassociated Nickname:" WIFI@REALTEK "
Mode:Managed Frequency=2.412 GHz Access Point: Not-Associated
Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

ここでは、"wlxbc5c4c5846ad"がデバイス名です。
これを使って、
kodera@kodera-dynabook-Satellite-K33-220C-W:/etc$ iwlist wlxbc5c4c5846ad scan
とコマンドを打つと、

wlxbc5c4c5846ad Scan completed :
Cell 01 - Address: 16:6F:3F:F5:AE:0A
ESSID:"106F3FF5AE0A"
Protocol:IEEE 802.11bgn
Mode:Master
Frequency:2.427 GHz (Channel 4)
Encryption key:on
Bit Rates:144 Mb/s
Extra:wpa_ie=dd1a0050f20101000050f20202000050f2040050f20201000050f202
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
Extra:rsn_ie=30180100000fac020200000fac04000fac020100000fac020000
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
Quality:0 Signal level:0 Noise level:0
などとアクセスポイントが見えると思います。
これが見えればもう一歩です。

自分が繋ぎたいアクセスポイントが見えたら、パスフレーズを計算します。
下の例はダミーなので、ssidとpasswordはでたらめですよ。

kodera@kodera-dynabook-Satellite-K33-220C-W:/etc$ sudo wpa_passphrase my_ssid my_passwod
network={
ssid="my_ssid"
#psk="my_passwod"
psk=39577b4b21adc7cce60cf5c2be58fc7a2b1f8f686dc9c3f6842de29d77f37acc
}

このnetwork= というテキストを利用して、設定ファイルを作りますが、コピペがめんどくさいなら、
sudo wpa_passphrase my_ssid my_passwod >>/etc/wpa_supplicant/wpa_supplicant.conf

とやって、いきなりファイルに落とすのもありです。

ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
network={
ssid="your-ssid"
key_mgmt=WPA-PSK
proto=WPA WPA2
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk="your-pass"
}

pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
のところは、さっきのiwlistで見た、
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
を参考に書いてください。

wpa_supplicant -iwlxbc5c4c5846ad -c/etc/wpa_supplicant/wpa_supplicant.conf
でエラーがでなければok。
止まらないので、ctrl-Cで止めてください。

ここまで来たら、もう一歩。
/etc/network/interfaces
に、WIFIの設定を加えます。

allow-hotplug
iface デバイス名 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

こんな感じです。 正解はわかりません。
色々やって、これが動いたというだけです。
auto eth
をコメントアウトしておかないとダメなどと噂もあります。

iwconfig
として、目的とするアクセスポイントが表示されれば成功していると思います。


# by studio_do | 2017-06-04 21:08 | 機械室から | Comments(0)

Orange piでLinuxを動かそう エピソード5

さて、Wifiドングルのチップが8188euだとわかったのなら、orange pi上でlsmodしてみる。

orangepi@OrangePI:~$ lsmod
Module Size Used by
gpio_sunxi 8265 0
8189es 1069830 0
8188eu 916364 0

8188euがモジュールとして含まれているのがわかる。
modinfo 8188euで守備範囲を調べてみる。

orangepi@OrangePI:~$ modinfo 8188eu
filename: /lib/modules/3.4.112/kernel/drivers/net/wireless/rtl8188eu/8188eu.ko
version: v4.3.0.6_12167.20140828
author: Realtek Semiconductor Corp.
description: Realtek Wireless Lan Driver
license: GPL
srcversion: 6E1E9435E7EEE679F088FA2
alias: usb:v07B8p8179d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0BDAp0179d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0BDAp8179d*dc*dsc*dp*ic*isc*ip*

aliasに0x056e 0x4008が含まれていないのがわかる。
解決方法は一般的には2つあり、
1)ドライバのソースを入手してソースを書き換えてビルドし直す。
2)ダイナミックデバイスID、という手法でIDを追加する。

比較的古めのカーネルバージョンの場合が多いorange piのlinuxではビルド用のカーネルソースが入手しにくいことが多い。 これで1)のハードルがぐっと上がる。
2)は、ルートにしかパーミッションがないnew_idファイルを書き換えることが必要で、僕がやった場合にはプロセスがフリーズしてしまったので、諦めた。

ここで諦めては面白くないわけで、ちょっと乱暴な方法を試してみた。
ドライバ本体は、
filename: /lib/modules/3.4.112/kernel/drivers/net/wireless/rtl8188eu/8188eu.ko
にあることがmodinfoの結果から分かっているので、3つあったIDのうち使わなさそうなIDをバイナリエディタで直接書き換えてしまおうというもの。

ここで、バイナリエディタって何?という人は諦めたほうがよろし。
そーか!と得心する人はドライバのバックアップを取ってから試してみてくださいな。
僕の環境ではうまく行きました。
で、やっとWifiでexciteに繋がったので、そのマシンでこの記事を書いている次第である。

うまく行ったことは、lsusb -tの結果が
: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=sunxi-ehci/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=rtl8188eu, 480M
こんな感じにドライバ名を表示することで分かる。

ここまで来ても,wifiの設定にもう一苦労することにはなっているので、それはまた次の機会。


# by studio_do | 2017-06-04 01:49 | 機械室から | Comments(0)

Orange piでLinuxを動かそう エピソード4

さて、orange piでLinuxをセットアップしていて、たいてい困るのがWifiのusbドングルが動かないという問題。
どうして動かないのかを考える前には、どうして動くのかを理解しましょう。
それには、ノートパソコンで動いているubuntuで動いている様子を確認します。 
 
USBドングルには、それぞれ16進4桁のベンダーIDとプロダクトIDがありまして、それによりどのメーカーのなんとゆー製品なのかを区別してます。

lsusbのコマンドで、確認することが出来ます。

kodera@kodera-dynabook-Satellite-K33-220C-W:~$ lsusb -t
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
|__ Port 1: Dev 7, If 0, Class=Vendor Specific Class, Driver=r8188eu, 480M

kodera@kodera-dynabook-Satellite-K33-220C-W:~$ lsusb
Bus 001 Device 008: ID 056e:4008 Elecom Co., Ltd

この例では、ベンダーIDが0x056e、プロダクトIDが0x4008です。
ドライバーがr8188euだということもわかります。

modinfoのコマンドで、r8188euドライバが、どのWIFIドングルを守備範囲にしているのかがわかります。

kodera@kodera-dynabook-Satellite-K33-220C-W:~$ modinfo r8188eu
filename: /lib/modules/4.4.0-78-generic/kernel/drivers/staging/rtl8188eu/r8188eu.ko
version: v4.1.4_6773.20130222
author: Realtek Semiconductor Corp.
description: Realtek Wireless Lan Driver
license: GPL
srcversion: B53056C647125E5874F2A02
alias: usb:v0DF6p0076d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2001p3311d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2001p3310d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2001p330Fd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v07B8p8179d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v056Ep4008d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDAp0179d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDAp8179d*dc*dsc*dp*ic*isc*ip*in*

さっき見たベンダーIDとプロダクトIDが含まれているのがわかります。
これが一致することで、このドングルにr8188euのドライバが使われます。

新しいカーネルだと、新しいドングルまで守備範囲に入っているので挿しただけで動くということです。
 
orange piにWIFIドングルを挿しても動かないのは、こうして考えると2つの場合があります。
1)カーネルに含まれているドライバに、このベンダーID、プロダクトIDが含まれていない。
2)そもそも、このドライバがカーネルに入っていない。

動いている環境で調べたドライバ名で、orange piの端末で、
modinfo r8188eu
などとしたら、ドライバが入っているのか、守備範囲から外れているのかがわかります。
 
入っていなかったら、ソースをgitしてきてビルドせねばなりませんが、守備範囲から外れているだけならやりようもあります。
 
次回はその方法について。


# by studio_do | 2017-06-03 18:33 | 機械室から | Comments(0)

又吉原作 ドラマ「火花」

深夜にやっているドラマ「火花」、2話目を見た。(嫁が見ているので見ざるを得なかった)
 
全然面白くない。
なぜだろう。
お笑い芸人が、お笑いを題材に小節を書いているので、若手のお笑い芸人は大変なんだ、という思いが強すぎて創作になっていない。
 
お笑いにも理論が必要だ。
熱意だけのお笑いは、お笑いじゃない。
それはやってる意味がない。

又吉が小説家たるためには、お笑いじゃない分野を題材になにか書く必要が在るだろう。


# by studio_do | 2017-03-06 00:03 | 日記 | Comments(0)

バレーを押さえないギター講座(8)

さて、この講座でのテーマの一つが、どうやって「F6」を押さえるか?というものである。
 
Dm7をF6として押さえる方法を紹介したが、このコードはストロークでは使いにくい。
5弦ルートでは、F69になってしまい、どうにも使いにくい。
 
そこで、4弦ルートのF6の押さえ方を考えた。
1弦、6弦はミュートしてしまう。
5,R、6と押さえる。
ストロークで使うためには、がんばって3を押さえる。

バレーを押さえないギター講座(8)_d0010259_20395413.jpg
普通は、バレーと合わせて押さえて6弦を1にするが、私にはとても無理。
最低音が5だったら、ストロークでも使えるでしょう。
 
簡単な押さえ方で、指を慣らしていくと、無理だった1フレット下の3の音も押さえられるようになってくる。
出来る方法を考えるのが重要なのだ。




# by studio_do | 2017-02-17 20:52 | 音楽 | Comments(0)