というわけで、早速設定、無事キーボード入力が可能になりました。
GoogleSearch の Suggest も効きますし、
ブラウザも起動します。
おまけで、GlobalTime も綺麗に表示されました。
マウスも無事使えますが、ちょっとセンシティブすぎるの気がしましたので調整が必要ですね。
実は、最初 PowerManagerService の変更をしても上手く動きませんでした。そこでadbコマンドのlogcatを利用。
Target側(今回はVMware)でadbdが動作していれば、ADBHOST シェル変数にターゲットの IPアドレスを設定することにより、adbコマンドで接続することが可能です。これでログを確認してみました。
% ADBHOST=192.168.32.133 ./adb shell
# logcat
...
W/KeyCharacterMap( 4069): Can't open keycharmap file
W/KeyCharacterMap( 4069): Error loading keycharmap file '/system/usr/keychars/AT_Translated_Set_2_keyboard.kcm.bin'. hw.keyboards.0.devname='AT Translated Set 2 keyboard'
なるほど keycharmap が読めていないようです。もう一度インストールイメージを確認したところ、パーミションが 640、オーナが自分自身のままです。何度か試行している内に、「x86 AndroidのUSBブートイメージを作成」で紹介されていたパーミション変更を忘れてしまっていたようです。お粗末な...。無事パーミションを変更することで、キー入力が可能になりました。
ちなみに adb が使えると、am コマンドと intent の仕組みを利用して、アプリケーション起動などが簡単に行えます。入力デバイスが使えないときには、もっぱらこの方法に頼っていました。例えばブラウザの起動はこんな感じです。
% ADBHOST=192.168.32.133 ./adb shell
# am start -a android.intent.action.MAIN -n com.android.browser/.BrowserActivity
勿論、次のような指定でも起動できます。# am start -a android.intent.action.VIEW http://www.google.com
どちらも気軽で良いですよね。何はともあれ、無事、環境が整いました。情報を公開してくださっている皆様、本当に感謝いたします。
ありがとうございました。
情報ありがとうございます。VMware playerで構築しているのですが、PowerManagerService変更後もキー入力ができなかったもので、大変助かりました。
返信削除ところが、ブラウザを起動したところ、「Web page not available」となってしまいます。
以下の他に何か設定が必要なのでしょうか?(DHCP接続です。)
・cupcake/kernel/.config
CONFIG_PCNET32=yでmake。
・boot/grub/menu.lst
androidboot.hardware=eee_701を追加。
kernel /boot/vmlinuz-2.6.27-android root=/dev/sda1 init=/init rw selinux=0 androidboot.hardware=eee_701 vga=788 quiet
気になるのは、Android起動時に以下のメッセージが出ます。
Unknown boot option `androidboot.hardware=eee_701': ignoring
sh: can't access tty job control turned off
endotさん、コメント有り難うございます。
返信削除androidboot.hardware が無視されてしまっているので、init.eee_701.rcスクリプトの中で行われているネットワークインターフェイスの初期化が行われず、Webへ接続できないのだと思います。
ただ、何故、このオプションが有効にならないのかが分かりません...。すみません。
簡単な回避方法としては、init.rc で任意の shell script を起動させ、その中でインターフェイスの設定をすることかな、と思います。例えばこんな方法はどうでしょう?
/init.rc の最終行へ次の行を追加。
service foo /system/bin/sh /system/etc/init.foo.sh
その上で/system/etc/init.foo.shを次のように書く。
#!/system/bin/sh
netcfg eth0 dhcp
setprop net.dns1 4.2.2.2
これでネットワークが使えるようになると良いのですが。
ちなみにttyのエラーは私のところでも同様です。
ご回答ありがとうございます。設定してみましたが、Web接続はできませんでした。結局「Retrieving sign-in details...」の後、「Web page not available」となります。。。
返信削除menu.lstのquietを削除し、init.rcのloglevel 5に変更したところ、
init: starting 'foo'
init: starting 'eee_701-setup'
の後、
eth0: link up
と出力はされるのですが。。。
もう少し調べてみようかと思います。
endotさん、失礼しました、eth0はlink upしているのですね。
返信削除現在手元の環境を大きく更新しているため、私がオリジナルの環境を再現できていないのかもしれません。差分など、何か分かったら書き込みます。
オリジナルのrepoへも大きな更新が入ったようですし、その点でも何か良い変化があるといいですね。
endotさん、今、いくつかの config を眺めていて思ったのですが、CONFIG_PACKET は y になっていますか?
返信削除もし、これが m ならば init.rc などで af_packet.ko を insmod すると、うまく行くかもしれません。
dhcpclient.c あたりのコードを眺めてみると、この辺りのエラー処理がおおらか(?)なので、アドレスがうまくとれない、という現象が発生しそうだな、と思いました。
CONFIG_PACKET=yに変えたところ、、、おぉ~、Web接続できました!
返信削除コンソールの切り替え方(Alt+F1)がわかったので、logcatの出力を見たら、
D/DHCP ( 1837): socket(PF_PACKET): Address family not supported by protocol
とエラーが出ていました。。。
なるほど。mの場合、モジュールを読み込む設定を、自分で追加する必要があるってことですかぁ。
いろいろと調べて頂き、お手数お掛け致しました。ありがとうございました!
おめでとうございます!
返信削除vendor/asus/eee_701 に入っている kernel.config では CONFIG_PACKET=y になっているので、これをベースにしている人は、この問題にはまりにくいのでしょうね。
何はともあれ、おつかれさまでした。良かったです。