Android のTTS でハングアウトメッセージを流す

Ingressで複数人で移動することがあったのですが,連絡は基本的にGoogle ハングアウト.motercycle では基本的に確認できません.Android には標準でTTS(Text To Speak) が利用出来ます.ハングアウトメッセージをTTS に繋げることが出来たら大雑把に状況確認が出来るのではと試してみました.

N2 TTS の導入

TTS にはKDDI研究所のN2 TTS を利用しました.導入手順は以下のページにあります.

追加音声も4×4種類あります.

今回はfa001 を利用しました.

Screenshot_2015-06-23-07-19-04Screenshot_2015-06-23-07-18-50Screenshot_2015-06-23-07-18-30

Voice Notify の設定

ハングアウトアプリからTTS に流し込めれば良いのですが,出来ないようです.Google Play Store で使えそうなアプリを探したところ通知を読み上げてくれるVoice Notify というアプリを見つけました.

このアプリを導入し,音声通知をOn に
Screenshot_2015-06-23-07-19-33

通知対象のアプリにハングアウトだけ登録します.アプリケーションが多い場合はメニューから Igoner All で一旦全部解除してから filter で検索すると便利です.
Screenshot_2015-06-23-07-20-29Screenshot_2015-06-23-07-20-16

ここで通知対象のアプリを増やすとそのアプリの通知も読み上げられます.メッセージの内容が読み上げられるかはそのアプリの通知内容次第になります.例えばGoogle+ では内容により省略されたりします.

ハングアウトの設定

通知をしたいハングアウトの通知をOn にします.これでハングアウトから通知があればその内容が読み上げられます.

Screenshot from 2015-06-23 07-35-06


これで実際に試してみましたが,思っていたより内容は把握出来ました.長文だと辛いですが短文なら十分.ボリュームは6割位でイヤホンマイク片耳(ダイソーで購入した@100のもの)で聞いていましたが低速なら問題なし,50km/h以上だと聞き取りづらくなってきました.恐らく高速道路だとダメでしょうね.この辺はスピーカーやイヤホン次第で変わると思います.

mineoを刺したLGL22のA-GPSサーバを変更してみる

Screenshot_2015-04-21-20-55-30
LGL22 にmineo のSIM を挿して運用していますが,どうもGPS の動作がおかしい.IngressGPS Status & Toolbox を起動して1時間とかずっと置いといても測位できなかったりする.
以下のページを見るとキャリアが用意したA-GPS 情報を配布しているサーバは外からアクセスできなくてMVNO だと使えない,Google提供のA-GPS サーバがあってこれは外から使えるらしいということが分かりました.A-PGS 使えなかった時はタイムアウトして欲しい気もしますが….

  • トークセッション. MVNOとGPSについて (大内)

    趣旨:「MVNOではGPSは使えない」という誤解がありますが、正しくありません。しかし、一部のスマホでGPSの位置情報がうまく利用できないように見えるのも事実です。Androidを例に位置情報取得の仕組みとその原因についてご紹介します。

ということで,/etc/gps.conf のSUPL 部分を以下のように書き換えてみました.

SUPL_HOST=supl.google.com と SUPL_PORT=7275 or SUPL_PORT=7276 部分.書き換えた後再起動しても症状は変わらないよう.

Cinnamon Mod だと元々Google のサーバを向いているとのことなので CM12 をそのまま真似してみる.

これで数日使ってみているけど今のところ問題無さそう.
ただ,この方法は /system 領域の編集が必要なので通常は要root
もうすぐキャリア端末のSIM Free がやりやすくなるようですが,この辺りも解決して欲しいですね.APN みたいに設定画面から書き換えできるようにするとか.

以下は書き換え時のメモです.

$ ./adb shell
$ su
# mount -o rw,remount /system
# cp -p /etc/gps.conf /etc/gps.conf.org
# vi /etc/gps.conf
# cat /etc/gps.conf
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
SUPL_HOST=supl.google.com
SUPL_PORT=7276
# mount -o ro,remount /system
# exit
$ exit

Xperia Pro(MK16a)に入れたCM12を使ってみる

Xperia Pro(MK16a)にCM12を入れました.ちょこちょこ設定をしてみます.

Bluetoothテザリングを試す

