2008年01月05日

D01NXをザウルスで動かす(PCではほぼ実用レベルに!)

いつものとおり最初にお断りしておきます。

『ここでの実行結果は"ザウルスで"ではなく"PCで"です』

とりあえず記事タイトルを変えるべきでしょうか…。(汗)

で、本題。
PCのLinux上ではだいぶ動くようになってきたD01NXですが、今一番の問題は1秒ごとに膨大なデバッグログが出てしまうこと。ログがでかくなりすぎる事もさることながら、ログ出力の処理が通信速度の足を引っ張っている様子。こいつを強引に止めてみようと思います。

やり方は至って原始的。各ソースにて、

1.printkPRINTKに置換
2.#define PRINTK do{} while(0) を上の方に追加
3.MakefileEXTRA_CFLAGS から -Werror を削除

いじょ。(笑)
あ、実際にはDEBUGASSERT関連のマクロはみんな do{} while(0) に置き換えちゃってますが。

これが効果覿面で、ログには何も出なくなり、通信速度も2Mbpsを超えるようになりました。ほぼWindowsで使ったときと同じ値です。通信速度が不安定になったりすることもないので、ばっちり実用に耐えそうです。

というわけで、

・VMBドライバ v1.9 (超強引ログ除去対応)
・cdc-acm (kenya@試作パッチ対応)


というドライバの組み合わせでどうやらうまくいきそうです。

masamuraさんの情報によるとcdc-acmではなくoptionでも動く(cdc-acmと違ってパッチ適用の必要なし!)そうなのですが、私の環境ではうまくいきませんでした。ATコマンドは受け入れているようなのですが、初期化に失敗してるっぽくダイアルアップまでたどり着きません。環境の差ですかね…。

さぁ、ぼちぼち本気でザウルスで動かすことを考えねば!
今のところ考えているのはkernel2.6採用の代替ROMで動かすことです。
SharpROMへのポーティングは私のスキルでは無理なので、神の降臨をお待ちしております。
posted by 月水和尚 (とも) at 01:32 | Comment(16) | TrackBack(0) | りなざう
この記事へのコメント
なんかいろいろやってる間に早くなってたんですね。
option動きませんか?
こちらではcdc-acmだと思ったほど速度が上がらないため主にoptionで試験中です。
cdc-acmの代わりにusb-serial.cをいじってあります。

こちらでもログを抜いたら劇的に早くなる事が確認できました。
1.243Mbpsまであがったんで、windowsと同等です。回線品質も62ぐらいまで上がりました。
おかげさまでlinux環境では問題ない感じです。

まぁ相変わらず上りがすごい遅いですが。
/var/log/debugとかすごい大きさになってると思ってたらこんなに影響でてたとは…
前回ちょっとじゃなくて全部抜いてみれば良かったですねぇ
Posted by masamura at 2008年01月05日 03:55
masamuraさん

option動かないんですよ…。usb-serial.cの高速化パッチとoptionのD01NXパッチは適用済みで、ちゃんとカードを刺せばモジュールは自動でロードされるし、ATコマンドもきちんと受け付けているのですが、何故かダイヤルせず。今度cdc-acmとoptionのATコマンドのログ貼り付けておきます。

そうそう、optionだとダイアルアップ接続が確立するまでにどのくらいかかりますか?cdc-acm(と言うか私の環境)ではダイアルしたあとに接続確立まで結構待たされます。ハングアップした?と思うくらいなので20〜30秒くらいですかね。これもATコマンドのログ貼り付けるときに「ここで待たされる」のポイントをお知らせいたします。

上りは計測したこと無いんです。相変わらずJavaが使えずradishで計測できないので。目処は立ってきたので測定でき次第ご報告いたします。

Windowsと同等の能力を出せるようになってきたことで、個人的にはだいぶ盛り上がってまいりました。今後しっかりソースを見直して、きれいなログ抜き&不要な処理の削除を進めたいと思います。

masamuraさんはどのザウルスをお持ちですか?
 tomo:C1000 / C750 / C700
 kenya:C1000 / C860(ちょっと不調)
というラインナップなので、masamuraさんがお持ちの機種に合わせて3桁から攻めるか4桁から攻めるか決めたいと思います。
Posted by tomo at 2008年01月05日 08:44
接続時間ですが、デバイスを認識した状態からponで接続開始するとアンテナマークのLEDが4回ほど点滅した頃(回線が悪い?)にMODEのLEDが3回点滅して接続完了です。
これで約8秒ぐらいですが、この時点でifconfigで接続が確認できてます。

