kumama go言語とかgolangとかGAEとかネットサービスとかその他色々・・・

9Jan/10Off

Android/eclairのBeagleBoardで無線LAN

まぁ、その3w

initがuevent見てFirmwareのロードしてくれるはずなんだけど、initにデバック入れてみて見てもuevent拾ってなさげ。
kernelにFirm抱き合わせにして回避。

基本、有線LANでnsfrootしてるので無線LANは必要ないんだけど、
ConnectionManager?がネットにつながってるとみなしてくれず。
ブラウザはOKだけどダウンロードが動かん。

OpenWnnも動かなかったり Eclairは色々まだまだ前途多難ぽい

Filed under: android Comments Off
9Jan/10Off

Android/eclairのWebSocketsは未完

未完ねた2本目。
というか、年末からの色々2本目。

beagle-board有るから動かして試せば良いやぁって思ってたけど、
動かない動かない(WebSockets以外が)ってことでソースを追う。

現状、Chromeでしか動かないんだけどその実装は以下っぽい。
http://src.chromium.org/viewvc/chrome/trunk/src/net/websockets/

ってWebKitじゃないのか・・・と思いつつもwebkitのwebcoreのsvnにコードはある
http://trac.webkit.org/browser/trunk/WebCore/websockets

一方、eclairのwebkitはというとこれ。
http://android.git.kernel.org/?p=platform/external/webkit.git;a=tree;f=WebCore/websockets

  79 bool WebSocket::send(const String&, ExceptionCode& ec)
80 {
81 if (m_state != OPEN) {
82 ec = INVALID_STATE_ERR;
83 return false;
84 }
85 // FIXME: send message on WebSocketChannel.
86 return false;
87 }

orz
使える分けね~。

r47029辺りでsyncしてそれっきりぽい。

v8入ってコードもあるから動くかと思った…。コードの中見なかったのが敗因。

強引にWebKit入れ替えようかとも思ったものの、Nexsus OneちゅうかAndroid 2.1が公開されてサポート状況見てからにしよう。
Nexsus OneもブラウザのUserAgent見てるとAppleWebKit/530.17ベース(Safari 4.0ぐらい?)で変わってないぽくって期待は出来ないのだが…

Filed under: android Comments Off
9Jan/10Off

beagleboard-eclairでマウス(未完

年末ぐらいからの色々。その1。

WebSocket が Android 2.0 (eclair) で使えたら良いなぁと思いつつ、
BeagleBoardでeclair動かしてみてたものの。
マウスが標準のAndroidだと未サポートってことで、ちょっと作りかけ。

色々なAndroidの実装というかリポジトリ覗いたんだけど、Android側に手を入れてる実装が多い。
Android側の更新が頻繁なことを考えるとKernel側でマウスを仮想タッチパネルに仕立て上げるほうが
良さそうっていう発想の元色々。

はじめはフィルタドライバで実装してたんだけど、Androidが拾ってくれない。
/dev/input/mouse とかは Android の EventHub は見てなくて/dev/input/event を見てる。

ということで evdev.c で EV_REL を EV_ABS にごまかしたりする仮想デバイスぽいドライバを。
カーソルの描画はOVL2使えば良いやって思ってたけど、微妙に失敗してるっぽい。
っていうか、androidがfbのダブルバッファリングに使ってるのか?
fbconかもしれん…けど見切れてない。

あと、画面の電源が入ってないときはタッチパネルのイベントを無視するっていうコードが、
Android側に入っていてそこだけは面倒でAndroid側修正した。

frameworks/base/services/java/com/android/server/KeyInputQueue.java:502
                        if (ev.type == RawInputEvent.EV_ABS) {
                            send = true;
                        }

とりあえずな現状のkernelパッチは続きに。

Filed under: android Continue reading