スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Date: --.--.-- Category: スポンサー広告   

Touch Book

https://www.alwaysinnovating.com/home/
これ、ちょっと興味を惹かれました。
ARMベースの、いわゆる SmartBook と呼ばれているジャンルに含まれると思いますが、変わっているのがキーボードと液晶パネルの面が分離すること。
大画面の PDA で、キーボード付きのドッキングステーションがある、といった雰囲気でしょうか。おもしろい発想です。

で、pre-order を受付中とのことなので、サイトを確認したところ発送先住所で Japan が選択肢にありません。
問い合わせて見たところ、日本への発送は今のところ取り扱っていないとのことでした。
ただ、そのうち日本へも出荷したいらしい返事をしていたので、もし手に入るなら買ってみたいものです。
スポンサーサイト
Date: 2009.06.28 Category: 未分類  Comments (0) Trackbacks (0)

Android x86 で mini9 の無線LAN が動いた

なんだか手順がごちゃごちゃでしたが、なんとか mini9 で無線LAN が使えました。
とはいっても、結局 GUI から使う方法は解らず、コンソールから手動で設定を行いました。

まず、android のソースを修正してビルドします。修正するのは、
cupcake/vendor/asus/eee_701/BoardConfig.mk
です。このファイルの最後に、
WPA_BUILD_SUPPLICANT := true
BOARD_WPA_SUPPLICANT_DRIVER := WEXT
という2行を追加します。
さらに、
cupcake/external/wpa_supplicant/.config
ファイルの
# CONFIG_DRIVER_WEXT=y
という行のコメントを外して、
CONFIG_DRIVER_WEXT=y
とします。これでビルドすると、wpa_supplicant が有効にされてビルドできます。

次に無線LANのモジュールです。mini9 は Broadcom の BCM4312 (多分) なので、カーネル同梱の b43 でもいいのですが、こちらはファームウェアが必要となります。なので、ファームウェアを使用しない wl (broadcom-sta) を使用することにしました。
まずカーネルの設定です。menuconfig から、Networking support -> Wireless と進み、この中の
Generic IEEE 802.11 Networking Stack
IEEE 802.11 WEP encryption (802.1x)
IEEE 802.11i CCMP support
IEEE 802.11i TKIP encryption
をモジュール (M) にします。組み込みだとうまく動かないかもしれません。これでカーネルをビルドします。
次に Broadcom のサイト から 32ビット用ドライバをダウンロードして、展開します。できたディレクトリに移動して、
make -C /path/cupcake/kernel/ M=`pwd`
としてビルドします。これでカレントディレクトリに wl.ko が作成されます。

出来た wl.ko と、カーネルモジュール (cupcake/kernel/net/ieee80211 以下にある .ko) を、USB メモリの /lib/modules 以下にコピーします。
USB メモリの init.rc を編集して、これらのモジュールを読み込ませるように編集します。

Android の wpa_supplicant は、この状態だと wpa_passphrase コマンドがないので、別のマシンで wpa_supplicant.conf ファイルを作成します。私の場合は、
wpa_passphrase SSID PASS_PHRASE > wpa_supplicant.conf
を実行し、出来た wpa_supplicanto.conf を編集して、
ap_scan=2
network={
 proto=WPA WPA2
 key_mgmt=WPA-PSK
 ssid="SSID"
 psk=00000000000
}
こんな感じのファイルを作成しました。当然、SSID と PASS_PHRASE の部分はそれぞれのネットワークに併せてください。
このファイルを、USB メモリの system/etc/wifi/wpa_supplicant.conf としてコピーします。

これで準備は完了したので、USB メモリから Android を起動します。
待ち受け画面になったら、Alt+F1 を押します (mini9 の場合は Alt+Fn+A ですね) 。これでコンソールが使えるので、
wpa_supplicant -Dwext -ieth1 -c/system/etc/wifi/wpa_supplicant.conf &
と wpa_supplicant を実行します。次に
dhcpcd eth1
と実行すれば、IP アドレスが取得でき、ネットワークにつながると思います。
待ち受けに戻るには、Alt+F7 (mini9 の場合は Alt+Fn+J) です。

一応無線LAN が使えたとはいえ、GUI が使えないとやはり不便ですよね。
ただ、GUI はいろいろと絡んでいる上にどこから追いかければいいのか解りにくくて大変そうです。。。
Date: 2009.06.22 Category: android  Comments (0) Trackbacks (0)

