2014年7月25日金曜日

Android-005 root化(C6833)

7.XPERIA Z Ultra(C6833)編

[xperia z ultra c6833 root化]でググるといっぱい出てくる。
先人の有用な情報を掲載くださった方々に感謝します。
当方はAmazonで購入した。Amazon評価はおおむね良い。
手持ちのC6833の履歴。
入手日2014年7月19日 ビルド番号:14.2.A.1.136 Androidバージョン:4.3

(1)USB Driverのダウンロード
参照ページ:FlashTool Xperia Driver Pack!
を見て、FlashTool Xperia Drivers Pack v1.5-20140318 から
Flashtool-drivers-1.5-20140318.exeをインストールする。
MD5 (Flashtool-drivers-1.5-20140318.exe) = 50955f8198bf37025d40a7cdcee7978c
Setup>Select components to install: Flashmode DriversとFastboot DriversとXperia Z Ultra driversにチェックを入れてInstallをクリック。

(2)C6833のブートローダーアンロック
参照ページ:Xperia Z Ultra (C6833) ブートローダーアンロック
丁寧な解説でわかりやすい。アンロックキーを取得画面は現在変化しているが画面の指示に従えば良い。IMEIは15桁入力し、「Your unlock code:」の16桁を得る。
Volume upボタンを押してUSBケーブルをつないだときのデバイスマネージャ。
fastbootコマンドUNLOCK実行のようす。fastboot reboot後に初期化が始まる。
C:\Users\myname>fastboot.exe -i 0x0fce getvar version
version: 0.5
finished. total time: -0.000s
C:\Users\myname>fastboot.exe -i 0x0fce oem unlock 0x1234567890123456
...
OKAY [  1.121s]
finished. total time: 1.121s
C:\Users\myname>
C:\Users\myname>fastboot reboot
rebooting...
finished. total time: 0.010s
C:\Users\myname>
アンロックに成功すると、Rooting status:Bootloader(unlock allowed:Yes)が(unlocked:Yes)になる。
この画面は、アプリQuickShortcutMaker (SIKA524) インストールして
インクリメンタル検索>キーワード絞込 [Service Menu]
com.sonyericsson.android.servicemenu のショートカットを作成。
そのショートカットから Service info>Configuration>Rooting status:にて。

(3)C6833のRoot化
参照ページ:Sony XPERIA Z Ultraを購入し、root化してみました
丁寧な解説でわかりやすい。当方は同様にビルド番号14.2.A.1.136だったのでこのWebページと同じくの作業を行った。
それぞれのMD5
MD5 (136.img) = c7ca5cc644c9991245d1eaa757e3f584
MD5 (supersu.zip) = 0b85474f0f139e1e6137f9eab40c3ecb
supersu.zip はSDCARD領域に転送しておく。
% adb push supersu.zip /sdcard/supersu.zip
そして136.imgをflashする。
C:\Users\myname>fastboot.exe flash boot 136.img
sending 'boot' (16800 KB)...
OKAY [  0.690s]
writing 'boot'...
OKAY [  1.111s]
finished. total time: 1.801s
C:\Users\myname>fastboot reboot
C:\Users\myname>
たったこれだけで、root化できてるか心配だったが、supersu.zipをあてて、再起動でOKだった。

SuperSUへのリクエスト。root化成功。
C6833本体電源ONで紫LED点灯したらVOLupでCWMリカバリでバックアップ。
おなじくVOLdownでTWRPリカバリでバックアップ。VOLup/downボタンは一回ポチッと押下操作するだけで反応した。
◯ root化でけっこううれしいのは、APN Managerだ。
/sdcard/ApnManager/ApnBackup.xmlを変更しRESTOREすればサクッとAPNの切替えができる。
・次はしばらく待ってKitKat4.4バージョンにしたい。


2014年2月19日水曜日

HTL21-20140212_LOG-run_me_Manual_LOG.txt

以下のテキストLogは、この記事
2014/02/19 2015/06/29 Android-002 root化(HTL21,HTL22)
http://nkbmobile.blogspot.com/2014/02/android-002-roothtl21htl22.html
で、
fastboot flash zip rom.zipあたりで止まっているのだろうと予想した。
C:\Users\myuser>adb shell
|<途中省略>
|<途中省略>
finished. total time: 0.031s 再起動で、ソフトウェアの番号:1.15.970.1 にバージョンダウンされていた。
文中の途中省略をせずLogのすべてを次に示す。



<12218 Feb 12  2014 run_me_Manual_LOG.txt>

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\kana>usebackq
'usebackq' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

C:\Users\kana>adb shell
shell@android:/ $ cd /data/local/tmp
cd /data/local/tmp
shell@android:/data/local/tmp $ dir
dir
/system/bin/sh: dir: not found
127|shell@android:/data/local/tmp $ ls
ls
device.db
run_root_shell
shell@android:/data/local/tmp $ ls -l
ls -l
-rwxr-xr-x shell    shell       55296 2014-01-22 18:33 device.db
-rwxr-xr-x shell    shell      396588 2014-01-22 18:47 run_root_shell
shell@android:/data/local/tmp $ ls -l /sdcard/mmc*
ls -l /sdcard/mmc*
-rwSrwSr-T root     sdcard_rw  1047040 2014-02-06 17:32 mmcblk0p21_misc_backup
-rw-rw-r-- root     sdcard_rw  1047040 2014-02-06 17:31 mmcblk0p21_misc_fake
shell@android:/data/local/tmp $ ./run_root_shell
./run_root_shell


Device detected: HTL21 (JRO03C)

Attempt acdb exploit...
failed to open /dev/msm_acdb due to Permission denied.

Attempt fj_hdcp exploit...

Attempt msm_cameraconfig exploit...
Detected kernel physical address at 0x80608000 form iomem

Attempt put_user exploit...
shell@android:/data/local/tmp # cmp
cmp
Usage: cmp [-b] [-l] [-n count] file1 file2
1|shell@android:/data/local/tmp # cmp -l /dev/block/mmcblk0p21 /sdcard/mmcblk0p2
1_misc_backup
lk0p21 /sdcard/mmcblk0p21_misc_backup                                         <
/dev/block/mmcblk0p21 /sdcard/mmcblk0p21_misc_backup differ byte 162
/dev/block/mmcblk0p21 /sdcard/mmcblk0p21_misc_backup differ byte 163
/dev/block/mmcblk0p21 /sdcard/mmcblk0p21_misc_backup differ byte 165
/dev/block/mmcblk0p21 /sdcard/mmcblk0p21_misc_backup differ byte 166
/dev/block/mmcblk0p21 /sdcard/mmcblk0p21_misc_backup differ byte 169
1|shell@android:/data/local/tmp # cmp -l /dev/block/mmcblk0p21 /sdcard/mmcblk0p2
1_misc_fake
lk0p21 /sdcard/mmcblk0p21_misc_fake                                           <
shell@android:/data/local/tmp #
C:\Users\kana>


(bootloader) [RUU]WP,hboot,0
(bootloader) [RUU]WP,hboot,99
(bootloader) [RUU]WP,hboot,100
(bootloader) ...... Successful
FAILED (remote: 90 hboot pre-update! please flush image again immediately)
finished. total time: 10.452s

