2008年01月13日

D01NXをザウルスで動かす(ついにザウルスで動いた!)

今回はいつものお断りは必要ありません。
正真正銘、ザウルスの上で動きました!!

ただし色々と注釈付きではありますが…。
詳細は追って説明しますが、最初に重要な点を。

・標準状態のザウルス(所謂SharpROM)で動くわけではありません
・通信速度はまだPHSよりちょっと速い程度です


ここまで読んで期待はずれだった方、ごめんなさい。
まだまだ頑張り中ですのでもう少しお待ち下さい。



きっかけは1通のメールでした。

通りすがりのanonymousさんが、Angstromな環境でビルドしたVMBドライバを送ってきてくれました。それも詳細な確認手順付き。これは試さないわけにはいきません。

まずはドライバ。これがないと始まりません。
転載許可を頂いたのでこちらに置いておきます。

続いてザウルスの下準備。Angstromをインストールします。
導入するのはコンソール用のイメージ(という表現であっているのでしょうか?)。以下で自分の機種にあった導入ファイル(Angstrom-console-image-glibc-ipk-2007.12-xxxxxx-installkit.tgz)をダウンロードします。

Index of /releases/2007.12/images
http://www.angstrom-distribution.org/releases/2007.12/images/

私の手元にはC1000(akita)とC750(shepherd:c7x0)があるのですが、残念ながらC1000ではAngstromがうまく動きませんでした。なのでこれ以降の手順は全てC750で行っています。C3000(spits)では動くという話を聞きましたが、それ以外の機種については試す環境がないので動くかどうか分かりません。

ファイルがダウンロードできたらAngstromをインストールします。
手順は以下のサイトを参考にしてください。

インストール - OpenZaurus-ja
http://openzaurus-ja.sourceforge.jp/index.php?%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB

こんな事を試そうと思っている方には釈迦に説法でしょうが、くれぐれも事前にNAND FLASH BACKUPを取得しておくことをお忘れなく。

インストールが完了したら、まずはネットワーク接続を確立します。私の手元には有線のカード(Planex CF-10T)と無線のカード(Buffalo WLI2-CD-S11)があったのですが、残念ながらCF-10Tは認識せず(pdaXromのr121以降では動かなかったので予想はしていたのですが)。なのでWLI2-CD-S11でネットワーク接続をしました。IPアドレスなどの設定は/etc/network/interfacesに書きます。既存のファイルにサンプルが書かれているので設定は難しくないと思います。もちろんifconfigで直接設定しても構いません。

ネットワークに繋がったら、必要なモジュールをインストールします。
ipkg update
ipkg install kernel-module-cdc-acm
ipkg install cu

また、最初にダウンロードしたVMBドライバのファイルから、vmb_cs.kovmb_hcd.ko/lib/modules/2.6.23/kernel/driversにコピーします。

ドライバの更新をシステムに反映します。
depmod -a

これで準備は完了しました。
CFスロットに刺さっている通信カードを抜きましょう。
pccardctl eject

そして代わりにD01NXを刺します。

dmesgpccardctl infoでカードが認識されたことを確認してください。またlsmodvmb_csvmb_hcdcdc-acmがロードされていることを確認してください。

正常に認識されると、/dev/ttyACM0が作成されます。パーミッションが正しくないので以下の通り修正します。
chmod 666 /dev/ttyACM0

きちんと使えるようになっているか、cuコマンドで確認します。
$ cu -l /dev/ttyACM0 -s 115200
at
OK
~.

いよいよダイアルアップの準備です。必要な設定ファイルを書きます。

/etc/ppp/pap-secrets
"emobile" emobile "emobile"

/etc/ppp/chatscript.emobile
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED
'' ATZ
OK-AT-OK "ATDT*99***1#"
CONNECT \d\c

/etc/ppp/peers/emobile
hide-password
noauth
connect "/usr/sbin/chat -v -f /etc/ppp/chatscript.emobile"
debug
/dev/ttyACM0
115200
defaultroute
noipdefault
user "emobile"
usepeerdns

これで準備完了!ダイヤルしてみましょう。
pon emobile

どうでしょう?ダイヤルできましたか?
ifconfigppp0が表示されることを確認してみてください。この環境だとブラウザは使えないので、実際の通信についてはpingwgetで確認してみてください。

終わったら接続を切ります。
poff

以上が確認手順の全て、そして今出来ることの全てです。

とりあえずwgetでのダウンロードテストをしてみました。

対象ファイルは4.83MB(5070725byte)のJPEGイメージ
ダウンロード元はseesaa.net。つまりはここですね。
計測方法は time wget hoge。かなりの簡易計測です。

誤差も考慮して5回計測。
 1m 43.47s