Android をビルドしてみる

ここのところ追いかけていなかったのですが、ふと思い出して Android のビルドをまたやってみました。
手順は「android x86」で検索するといろいろと出てきます。今回は ITpro のサイトを参考に実行しました。
基本的にこの手順で問題ないのですが、ちょっと悩んだ部分をメモします。

まず、android のソースにパッチをあてる必要があります。パッチは
http://code.google.com/p/patch-hosting-for-android-x86-support/downloads/list
にあります。全てを当てる必要はなくて、今回は
0001-fixed-different-build-breaks-added-mouse-cursor-sup.patch
0001-1.-added-scripts-to-build-install-image.patch
alarm.patch
e2fsprogs.patch
をあてました。また、kernel.config をkernel/ ディレクトリに .config としてコピーして使用しました。
このパッチですが、それぞれ patch コマンドを実行するディレクトリが違います。ちょっと解りにくいのですが、それぞれのファイルの先頭に

project kernel/
diff --git a/drivers/rtc/alarm.c b/drivers/rtc/alarm.c
index 9f6134b..1fb67d4 100644
--- a/drivers/rtc/alarm.c
+++ b/drivers/rtc/alarm.c

こんな感じの行があると思います (これは alarm.patch)。この「project」行に書かれているディレクトリで patch コマンドを実行する必要があります。

次に、フレームバッファーの解像度を調節します。androdi はフレームバッファーを使うため、解像度が 800x600 や 640x480 になってしまいます。そこで、grub2 に 915resolution 機能を追加するパッチを使って、フレームバッファーで 1024x600 を使用できるようにします。
パッチは、http://code.google.com/p/patch-hosting-for-android-x86-support/wiki/RunAndroidWithEeePCResolutionUsingGrub2 にあります。これと grub2 のソースをダウンロードして、パッチをあてます。
さらに、必要なパッケージをインストールします。ここで必要となったのは、lzo2-dev と ruby です。
この ruby でハマったのですが、grub2 をビルドするだけなら ruby は必要ありません。しかし、ビルドするモジュールを指定するファイルを書き換えて 915resolution モジュールをコンパイルさせるのですが、このファイルの更新に ruby が必要なようです。
最初これに気がつかず、正常にビルドできてエラーも無いのに 915resolution モジュールが作成されずに悩みました。
あとは通常の手順と同じように grub2 をインストールし、grub.cfg ファイルを先ほどのサイトを参照して 915resolution モジュールを使用して android を起動すれば、1024x600 の画面で立ち上がります。

今のところ、有線LANは使用できました。無線LANは使えませんでした。モジュールは読み込んでいるように見えるのですが、無線LANを有効に出来ませんと言われてしまいます。まだまだよくわかりませんね。。。
Date: 2009.06.18 Category: android  Comments (0) Trackbacks (0)

DisplayLink の USB-VGA アダプタを Linux で - Xorg ドライバを使ってみる

前回は Xorg のドライバがリリースされましたが、解像度の調整が効かずに正常に表示出来なかった、という状態でした。
今回、カーネルモジュールの udlfb が 0.2.3 に、Xorg のドライバが 0.3 に更新されました。今回のアップデートで、対応外の解像度でも一定の解像度で表示されるようになったようです。

パッケージには、カーネルモジュールと Xorg のドライバそれぞれのソースが同梱されているので、まずはカーネルモジュールのビルドをします。これはカーネルソースがあれば大体ビルドできると思います。
Xorg のドライバは、ちょっといろいろ必要だと思います。私の Ubuntu9.04 環境では、x11-proto-core-dev, x11-proto-fonts-dev, xserver-xorg-dev パッケージをインストールする必要がありました。
あとは定番の ./configure, make, sudo make install をすればドライバがインストールされますが、デフォルトだとドライバが /usr/local 以下にインストールされてしまい、そのままでは認識されませんでした。
本来ならインストール位置を正確に指定すべきなのでしょうが、それほどの手間でもないので、/usr/local/lib/xorg/module/drivers/ 以下の displaylink.* ファイルを、/usr/lib/xorg/module/drivers/ 以下にコピーしてしまいます。