C:\Usr\Android\HTC_site\C_HTL21\downgrad_tool>fastboot flash zip rom.zip
sending 'zip' (821718 KB)...
OKAY [ 43.181s]
writing 'zip'...
(bootloader) adopting the signature contained in this image...
(bootloader) signature checking...
(bootloader) rom parsing start ...
(bootloader) rom parsing finish ...
(bootloader) zip header checking...
(bootloader) zip info parsing...
(bootloader) checking model ID...
(bootloader) checking custom ID...
(bootloader) checking main version...
(bootloader) checking hboot version...
(bootloader) start image[sbl3] unzipping & flushing...
(bootloader) [RUU]UZ,sbl3,0
(bootloader) [RUU]UZ,sbl3,100
(bootloader) signature checking...
(bootloader) ...... Successful
(bootloader) start image[boot] unzipping & flushing...
(bootloader) [RUU]UZ,boot,0
(bootloader) [RUU]UZ,boot,14
(bootloader) [RUU]UZ,boot,27
(bootloader) [RUU]UZ,boot,37
(bootloader) [RUU]UZ,boot,48
(bootloader) [RUU]UZ,boot,60
(bootloader) [RUU]UZ,boot,73
(bootloader) [RUU]UZ,boot,83
(bootloader) [RUU]UZ,boot,94
(bootloader) [RUU]UZ,boot,100
(bootloader) [RUU]WP,boot,0
(bootloader) [RUU]WP,boot,99
(bootloader) [RUU]WP,boot,100
(bootloader) ...... Successful
(bootloader) start image[rpm] unzipping & flushing...
(bootloader) [RUU]UZ,rpm,0
(bootloader) [RUU]UZ,rpm,100
(bootloader) signature checking...
(bootloader) ...... Successful
(bootloader) start image[pg2fs_spcustom] unzipping & flushing...
(bootloader) [RUU]UZ,pg2fs_spcustom,0
(bootloader) [RUU]UZ,pg2fs_spcustom,38
(bootloader) [RUU]UZ,pg2fs_spcustom,99
(bootloader) [RUU]UZ,pg2fs_spcustom,100
(bootloader) ...... Successful
(bootloader) start image[tz] unzipping & flushing...
(bootloader) [RUU]UZ,tz,0
(bootloader) [RUU]UZ,tz,100
(bootloader) signature checking...
(bootloader) ...... Successful
(bootloader) start image[dzdata] unzipping & flushing...
(bootloader) [RUU]UZ,dzdata,0
(bootloader) [RUU]UZ,dzdata,6
(bootloader) [RUU]UZ,dzdata,13
(bootloader) [RUU]UZ,dzdata,20
(bootloader) [RUU]UZ,dzdata,27
(bootloader) [RUU]UZ,dzdata,32
(bootloader) [RUU]UZ,dzdata,37
(bootloader) [RUU]UZ,dzdata,44
(bootloader) [RUU]UZ,dzdata,51
(bootloader) [RUU]UZ,dzdata,58
(bootloader) [RUU]UZ,dzdata,64
(bootloader) [RUU]UZ,dzdata,71
(bootloader) [RUU]UZ,dzdata,78
(bootloader) [RUU]UZ,dzdata,85
(bootloader) [RUU]UZ,dzdata,92
(bootloader) [RUU]UZ,dzdata,99
(bootloader) [RUU]UZ,dzdata,100
(bootloader) [RUU]WP,dzdata,0
(bootloader) [RUU]WP,dzdata,13
(bootloader) [RUU]WP,dzdata,18
(bootloader) [RUU]WP,dzdata,23
(bootloader) [RUU]WP,dzdata,33
(bootloader) [RUU]WP,dzdata,38
(bootloader) [RUU]WP,dzdata,52
(bootloader) [RUU]WP,dzdata,61
(bootloader) [RUU]WP,dzdata,87
(bootloader) [RUU]WP,dzdata,98
(bootloader) [RUU]WP,dzdata,100
(bootloader) ...... Successful
(bootloader) start image[sbl1-2] unzipping & flushing...
(bootloader) [RUU]UZ,sbl1-2,0
(bootloader) [RUU]UZ,sbl1-2,100
(bootloader) signature checking...
(bootloader) ...... Successful
(bootloader) start image[sbl1-1] unzipping & flushing...
(bootloader) [RUU]UZ,sbl1-1,0
(bootloader) [RUU]UZ,sbl1-1,100
(bootloader) signature checking...
(bootloader) verified fail
(bootloader) ..... Bypassed
(bootloader) start image[adsp] unzipping & flushing...
(bootloader) [RUU]UZ,adsp,0
(bootloader) [RUU]UZ,adsp,16
(bootloader) [RUU]UZ,adsp,26
(bootloader) [RUU]UZ,adsp,38
(bootloader) [RUU]UZ,adsp,49
(bootloader) [RUU]UZ,adsp,61
(bootloader) [RUU]UZ,adsp,72
(bootloader) [RUU]UZ,adsp,83
(bootloader) [RUU]UZ,adsp,95
(bootloader) [RUU]UZ,adsp,100
(bootloader) [RUU]WP,adsp,0
(bootloader) [RUU]WP,adsp,100
(bootloader) ...... Successful
(bootloader) start image[tp] unzipping & flushing...
(bootloader) [RUU]UZ,tp,0
(bootloader) [RUU]UZ,tp,100
(bootloader) ...... Successful
(bootloader) start image[sbl2] unzipping & flushing...
(bootloader) [RUU]UZ,sbl2,0
(bootloader) [RUU]UZ,sbl2,100
(bootloader) signature checking...
(bootloader) ...... Successful
(bootloader) start image[recovery] unzipping & flushing...
(bootloader) [RUU]UZ,recovery,0
(bootloader) [RUU]UZ,recovery,11
(bootloader) [RUU]UZ,recovery,22
(bootloader) [RUU]UZ,recovery,36
(bootloader) [RUU]UZ,recovery,48
(bootloader) [RUU]UZ,recovery,74
(bootloader) [RUU]UZ,recovery,85
(bootloader) [RUU]UZ,recovery,95
(bootloader) [RUU]UZ,recovery,100
(bootloader) [RUU]WP,recovery,0
(bootloader) [RUU]WP,recovery,99
(bootloader) [RUU]WP,recovery,100
(bootloader) ...... Successful
(bootloader) start image[system] unzipping & flushing...
(bootloader) [RUU]UZ,system,0
(bootloader) [RUU]UZ,system,1
(bootloader) [RUU]UZ,system,3
(bootloader) [RUU]UZ,system,5
(bootloader) [RUU]UZ,system,6
(bootloader) [RUU]UZ,system,8
(bootloader) [RUU]UZ,system,10
(bootloader) [RUU]UZ,system,12
(bootloader) [RUU]UZ,system,13
(bootloader) [RUU]UZ,system,15
(bootloader) [RUU]UZ,system,17
(bootloader) [RUU]UZ,system,18
(bootloader) [RUU]UZ,system,20
(bootloader) [RUU]UZ,system,22
(bootloader) [RUU]UZ,system,24
(bootloader) [RUU]UZ,system,25
(bootloader) [RUU]WP,system,0
(bootloader) [RUU]WP,system,1
(bootloader) [RUU]WP,system,3
(bootloader) [RUU]WP,system,5
(bootloader) [RUU]WP,system,6
(bootloader) [RUU]WP,system,8
(bootloader) [RUU]WP,system,10
(bootloader) [RUU]WP,system,12
(bootloader) [RUU]WP,system,13
(bootloader) [RUU]WP,system,15
(bootloader) [RUU]WP,system,17
(bootloader) [RUU]WP,system,18
(bootloader) [RUU]WP,system,20
(bootloader) [RUU]WP,system,22
(bootloader) [RUU]WP,system,24
(bootloader) [RUU]WP,system,25
(bootloader) [RUU]UZ,system,25
(bootloader) [RUU]UZ,system,26
(bootloader) [RUU]UZ,system,28
(bootloader) [RUU]UZ,system,30
(bootloader) [RUU]UZ,system,32
(bootloader) [RUU]UZ,system,33
(bootloader) [RUU]UZ,system,35
(bootloader) [RUU]UZ,system,37
(bootloader) [RUU]UZ,system,39
(bootloader) [RUU]UZ,system,41
(bootloader) [RUU]UZ,system,42
(bootloader) [RUU]UZ,system,44
(bootloader) [RUU]UZ,system,46
(bootloader) [RUU]UZ,system,48
(bootloader) [RUU]UZ,system,49
(bootloader) [RUU]UZ,system,51
(bootloader) [RUU]WP,system,25
(bootloader) [RUU]WP,system,26
(bootloader) [RUU]WP,system,28
(bootloader) [RUU]WP,system,30
(bootloader) [RUU]WP,system,32
(bootloader) [RUU]WP,system,33
(bootloader) [RUU]WP,system,35
(bootloader) [RUU]WP,system,37
(bootloader) [RUU]WP,system,39
(bootloader) [RUU]WP,system,41
(bootloader) [RUU]WP,system,42
(bootloader) [RUU]WP,system,44
(bootloader) [RUU]WP,system,46
(bootloader) [RUU]WP,system,48
(bootloader) [RUU]WP,system,49
(bootloader) [RUU]WP,system,51
(bootloader) [RUU]UZ,system,51
(bootloader) [RUU]UZ,system,52
(bootloader) [RUU]UZ,system,54
(bootloader) [RUU]UZ,system,56
(bootloader) [RUU]UZ,system,58
(bootloader) [RUU]UZ,system,59
(bootloader) [RUU]UZ,system,61
(bootloader) [RUU]UZ,system,63
(bootloader) [RUU]UZ,system,64
(bootloader) [RUU]UZ,system,66
(bootloader) [RUU]UZ,system,68
(bootloader) [RUU]UZ,system,69
(bootloader) [RUU]UZ,system,71
(bootloader) [RUU]UZ,system,73
(bootloader) [RUU]UZ,system,75
(bootloader) [RUU]UZ,system,77
(bootloader) [RUU]WP,system,51
(bootloader) [RUU]WP,system,52
(bootloader) [RUU]WP,system,54
(bootloader) [RUU]WP,system,56
(bootloader) [RUU]WP,system,58
(bootloader) [RUU]WP,system,59
(bootloader) [RUU]WP,system,61
(bootloader) [RUU]WP,system,63
(bootloader) [RUU]WP,system,65
(bootloader) [RUU]WP,system,67
(bootloader) [RUU]WP,system,68
(bootloader) [RUU]WP,system,70
(bootloader) [RUU]WP,system,72
(bootloader) [RUU]WP,system,74
(bootloader) [RUU]WP,system,75
(bootloader) [RUU]WP,system,77
(bootloader) [RUU]UZ,system,77
(bootloader) [RUU]UZ,system,78
(bootloader) [RUU]UZ,system,79
(bootloader) [RUU]UZ,system,80
(bootloader) [RUU]UZ,system,82
(bootloader) [RUU]UZ,system,84
(bootloader) [RUU]UZ,system,86
(bootloader) [RUU]UZ,system,88
(bootloader) [RUU]UZ,system,89
(bootloader) [RUU]UZ,system,91
(bootloader) [RUU]UZ,system,93
(bootloader) [RUU]UZ,system,95
(bootloader) [RUU]UZ,system,97
(bootloader) [RUU]UZ,system,99
(bootloader) [RUU]UZ,system,100
(bootloader) [RUU]WP,system,77
(bootloader) [RUU]WP,system,78
(bootloader) [RUU]WP,system,80
(bootloader) [RUU]WP,system,82
(bootloader) [RUU]WP,system,84
(bootloader) [RUU]WP,system,86
(bootloader) [RUU]WP,system,88
(bootloader) [RUU]WP,system,89
(bootloader) [RUU]WP,system,91
(bootloader) [RUU]WP,system,93
(bootloader) [RUU]WP,system,95
(bootloader) [RUU]WP,system,97
(bootloader) [RUU]WP,system,99
(bootloader) [RUU]WP,system,100
(bootloader) ...... Successful
(bootloader) start image[sp1] unzipping & flushing...
(bootloader) [RUU]UZ,sp1,0
(bootloader) [RUU]UZ,sp1,99
(bootloader) [RUU]UZ,sp1,100
(bootloader) [RUU]WP,sp1,0
(bootloader) [RUU]WP,sp1,100
(bootloader) ...... Successful
(bootloader) start image[radio] unzipping & flushing...
(bootloader) [RUU]UZ,radio,0
(bootloader) [RUU]UZ,radio,8
(bootloader) [RUU]UZ,radio,17
(bootloader) [RUU]UZ,radio,25
(bootloader) [RUU]UZ,radio,33
(bootloader) [RUU]UZ,radio,38
(bootloader) [RUU]UZ,radio,46
(bootloader) [RUU]UZ,radio,54
(bootloader) [RUU]UZ,radio,59
(bootloader) [RUU]UZ,radio,67
(bootloader) [RUU]UZ,radio,76
(bootloader) [RUU]UZ,radio,85
(bootloader) [RUU]UZ,radio,92
(bootloader) [RUU]UZ,radio,99
(bootloader) [RUU]UZ,radio,100
(bootloader) [RUU]WP,radio,0
(bootloader) [RUU]WP,radio,33
(bootloader) [RUU]WP,radio,67
(bootloader) [RUU]WP,radio,100
(bootloader) ...... Successful
(bootloader) start image[rcdata] unzipping & flushing...
(bootloader) [RUU]UZ,rcdata,0
(bootloader) [RUU]UZ,rcdata,100
(bootloader) [RUU]WP,rcdata,0
(bootloader) [RUU]WP,rcdata,100
(bootloader) ...... Successful
OKAY [294.154s]
finished. total time: 337.335s