Plamoではmurasakiでhotplugを認識するんですが、vmbはカードをさしてすぐに認識しますがモデム部分までは認識せず、usbを見に行く(lsusbを何度かやるなどする)とモデム情報まで取得できるというような状態です。
ここにちょいと時間がかかってます。

この辺までデバイスの問題なのか、gentooとplamoの違から来るのかもしれません。


ちなみに、うちのザウルスは760です。
#ThinkPadといいちょうどかぶりませんね
#InterLinkは昔欲しかったんですがもう作ってないんですよね。
#最近富士通が出したあの小さいのはもっと薄ければ買ってましたね。

4桁系はbitwarpを使うときにUSB無線lanをさしてルータにしようかと思ったことはあったんですが本体だけでも十分かなということで購入にまでは至っていません。
やっぱり薄いのが良いもので

あとOSはpdaXromと標準で設定後のnandのバックアップがとってあるのでどちらでもOKです。
ここ半年ほどはずっと標準で使ってます。
Posted by masamura at 2008年01月05日 13:55
cdc-acmを使った場合のATコマンドのログ。

--> Ignoring malformed input line: ";Do NOT edit this file by hand!"
--> WvDial: Internet dialer version 1.60
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Modem initialized.
--> Sending: ATM1L3DT*99***1#
--> Waiting for carrier.
ATM1L3DT*99***1#
CONNECT
--> Carrier detected. Waiting for prompt.
--> Don't know what to do! Starting pppd and hoping for the best.
--> Starting pppd at Sat Jan 5 13:52:38 2008
--> Warning: Could not modify /etc/ppp/pap-secrets: Permission denied
--> --> PAP (Password Authentication Protocol) may be flaky.
--> Warning: Could not modify /etc/ppp/chap-secrets: Permission denied
--> --> CHAP (Challenge Handshake) may be flaky.
--> Pid of pppd: 4776
--> Using interface ppp0
--> local IP address xx.xx.xx.xx
--> remote IP address xx.xx.xx.xx
--> primary DNS address xx.xx.xx.xx
--> secondary DNS address xx.xx.xx.xx

これの、

--> Carrier detected. Waiting for prompt.

の部分で結構待たされます。
だいたい10〜15秒くらいですかね。
PCだともうちょっとサクッとつながると思うのですが。

ただ、昨日より今日の方が待ち時間が短い気がします。
総じて気のせいの領域ですかね。。。

optionの時のログはドライバ入れ替えて取得しますのでしばらくお待ちください。

from Gentoo Linux + D01NX
Posted by tomo at 2008年01月05日 13:59
やっとJava動きました。(苦笑)
そのためにコンパイルを10時間もする羽目になるとは。。。
(それもそのうち6時間は不要だったっぽい)

で、radishの測定結果はこちら。

下り回線
速度 2.873Mbps (359.2kByte/sec)
測定品質 96.9

上り回線
速度 7.993kbps (999.1Byte/sec)
測定品質 92.0

下りは大満足の結果です。
Windows環境まで含めて、過去最速。

しかし上りが遅い。。。
masamuraさんのご指摘通りですね。
上りに比べてあまりにも遅いので、何とかしたいところ。

ただ、回線の安定度自体は特に問題ないようです。

上りだけ遅い。。。
難題ですね。
Posted by tomo at 2008年01月05日 19:39
masamuraさん

8秒で繋がるのは羨ましいです。
私の環境では30秒と少しかかっています。
Windowsなら10秒もかかってないはずなので、masamuraさんの環境での動きが正しいんでしょうね。

待たされているのが

--> Carrier detected. Waiting for prompt.

なのでドライバ云々とは関係なさそうです。ログイン認証のシーケンスを勘違いしているとか、そんな感じでしょうか?gnome-pppの設定も含めもう少しきちんと見直してみたいと思います。

モデム部分の認識についてですが、optionにD01NXパッチは当てられていますか?少なくともGentooではhotplugでVMB部分もoption(またはcdc-acm)もさくっと認識します。

760いいですね〜。750は内蔵が64MBしかない、1000はちょっと大きすぎて帯に短し襷に長し。個人的には760+ちびバッテリーが最高だと思ってます。
C1000はkenyaくんと『ザウルスでGentooを動かそう!』という壮大な計画のために買ったのですが、そこまで手が回らずほったらかし状態でした。

pdaXromだとkernel2.6系は不安定なRC121以降しかないので、やるのであればAngstromでしょうか。上記の『ザウルスでGentooを動かそう!』を発動してもいいんですが、D01NX以外のところに時間がかかりすぎそうです。

