2006年10月12日

pdaXrom 1.1.0r121:USBネットワークを使えるようにする

個人的にはとっても重宝していたUSBを使ったネットワーク接続ですが、r121では使えなくなっていました。beta1の頃には導入直後から使えてたのに何故?と思い、あれこれ調べてみることに。

まずはザウルス側。母艦(Windows機)にUSBを刺してもウンともスンとも言わないところを見ると、ザウルス側で動いていなければならない何かが動いていないと推測。ファイルシステム内をうろうろしてみたら、/etc/sysconfig/usb の配下に usbd という魅力的なファイル名を発見。中身を見てみると、こいつがUSBネットワーク(またはUSBストレージ)の機能を有効化するスクリプトらしいことが判明。さっそく実行してみることに。
/etc/sysconfig/usb/usbd start

これでUSBネットワーク機能に使う pxa2xx_udcg_ether という2つのモジュールがロードされました。

この状態でUSBケーブルを母艦に刺してみると、RNDIS/Ethernet Gadget という新しいデバイスが検出されました。どうやら今まで使っていたザウルス標準のドライバではダメみたいです。

さてこの RNDIS/Ethernet Gadget とは何ぞや…とWEBをさんざん彷徨っていたら、どうやら組み込みデバイス用のAPIフレームワークらしいということが判明。そしてWindowsXPでは標準でサポートしているとのこと。

USB Remote NDIS Devices and Windows
http://www.microsoft.com/whdc/device/network/NDIS/usbrndis.mspx

ではどうやったらドライバを組み込んでくれるのかと調べたら、下記のページに行き着きました。

WindowsXpUsbNetworkHowTo - Handhelds.org MoinMoin Wiki
http://handhelds.org/moin/moin.cgi/WindowsXpUsbNetworkHowTo

このページにある linux.inf を母艦の適当な場所にダウンロードして、ザウルスのUSBケーブルを刺します。セットアップ手順の途中のドライバ格納場所を指定する画面で、先ほどファイルを保存したディレクトリを指定すれば無事認識されます。

ただこのままだと認識されたNICがDHCPを使うような設定になっているので、TCP/IPの設定を以下のように変更する必要があります。
IPアドレス:192.168.129.1
サブネットマスク:255.255.255.0

残りの項目は空白のままでOKです。

これで母艦から 192.168.129.201sshで接続すれば、無事にログインできると思います。(ファイアウォールの設定をしている方はこのIPとの通信を許可するよう設定変更をお忘れなく)

3桁系の場合、USBネットワーク機能を使えば充電とネットワーク接続が1本で出来るので非常に快適です♪4桁系でこれが実現できないのが非常に残念!

このAPIフレームワークのご本家も見つけましたので、参考まで。

Linux-USB Gadget API Framework
http://www.linux-usb.org/gadget/

ちなみに。
Xに用意されているUSBの設定を変えるプログラム(と表現して分かりますか?)はそのままではうまく動きません。Bug Trackerに修正版が置いてあるのでそちらを使用してください。

pdaXrom Bug Tracker | pdaXrom
http://www.pdaxrom.org/BugTracker#comment-179

ただこれを使っても実際の設定は全然変わらないんですよね。(というか全然違う設定ファイルが修正される) ひょっとしたらこのプログラムで設定した内容で実行されるデーモンが他にあるのかもしれないのですが、ちとよく分かっていません。まぁ自分のやりたいことは実現できているので、これ以上は突っ込まないことにします。

次はUSBストレージにも挑戦してみます。
(今のところうまくいってません…)
posted by 月水和尚 (とも) at 17:56 | Comment(8) | TrackBack(0) | りなざう
この記事へのコメント
SL-C1000にpdaXromを入れて同じトラブルで悩む者です。
初めまして。
この
usbdの情報は大変に参考になりました。ありがとうございました。
Posted by 土屋 堯央 at 2007年05月29日 07:41
土屋さん

お役に立てて何よりです。
私の場合CF型のNICも所有しているのですが、USBネットワークの方が便利でとても重宝しております。(特にUSB接続と給電がケーブル1本で済むSL-C750では尚更!)

最近はすっかりpdaXromから離れてしまっています。
また復活しなければ…と思いつつも重い腰のあがらない今日この頃です。
Posted by tomo at 2007年06月01日 15:27
いろいろ検討した結果、VMware PlayerにFedora 6 を
インストールし、そこにUSBからEtherへのNATを
設定してうまくいきました。
Fedora 6 の設定は、pdaXromのDocument通りで問題は有りませんでした。
Posted by 土屋 堯央 at 2007年06月04日 12:56
はじめまして
少々お聞きしたいのですが
こちらの記事でlinux.infを使って母艦のNICが認識するとのことですが
こちらは3X系で動かしていますか?
それとも86xもしくは7x系ですか?
3x系で記事のようにハードウェアの認証までは行くのですがその後のデバイスがうまく母艦にインストールできないのです
そちらの環境では特に問題ありませんでしたか?
もしよろしければお答えください
Posted by k at 2008年11月28日 18:55
お返事が遅れて申し訳ございません…。(さすがにもう見てないかな?)

私はC750で動かしていました。
ただC1000でも動いているというコメントがあるので、たぶんC3x00でも動くような気がします。
Posted by tomo at 2009年01月27日 17:27
あ、お返事ありがとうございます
C750で、つながっている母艦はXPですか?
RNDIS/Ethernet Gadgetのドライバを入れても、ネットワークとして認識してくれないのです
一応860がありますのでちょっとそれも試してみます

現象としては母艦に刺したとき新しいハードウェアの認証が起こって、infファイルを指定してドライバを入れるのですがそのまま、認識せずハードウェア上でXになってしまいます


PS
ただ、C1000系とC3X00系は同じなので同様の現象がでるような気がするのですが
Posted by k at 2009年01月29日 11:20
まだ見てくださってたんですね、ありがとうございます。

母艦はXPを使ってました。
C860ならハードウェア的にはほとんど変わらないので行けるような気がします。
私もC1000で試してみればいいのですが、標準カーネルに戻してしまったもので…。
Posted by tomo at 2009年01月29日 13:22
こちらこそお返事ありがとうございます
カーネル2.6系でUSBネットワークさえ動けばかなり実用に使えたもので、もうちょっとがんばって見たいと思います
母艦がXPで動いているようなので、なんとかなりそう?かも?
実は、今PdaxromのR662のstableを試しています
今までのRシリーズの不具合も修正されてSDHCのSDカードが使えます(重要)
ので今使っている16GのマイクロSDカードが使えるということと、チャタリングと電源ボタンの不具合、その他もろもろがあるのと、chroot環境でubuntuが動いたので、あとはUSBネットワークさえ動けばなんとかできるのですが
出来上がったら公開したいということもあって、もうちょっとがんばってみます
Posted by k at 2009年02月02日 16:52
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

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


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

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

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