C:\Usr\Android\HTC_site\C_HTL21\downgrad_tool>fastboot reboot

rebooting...

finished. total time: 0.031s

C:\Usr\Android\HTC_site\C_HTL21\downgrad_tool>

Android-004 root化(EM01L)

6.EMOBILE Nexus 5 (EM01L)編 [6/6]

GooglePlayの販売と同じMODEL LG-D821。
手持ちのEM01Lの履歴。
入手日2014年01月26日 ソフトウェアの番号:KOT49H Androidバージョン:4.4.2

(1)Google USB Driverのダウンロード
新型Nexus7(2013)のドライバインストール方法。
を見て、http://developer.android.com/sdk/win-usb.html から
latest_usb_driver_windows.zipをインストールする。

(2)Nexus5のブートローダーアンロック
Nexus5のブートローダーアンロック方法。
とても丁寧な解説でわかりやすい。

(3)カスタムリカバリ TWRPを導入
Nexus5にカスタムリカバリ TWRPを導入する方法。
とても丁寧な解説でわかりやすい。

(4)Nexus5のRoot化
Nexus5 Android4.4.1(KOT49E)のRoot化方法・手順
手持ちのEM01LはKOT49Hだったが、とくに問題はなくRoot化できた。 SuperSUは以下のバージョンを/sdcardに配置した。 MD5 (UPDATE-SuperSU-v1.91.zip) = f8ff8a15aea0fa196366d8bfb102d990 SuperSUを書き込むのと、バックアップのようす。