1m 56.44s
3m 2.12s
2m 51.83s
2m 45.18s
誤差では済まされないくらいの差が出てしまいました…。ただseesaaって結構重いので、そっちの影響もあるかもしれません。ざっくり平均だと2分半(150s)で5070725byteということなので、33804byte/s=264Kbpsという結果になりました。4xのPHSよりちょっと速いので、スペック上の最速である3Mbpsオーバーという数字に拘らなければ、このままでも意外と不満なく使えてしまうかもしれません。

とにもかくにもVMBドライバがザウルスでも動くことは確認できました。今後はPCで有効だったcdc-acmのバッファ拡張や、usbserial+optionの組み合わせ+URB増加なども試してみたいところです。ただハードウェアスペックが貧弱なザウルス故、あまり速くなりすぎてしまうと逆にCPUを使い切られて使い物にならなくなってしまう可能性はありますが。

また、ユーザーランドについても考える必要があります。SharpROMで行くのであればVMBドライバをkernel2.4向けに修正する必要がありますし、逆にkernel2.6.23のまま行くのであればpdaXromなり何なりをkernel2.6.23対応にして、実用に耐えるところまで作り込んでいく必要があります。

どちらにを選択するにしてもハードルは高く、本当の意味で『D01NXをザウルスで使う』にはまだやっと道半ばといったところです。とりあえず前者は他の誰かにお願いするとして、私としては後者を何とかしていきたいと思います。


力を貸してくださった全ての方々に、大いなる感謝の意を込めて。


−追記:2008/01/13−
通信速度の計算が間違えてました。
"bps"は"byte per second"じゃなくて"bit per second"でしたね…ははは。
お詫びして訂正いたします。m(_ _)m
posted by 月水和尚 (とも) at 01:53 | Comment(19) | TrackBack(1) | りなざう
この記事へのコメント
おお、やはりAngstromでは動きましたか。

Openzaurusはずいぶん前に使おうと思って入れた時期があったんですが、結局常用はしませんでした。
でも、2.6カーネル使ってたなと思って最近見たらAngstromっていうのになってたんで、VMBドライバもそれ用にコンパイルしようと思ったんですが、コンパイル環境の作り方が分からなかったんです…
なのでバイナリ提供はありがたいです。

試しにAngstromはZaurusには入れてみてあるんで、早速やってみます。
とりあえずはこれでzaurusに入れて持って出られる状態にはなりそうですね。
Posted by masamura at 2008年01月13日 12:57
masamuraさん

動きましたよ〜!けっこう感動しました。
ただAngstromって入れたの今回が初めてなので、常用に耐えるかどうかはまだ未知数です。そもそもテストに使ってるのがコンソール環境なので、ネットに繋がっても出来ることはwgetでファイル拾うくらいですし。

ちなみにオリジナルのソースを単にコンパイルしただけだとダメみたいです。頂いたソースの何ヶ所かに修正が入っていました。私では到底たどり着けない修正なので本当に神を見た思いです。

とりあえず試してみてくださ〜い!
フィードバックお待ちしております。
Posted by tomo at 2008年01月13日 18:15
こんばんは
Angstrom@c760に入れてみました。
7x0用の一番でかいイメージでやってみたんですが、X立ち上がるけどブラウザが何使えばいいのか分からないんで、ターミナルから確認。
とりあえず接続の確認は普通にできました。
2.6系カーネルなら問題なく使えそうです。
Posted by masamura at 2008年01月13日 23:22
masamuraさん

おぉ、x11イメージでも動くんですか!
Angstromでブラウザって何が使えるんでしょうね?
とりあえずipkg install wgetはダメって言われました…。

暫定でもいいんで普通のブラウザ使えるユーザーランドが欲しいところです。(自分で作れ>俺)
Posted by tomo at 2008年01月14日 00:26
訂正!wgetじゃなくてw3mでした。
wgetは計測に使っているじゃないか…。orz
Posted by tomo at 2008年01月14日 03:20
tomoさんすごいですね。日進月歩とはこのことです!
昨日アキバに行って中古のAxim X51vを見に行ったんですが思いとどまってよかったです。
やっぱりZAURUSに愛着ありますから。
中古のAxim X51v買うならC760買おうかな・・・
Posted by ktamura at 2008年01月14日 12:27
pon/poffがあるなら、pppconfingが使えたりしませんか?
Posted by anonymous at 2008年01月14日 20:55
angstromならfirefoxがfeedにあがってませんか?2.0.0.3あたりが。

x11-imageのほかにx11-gpe-imageがあればgpe-mini-browserもあるはず。
Posted by shizaru at 2008年01月15日 19:17
http://www.angstrom-distribution.org/feeds/2007/ipk/glibc/armv5te/
にgpe-mini-browserってのはありますね、帰ったらやってみよう。
pppconfigも。
angstromにはpppsetupが無かったんで私は手動で作ってました…
Posted by masamura at 2008年01月16日 13:18
すいませ〜ん話題に追いつけていません!

