2006年01月11日

Gentoo LinuxでW-ZERO3

W-ZERO3でPPP

先月、京ぽんから機種変してW-ZERO3ことSHARPのWS003SH[www.willcom-inc.com]使いになりました。この機種はもろPDA*1なのでノートPCいらずって感じですが、PCからUSBモデムとして使えるとうれしいですよねぇ。しかしlinuxからはそのままではUSBモデムとしては使えませんでした。

年末休みにlinuxのUSBシリアルドライバを調べていたところ、ipaqドライバがPocket PC 2003に対応しているのに気付きました。さらにWindows Mobile 5.0はPPC2003SEとの互換性が非常に高いという情報ですので、「コレでいけるんじゃないかな」とあたりはつけていたんですけど、いかんせん実家はPHS圏外。こっちに帰ってくるまで検証はおあずけ*2でしたが、一昨日試したら...「う、うごいた〜。」ちょっと不安定ですけどいけました。

ipaqドライバ

ipaqドライバはPPCをUSBシリアルとして使うドライバです。kernel構築の「make menuconfig」で次の項目を設定しmakeすればmoduleが作成されます。

List1:make menuconfig
Device Drivers  --->
  USB support  --->
    USB Serial Converter support  --->
      <M> USB Serial Converter support
      <M>   USB PocketPC PDA Driver

「make modules_install」でmoduleをインストールしたらW-ZERO3を接続して、「modprobe ipaq vendor=0x04dd product=0x9102」で認識されます。

List2:W-ZERO3の認識
# modprobe ipaq vendor=0x04dd product=0x9102
# dmesg | tail
usb 3-1: new full speed USB device using uhci_hcd and address 11
usbcore: registered new driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0
drivers/usb/serial/usb-serial.c: USB Serial support registered for PocketPC PDA
drivers/usb/serial/ipaq.c: USB PocketPC PDA driver v0.5
ipaq 3-1:1.0: PocketPC PDA converter detected
usb 3-1: PocketPC PDA converter now attached to ttyUSB0
usbcore: registered new driver ipaq

私の場合はhotplugでmoduleを自動loadしたいので、ドライバソース*3のusb_device_id構造体の配列にW-ZERO3のvendor idとproduct idを追加してからmakeしています。以下がそのパッチです。

List3:ws003sh-2.6.14.patch
diff -ru linux-2.6.14-gentoo-r5/drivers/usb/serial/ipaq.c linux-2.6.14-gentoo-r5.new/drivers/usb/serial/ipaq.c
--- linux-2.6.14-gentoo-r5/drivers/usb/serial/ipaq.c    2005-12-23 23:14:08.000000000 +0900
+++ linux-2.6.14-gentoo-r5.new/drivers/usb/serial/ipaq.c        2006-01-03 00:10:01.000000000 +0900
@@ -532,6 +532,7 @@
        { USB_DEVICE(0x22B8, 0x4244) }, /* Motorola MPx100 Smartphone */
        { USB_DEVICE(0x1231, 0xCE01) }, /* USB Sync 03 */
        { USB_DEVICE(0x1231, 0xCE02) }, /* USB Sync 03 */
+       { USB_DEVICE(0x04dd, 0x9102) }, /* WS003SH */
        { }                             /* Terminating entry */
 };

PPPの設定が済んでいれば「/etc/init.d/net.ppp0 start」で接続します。logではデバイスファイルはttyUSB0にattachされていますが、ウチの場合実際にはudevが/dev/tts/USB0を作成していましたので、/etc/conf.d/net.ppp0でMODEMPORT="/dev/tts/USB0"としました。

う〜ん、イマイチ

使用感は、はっきりいってイマイチです。パケットがサクサク流れるときはいいんですが、ピタッと流れなくなる時があるんです。おまけにW-SIMがフリーズすることもあります。Windowsでもイマイチらしいんで、コレはW-ZERO3側の不具合なんですかねぇ。

*1:PDAとしてのできは巷では賛否両論だけど、個人的には優・良・可・不可の4段階で、値段のことも考慮するとぎりぎり良ってとこかな。

*2:電測用ATコマンド等は通っていたので確信はしてたけどね。

*3:/usr/src/linux/drivers/usb/serial/ipaq.c


 

この記事へのトラックバックとコメント

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

http://blogs.dion.ne.jp/terasan/tb.cgi/2642269
※ブログオーナーが承認したトラックバックのみ表示されます。

トラックバック

全然出来ていないのだが、とりあえず情報源へのポインタと、そこへの相違点のみ。 G...
linux で W-ZERO3【shibata(hi) shokudou】 at 2006年03月07日 01:21
4月1日からウィルコムで2xパケット方式が適応されたのでW-ZERO3をモデムと...
LinuxでW-ZERO3【NAVY WATER】 at 2006年04月05日 20:28

コメント