(5)番外コラム
rootを取るとTitaniumBackupで無効化と削除で不要アプリを整理できる。調子に乗ってどんどん消していくときで、Launcher系のアプリまでを無効にしてしまってHOME画面が立ち上がらないときには、以下のコマンドが役に立つかもしれない。
% adb shell
shell@hammerhead:/ $ am start -n com.keramidas.TitaniumBackup/.MainActivity
Starting: Intent { cmp=com.keramidas.TitaniumBackup/.MainActivity }
#実は、画面真っ黒になったことがあって、これでTitaniumを起動して回復することができました。(^^)


Android-003 root化(IS12S,SO-01E)

4.Xperia acro HD (IS12S)編 [4/6]

手持ちのIS12Sアップデートの履歴。
入手日2013年02月17日 ソフトウェアの番号:不明 Androidバージョン:2.3
更新日2013年02月18日 ソフトウェアの番号:6.1.D.1.91 Androidバージョン:4.0.4
au製品アップデート情報のページ 
Xperia acro HD IS12S アップデート情報
最終は 2013年8月6日 ソフトウェアの番号:6.1.D.1.103 のもよう
当方は更新日2013年02月18日の6.1.D.1.91のままアップデートはせず放置していた。

(1)install.batツール
IS12S 最新版ファームでもワンクリックRootが可能になっていたメモ
XPERIA Mod Files: IS12S (6.1.D.1.91) アップデートとRoot化、今後のModについて
など読んで、
root | root[IS12S]6.1.D.1.91.zip ダウンロード | uploader.jp
をダウンロードする。
MD5 (root[IS12S]6.1.D.1.91.zip) = 7b8808899db569b76a9b1d3875bffff0

・ドライバインストール
どこからのツールをインストールしたか記録が無い。たぶんPC Companionのインストールすると、次のUSBドライバが入るだろう。

・install.batを実行
最初と最後の画面を示す。

・root化後の adb shellのようす
% adb shell
shell@android:/ $ getprop ro.semc.product.name
Xperia acro HD IS12S
shell@android:/ $ getprop ro.semc.version.sw_revision
6.1.D.1.91
shell@android:/ $ ls -l /data/data/com.android.phone
opendir failed, Permission denied
1|shell@android:/ $ whoami
whoami: unknown uid 2000
1|shell@android:/ $ id
uid=2000(shell) gid=2000(shell) groups=1003(graphics),1004(input),1007(log),1009(mount),1011(adb),1015(sdcard_rw),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats)
shell@android:/ $ su
shell@android:/ # ls -l /data/data/com.android.phone
drwx------ radio    radio             2013-02-17 20:13 atmprovi
drwxrwx--x radio    radio             2013-02-18 04:54 databases
drwxrwx--x radio    radio             1970-01-21 18:17 files
drwxr-xr-x system   system            1970-01-21 18:17 lib
drwxrwx--x radio    radio             2013-02-19 23:06 shared_prefs
shell@android:/ # whoami
whoami: unknown uid 0
1|shell@android:/ # id
uid=0(root) gid=0(root) groups=1003(graphics),1004(input),1007(log),1009(mount),1011(adb),1015(sdcard_rw),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats)
shell@android:/ #

5.docomo Xperia AX (SO-01E)編 [5/6]

手持ちのSO-01Eアップデートの履歴。
入手日2012年11月23日 ビルド番号:9.0.G.0.238 Androidバージョン:4.0.4
更新日2012年11月29日 ビルド番号:9.0.G.0.247
更新日2013年01月31日 ビルド番号:9.0.G.1.76
更新日2013年03月21日 ビルド番号:9.0.G.1.108
更新日2013年06月12日 ビルド番号:9.0.C.0.473 Androidバージョン:4.1.2
更新日2013年06月28日 ビルド番号:9.0.C.0.475
更新日2013年09月20日 ビルド番号:9.0.C.1.103
docomoの製品アップデート情報のページ 
Xperia AX SO-01Eの製品アップデート情報
最終は 2013年9月19日 ビルド番号:9.1.C.1.103 のもよう

※この端末はスリープ中に死ぬ症状に悩まされたが、更新日2013年01月31日 ビルド番号:9.0.G.1.76 以降は発生せず解消されたようだ。

(1)install.batツール
キューブ実験室

rootkitAX_JB_1_103.zip をダウンロード。
MD5 (rootkitAX_JB_1_103.zip) = 6507c371bdb5aefb19c8e940da263680

・実行時のログ
rootkitAX_JB_1_103>install.bat
■■■Xperia AX(JB 9.1.C.1.103) rootkit■■■

端末の準備待ちです。
adb server is out of date.  killing...
* daemon started successfully *
425 KB/s (13592 bytes in 0.031s)
2165 KB/s (380532 bytes in 0.171s)
2298 KB/s (1468798 bytes in 0.624s)
2515 KB/s (1165484 bytes in 0.452s)
0 KB/s (148 bytes in 1.000s)
26 KB/s (1250 bytes in 0.046s)

root取得処理を開始します。
Wait a minutes...
Succeeded in getroot!
743+1 records in
743+1 records out
380532 bytes transferred in 0.016 secs (23783250 bytes/sec)
2868+1 records in
2868+1 records out
1468798 bytes transferred in 0.064 secs (22949968 bytes/sec)
2276+1 records in
2276+1 records out
1165484 bytes transferred in 0.076 secs (15335315 bytes/sec)
0+1 records in
0+1 records out
148 bytes transferred in 0.001 secs (148000 bytes/sec)

一時ファイルを削除します。

再起動します。
端末の準備待ちです。

■■■完了しました■■■
続行するには何かキーを押してください . . .

(2)CWM Recovery
【CWM】ClockworkMod-Based Recovery with cray_Doze Mod for Xperia v2.3a
ここのCWM6-cDM_v2.3a.zipを使った。
MD5 (CWM6-cDM_v2.3a.zip) = 7bfe498224ff228bf81b70e75941b133
・cwm-install.batを実行。でてくる画面通りの指示で処理できた。
SO-01E電源ONのあと青LED点灯で<VOL UP or DOWN>長押しでCWM Recoveryモードに入る。以下はbackup処理の画面。


Android-002 root化(HTL21,HTL22)

2.HTC J(HTL21)編 [2/6]

手持ちのHTL21アップデートの履歴。
入手日2013年02月17日 ソフトウェアの番号:1.15.970.1 Androidバージョン:4.1.1
更新日2013年03月13日 ソフトウェアの番号:1.29.970.1
更新日2013年08月22日 ソフトウェアの番号:1.36.970.1
au製品アップデート情報のページ 
HTC J butterfly HTL21 アップデート情報
最終は 2013年12月11日 ソフトウェアの番号:1.39.970.1 のもよう
当方は2013年08月22日の1.36.970.1にしてからアップデートはせず放置していた。

(1)1.36.970.1から1.15.970.1 にバージョンダウン
【誤報でした】au HTL21 HTC J butterflyのダウングレードが可能に、やってみた (HTC速報Dev)
このHTC速報Devを見たあと、つぎの、 小物置き場
に、
HTC J One/HTC J butterfly用ダウングレードツール
【対応端末】HTC J butterfly(ソフトウェア番号:1.36.970.1および1.39.970.1)
というのが早そうなので試した。以下2つのzipファイルを用意して、