先ずはやりたかったBluetoothテザリングの設定などをしてみます.
といってもメニューから辿ってOnにするだけです.この設定は再起動してもそのままのようです.
Screenshot_2015-03-27-13-54-20Screenshot_2015-03-27-13-54-36Screenshot_2015-03-27-13-54-52

後は適当な機器とペアリングをすれば接続できます.同時接続も可能で3台までは確認しました.同時にRazikoをBluetoothヘッドホンで聞いても大丈夫.
Screenshot_2015-03-27-13-59-43

このテザリング機能はなかなか良く出来ていて,XperiaProが3Gに接続されている場合はもちろん,Wi-Fiに接続されている場合はそちらにルーティングを行います.これはなかなか便利.
公衆Wi-Fiサービスなどで1台しか接続できない場合もありますがそういう時も大丈夫ですね.

暫く使ってみていますが,途中で切れてしまうこともなく安定しています.
#手持ちのAUの国内端末すぐ通信できなくなるので見習って欲しい….

root権を使えるようにする

adb shellからsuでrootになれず.SuperSUも使えなくてあれ?と思ったのですがCM12ではちょっと方法が変わっているようです.開発者向けオプションの中に以下のような設定ができていました.とりあえずADB shellで使いたいので「ADBのみ」の設定に
Screenshot_2015-03-23-02-15-40 (2)

カメラのシャッター音を消してみる

ADBでrootが使えるように設定した後,シャッター音を消すためにadb shellでXperiaProの中に入ります.

% ./adb shell
shell@MK16i:/ $

suコマンドでrootになります.

shell@MK16i:/ $ su
root@MK16i:/ #

シャッター音らしきファイルをfindコマンドで探します.それらしいものがありました.

root@MK16i:/ # find /system -name "*.ogg"|grep -i camera
/system/media/audio/ui/camera_focus.ogg
/system/media/audio/ui/camera_click.ogg

該当のファイルシステムを書き込みできるようにremountします.

root@MK16i:/ # df
Filesystem               Size     Used     Free   Blksize
/dev                   219.4M    36.0K   219.4M   4096
/sys/fs/cgroup         219.4M     0.0K   219.4M   4096
/mnt/asec              219.4M     0.0K   219.4M   4096
/mnt/obb               219.4M     0.0K   219.4M   4096
/system                919.5M   568.7M   350.8M   4096
/cache                   4.0M   804.0K     3.2M   4096
/data                    2.0G   505.2M     1.5G   4096
/mnt/media_rw/sdcard0     5.4G   302.5M     5.1G   32768
/mnt/secure/asec         5.4G   302.5M     5.1G   32768
/storage/sdcard0         5.4G   302.5M     5.1G   32768
root@MK16i:/ # mount -o remount,rw /system
root@MK16i:/ # mount |grep /system
/dev/block/mtd/by-name/system /system yaffs2 rw,seclabel,relatime 0 0

該当ファイルをリネームします.

root@MK16i:/ # cd /system/media/audio/ui/
root@MK16i:/system/media/audio/ui # ls
Dock.ogg
Effect_Tick.ogg
KeypressDelete.ogg
KeypressInvalid.ogg
KeypressReturn.ogg
KeypressSpacebar.ogg
KeypressStandard.ogg
Lock.ogg
LowBattery.ogg
Trusted.ogg
Undock.ogg
Unlock.ogg
VideoRecord.ogg
WirelessChargingStarted.ogg
camera_click.ogg
camera_focus.ogg
root@MK16i:/system/media/audio/ui # mv camera_click.ogg camera_click.ogg-
root@MK16i:/system/media/audio/ui # mv camera_focus.ogg camera_focus.ogg-
root@MK16i:/system/media/audio/ui # mv VideoRecord.ogg VideoRecord.ogg-

元のようにファイルシステムを読み込み専用に戻します.

root@MK16i:/ # mount -o remount,ro /system
root@MK16i:/ # mount |grep /system
/dev/block/mtd/by-name/system /system yaffs2 ro,seclabel,relatime 0 0

カメラアプリを試すとシャッター音がしなくなっていました.成功のようです.

アプリを導入してみる