こんにちわぁ〜°。゜(# ̄ ▽. ̄#)

早速新しい京ポンのHP見てきましたぁ〜
なんか見た目は凄いですね
携帯打ちが苦手な私は
『QWERTY配列のキーボードが現れます。』
ってのに、凄く惹かれました(*^-^)

でも、まだ不具合っていうのでしょうか
不便なところがマダマダあるのですねぇ^_^;
Posted by あいさ at 2006年01月14日 18:40
あいささん今年もよろしくです〜。
え〜っと...、コレは「京ぽん」じゃなく「W-ZERO3」ですよぉ。
世間で「京ぽん2」とよばれているのは「WX310K」(http://www.willcom-inc.com/ja/lineup/wx/310k/index.html)です。
ちなみに味ぽんは「エアエッジフォン」のことで、京ぽんは「京セラのエアエッジフォン」のことね。W-ZERO3は「ZERO3」とか「しゃーぽん」(シャープのスマートフォン)とかよばれてます。

>不便なところが...
はい、正直いって地面にたたきつけたくなるときがたま〜にあったりして...。でも慣れました。(^_^;
ふつ〜のPDAな価格(7万とか)だったら、いらないっすねぇコレ。そうそう、無線LANはすごくいいですよ。実家の近所にFREESPOTな風呂屋があるんで重宝してます。「風呂はいりにいってんだかNetしにいってんだかわからん」って言われますけどね。
Posted by てら at 2006年01月15日 18:49
てらサンお久;
zero3ですか。
あのデザイン引かれますね。
いろいろ称賛本見て儂、
京ぽん2にしようか面白います。←なんか鹿児島のヒトみたいな喋りになりました:-)
ブログの管理画面で重いんですよね京ぽんだと。on書き不可能。
ではまたいろいろ教えてください。
Posted by ×σ at 2006年02月01日 10:28
×σさんお久しぶりです...、って、えっ?。もしかして、よ○○○さんですかねぇ。
京ぽんはメモリが少ないので、Javascript使いまくりな管理画面ですと辛いですよね。私もLOVELOGリニューアル後はメモリ不足で投稿不可になってました。メモリが増加した[京洋]ぽん2だといけるんでしょうねぇ。
Posted by てら at 2006年02月01日 23:08
てらサン、お待たせしました。はい、ヨ....です(^^;;
数日後にレス(ポスト)したつもりだったんですが、操作ボタン押し違えて
発信してなかったみたいです。てらサンに却下されてupされてないならいいのですが
そうではなさそうですね。
京ぽん2買いましたですう。あとは口座を開設してデイトレーダーだ(笑、ホントか
自分?)。まだいまいち使いなれてませんけど。ではではまたデス。おげんきよう。
Posted by ×σ(理学白紙)ヨ... at 2006年02月08日 23:52
もしよろしければpppの設定をどのようにやったのか教えていただけないでしょうか?
わたしもlinuxからアクセスを試みているのですが、dmesgや /proc/bus/usb/devices では認識できてはいるものの、
wvdialconfでwvdial.confをつくろうとしてみても、
ttyUSB0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB0<*1>: ATQ0 V1 E1 -- ERROR
ttyUSB0<*1>: failed with 9600 baud, next try: 115200 baud
ttyUSB0<*1>: ATQ0 V1 E1 -- ERROR
ttyUSB0<*1>: and failed too at 115200, giving up.
などとなって失敗してしまい、
/etc/conf.d/netに書いて、pppdを使う方法にしても、
the serial port baud rateをいくつに設定すればいいのかわからないので接続ができないのです。
Posted by パラジョン at 2006年11月29日 02:34
パラジョンさん、返事が遅くなってすみません。
pppの設定は、この記事を書いたころは/etc/ppp以下のファイルで設定するようになっていましたが、現在は/etc/conf.d/netに記述するように変わりましたね。それから/etc/init.d/net.ppp0は/etc/init.d/net.loへのシンボリックリンクになっていますので、なければ「ln -snf /etc/init.d/net.lo /etc/init.d/net.ppp0」で作成してください。

それではうちの/etc/conf.d/netの該当部分を以下に記しますね。

ここから->
#/etc/conf.d/net
config_ppp0=( "ppp" )
link_ppp0="/dev/ttyUSB0"
username_ppp0='ISPのlogin ID'
password_ppp0='password'

pppd_ppp0=(
"maxfail 0"
"updetach"
"noauth"
"defaultroute"
"usepeerdns"
"115200"
"modem crtscts"
)

chat_ppp0=(
'ABORT' 'BUSY'
'ABORT' 'ERROR'
'ABORT' 'NO ANSWER'
'ABORT' 'NO CARRIER'
'ABORT' 'NO DIALTONE'
'ABORT' 'Invalid Login'
'ABORT' 'Login incorrect'
'TIMEOUT' '5'
'' 'ATZ'
'OK' 'ATDT0570570600##64' #DIONでx2の場合のTEL番号です
'TIMEOUT' '60'
'CONNECT' ''
'TIMEOUT' '5'
'~--' ''
)
<-ここまで

ちなみに本文にもあるとおり、放っておくとすぐ(20秒ぐらいで)パケットが通らなくなります。自分は今では、ppp接続したらすぐに自宅へVPN接続することで、回避しています。
Posted by てら at 2006年12月14日 20:22
ん。
それならばping -i 10 どこかのhost で大丈夫そうですね。
昔のエアーエッヂカードも、勝手に接続切られていたように記憶しています。
Posted by milou at 2007年02月27日 15:50

コメント投稿フォーム