私は何とかusbserial+optionの組み合わせを試してみたいのですがクロスコンパイルで挫折中…。現状だと上りは悲しいくらい遅いらしいので、ドライバ問題を先に何とかやっつけたいと思っています。
Posted by tomo at 2008年01月17日 18:02
あ、うちで試してるのはfeedにパッケージがあるならそれで動かせないかなぁってことです。
クロスコンパイルはまだ手を付けられていません。
数年前に一度何かでARM用のを作ったことがあったんですが何やったんだったか覚えてないんですよね…

上で出たpppconfigですが、pathの通ってるところにはなさそうな感じでした。
面倒ですが、tomoさんのやり方を参考に/etc/pppの下をがんばって作るしか今のところ思いつきません。
(pppの時代にはLinuxは使ってなかったので、便利なやり方を知らないんです)
私はPlamoを使ってるノートで使ってた設定をコピーしてちょいと修正して使ってやりました。
Posted by masamura at 2008年01月17日 23:45
はじめまして、kyoshoという者です。
SL860 + bitwarp(PHS)使ってるんですが、遅くてストレス感じてます。。。

なので、emobile繋がるようになると、すっごく嬉しいっす!
頑張ってくださーい!応援してます!
Posted by kyosho at 2008年01月19日 00:48
kyoshoさん

ご声援ありがとうございます!
まだまだゴールは遠いですが、温かく見守っていただけると嬉しいです。

私はC1000またはC750でbitWarp使ってます。2ヶ月ほど前に初代(VN-201)から最新(MC-C550)に買い換えたのですが、通信速度も安定度も劇的に改善しました。個人的にはそこそこ快適です(もちろんemobileと比べるべくもありませんが)。カードの出っ張り部分が大きくなってしまったのでキーボードが打ちづらくなっちゃったのが玉に瑕ですが。
Posted by tomo at 2008年01月19日 13:30
c860+ビトワの私も応援します。と言っても精神的な応援だけで申し訳ないです。
完成した暁には、芋場に売りつけてやりましょう。
では、ご自愛ください。
Posted by tanto at 2008年01月19日 15:14
tantoさん

これまたご声援ありがとうございます!
精神的な応援って、思った以上に効果あるんですよ。
ありがとうございます。
売りつけられるようなものはさすがに完成しないと思いますが、何とかザウルスでも実用に耐えるようなものが作れたらいいなと思ってます。(ドライバだけではなく、カーネルやユーザーランド含めて)

ぼちぼちやっていきますので、また遊びに来てください!
Posted by tomo at 2008年01月19日 20:45
子供でもわかるような導入方法を教えてください。設定を変更するという箇所で、ギブアップです。

よろしく
Posted by 待ち人 at 2008年01月20日 12:40
待ち人さん

今回の件はまだ「とりあえず動くことは動きました!」というレベルの話(動くだけで実用には耐えない)なので、実際に試してみるにはそれなりのスキルが必要だと思っています。それでもかなり詳細に手順を書いたつもりなので、この説明で理解できない場合は試してみないことをお勧めします。(冷たい言い様で申し訳ございませんが、一連の手順は最悪ザウルスを煉瓦にしてしまうようなこともやっているので…)

実用的に使えるようになった暁には「子供でも分かる」導入手順を書きたいと思いますので、それまで今しばらくお待ちいただけますようよろしくお願いいたします。
Posted by tomo at 2008年01月20日 16:26
はじめまして。D01NXユーザでかつてSL-C700使いだったものです。こちらのblogは応援の気持ちでときどき見させていただいてました。

3桁ザウルスの公式ドライバが出ないことに失望してしばし忘れていたのですが、先日ふと思い出していまさらながら記事の方法を試してみました。が、敗北、、orz デバイスファイルが作成されず。手動でmodprobeしてmknodしてみたのですがcuでエラーでした。そこでちょっと質問なのですが、SL-C700で動いた!という報告などご存知でしょうか?

いきなりでてきてすみませんがよろしくです。
Posted by 通りすがりのもの at 2008年09月05日 02:03
> 通りすがりのhysdtkrさん

コメント遅くなって申し訳ございません!

D01NXを使うという意味ではC750でもC700でも一緒だと思います。動かない理由で考えられるのはカーネルバージョンの違いくらいですかねぇ(C700とC750の違いではなく、この時と今のAngstromでの違い)。ここでの手順は2.6.23用に書かれているのですが、今のAngstromってカーネルのバージョンはいくつを使ってるんでしょう?

本当は公式ドライバが3桁をサポートしてくれれば一番なんですけどね。それが駄目でもせめて4桁用のドライバをGPLとして公開してくれれば…。GPLにすることにイーモバイルとしてデメリットがあるとはとても思えないんですけどねぇ。

微力ながら応援させていただきますので、頑張ってください!
Posted by tomo at 2008年09月09日 09:57
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック

この価格なら??
Excerpt: 超小型PC FlipStart、半額以下に値下げ $699なら欲しいな〜?日本に...
Weblog: ESCAPE BLOG
Tracked: 2008-01-17 16:08