最近PDAは人気が低迷していることもあり、CFタイプの無線LANカードが入手困難になっている中、Planex の GW-CF54G は他と比べてビックリするくらい低価格で購入できる入手性が高い製品だ。
他の製品は5000円前後である中、この GW-CF54Gは 1580円!!(amazon で10/22現在)
これくらいの値段なら人柱的にも手が出しやすいね。
元々PDAを狙っていることもあって、Windowsをサポートしないことも低価格の理由なのかな? それとも低価格なのは投げ売りのせい?
とにかく、何とか Zaurus で使えないか色々調べてみたところ、Kernel-2.6 にはドライバが入っているとか、OpenBSD/Zaurus では動作報告があるとかはあったものの (参考ページ) 、動作報告は見つけられなかった。
まぁ、でも Kernel-2.6 で動くなら 2.4 に移植すれば動くだろうという安易な考えで、Amazon の購入ボタンを押してしまった。
GW-CF54G 買っちゃった
当たり前だが、そのまま Zaurus に挿してもうんともすんともいわない。
そもそも Zaurus には Prism 系のドライバしか入ってないので動くわけないんだけど、電源LED位点くかなと思ったんだけどな・・。
本格的に調べ始めると、Kernel-2.6 用では libertas というドライバのようで、このページで開発されているようだ。
2.6 用のドライバとか色々ダウンロードしたりして見ていたら、 fwcutter でファームウェアを取り出す元ファイルが、何かのドライバのヘッダファイル形式で、そこからバイナリに変換しているらしい。
気になって見てみると、ファームウェアの元は Gumstix のファイル置き場の cf8385-5.0.16.p0-26306.tbz だった。
展開してみると・・・あら、Kernel-2.4.22 用のドライバじゃないの。
しかも、Marvell 社謹製(?)の。
これを Zaurus 用にビルドし直すだけで動くのでは・・・?
で、
お!
おお!
ちょっと制限があるので常用はできないけど、ちゃんと通信できるじゃん!
とりあえず確認だけなので、WEPもかかっていない AP との通信だけだけど。
制限というのは、ネットワークアイコンが表示されないというもの。
なので、コマンドラインからSSIDの設定やらいろいろしないといけない。
これじゃ使いにくくてしょうがない。
hotplug 的に wlan のイベントがこないのが原因なのかなぁ。
もうちょっと調べてみないと。
とりあえず、Linux のネットワークデバイス的にはちゃんと動いている・・・ようにみえる。
これは期待できそう。
さらりと2.6->2.4のドライババックポートを考えられるとは、すごいですね。
その気になれば、もしかしてWPAでも使えるのでは?
あと、ネットワークアイコンはqcop QPE/Network ‘up()’とかでどうでしょう?
自動化するには/etc/pcmcia/以下に適当に追加しておくとか。
…多分。
さらりと考えたというより、怖いもの知らずというか、無謀というか (^^;
2.6 では無線LAN周りのフレームワークがしっかりと作られたらしいという噂は聞いていたので、そのまますんなり移植はできないのは知っていたのですが、Dirty Hack であれば何とかなるかなと・・。
2.4.20 近辺の無線LANドライバは仕事でいじったことがあるので、どっちかというと、2.4 の方が勝手がわかっているというのもあります。
実は、WPA を使えるようにするのが今回の最終目標だったりします。
さすが tera 様、気づかれてしまいましたか (^^)
うちもそうですが、今や各家庭の無線LANはみんな WPA ですからね。
需要が多いかなと思いまして。
あと、qcop QPE/Network ‘up()’ も試してみたのですが、QPE 内部でネットワーク接続済み状態にするだけで、アイコンは表示されないようです。
ほかにも ikezawa 様の qcoptest を使って使えそうな QCop メッセージがないか探したんですけど、見つからなくて。
どうも hotplug のイベント(?)が prism2_cs と違うために、有線LANと同じ扱いになっているようなので、同じような hotplug イベントを実行するようにドライバをいじろうかと考えてます。
試しもせず口だけ出す形になってしまい申し訳ないのですが…。
/etc/pcmcia/wlan-ngでいろいろごちゃごちゃやっているようですので、
/etc/pcmcia/wlan-ng.confに
device “cf8385”
class “wlan-ng” module “cf8385”
として(ドライバ名は適当です)wlan-ngを呼ぶようにしてやればいかがでしょうか?
や、ただの思いつきですし、とっくに設定を追加されているかもしれませんが、一応。
ちなみにうちの無線LANは暗号化してません。
単にお金をケチっているだけなのですが、そのかわりセキュリティを確保するため設定は変態的です。
ではでは。
些細なことでも気づいたことを教えていただけると参考になりますので遠慮なくどうぞ ^^
class を wlan-ng にしてみましたが、動作変わらずでした。
余談ですが、wlan-ng では頑なに suspend 状態を保つように作られていて、うまく状態を変えてあげないと cardctl resume してもすぐに suspend してしまいます。
PHSカードとかは素直に resume できるんですけどね・・。
話は戻って ^^;
ネットワークのアイコンを表示するトリガが何か分かればいいんですけどね・・・。
無線LANだとアイコン表示されて、有線LANではアイコン表示されないので、その差が検出できるのは cardmgr か hotplug あたりかなと踏んでいるんですが。
Linux では有線も無線もネットワークデバイスとしてはほとんど同じ挙動ですからね。
ネットワークデバイスから有線無線を見分けるには Wireless-Extention の有無しかないと思うのですが、GW-CF54G のドライバでもこれに対応しているので、無線と検出できるはずなんですよね。
変態的とおっしゃるその設定ちょっと気になります ^^;
暗号化なしでセキュリティ・・・ちょっと想像がつかないですね・・・
駄目でしたか…。
無駄足を踏ませてしまったようで申し訳ないです。
しかし、そうするとトリガーは何なんでしょうか…。
この類の設定はhotplugかcardmgrぐらいしか考えにくいですし、/etc/hotplug/に何もないなら/etc/pcmcia/に違いないという意図だったのですが…。
Qtopiaがインターフェースを監視でもしてるんでしょうか。
とりあえずアプレットの本体は/opt/QtPalmtop/plugins/appliets/libnetmonapplet.soだと思いますので、これをstringsにかけるとか?
ちなみにうちの無線LANはLinuxサーバがGWになってまして、
・sshアクセス以外の接続、パケット転送を全て遮断
・sshで接続された場合tun/tapでVPNを張り、内部ネットワークにブリッジ接続
みたいな感じです。
…こう書いてみると、変則的ではありますが、意外と普通です。
ちょっと今日は遅いので詳しくは明日(?)のブログで書きますが、結果から言うと、class を wlan-ng にすればネットワーク接続のアイコンが表示されるようになりました!
前回試したときは、cardmgr を再起動していなかったのか、/etc/pcmcia のスクリプトをいじりすぎていたのか、うまくいかなかったんですけど。
バックアップもとらずに /etc/pcmcia とか /etc/hotplug をいじりすぎて、元に戻せなくなってしまって、エイヤッと初期化してしまいました (^^;
で、素直に /etc/pcmcia/XXX.conf に class “wlan-ng” でドライバをロードする行を追加した所、ちゃんアイコンが表示されました!
あとはネットワーク接続時の初期化を合わせてあげれば、普通に使えるようになるかもです!
無線LANの設定は、接続は許しても通信は許さないということですね。
なるほど。VPN 組んですべて SSH のトンネルを通って通信するということですか。
確かにそれなら悪用されないし、zaurus でも繋げられるしいいアイデアですね!
うちは前は WEP だったので繋がったんですけど、最近 WPA に切り替えたので繋がらなくなってかなり不便です。
仕方ないので Linux-PC に USB-LAN 接続して、Linux-PC 側で IP マスカレードして通信できるようにしてます。
う、結局長文になってしまいました ^^;
失礼しました。
この記事を読んで直ぐ、私もAmazonで1-Clickしちゃいました。1580円なり。
そのうち使えるようになればラッキー、と言う宝くじ的な購入です。
その後、Aamzonの価格は1980円(10/29現在)まで上昇してますが、この記事の影響で売れ行きが上昇(在庫が減少)したのかな?
値段が上がったのはさすがにこの記事のせいではないでしょう ^^;
かなりマイナーな存在ですから。
sugarware 様も買われたとのことで、カードが無駄にならないよう
真面目に取り組まないとですね。
こちらはドライバに手を加えるということもあり、ある程度時間が必要なので
のんびりとお待ちいただければと思います。