CM12にしてストレージは結構空きが出来たしSDへの導入も出来るようになりましたが,重いアプリは辛いのであまり入れていません.とりあえずキーボードを活かすためにエディタのJota+,日本語入力のためにFlickWnn,GPSログを取るためにOSMTracker,データやり取りのためにownCloud/Picasa Tool,サイマルラジオのRaziko(radiko.jp,らじる),念の為?Ingressといったところです.
Screenshot_2015-03-27-14-08-40

FlickWnn利用時はShift+Spaceで入力切替,右端の地球マークのキーで大文字小文字切り替えです.起動しは遅いけど起動してしまえば普通に入力できます.

最近メインで使っているSNSのGoogle+も入れてみたのですが,重くて使い物にならないので諦めました.投稿機能だけでいいので軽いものとかがあると良いのですけど….標準ブラウザでの閲覧も重いです.モバイル版だとそこそこ軽いですが,投稿時に写真添付するのに画面遷移が必要だったりと結構ストレスです.この端末では諦めたほうが良さそう.

しかし,重いとはいえOSが最新になったのは嬉しいです.重いと言っても2.3の頃と同じくらいの重さな感じなので戻す気はしません.今はいろいろと穴が多くてAndroid 4.3以前は使いたくないですしね….
国内の大抵の端末は2年縛りがあってもそれ以前にサポートやめちゃって穴の開いたまま使うか新しいのに乗り換えるしか無いので辛いです.ずっとサポートされるのが理想ですが,サポートしないならこの端末のように公式でロック解除方法を提供してくれるのが普通になるといいのにと思います(Nexusシリーズなどは公式で初めからロック解除可能).そうしたら今回のようにOSを入れ替えて使い続けることが出来るかもしれません.そうならないとCMの開発対象になる国際端末やその国内版じゃないとなかなか手を出す気にならないです….
#でも保証が無くなるのを理解しないでサポートに文句言うような人が要ると難しいのかもですね.

XperiaPro(MK16a)にLolipopベースのCyanogenMod12を導入してみる

Xperia Pro(MK16a)をBootloader Unlock してみた | matoken’s meme
でXperia Pro のブートローダーのアンロックをしたのでROMを入れ替えてみます.
入れ替えるROMはAndroidベースのCyanogenModを利用します.

CyanogenModのページを見るとXperiaProのイメージはメンテされていないようです.

古いXperiaのプロジェクトのLegacyXperia Projectを見に行くとアクティブなようなのでこちらのイメージを利用することにします.

せっかくなのでLolipop ベースのCyanogenMod12 を試してみます.

BasketBuild からcm-12-20150314-UNOFFICIAL-LegacyXperia-iyokan.zipを入手しました.cm-12-20150314-UNOFFICIAL-LegacyXperia-iyokan.zip.md5 は0byte でした….BasketBuild には8caec5afb32aacd9e529ca31f6df6595 と書かれていたのでこれと突き合わせました.

% echo '8caec5afb32aacd9e529ca31f6df6595  cm-12-20150314-UNOFFICIAL-LegacyXperia-iyokan.zip' > cm-12-20150314-UNOFFICIAL-LegacyXperia-iyokan.zip.md5
% md5sum -c cm-12-20150314-UNOFFICIAL-LegacyXperia-iyokan.zip.md5
cm-12-20150314-UNOFFICIAL-LegacyXperia-iyokan.zip: 完了
% sha1sum cm-12-20150314-UNOFFICIAL-LegacyXperia-iyokan.zip
7d9b2c06c34bb540f5ed74635e7ddee65d27c2fa  cm-12-20150314-UNOFFICIAL-LegacyXperia-iyokan.zip
% sha256sum cm-12-20150314-UNOFFICIAL-LegacyXperia-iyokan.zip 
b82909fffea8ddf9ceb4f69b84970e7148a4de1b6f745a7a17f1c9cf9b8b2436  cm-12-20150314-UNOFFICIAL-LegacyXperia-iyokan.zip
% sha512sum cm-12-20150314-UNOFFICIAL-LegacyXperia-iyokan.zip 
5a7c6b5c0314ee4df6d9e381669518468c265cdeec0c831c20278c852aa2c4c32146ede11a5650b57e07ecddccb02950b58509d3a53310512be704975e0cbae9  cm-12-20150314-UNOFFICIAL-LegacyXperia-iyokan.zip

CyanogenModにはGoogleの不自由なソフトウェアやプロプライエタリなドライバが同梱されていません.別パッケージのGoogle Apps(GApps)として配布されています.