[firmware.zip]
・HTC J butterfly HTL21(ソフトウェア番号:1.36.970.1用)
は、1369701_firmware.zip にリネームする。
MD5 (1369701_firmware.zip) = eba04a7b8eced5253e6f7afb312ab020

[PL99IMG_DLX_WLJ_JB_45_KDDI_JP_1.15.970.1_R_Radio_1.00.10.1127_3_NV_2.28_01C_release_signed.zip]
は、rom.zip にリネームする。
MD5 (rom.zip) = bbdb74f082b9ca6b98e7419bf1a32d12

をdowngrad_toolに配置して、downgrad_tool>run_me.bat を実行するが、
途中で止まってしまった。
downgrad_tool>run_me.bat
|<途中省略>
Attempt put_user exploit...
0p21 of=/sdcard/mmcblk0p21_misc_backup
2045+0 records in
2045+0 records out
1047040 bytes transferred in 0.357 secs (2932885 bytes/sec)
1_misc_fake of=/dev/block/mmcblk0p21
2045+0 records in
2045+0 records out
1047040 bytes transferred in 0.137 secs (7642627 bytes/sec)
shell@android:/data/local/tmp # exit
shell@android:/data/local/tmp $ exit
RUUを適用します。触らずにそのままお待ちください。

0 秒待っています。続行するには何かキーを押してください ...
< waiting for device >
...
(bootloader) Start Verify: 3
OKAY [  0.039s]
finished. total time: 0.040s

0 秒待っています。続行するには何かキーを押してください ...
< waiting for device >
sending 'zip' (35212 KB)...
|<ここで止まった。>
sending 'zip' (35212 KB)...
FAILED (status read failed (Too many links))
finished. total time: 5464.188s

 0 秒待っています。続行するには何かキーを押してください ...
< waiting for device >
なにか足りないものがあるのだろう。これは弱った。あきらめずに、run_me.batを読んで、1行ごと手打ちで実行してみることにした。たぶんfastboot flash zip rom.zipあたりで止まっているのだろうと予想した。
C:\Users\myuser>adb shell
shell@android:/ $ cd /data/local/tmp
cd /data/local/tmp
shell@android:/data/local/tmp $ ls -l
ls -l
-rwxr-xr-x shell    shell       55296 2014-01-22 18:33 device.db
-rwxr-xr-x shell    shell      396588 2014-01-22 18:47 run_root_shell
shell@android:/data/local/tmp $ ls -l /sdcard/mmc*
ls -l /sdcard/mmc*
-rwSrwSr-T root     sdcard_rw  1047040 2014-02-16 17:32 mmcblk0p21_misc_backup
-rw-rw-r-- root     sdcard_rw  1047040 2014-02-16 17:31 mmcblk0p21_misc_fake
shell@android:/data/local/tmp $ ./run_root_shell
./run_root_shell
Device detected: HTL21 (JRO03C)
Attempt acdb exploit...
failed to open /dev/msm_acdb due to Permission denied.
Attempt fj_hdcp exploit...
Attempt msm_cameraconfig exploit...
Detected kernel physical address at 0x80608000 form iomem
Attempt put_user exploit...

1|shell@android:/data/local/tmp # cmp -l /dev/block/mmcblk0p21 /sdcard/mmcblk0p2
1_misc_backup
lk0p21 /sdcard/mmcblk0p21_misc_backup                                         <
/dev/block/mmcblk0p21 /sdcard/mmcblk0p21_misc_backup differ byte 162
/dev/block/mmcblk0p21 /sdcard/mmcblk0p21_misc_backup differ byte 163
/dev/block/mmcblk0p21 /sdcard/mmcblk0p21_misc_backup differ byte 165
/dev/block/mmcblk0p21 /sdcard/mmcblk0p21_misc_backup differ byte 166
/dev/block/mmcblk0p21 /sdcard/mmcblk0p21_misc_backup differ byte 169
1|shell@android:/data/local/tmp # cmp -l /dev/block/mmcblk0p21 /sdcard/mmcblk0p2
1_misc_fake
lk0p21 /sdcard/mmcblk0p21_misc_fake                                           <
shell@android:/data/local/tmp #

|mmcblk0p21のパッチは正しいようだ。
|<途中省略>

HTL21\downgrad_tool>fastboot flash zip rom.zip
sending 'zip' (821718 KB)...
OKAY [ 43.181s]
writing 'zip'...
(bootloader) adopting the signature contained in this image...
(bootloader) signature checking...
(bootloader) rom parsing start ...
(bootloader) rom parsing finish ...
(bootloader) zip header checking...
(bootloader) zip info parsing...
(bootloader) checking model ID...
(bootloader) checking custom ID...
(bootloader) checking main version...
(bootloader) checking hboot version...
(bootloader) start image[sbl3] unzipping & flushing...
(bootloader) [RUU]UZ,sbl3,0
(bootloader) [RUU]UZ,sbl3,100
(bootloader) signature checking...
(bootloader) ...... Successful
(bootloader) start image[boot] unzipping & flushing...
(bootloader) [RUU]UZ,boot,0
(bootloader) [RUU]UZ,boot,14

|<途中省略>

(bootloader) [RUU]WP,radio,0
(bootloader) [RUU]WP,radio,33
(bootloader) [RUU]WP,radio,67
(bootloader) [RUU]WP,radio,100
(bootloader) ...... Successful
(bootloader) start image[rcdata] unzipping & flushing...
(bootloader) [RUU]UZ,rcdata,0
(bootloader) [RUU]UZ,rcdata,100
(bootloader) [RUU]WP,rcdata,0
(bootloader) [RUU]WP,rcdata,100
(bootloader) ...... Successful
OKAY [294.154s]
finished. total time: 337.335s

HTL21\downgrad_tool>fastboot reboot

rebooting...

finished. total time: 0.031s
再起動で、ソフトウェアの番号:1.15.970.1 にバージョンダウンされていた。

(2)root化やSuperCID化、BootLoaderUnlockの作業
HTC J butterfly : root化について (HTC速報Dev)

HTC_J_butterfly_rootkit_v1.1>runme.bat
この「runme.bat」で行った。この画面通りの指示でSuperCID以外は処理できた。

(3)Spoof-CID.batの作業
Unlock_code.bin を得ようとすると、
Error Code: 160.
Error Reason: MID Not Allowed. となってしまった。
そこで、
HTC J butterfly HTL21 のSuperCID化・ブートローダアンロック・rooting・S-OFF
の「SuperCIDを11111111から22222222にする」の通りに実行してOKになった。

3.HTC J One(HTL22)編 [3/6]

手持ちのHTL22アップデートの履歴。
入手日2013年10月9日 ソフトウェアの番号:1.07.970.4 Androidバージョン:4.1.2
au製品アップデート情報のページ 
HTC J One HTL22 アップデート情報
最終は 2013年12月19日 ソフトウェアの番号:2.21.970.2 のもよう
当方は入手日2013年10月9日の1.07.970.4のままアップデートはせず放置していた。
HTC J One HTL22のS-OFFが可能に、M7_WLJ専用「revone-wlj」が公開へ S-OFF手順
このHTC速報Devを見たあと、つぎの、
HTL22ことHTC J ONEのブートローダーアンロックとS-OFFからのroot権限取得、そしてAndroid4.2へバージョンアップなど
が、とてもよくまとまっていたので、この作業内容に沿って処理した。

