スポンサードリンク


Warning: Illegal string offset 'cache_time' in /home/fumi/public_html/wp-content/plugins/tweetable/tweetable.php on line 404

SDカードのアライメント(境界)調整

xdaの以下のところ

[DEV][DATA2SD] More space (and more I/O) for your Desire (Updated/EXT4/Flashable ZIP) – xda-developers

2/ Make 2 primary Mb aligned partitions on your SD



をやってみた、という話題。

前述のサイトに、「This helps big time to get a better R/W speed.」という文句があり、実際にやってみたら、ちょっとだけ速くなった。(ベンチマークとったのだけど、保存せずに捨ててしまった)

ただ、劇的には速くはならないので、測定誤差もあるとおもうし、かなり気休め的なのかも。

(続)Ruputerエミュレータ(Aurex) on Android

現在の状況(相変わらずRForceを使わせて頂いています)

AndroAurex

  • キー入力を行なえるようにした(上記スクリーンショットの真ん中は方向キー入力用の領域)
  • 表示が小さかったので、拡大表示するようにした

残る大きなところはファイル選択かなぁ。

Android – data2sdでシャットダウン時にアンマウント

カスタムROM使っている方にはあまり関係無いかもしれません。

この記事(仙石浩明の日記: Android 端末 (Nexus One) でアプリを SDカードの ext3 パーティションにインストールする (Apps 2 SD))で書かれているように、公式のROMそのままで、data2sdを自分で実現していると、シャウトダウンの時に、sdカードのマウントが解除できていないようだ。

次回の起動のmount時に怒られるのでそう思っています。

うまくアンマウントする方法ごないかxdaを調べていたらドンピシャの記事を見つけた。

その記事を参考にしたときの作業メモです。

サービスのファイルを書き換えるには、boot.imgの焼きなおしが必要であるため、そうするくらいなら、カスタムROM焼くわい。ということで却下。

/system/bin以下ファイルの書き換えであればrootであれば作業できるので、そうすることにした。

まず /system/bin/shutdown を /system/bin/shutdown.orig と名称を変更する。
次に、以下のようなファイルを作成する。


#!/system/bin/sh

/system/bin/log -p i -t shutdown_script "my shutdown script start"

# wait for other services finished
/system/bin/logwrapper /system/bin/stop
/system/bin/logwrapper /system/bin/sleep 5
/system/bin/logwrapper /system/bin/sync

# umount /dev/block/mmcblk0p2

/system/bin/log -p i -t shutdown_script "+ remount to read-only"
/system/bin/logwrapper /system/bin/mount -t ext2 -oro,remount /dev/block/mmcblk0p2 /system/extsd

/system/bin/log -p i -t shutdown_script "+ remount to read-only finished"
/system/bin/log -p i -t shutdown_script "+ original shutdown command execute"

/system/bin/shutdown.orig

/system/bin/log -p i -t shutdown_script "my shutdown script end"

上記のファイル名を”shutdown”とし、/system/bin/shutdown に配置する。(また、実行権限を与えておく)

そうすることで、/init.rc から /system/bin/shutdown が呼ばれ、上記のシェルスクリプトが実行され、最後には remount,ro してからオリジナルのシャットダウンコマンドを発行するようになっている。stop で、他のサービスの終了を全て待つようにしているので問題ないはず。

ただ、ご使用は自己責任でおねがいします。

参考リンク:
xda-developers – View Single Post – [DEV] Someone ever tried an “init.d/rc0.d” script on Android ?

b-mobile U300 で L2TP/IPSec (Android)

Desire(Android)からVPN(L2TP/IPSec)で家のLinuxサーバに接続したときのメモ。

構築・設定

Linuxサーバには、L2TPサーバとして、xl2tpd、IPSecのスタックとしてopenswanを使った。
2.6系列だとカーネルレベルでIPSecがサポートされているのでそちらを使っても良いと思うのだが、情報量的が多かったopenswanを使った。

構築は さくらのVPSでiPhone用の野良WiFi通信傍受対策のL2TP/IPSec(VPN)を設定したメモ – nori_no のメモ を参考にさせて貰った。

Android側のVPNの設定として注意すべきことは「L2TPセキュリティ保護を有効」のチェックボックスは空にしておく。

接続

構築後、U300のSIMが入っているDesireからVPN(L2TP/IPSec)張ってみると、サーバ側で以下のエラーを出してVPNが切断される。

Apr 24 01:13:30 myserver xl2tpd[14929]: Maximum retries exceeded for tunnel 20276. Closing.

Desire側では大体検知できず、ネットが繋がらなくなって気づくことがほとんど。

解析

xl2tpdのソースを見てみると、L2TPの(キープアライブのための)HELLO電文の応答でリトライアウトしていた。

xl2tpdの実装を見ると、60秒毎にHELLO電文をサーバ側から送信し、5秒の間にHELLO電文の応答がない場合、先述のエラーとなりサーバ側で回線を解放していた。3Gのような無線ネットワーク、なおかつ、U300のようにレイテンシの高い回線だと、通常時でも応答を返すまでに5秒以上かかることがあるようで、接続状態が安定しないようだ。

上記については、xl2tpdの設定ファイルでは変更できなくて、ソースにハードコーディングしてあった。そのパラメタを以下のように書き換えて再コンパイルした結果、かなり安定するようになった。

l2tp.h

//#define HELLO_DELAY 60          /* How often to send a Hello message */
#define HELLO_DELAY (10*60)          /* How often to send a Hello message */
//#define DEFAULT_MAX_RETRIES 5    /* Recommended value from spec */
#define DEFAULT_MAX_RETRIES 60    /* Recommended value from spec */

HELLO電文の送信間隔を10分とし、リトライ回数を60回とする

network.c:248

//        tv.tv_sec = 1;
        tv.tv_sec = 10;

HELLO電文のリトライ間隔を1秒から10秒とする

注意
rfc2661によると、hello電文の間隔について「おすすめは60秒」となっていたので、それを伸ばすことにより、他のクライアントに影響がある可能性があります。

Ruputerエミュレータ(Aurex) on Android

(いつの間にか始めましたが)ツイッターで報告したとおり、Ruputer エミュレータAurexのAndroidへの移植しています。Twitter / @まちだ: AndroidでRuputerエミュ。キャプチャはR …

現在のところ画面が出るだけでキー入力もできませんが、NDK(ネイティブ)を使っているために手持ちのDesireではフレームスキップなしに動作しています。

ゆっくりとはなってしまいますが今後も開発しつづけ、いずれ皆さんに公開したいと思っています。

フリップ入力のやり方

どうもSKKに慣れすぎたせいかフリップ入力自体はなれてきたんだけど、どうも文節区切りで確定してしまいフリップ入力であまり効率がよい感じがしない。

上記の文もフリップで入力してきるのだけど、「効率」で一回確定してしまい、その後「が」を単独で入力するSKK脳。こんなひとっていませんか?

android 用のSKKも用意されているのも知っているけどソフトキーボードでやる勇気はないなぁ

#慣れるのかな

ちなみに、会社でもSKK+英語配列を使っているとき変態なのでみんなに「町田」のパソコンは使えない(文字入力的な意味で)という評判だ。