GAppsは巨大なので機能を削ってスリム化されたパッケージも配布されています.

今回はこの pa_gapps-modular-pico(uni)-5.0.1-20150315-signed.zip を利用しました.hashは見当たりませんでした.手元では以下のような感じです.

% md5sum pa_gapps-modular-pico\(uni\)-5.0.1-20150315-signed.zip
3ee06867bb52465a83fd7625f7750f75  pa_gapps-modular-pico(uni)-5.0.1-20150315-signed.zip
% sha1sum pa_gapps-modular-pico\(uni\)-5.0.1-20150315-signed.zip 
639411d58817e38212b892a34832bbe1db094d36  pa_gapps-modular-pico(uni)-5.0.1-20150315-signed.zip
% sha256sum pa_gapps-modular-pico\(uni\)-5.0.1-20150315-signed.zip
f4a88039ff7870eaf989ab63c5d01ac315aecef3e66bff24e723cb8de66681fe  pa_gapps-modular-pico(uni)-5.0.1-20150315-signed.zip
% sha512sum pa_gapps-modular-pico\(uni\)-5.0.1-20150315-signed.zip 
daec26a87eb5acb6a492d6a691c2d602adc9fb201a9d9e0604f199654c16c59dcc99f636f21684a38931930951cbf68692a4c4ac717a09a60802fc0d2ce854b2  pa_gapps-modular-pico(uni)-5.0.1-20150315-signed.zip

#このPA_GAppsは記事を書くために確認したら開発をやめちゃうようです><
##次の辺りが使えるかもしれません.(未確認)

cm-12-20150314-UNOFFICIAL-LegacyXperia-iyokan.zippa_gapps-modular-pico(uni)-5.0.1-20150315-signed.zip の2ファイルをmicroSD Card にコピーして,microSD をXperiaProに挿します.

cm-12-20150314-UNOFFICIAL-LegacyXperia-iyokan.zip内からboot.imgファイルを取り出します.

% unzip cm-12-20150314-UNOFFICIAL-LegacyXperia-iyokan.zip boot.img
Archive:  cm-12-20150314-UNOFFICIAL-LegacyXperia-iyokan.zip
signed by SignApk
  inflating: boot.img

Xperia Pro をnvflash モードで起動します.

  • 電源off 状態からメニューキーを押しながらUSB Cable 接続
  • 右上側面のHDMIコネクタ上のLEDが青になる

nvflash コマンドでboot.img を送り込み起動させます.

% ./fastboot flash boot boot.img
[sudo] password for mk:
sending 'boot' (8704 KB)...
(bootloader) USB download speed was 139264kB/s
OKAY [  0.999s]
writing 'boot'...
(bootloader) Download buffer format: boot IMG
(bootloader) Flash of partition 'boot' requested
(bootloader) S1 partID 0x00000003, block 0x00000280-0x000002e3
(bootloader) Erase operation complete, 0 bad blocks encountered
(bootloader) Flashing...
(bootloader) Flash operation complete
OKAY [  1.707s]
 inished. total time: 2.706s

この後,USB Cableを抜いて電源を入れます.LegacyXperiaのロゴが出ている間に下ボリュームキーを連打します.うまく行くとCYANOGEN Recoveryの画面になります.

IMG_20150327_130657

先ずはデータ消去を行います.

  • ボリュームの上下でメニューを移動し,Wipe cache partition で電源キーを押し決定
  • ボリュームの上下でメニューを移動し,Wipe data/factory resetで電源キーを押し決定

ROMを焼きます.

  • ボリュームの上下でメニューを移動し,Apply update で電源キーを押し決定
  • Choose from sdcard0を選択し,SD Card内のcm-12-20150314-UNOFFICIAL-LegacyXperia-iyokan.zipを選択して焼く
  • 同様にGAppsのpa_gapps-modular-pico(uni)-5.0.1-20150315-signed.zipを焼きます.
  • Reboot system nowで再起動します.

後はAndroidの初期設定です.しかし,初期設定時はすごく重い(ホームボタンを押してもタイムアウトして何も出ないうちに画面が消灯したりする)ので気長にやりましょう.初期設定が終わればそこそこ実用的な速度になります.

IMG_20150322_101440
Screenshot_2015-03-27-13-36-34Screenshot_2015-03-27-13-36-41