あとは一旦 gdm をストップして、カーネルモジュールを読み込んでから X を立ち上げます。
カーネルモジュールを読み込む前に、DisplayLink デバイスを USB ポートに接続しますが、この時に対応する解像度 (800x480, 1024x768, 1280x1024, 1400x1050) ではない解像度のモニターの場合、まだモニターは接続しないでおきます。
これは、モジュールを読み込むときにモニターの最大解像度を認識するのですが、ここで対応外のモニターだとモジュールが読み込まれないからです。
モニターが認識されなければ、fallback モードとして 1280x1024 の解像度を設定します。モジュールを読み込んだ後にモニターをつなげれば、(1280x1024 に対応したモニターであれば) 正常に表示されます。

あとは、Xorg ドライバに同梱の Readme を参照に xorg.conf を編集します。とりあえず私が試せたのは、ここ に置いた xorg.conf の内容です。

ざっと使った感じでは普通に使えてます。今回テストしたのは SC3 だったので、動画の再生については本体の力不足もあるかもしれないので、なんとも言えませんが。。。
xorg.conf を書き換える必要がありますし、Windows のように手軽にディスプレイを追加、というわけには行きませんが、ちゃんと Linux でも動くようにはなってきているようですね。
Date: 2009.06.11 Category: DisplayLink  Comments (6) Trackbacks (0)

DisplayLink の USB-VGA アダプタを Linux で - Xorg のドライバ

ついに DisplayLink 用の Xorg ドライバもリリースされましたね。
フレームバッファー用のカーネルモジュールとセットで使います。
試してみたところ、モジュールに適合する解像度のモニターを持っていないため、正常に表示が出来ませんでした。
ただ、崩れた画面ながら、gnome のデスクトップが表示されていたのは解ったので、ドライバとして使えることは確かですね。
あとは解像度の対応をなんとかできれば・・・

以前のモジュールでは、libdlo のソースから再利用していたので、それをコピーすれば他の解像度にも対応できたのですが、今のモジュールはそれとは違う方法で定義していました。
1024x768 のモニターが一つあれば、簡単にテストできたのですけどねぇ。。。
Date: 2009.06.06 Category: DisplayLink  Comments (0) Trackbacks (0)

Ubuntu9.04 でタッチパネル (PenMount ドライバ)

前回は evtouch にタッチパネルを認識させて使ってみましたが、微妙にフリーズなどの不具合で完璧とはいきませんでした。
しかし、意外(と言っては失礼ですが)なことに PenMount のサイトに Linux 用のドライバがありました。しかも Fedora や Ubuntu のリリース済み各バージョンや、その他用など各種取りそろえてます。

まず evtouch に認識させるための設定を削除します。削除しなくても平気かもしれませんが、念のためです。削除するには、/etc/hal/fdi/policy/50-penmount.fdi を削除します。その後 hal デーモンを再起動すればいいのですが、面倒なので PenMount のドライバをインストールした後にまとめて再起動することにしました。

次に PenMount のサイトからドライバをダウンロードします。先ほどのリンクを開き、上部のメニューの Support -> Download、PenMount TouchScreen Control Driver をクリックして、ライセンス条項を読んで I agree ~ をクリックすると各種ファイルのダウンロードリンクが表示されます。今回は Ubuntu の「9.04 Driver V2.4.1」を使用します。

ダウンロードしたら任意のディレクトリーで展開した後、install.sh を実行します。後は OS を再起動すれば、通知トレイに Windows と同じ PenMount のアイコンが表示されて、PenMount のドライバでタッチパネルが使えるようになります。
この PenMount のアイコンをクリックすると、タッチパネルのキャリブレーションができます。このキャリブレーション、表示されているポイントをタッチすればいいのだと思うのですが、タッチしても反応がありません。でも、タッチしてしばらくすると次のポイントに進みますし、終わるとちゃんとキャリブレートされるので問題なく動作しているっぽいのですが・・・ 反応が無いと解りにくいですね。

細かい調整方法は、ドライバのアーカイブ内に含まれる README-ubuntu904 ファイルに書いてあります。
今のところ、evtouch で発生したフリーズなどには遭遇していません。
これでかなり使いやすくなったと思います。
Date: 2009.06.02 Category: SC3  Comments (0) Trackbacks (0)
最新記事
最新コメント
ウィジェット
月別アーカイブ
カテゴリ
プロフィール

SC3WO06A

Author:SC3WO06A
FC2ブログへようこそ!


検索フォーム
RSSリンクの表示
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
最新トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。