GW-CF54G ドライバの状況

思っていたよりもコメントが多くてビックリしていますが、動作確認していただいた皆様にこの場を借りて厚く御礼申し上げます。本当にありがとうございました。

さて、ちょっと現在の動作状況をまとめたいと思います。

  • 3桁機 (SL-C760, SL-C860)
    動作せず。
    カーネルバージョンの違いから、ドライバに修正を加えないと対応できないことが判明。
  • SL-C1000
    今のところ、問題なく動作している模様
  • SL-C3000
    動作するパターンと動作しないパターンがあるようです。
    どうやって切り分けよう・・・
  • SL-C3200
    今のところ、問題なく動作している模様

4桁機ではそこそこ動いているようですが、bxk07344様のSL-C3000では動いていない様子・・・。
この違いは何なんでしょう・・・SL-C3000 で起こるということは SL-C1000 でも起こるということ(たぶん)。

インストールしたアプリの違い? いや、影響無いはずだし・・。タイミングに個体差があるとか、もしやカードの初期不良とか? そんなこと無いだろうしなぁ。

3桁機の方は、今のところ対応する予定ですが、なにぶん実機を持っていないので、それこそどなたかに人柱をお願いすることになってしまうと思います。その時はどうかよろしくお願いします。

これを機にオークションで3桁機を買っちゃおうかな・・・。


zaurus用 GW-CF54G ドライバ完成!

ついに、zaurus 用の Planex GW-CF54G ドライバができました!!
ダウンロードはダウンロードページへ。

—–追記ここから——

期待させてしまって申し訳ないですが、SL-Cxx0の3桁機は現状では動作しません。また、4桁機でも SL-C1000でしか確認が取れていません。人柱バージョンとお考えください。
(追記の追記: その後 SL-C3000,3200 でも動作した方がいらっしゃいました。ご報告ありがとうございます!)

試してみた方は、動いても動かなくても、ご報告いただけると完成度が高まる可能性があります。
問題があっても対応できないこともありますが、動作するケース/動作しないケースが切り分けられるだけでもとても有意義な情報になります。

匿名でも構いませんので、是非ともご報告お待ちしております!

追記の追記

おかげさまで多くの動作報告を頂きました。ご協力ありがとうございました。
全機種分の報告も頂けましたし、実績は十分と判断しまして、このバージョンについては不具合があったときにご報告頂ければと思います。

ご協力いただいた皆様ありがとうございました!!

—–追記ここまで——

GW-CF54Gで無線LAN接続!!
GW-CF54Gで無線LAN接続!!

他の無線LANカード同様、「ネットワーク設定」で設定した無線LAN設定を使って接続できます。

WEPがかかったアクセスポイントに接続できることは確認しましたが、すべてのケースを試したわけではないので、繋がらない条件もあるかもしれません。

その時はコメントいただければ対応できる可能性があります。(対応できない場合もあります)

 

このドライバは、Gumstixのサイトにあったソースを元に、強引にサスペンド・レジュームに対応させたものです。

前回の日記にも書きましたが、zaurus はカードを挿した後、接続するまでサスペンドします。ですが、元のドライバはサスペンドレジュームに対応していませんでした。

チップの詳しい仕様も分からず(特に調べてないですが)なので、一番手っ取り早く、サスペンド時にドライバのアンロード時の処理を実行し、レジューム時にドライバロード時の処理を実行するようにしました。

ただ、サスペンド時にネットワークデバイス(wlan0)まで消してしまうと、Qtopia的にはカードが抜けたときと同じ扱いになってしまうようで、レジュームしてもカードを挿したとき同様すぐサスペンドしてしまいます。

そのため、サスペンド時はネットワークデバイスは残したまま他のリソースはすべて開放し、レジューム時はネットワークデバイス登録以外の初期化処理を行うことで、無理やりサスペンド/レジュームに対応させています。

そんなわけで、だいぶ場当たり的にサスペンドレジュームを実装したため、ちょっと不安定だったりするかもしれません。
実用に耐えるかどうか分かりませんが、とりあえず公開します。人柱になっていただける奇特な方大募集・・・ ^^;

使えないなら使えない旨をコメントいただければ、もしかしたら修正できるかもしれませんので、使ってみた方々の感想をお待ちしています。


ネットワークアイコンが表示された!

GW-CF54G を挿してネットワークアイコンが表示されるようになりました!

teraさまのコメントのとおり、class "wlan-ng" のドライバとして /etc/pcmcia/????.conf に追記すればOKでした。
こう書くと簡単そうですが、ここまでくるには色々紆余曲折がありまして・・・・。

実は初めに試したときは動かなかったのです。
おそらく cardmgr を再起動しわすれていたか、/etc/pcmcia のスクリプトをいじりすぎて動かない状態だったのだと思います。

これがダメだったので、各種スクリプトにデバッグ文を入れまくって挙動を解析したりとかなり遠回りしてしまいました。

片っ端から /opt/QtPalmtop 以下のバイナリを strings してみたり、cardmgr に細工があるのかと pcmcia-cs の cardmgr をコンパイルして差し替えてみたり ・・・。

で、ついにネットワークアイコンを表示させるトリガを発見!

/var/lib/pcmcia/stab ファイルでした。

Socket 0: PLANEX GW-CF54G
0    wlan-ng    mcf25    0    wlan0
Socket 1: empty

↑こういう中身

このファイルは cardmgr が作成するもので、カードを刺すとカード名、クラス名、ドライバ名、デバイス名が書き出されます。
このクラス名の部分が "wlan-ng" のエントリが書き出されたときにネットワークアイコンが表示されるようです!(どーん)

なので、多分ですが、有線LANのカードを挿した状態でこのファイルを書き換えればネットワークアイコンが表示されるはずです。使い道無いですが^^;

いや、こんなとこ監視してるとは思いませんでした。

これでネットワーク接続のUI部分とドライバ部分は動くようになったので、常用可能な状態に一歩近づきました!
ただ、 このドライバの suspend, resume がうまく動かないようで、一度 suspend すると resume しても正しく動作しないようです。

zaurus の一般的な動作として、無線LANカードを挿すとすぐ suspend 状態になり、ネットワーク接続をするときに resume するようにできているため、suspend / resume に対応は必須条件。
ここをどうやってクリアするか・・・ドライバに手を入れるしかないかなぁ。
resume 時に catdctl eject , insert でドライバロードし直せばごまかせるかな?