手順は順番の通りに進めばよかったのに、
「au公式のAndroid4.2.2へのバージョンアップ」を飛ばしてしまった。
Android4.2.2のOTAは、 OTA_M7_WLJ_JB422_SENSE50_MR_KDDI_JP_2.15.970.1-1.07.970.4_release_3331417doal9gnjh1c57xx.zip として、Downloadされるが、これは、純正リカバリのままでないとアップデートできないことがあとで判った。すでに「カスタムリカバリの導入」でCWMを書いてしまったので、Android4.2.2にアップデートしそこなっている。

■追記 2015.4.9に行った作業

●Android4.2.2(2.15.970.1)へのアップデート
以下のzipファイルを入手して、PN07IMG.zipにリネームし、SDカードに入れる。
% mv RUU_M7_WLJ_JB422_SENSE50_MR_KDDI_JP_2.15.970.1_Radio_1.23.11.0829_NV_3.39_01C_333116_unsigned_htcsoku_PN07IMG_2.zip PN07IMG.zip
% ls -l PN07IMG.zip
 942854287  4  9 15:02 PN07IMG.zip
% md5 PN07IMG.zip
MD5 (PN07IMG.zip) = d1991b572323b87ebf1fa8fa38dc5b4c
FASTBOOTから、HBOOT起動して20分くらいでRUUが完了した。
無事に、Android4.2.2になった。

●SIM Unlockもやってみる。
mmcblk0p19を書き換える。
# dd if=/dev/block/mmcblk0p19 of=/misc.img
2045+0 records in
2045+0 records out
1047040 bytes (1022.5KB) copied, 0.083626 seconds, 11.9MB/s
# ls -l misc.img
-rw-rw-rw-    1 root     root       1047040 Apr  9 01:07 misc.img
emacsから直接Hexで入力する、M-x hexl-insert-hex-char
misc.imgをバイナリで開き1023のところを00→11に変更
imac:% md5 misc.img misc.img.org
MD5 (misc.img) = d5fb24d61836bb12fcde8c9026808e9b
MD5 (misc.img.org) = a436015adc35e0e661a1ba573a092c72

% cmp -l misc.img.org misc.img
   4132   0  21 (Octal)

imac:% adb push misc.img /
# dd if=/misc.img of=/dev/block/mmcblk0p19
2045+0 records in
2045+0 records out
1047040 bytes (1022.5KB) copied, 0.120494 seconds, 8.3MB/s
# reboot
BIGLOBEのSIMを挿しての通信はLTEをつかんでいる。安定しており常用しても問題ないようだ。

Android-001 root化(ISW13HT)

手持ちのAndroid端末6台を初心者ながらroot化してみた。root化の作業の知識はほとんどなく、ワンクリックツールで以前に
2013年4月26日金曜日 記事 Nexus7-01 4.2.2(JDQ39)
2013年4月29日月曜日 記事 GalaxyNexus-01 4.2.2(JDQ39)
の2台をroot化したことがあるくらいで、このときと同様に、今回、もし失敗して端末起動しなくなったら、そっとジャンク箱にしまい込むつもりで臨んだ。が、喜ばしいことにとりあえず6台はroot化に成功した。
そのとき、ググって参照したページをメモに残す。有用な情報を掲載くださった方々に感謝します。
※ 以下、目新しい情報はありません。同じようにやって見た。という話題・内容です。
※ 作業しながら本メモを書いていないので記憶に間違いがあるかもです。
# Android端末6台の一覧
1.au HTC J (ISW13HT)
2.au HTC J butterfly (HTL21)
3.au HTC J One (HTL22)
4.au Xperia acro HD (IS12S)
5.docomo Xperia AX (SO-01E)
6.EMOBILE Nexus 5 (EM01L)

0.事前準備・予備知識

以下のコマンドでiMacにて作業前バックアップを取った。
% adb backup -f 20YYMMDD_shared.ab -apk -shared -all -system
復元は、
% adb restore 20YYMMDD_shared.ab
自分がインストールしたアプリとsdcardなどのユーザエリアの退避復元は問題なく行えた。-shared -allで、sdcardパスであるshared/0/やshared/1/が対象になるようだ。

・Win7機のAndroidドライバはHTC Sync Manager
 setup_2.4.36.0_htc.exe をインストールする。
・Android SDKはGet the Android SDK > Download から
 installer_r22.3-windows.exeをc:\android-sdk-windowsにインストールする。
 さらにPath=c:\android-sdk-windows\platform-tools; パスを通す。
・C:\Windows\System32\ja-JP\devmgmt.msc
 デバイスマネージャをデスクトップにショートカット。
 これは、> Android USB Devices をみて、
  + My HTC ... HTC機接続で「このデバイスは正常に動作しています。」確認用。
・Android端末設定
 開発者向けオプション USBデバッグ ON(必須)
 セキュリティ     不明な提供元 ON
 ディスプレイ     スリープを無効にする ON
・HTC機種ブートローダHBOOTの入りかた
 電源OFFで、<POWER>+<VOL DOWN>同時押しして、7秒後に<POWER>を離す。
 コマンドでは、$ adb reboot bootloader
・リカバリモードへはブートローダのHBOOTメニューからRECOVERYを選ぶ
 コマンドでは、$ adb reboot recovery

1.HTC J(ISW13HT)編 [1/6]

手持ちのISW13HTアップデートの履歴。
入手日2012年07月13日 ソフトウェアの番号:1.20.970.2 Androidバージョン:4.0.3
更新日2012年07月13日 ソフトウェアの番号:1.31.970.1
更新日2012年10月16日 ソフトウェアの番号:2.05.970.3
更新日2013年03月19日 ソフトウェアの番号:2.06.970.4
au製品アップデート情報のページ 
HTC J ISW13HT アップデート情報
最終は 2013年11月19日 ソフトウェアの番号:2.07.970.7 のもよう
当方は2013年03月19日の2.06.970.4にしてからアップデートはせず放置していた。

(1)2.06.970.4から2.05.970.3 にバージョンダウン
ISW13HT(Version 2.06.970.4)のS-OFFまでの手順について (HTC速報Dev)

<バイナリエディタ確認メモ>
Emacsでmmcblk0p23.orgを開いて M-x hexl-mode
00000080: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000090: 436c 6561 7241 7574 6f49 6d61 6765 2000 ClearAutoImage . 000000a0: 322e 3036 2e39 3730 2e34 0000 0000 0000 2.06.970.4...... 000000b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ % cmp -l mmcblk0p23.org mmcblk0p23 #cmpコマンドは8進 164 66 65  #16進 36 → 35 170 64 63  #16進 34 → 33 000000a0: 322e 3035 2e39 3730 2e33 0000 0000 0000 2.05.970.3......
バージョンダウンの実行は、このページの
http://htcsoku.info/htcsokudev/rudimentary-knowledge/ruu/
「本体でSDカード(外部メモリ)から直接RUUを行う方法」で行った。
RUU_VALENTE_WX_ICS_40_S_KDDI_JP_2.05.970.3_Radio_1.53.30.0905_NV_1.17_01C_release_284185_signed.exe から、rom.zipを取り出して、PK07IMG.zipにリネームする。
ファイル:545552438 9 21 2012 PK07IMG.zip
MD5 (PK07IMG.zip) = 3ad984581a5e5f08763e6087fd1bce7f

このPK07IMG.zipを/sdcardに配置し、HBOOTを起動すると次の画面になった。
rebootすると、2.05.970.3へのダウングレードができていた。

