<   2017年 06月 ( 5 )   > この月の画像一覧

Asus Memo pad 電源が入らないの原因のひとつ

d0010259_17040944.jpg
d0010259_17040923.jpg

さて、写真を2つ示しました。 
最初の写真は、現在快調に動いているMemo padの内部ケーブル接続部。
次の写真は、電源が入らない!と騒いでいた時の同じ箇所の写真。
FPCケーブルの端子部が見えてしまっているのが分かるでしょうか。

もし、こうなっていたら、ケーブルを挿し直すだけで治る可能性があります。
ロック機構などなくて、ただ差し込んであるだけなので、ピンセットで挿し直してみてください。



[PR]
by studio_do | 2017-06-25 17:11 | 機械室から | Comments(0)

Asus Memo padのトラブル解析

d0010259_21362668.jpg
この機種の「電源が入らない」と言うトラブルは、過放電と認識されることが多く、ネットに転がる対処法も充電に関する対処がほとんどである。

あまり書いてない切り分けの方法を書いておく。

画面が真っ暗で電源ボタンに反応しないという症状でも二通りの現象がある。

まず、PADのUSBからパソコンに接続する。
パソコンがUSBメモリとして認識しないか、もし駄目でも電源ボタンを押して1分程度待つ。
これでUSBメモリとして認識できたら、バッテリは無実だ。
10秒程度、電源ボタンを長押しして電源が切れ、もう一度電源が入ることを確認する。

この場合には、OSは起動しているが液晶が点灯しない状態だと思われる。

ここから先はいずれにしても殻割りが必要である。
USBコネクタの近くに親指の爪を押し込んで蓋を外す。

バッテリに繋がった6ピンのコネクタの両端の電圧をテスターで測る。
規格は3.8Vなので、過放電の場合には、電圧がもっと下がっているはず。
4V以上あったら、確実にバッテリは白。

バッテリを横断しているフラットケーブルが外れていないか確認しよう。

[PR]
by studio_do | 2017-06-21 21:36 | 機械室から | Comments(0)

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
として、目的とするアクセスポイントが表示されれば成功していると思います。


[PR]
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の設定にもう一苦労することにはなっているので、それはまた次の機会。


[PR]
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してきてビルドせねばなりませんが、守備範囲から外れているだけならやりようもあります。
 
次回はその方法について。


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