重いけどIngressも動きます.
Screenshot_2015-03-25-12-45-44Screenshot_2015-03-25-12-59-16

Xperia Pro(MK16a)をBootloader Unlock してみた

Xperia Pro(MK16a)を持っているのですが,OSが古いし標準アプリも多くてストレージもいっぱいで使いたいアプリもなかなか入れることが出来ません.
最近はこの端末にMVNOのSIMを刺してモバイルルータ and GPSロガー的に使っていますがbluetooth tethering も使えずWi-Fi tethering だとバッテリの減りも早いです.ということでカスタムROMやCyanogenMod11か12あたりに入れ替えたいのですがブートローダーにロックがかかっているのでまずはこれを解除しないといけません.Test Point を使ったりするのは面倒だなと思っていたのですが,現在は公式でアンロックコードを手に入れることができるのでこちらで行うことに.
※保証がきかなくなります.SEUSなどが利用できなくなります.公式アップデートも利用できなくなるそうです.(まあこれからOTAとか来ることはないと思いますが)

本体の他に以下のものが必要です.ここでは開発環境の説明はしません.

  • Android 開発環境の動作するPC(今回はDebian Jessie)
  • Android 開発環境の中のfastboot コマンド(sdk/platform-tools 以下)
  • USB A-microB ケーブル

アンロックコードの入手

アンロックコードは以下のページから入手できます.

機種を選択して,メールアドレスを入力すると確認メールが届くので,そのメールのURL をクリックするとIMEIの入力画面になって,そこでIMEI を入力することでCodeが入手できます.

アンロック

Xperia Pro の電源を切ります.
USBケーブルはPCのみに接続する
電源Off 状態からメニューボタンを押しながらUSBケーブルを接続する
右上側面のHDMIコネクタ横のLEDが青くなるとFastbootモードになっている

Fastboot モードの時のdmesgはこんな感じでした.

[78677.917985] usb 1-1.1: new high-speed USB device number 30 using ehci-pci
[78678.013776] usb 1-1.1: unable to get BOS descriptor
[78678.025756] usb 1-1.1: New USB device found, idVendor=0fce, idProduct=0dde
[78678.025764] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[78678.025769] usb 1-1.1: Product: S1Boot Fastboot
[78678.025774] usb 1-1.1: Manufacturer: Sony Ericsson Mobile Communications AB
[78678.025778] usb 1-1.1: SerialNumber: CB5A1G45XXXXXX

fastboot devices コマンドで接続を確認します.

% ./fastboot devices
CB5A1G45XXXXXX  fastboot
% ./fastboot -i 0x0fce getvar version
version: 0.3
finished. total time: 0.001s

もしここでno permissions fastboot というエラーが出る場合はadb serverを起動しなおしてみるとうまく行くようです.それでもうまく行かない場合root権限で起動し直す(sudo command)とうまく行ったことも.

% ./fastboot devices
no permissions  fastboot
% ./adb kill-server
% ./adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
% ./fastboot devices
CB5A1G45XXXXXX  fastboot

問題ないようなら以下のコマンドでアンロックコードを指定してアンロックします.

% ./fastboot -i 0x0fce oem unlock 0xC3BA1080A6XXXXXX
...
(bootloader) Unlock phone requested
(bootloader) Erasing block 0x00001300
(bootloader) Erasing block 0x00001400
(bootloader) Erasing block 0x00001500
(bootloader) Erasing block 0x00001600
(bootloader) Erasing block 0x00001700
(bootloader) Erasing block 0x00001800
(bootloader) Erasing block 0x00001900
(bootloader) Erasing block 0x00001a00
(bootloader) Erasing block 0x00001b00
(bootloader) Erasing block 0x00001c00
(bootloader) Erasing block 0x00001d00
(bootloader) Erasing block 0x00001e00
(bootloader) Erasing block 0x00001f00
OKAY [  4.587s]
finished. total time: 4.587s

これでアンロック完了です.
次はOSを入れ替えてみます.

Android から USB-TTL 経由でRaspberry Pi にアクセス

ふと,手元のUSB-TTLアダプタ(Prolific PL2303)とmicroUSBのホストケーブルでAndroidに繋げば普通に使えるのではと思って試してみました.