(2)root化やSuperCID化、BootLoaderUnlockなどの作業
このページの 「※3、バージョン2.05.970.3の方」にある
HTCJrootkit_v3.1.rarのrootkitを用いた。
HTC J Valente : 各バージョンのroot化について (HTC速報Dev)
を見て、SuperCID、アンロック、recovery起動、SuperSuを行った。

さらにISW13HTのroot化、アンロック、S-OFF、SIMフリー化までは、丁寧でとてもわかりやすい。
SIMフリー化の解説もあったが、auの回線で使う可能性があるので処理はしなかった。

(3)S-OFFの作業
この「FacePalm」で行った。この通りに処理できた。


2014年1月6日月曜日

obsA7-008 無線LAN

アクセスポイント(無線LANブリッジ)として使用する場合の設定を行ったときのメモです。

1.無線LAN子機 WLI-UC-GN

BUFFALO WLI-UC-GN、このWLI-UC-GNは、 obs600でも使用していたもの (記事2011年6月19日 obs600-10 BUFFALOアダブタ) で、やや安定感が低く時々はドライバをUnload/Loadしながらで、やがて使わなくなっています。linux-2.6.36のときから、linux-3.2.40にアップグレードした今回のドライバではどうでしょうか。
WLI-UC-GN抜き差ししやすいように、短めの延長ケーブルを使っている。
ドライバのビルドせずともWLI-UC-GNアダプタを刺すだけで認識した。
% tail -f /var/log/syslog
Jan  6 11:11:05 obsa7 kernel: usb 1-1.2: new high-speed USB device number 6 using orion-ehci
Jan  6 11:11:05 obsa7 kernel: usb 1-1.2: New USB device found, idVendor=0411, idProduct=015d
Jan  6 11:11:05 obsa7 kernel: usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan  6 11:11:05 obsa7 kernel: usb 1-1.2: Product: 802.11 n WLAN
Jan  6 11:11:05 obsa7 kernel: usb 1-1.2: Manufacturer: Ralink
Jan  6 11:11:05 obsa7 kernel: usb 1-1.2: SerialNumber: 1.0
Jan  6 11:11:05 obsa7 kernel: usb 1-1.2: reset high-speed USB device number 6 using orion-ehci
Jan  6 11:11:05 obsa7 kernel: ieee80211 phy18: Selected rate control algorithm 'minstrel_ht'
Jan  6 11:11:05 obsa7 kernel: Registered led device: rt2800usb-phy18::radio
Jan  6 11:11:05 obsa7 kernel: Registered led device: rt2800usb-phy18::assoc
Jan  6 11:11:05 obsa7 kernel: Registered led device: rt2800usb-phy18::quality
Jan  6 11:11:05 obsa7 kernel: usbcore: registered new interface driver rt2800usb
# lsmod
Module                  Size  Used by
rt2800usb              12586  0
rt2800lib              39792  1 rt2800usb
crc_ccitt               1045  1 rt2800lib
rt2x00usb               7293  1 rt2800usb
rt2x00lib              29900  3 rt2x00usb,rt2800lib,rt2800usb
まず始めは、rtl8192cu な GW-USValue-EZを試みたがうまく設定できなかった。
この rt2800usb はすんなりと動いた。
% uname -a #OBSA7標準のこのバージョンを使用
Linux obsa7 3.2.40 #1 Mon Oct 21 14:10:25 JST 2013 armv5tel GNU/Linux

2.ralinkファームウェアインストール

# aptitude install firmware-ralink
The following NEW packages will be installed:
  firmware-ralink
0 packages upgraded, 1 newly installed, 0 to remove and 2 not upgraded.
Need to get 21.4 kB of archives. After unpacking 96.3 kB will be used.
Get: 1 http://ftp.plathome.co.jp/pub/debian/ wheezy/non-free firmware-ralink all 0.36+wheezy.1 [21.4 kB]
Fetched 21.4 kB in 0s (82.6 kB/s)
Selecting previously unselected package firmware-ralink.
(Reading database ... 33634 files and directories currently installed.)
Unpacking firmware-ralink (from .../firmware-ralink_0.36+wheezy.1_all.deb) ...
Setting up firmware-ralink (0.36+wheezy.1) ...

# rt2*.bin rt3*.bin rt73.bin がインストールされる
# ls /lib/firmware/
RTL8192E     mts_cdma.fw  rt2661.bin  rt3090.bin  ti_5052.fw
RTL8192SU    mts_edge.fw  rt2860.bin  rt73.bin   whiteheat.fw
edgeport     mts_gsm.fw   rt2870.bin  rtl_nic   whiteheat_loader.fw
kaweth      rt2561.bin   rt3070.bin  rtlwifi
keyspan_pda  rt2561s.bin  rt3071.bin  ti_3410.fw

3.hostapdのインストール

% wget http://hostap.epitest.fi/releases/hostapd-2.0.tar.gz
% tar zxf hostapd-2.0.tar.gz
% cd hostapd-2.0/hostapd
% cp defconfig .config
% echo CONFIG_LIBNL32=y >> .config

% diff defconfig .config  #CONFIG_IEEE80211N=yも変更した
139c139
< #CONFIG_IEEE80211N=y
---
> CONFIG_IEEE80211N=y
269a270
> CONFIG_LIBNL32=y

% sudo apt-get libnl-genl-3-dev libssl-dev
% make
# make install
# /usr/local/bin/hostapd -v
hostapd v2.0
User space daemon for IEEE 802.11 AP management,
IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Copyright (c) 2002-2012, Jouni Malinen  and contributors

#hostapd.confはとりあえず動いた状態でまだ吟味できていない
# cat /etc/hostapd/hostapd.conf
interface=wlan0
bridge=br0
driver=nl80211
country_code=JP
ieee80211d=1
ssid=MYSSID
channel=6
hw_mode=g
wpa=2
wpa_passphrase=MYPASSPHRASE
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
ieee80211n=1
wmm_enabled=1
#

4.hostapdの実行

# /usr/local/bin/hostapd /etc/hostapd/hostapd.conf
Configuration file: /etc/hostapd/hostapd.conf
rfkill: Cannot open RFKILL control device
Using interface wlan0 with hwaddr 4c:e6:76:XX:XX:XX and ssid "MYSSID"
^C 起動を確認して中断し、backgroundの-Bをつけて起動。
# /usr/local/bin/hostapd -B /etc/hostapd/hostapd.conf

# iwconfig 2>&1|egrep -v "^$|no wireless"
wlan0     IEEE 802.11bgn  Mode:Master  Frequency:2.437 GHz  Tx-Power=20 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:on

mon.wlan0  IEEE 802.11bgn  Mode:Monitor  Tx-Power=20 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:on

# ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 4c:e6:76:XX:XX:XX
          inet6 addr: fe80::4ee6:76ff:XXX:YYYY/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:36414 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48406 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4066244 (3.8 MiB)  TX bytes:39695195 (37.8 MiB)

# tail -f /var/log/syslog
Jan  6 11:44:59 obsa7 kernel: device wlan0 entered promiscuous mode
Jan  6 11:44:59 obsa7 kernel: br0: port 2(wlan0) entering forwarding state
Jan  6 11:44:59 obsa7 kernel: br0: port 2(wlan0) entering forwarding state
Jan  6 11:45:02 obsa7 ntpd[3148]: Listen normally on 32 wlan0 fe80::4ee6:76ff:XXX:YYYY UDP 123
Jan  6 11:45:02 obsa7 ntpd[3148]: peers refreshed
Jan  6 11:45:10 obsa7 kernel: wlan0: no IPv6 routers present
Jan  6 11:45:14 obsa7 kernel: br0: port 2(wlan0) entering forwarding state