そういえばpadXromの2.0って予定では来週だったような。全然Roadmapが更新されていないので苦戦中なんですかね。

<余談>
InterLinkは本当にいい機械だと思うのですが長続きしませんでしたね。富士通のアレはあまり魅力的に見えずスルーしたのですが、最近Eee PCが魅力的に見えてなりません。同じASUS製ということでInterLinkの後継機になるかも!とちょっと期待しております。今週発表される新型のスペック次第では買ってしまいそう。
</余談>
Posted by tomo at 2008年01月05日 20:26
どもです。
cdc-acm側のパッチとtomoさんのvmbソースで速度改善しました。

以下は自宅でのradish測定結果。

下り回線
 速度:1.874Mbps (234.2kByte/sec)
 測定品質:93.8
上り回線
 速度:8.370kbps (1.046kByte/sec)
 測定品質:90.2

ftp getでは最大300KBpsいきますね。
上りが遅いのはまた考えないとですねぇ。
Posted by kenya at 2008年01月06日 17:17
kenyaくん

おめ!
ちなみにkenyaくんの環境だとダイアルアップ接続にかかる時間ってどのくらい?

cdc-acmでもoptionでも上りはダメとなると、VMB側の問題ですかねぇ。Tonyへの連携よろしくお願いします。

# vmbソースって、何かおいしそうな響き(笑)
Posted by tomo at 2008年01月06日 22:21
ふと思ったんですが、例のcdc-acmのバッファ拡張パッチ、下り側だけに効いてるなんて事ないですよね?前記事のmasamuraさんがoptionのところで『in側のサイズ4096k、out側が128k』と書かれていたのでちょっと気になりました。
Posted by tomo at 2008年01月06日 22:28
tomoさん

>ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0

これ、いります?
僕のところではこれは入れてません。単にATZだけ。
ちなみに、ppp接続確立にかかる時間は1秒くらいです。
IP取るまでに2,3秒といったところです。
感覚的にはwindowsと変わらないと認識してます。

cdc-acmのバッファ設定ですが、一応read/write両方のパケットサイズを変更していますが…もしかしたら送信と受信で別の定義なのかも。
ちょっとあとで見てみます。
Posted by kenya at 2008年01月07日 14:57
kenyaくん

がーん、いらないの?
デフォルトで入ってたから必要かと思って…。
(というかいつの間に入ったんだろ?)
帰ったら消してやってみます。
optionが動かないのもこのせいかな?

そういえばTonyからドライバ公開の話って何かあった?
これだけ動くんだから早く正式公開されてほしい…。
Posted by tomo at 2008年01月07日 15:10
Tonyには再度メールを投げておきました。
回答まちです〜
Posted by kenya at 2008年01月07日 15:53
さんくす!>kenya
Posted by tomo at 2008年01月07日 16:11
接続に時間がかかる件、解決しました。
gnome-pppのOptionsタブで、

"Ignore terminal strings (stupid mode)"

のチェックを入れてあげるとさくっと繋がります。
経過時間がはちゃめちゃになる件も一緒に解決しました。
Posted by tomo at 2008年01月08日 22:44
たぶん調べてこの設定に行き着いたのでしょうが、
たまたま自分で調べてて分かったので補足。

SUSE Linux Unofficial FAQ -- Networking: PPP/DSL/DHCP Related Problems
http://susefaq.sourceforge.net/faq/ppp.html

--------------------------------------
2.
When I try to connect to my ISP, the connection is immediately terminated after the pppd is up. How can I fix it ?


If you are using WvDial to dial your ISP, in /etc/wvdial.conf, find the setting named Stupid Mode. Set it to 1.

Some ISP's will send the text for a login and password, but never use the response. Stupid Mode tells WvDial to ignore such prompts.
----------------------------------

ppp接続にユーザー情報やパスワードを送るけど使われないISPの時に設定する(気がする)
prinとかemobileはまさにそうですな。
Posted by kenya at 2008年01月25日 20:24
kenyaくん

全然調べてないっす。行き当たりばったり。(笑)
gnome-pppの設定を総当たりで試したらたまたまうまく行っただけなのです…ははは。
イーモバってユーザ名とパスワード使ってないのね。
em/emと設定するのは何となくなのか。

調査ありがとうでした!
Posted by tomo at 2008年01月27日 22:21
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

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


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

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

この広告は180日以上新しい記事の投稿がないブログに表示されております。