Raspberry Pi 側の接続.
赤の5Vは接続しなくても動きますが,接続すると少し給電されます.
IMG_20150212_163124

こんな感じに.
IMG_20150212_204416.jpg

Android側のアプリは10種類ほど試しましたが今回利用したProlific PL2303では以下の3つでデバイスを認識しました.Playストアを見た感じではFTDI対応のものが一番多そうでした.

という感じで実際利用できているのはUSB Serial Terminal Liteだけでした.

設定はBitrateの変更と文字コードの変更を行いました.
Screenshot_2015-02-12-20-39-28

デバイスの認識状態はこんな感じ
Screenshot_2015-02-12-20-24-12Screenshot_2015-02-12-20-24-19

そしてこんな感じで使えています
Screenshot_2015-02-12-20-22-35

使い勝手はあまり良くないですが,出先とかでちょっとコマンドを打ちたいときに良さそうです.

AndroidでWardrivingを試す

Wardriving?

 Wardrivingはドライブしながら位置情報とWi-Fiの電波を拾うことでどこにどんなWi-Fi APがあるかを記録することを言います(多分).これまで初期の頃はThinkPad 240Z でNetworkStumbler やKismet を動かしながら自転車で走り回ったり,iPad の脱獄アプリで記録したり,最近ではRaspberryPi でKismet を動かして保存していました.