Jan  6 11:45:58 obsa7 hostapd: wlan0: STA 84:7a:88:XX:XX:XX IEEE 802.11: authenticated
Jan  6 11:45:58 obsa7 hostapd: wlan0: STA 84:7a:88:XX:XX:XX IEEE 802.11: associated (aid 1)
Jan  6 11:45:58 obsa7 hostapd: wlan0: STA 84:7a:88:XX:XX:XX RADIUS: starting accounting session 52CA18AB-00000000
Jan  6 11:45:58 obsa7 hostapd: wlan0: STA 84:7a:88:XX:XX:XX WPA: pairwise key handshake completed (RSN)
syslogにこのようなメッセージで"WPA: pairwise key handshake completed"がでてるとOK。

5.rt2800usbドライバのアンロード/ロード

別ドライバGW-USValue-EZなどrtl8192cuをテストするのにドライバのアンロード/ロードをするたびに、wlan0,wlan1,wlan2...とインターフェイス名が変わるのはおもしろくないので、wlan0固定で使えるように以下のようなスクリプトを書いて回避するようにした。
インターフェイス名はこのファイルが影響するもよう
# tail -3 /etc/udev/rules.d/70-persistent-net.rules

# USB device 0x:0x (rt2800usb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="4c:e6:76:3c:a9:01", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"

#70-persistent-net.rulesの後ろ3行を削除して、ドライバをロードすると、
#いつも"wlan0" になるが、もっとスマートな方法がありそうな...

# cat /etc/init.d/bridge.sh
#! /bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
LINK=`cat /etc/LIF`  #もしくはLINK=eth0
WIF=${WIF:=eth1}
case "$1" in
  start)
    echo -n "Configuring bridge interfaces..."
    ps ax|grep dhclient|grep -qv grep
    if [ $? != 1 ]; then
       killall dhclient
    fi
    lsmod | grep -q rt2800usb
    if [ $? != 1 ]; then
       rmmod rt2800usb rt2800lib crc_ccitt rt2x00usb rt2x00lib
    fi
    RDIR="/etc/udev/rules.d"
    RULE="70-persistent-net.rules"
    RSRC=${RDIR}/${RULE}
    WLAN="wlan0"
    if [ -f $RSRC ]; then
           grep -q $WLAN $RSRC
           if [ $? = 0 ]; then
              RTMP="/tmp/${RULE}"
              cp -p $RSRC $RTMP
              POS1=`egrep -n $WLAN $RTMP |head -1| cut -d: -f1`
              POS0=`expr ${POS1} - 2`
              sed -e ${POS0},${POS1}d $RTMP > $RSRC
           fi
    fi
   #diff /tmp/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules
   # vi /etc/udev/rules.d/70-persistent-net.rules  ...  sed /wlan0/d
    brctl addbr br0
    brctl addif br0 $LINK
    ifconfig $LINK 0.0.0.0 up
    sleep 1
    modprobe rt2800usb
    ( sleep 2; /sbin/dhclient -q ${WIF}; sleep 5; \
      /usr/local/bin/hostapd -B /etc/hostapd/hostapd.conf ) &
    echo "done."
      ;;
  stop)
    echo -n "Deconfiguring bridge interfaces..."
    ps ax|grep hostapd|grep -qv grep
    if [ $? != 1 ]; then
        killall hostapd
    fi
    killall dhclient
    ifconfig -a|grep -q br0
    if [ $? != 1 ]; then
       ifconfig br0 0.0.0.0 down
    fi
    ifconfig $LINK 0.0.0.0 down
    lsmod | grep -q rt2800usb
    if [ $? != 1 ]; then
       rmmod rt2800usb rt2800lib crc_ccitt rt2x00usb rt2x00lib
    fi

    brctl delif br0 $LINK
    brctl show|grep -q $LINK
    if [ $? != 1 ]; then
       brctl delif br0 $LINK
    fi
    brctl show|grep -q br0
    if [ $? != 1 ]; then
       brctl delbr br0
    fi
    echo -n "dhclient $LINK . "
    /sbin/dhclient -q $LINK
    echo "done."
      ;;
  *)
    echo "Usage: $0 {start|stop}" >&2
    exit 1
      ;;
esac
#
/etc/network/interfaces に指定するのがスマートなのでしょうが、テスト時の柔軟さを優先すると、スクリプト書きが好みです。 安定して動作するか、転送速度・性能を含めて経過観察していきたい。

6.WLI-UC-GN稼働状況(追記2014.4.21)

OBS A7 は実に安定している。堅牢ということばが似合うルータだ。
遅ればせながら、# aptitude update と # aptitude safe-upgrade を行い
kernel-image や OpenSSL を含むアップデートを行う前に、wlan0のインターフェイス を確認しておく。
% date
Mon Apr 21 09:39:04 JST 2014

% uptime
 09:39:29 up 93 days, 19:35,  2 users,  load average: 0.05, 0.09, 0.06

% ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 4c:e6:76:3c:a9:01
          inet6 addr: fe80::4ee6:76ff:fe3c:a901/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:34453010 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36020512 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2098197015 (1.9 GiB)  TX bytes:3952858575 (3.6 GiB)
wlan0は連続93日稼働で、TX側36020512パケットで(3.6 GiB)となっている。
br0       Link encap:Ethernet  HWaddr 00:0a:85:09:01:74
          inet addr:192.168.1.30  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20a:85ff:fe09:174/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:44300752 errors:0 dropped:2 overruns:0 frame:0
          TX packets:67218375 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5603503687 (5.2 GiB)  TX bytes:83616546596 (77.8 GiB)
ちなみにブリッジinterface br0には77.8 GiB流量があったようだ。
ここまでの約3ヶ月、WLI-UC-GNは問題なく、とても良く働いてくれている。

そして、iPerfでobsA7とiMac間をパフォーマンス測定すると。
(obsA7側) % iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.30 port 5001 connected with 192.168.1.62 port 65098
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.1 sec  37.5 MBytes  31.1 Mbits/sec

(iMac側) % iperf -c obsa7
------------------------------------------------------------
Client connecting to obsa7, TCP port 5001
TCP window size:  129 KByte (default)
------------------------------------------------------------
[  5] local 192.168.1.62 port 65098 connected with 192.168.1.30 port 5001
[ ID] Interval       Transfer     Bandwidth
[  5]  0.0-10.1 sec  37.5 MBytes  31.2 Mbits/sec
およそ無線LANでは、31Mbits/secと計測できた。

ちなみに有線LANだと。以下のように132Mbits/secと計測した。
(obsA7側) % iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.30 port 5001 connected with 192.168.1.61 port 65039
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec   157 MBytes   132 Mbits/sec

(iMac側) % iperf -c obsa7
------------------------------------------------------------
Client connecting to obsa7, TCP port 5001
TCP window size:  129 KByte (default)
------------------------------------------------------------
[  5] local 192.168.1.61 port 65039 connected with 192.168.1.30 port 5001
[ ID] Interval       Transfer     Bandwidth
[  5]  0.0-10.0 sec   157 MBytes   132 Mbits/sec
# iwconfig
wlan0     IEEE 802.11bgn  Mode:Master  Frequency:2.437 GHz  Tx-Power=20 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
mon.wlan0  IEEE 802.11bgn  Mode:Monitor  Tx-Power=20 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
今は、/etc/hostapd/hostapd.conf のhw_mode=gだが、ここが11nでいつか動けばいいなぁ。