何が楽しいの?

 コミックマーケットではアクセスポイント名にネタを仕込んだネタAP がよく飛んでいるのでこれを見るのが楽しみです.今回RaspberryPi で設定を行い動かしていましたが,動作確認もしていなかったのでサブにAndroid のアプリがないか探したらWardrive というアプリケーションを見つけました.
 WiGlE( https://wigle.net/ )向けのアプリケーションで,WiGlE のアカウントを取得してアップロードすることも出来ます.アカウントを設定しなければアップロードされませんしデータの利用も可能です.
 実用的な使い方としてはログから契約している公共無線LANサービスのエリアを探すと言ったことが可能です.例えば https://wigle.net/ のmapページに移動して調べたい緯度経度に移動した後右側のSSIDに調べたいSSIDを入力して[Filter]ボタンを押すとWigleにアップロードされたデータの中から検索した結果が表示されます.

Wardrive の使い方

 利用方法はとても簡単で Wardrive を導入して起動した後 [START] SCANNING ボタンを押すと記録が始まり,GoogleMap を利用した地図上にアクセスポイント名がポイントされていきます.メニューの Export からto KML (Google Earth) を選ぶと端末のルートディレクトリに wardrive.kml として保存されます.
Wigle のアカウントを持っている場合は設定からアカウントとパスワードを保存したうえで,Export からto KML for WiGlE(and Uploa it)* を押すとKML ファイルの作成とWiGlE へのアップロードが行われます.

Screenshot_2015-02-08-00-51-00

 保存は KML 形式で行われてGoogleEarth などのアプリケーションで閲覧できます.アクセスポイント名を眺めたいだけであれば以下のようにしてAP名だけを抜き出すといいでしょう.

% grep name wardrive.kml | cut -c 18- | cut -d']' -f1| sort -n | uniq | lv

WiGLE を見に行ったらWardrive は公式アプリではないようです.

Wigle Wifi Wardriving が公式のようです.こっちだと設定でOSMのタイルマップが使えそうなのですがそれらしい設定の Use WiGLE OSM tiles にチェックを付けてアプリを再起動しても反映されません….

Screenshot_2015-02-08-02-16-06
Screenshot_2015-02-08-00-53-17
Screenshot_2015-02-08-02-16-14
Screenshot_2015-02-08-02-16-24
Screenshot_2015-02-08-02-16-42

 さて,肝心のネタAPですが,感度が悪いのかしきい値が厳しいのか去年よりも大分少なかったです.でも利用方法はすごくお手軽なのでおすすめです.次はRaspberry Pi を携帯電話のリチウムイオンバッテリーで動かしてコンパクトにパッケージングして運用できないか試してみようと思っています.




NEXUS5 を落っことしてしまいISAI LGL22 を買った(Linux環境でのroot取得とカメラ無音化)

Nexus5 をどこかに落っことしてしまい(体調が悪い時で記憶があやふや.桜島港から家の間のどこかに多分落ちている)不便なので代替機を探して中古のISAI LGL22 を入手した.兄弟機で面白みはあまりないが,LTE でmineo が使えるのとUnLock が安価&安易でDocomo の電波も掴みそこそこ安いということで….

とりあえず初期化してroot 取ってカメラ無音化までした.root 取得の手順は確立されているけれどWindows向けでバッチファイルを叩くものしか見当たらなかったのでLinux 向けにメモ.(WinでもMacでも同じだけど)

  • 初期化
  • OS Update
    TAO で 4.4.2 に.
  • 画面のロックをパスワードに
  • 所有者情報設定
  • mineo 設定
  • 暗号化
    ※充電が80%以上になってから出ないと実行できない.
  • root取得
    isai_rootkit_kk_only.rar を以下から入手して利用した.https://mega.co.nz/#!h5EAmY7K!rrM2jZlCnRGc-EzhPhrxQ8gfPtGAcuv_mPPH8lYo7_M

    sha1sum    0a048c7be86ca64dc755a31a3c3a8d32455a3361
    sha256sum    67b3481f15e5f597e60397b9294074354877cd283ecede5bd8ba171e14392cd2
    

    前準備としてUSBデバッグを有効にしてPCと接続しUSBデバッグを有効にしておく.
    isai_rootkit_kk_only.rar を展開して install.bat を見ながら以下のような感じでコマンドを叩く.
    ※要開発環境.

    cd isai_rootkit_kk_only
    adb wait-for-device
    adb push "files" /data/local/tmp
    adb shell chmod 755 /data/local/tmp/getroot
    adb shell chmod 755 /data/local/tmp/busybox_file
    adb shell chmod 755 /data/local/tmp/install.sh
    adb shell chmod 755 /data/local/tmp/remove_apps_and_bins.sh
    adb pull /system/app/LGDMSClient.odex ./backup/system/app/LGDMSClient.odex
    adb pull /system/app/LGDMSClient.apk ./backup/system/app/LGDMSClient.apk
    adb pull /system/bin/subsystem_ramdump ./backup/system/bin/subsystem_ramdump
    adb pull /system/bin/dumpstate ./backup/system/bin/dumpstate
    adb pull /system/bin/fssamond ./backup/system/bin/fssamond
    adb shell "/data/local/tmp/getroot /data/local/tmp/remove_apps_and_bins.sh"
    adb wait-for-device
    adb shell "/data/local/tmp/getroot /data/local/tmp/install.sh"
    adb wait-for-device
    adb shell "rm /data/local/tmp/getroot"
    adb shell "rm /data/local/tmp/busybox_file"
    adb shell "rm /data/local/tmp/eu.chainfire.supersu-193.apk"
    adb shell "rm /data/local/tmp/remove_apps_and_bins.sh"
    adb shell "rm /data/local/tmp/install.sh"
    adb shell "rm -rf /data/local/tmp/system"
    
  • カメラ無音化
    /system/media/audio/ui/camera_click.ogg と /system/media/audio/ui/VideoRecord.ogg を退避する.

    adb shell
    su
    mount -o remount,rw /system
    cd /system/media/audio/ui/
    mv camera_click.ogg camera_click.ogg-
    mv VideoRecord.ogg VideoRecord.ogg-
    cd
    sync
    mount -o remount,ro /system
    exit
    exit
    

    #起動音と起動後のパスフレーズ入力時のキークリック音も消したいが見当たらず.

  • アプリ入れたり

HYUNDAI A7HD 無線LAN アンテナ調整

HYUNDAI A7HD この端末は無線LAN の感度がすごく悪いです.
AP からほんの2m くらいの距離でも通信に失敗してしまったりします.

しかし,内情アンテナの角度を変更することで改善されるという書き込みを見かけたので試してみました.

分解手順

アンテナ位置変更

DSC00025
DSC00028

写真の通りアンテナを180度回転させてアンテナ線をDC/HDMI の下をくぐらせて再度固定するだけです.
固定後再度裏蓋を取り付けて起動してみます.

目に見えて感度はましになったようです.
#設定前の感度を確認しておくべきでした><
device-2012-09-07-021746

アプリの更新や,ファイルのダウンロードが安定するようになりました.
これまでは通信時はAP の側に置いて放置したりしてたのですが,普通に使えそうです.

ただ,iPad などに比べるとまだ弱いです><