GW-CF54G ドライバ

Planex 製の CF タイプの無線LANカード GW-CF54G の zaurus 用ドライバです。
IO Data製の WN-G54/CF でも使えるようです。

081211 版から WPA/WPA2 接続が可能になりました!

※注意※ スペシャルカーネル v18k, v14j では動作しません!

ファイル

※バージョンが異なりますが wpa-supplicant は 090507 版が最新です

ソースファイル

ドライバソースには linux カーネルのヘッダ等必要なソースが全部入っているためかなり大きくなっています。

そのかわり、ツールチェーンさえあればビルドが可能です。

wpa-supplicant は最低限しか入っておらず、 wpa_supplicant のソース等は make すると 自動でダウンロードしてビルドするようにできています。

ライセンス

元ソースがGPLなので、これもGPLです。

動作環境

SL-C1000、SL-C760で動作確認をしています。
皆様の動作報告により、SL-C760/860/1000/3000/3100/3200 で動作することが確認されています。

SL-C700では動作しませんし、今のところサポートする予定はありません。

WEP/WPA/WPA2 のアクセスポイントに接続できることを確認しています。
081127版からANY接続に対応しました。
081211版から WPA/WPA2 の AP に接続できるようになりました!

※注意※ スペシャルカーネル v18k, v14j では動作しません!

制限事項

  • 4桁機用
    • サスペンド/レジューム時の自動再接続に非対応
    • 複数項目を「自動接続」に指定していると、接続時に時間がかかる
    • スペシャルカーネル v18k では動作しない
  • 3桁機用
    • サスペンド/レジューム時の自動再接続に非対応
    • 自動接続不可 (自動指定を解除してください)
    • スペシャルカーネル v14j では動作しない

インストール

SL-C860/1000/3000/3100/3200

機種にあった ipkg ファイルを本体にインストールしてください。SDカードなどの外部メディアにはインストールできません。
本体にインストールし、「ソフトウェアの追加/削除」アプリを終了すると「再起動します」と表示され自動的に再起動されます。

SL-C750/760

SL-C750/SL-C760では、シャープ社製の GW-CF11X ドライバをインストールする必要があります。
本ドライバをインストールする前に、GW-CF11X ドライバをインストールしてください。
GW-CF11Xドライバがインストールされていない状態で本ドライバをインストールすると、エラーが出るようにしてあります。

使い方

他の無線LANカードと同様です。「ネットワークの設定」 からSSIDやWEPを設定し、「接続」ボタンを押すことで接続できます。
右下の地球アイコンをクリックしての接続も可能です。

WPAの設定については、2008/12/12 のブログエントリを参考に設定してください。

注意事項

共通

  • 時々不安定になったり、固まったりするかもしれません。
  • 通信中のカード抜去など、イレギュラーなことをすると固まる可能性が高まります。
    なるべくやさしく扱ってください。

問題があった場合は報告いただければ対応できる場合があります。
でも、対応できない場合もありますのでご了承ください。

更新履歴

免責事項

このソフトウェアで発生したいかなる損害も、作者は責任を負いません。

使用する本人の責任でご使用ください。

地図レシピ – 一応完成

しばらく放置されていた地図レシピを完成させました。

ただ、google の仕様が変わった(?)のか、地図がダウンロードできなくなっているようでして、
実際の地図をダウンロードしての確認はできてないです。

各都道府県別にズームレベル 2〜19 の範囲のダウンロードスクリプトを格納してあります。

とりあえずは欲しい領域を down_img.pl へコピペしてご利用ください。

と、そのまえに Google Maps の仕様変更に対応しないとですね・・・。
制限が強化されてしまってダウンロードが難しくなっていなければいいのですが・・・。

追記:

Windowユーザ向けのzip形式を追加しました。
ディレクトリ名に漢字を使っているので、tar 形式だと化けるためです。
WIndowsユーザの方は zip 形式をお使いください。

Google Mapsの仕様が変わったというよりは、ダウンローダで地図をダウンロードしている人を制限しているようです。
最初はダウンロードできるのですが、ある程度ダウンロードするとパタリと 0 byte ファイルになってしまいます。

また、そうなるとブラウザで Google Maps を見ても表示されなくなります。IPアドレスで制限しているのかもしれません。

もともと想定外の使い方なので、サーバに負荷をかけないように、ゆっくりダウンロードするしかないのかもしれませんね・・・。

 

qgmap 0.1.2 リリース

qgmap 0.1.2 をリリースします。→ダウンロードページ
最近は GW-CF54G のドライバをいじっていたりしたので、また間が開いてしまいました ^^;

今回の変更点は以下のとおりです。

  • PHS位置取得機能
  • フリーハンド範囲指定機能でメモリ不足になる問題を修正
    (bxk07344 様ご報告ありがとうございます)
  • 緯度経度指定ジャンプ機能のバグを修正
    (みじま様ご報告ありがとうございます)
  • 描画処理の見直し (若干高速化された?)

今回の目玉機能は PHS 位置取得機能です。
bitWarp を含む、WILLCOM のインフラを使った PHS カードで位置情報を取得します。
ちなみに、bitWarp等に契約していなくてもカードさえあれば位置情報は取得できます(たぶん)。
ダイアルするわけではないので通信料金もかかりません(たぶん)。

PHSカードがスロットに挿してある状態で「P」キーを押すと近くのPHSアンテナの位置情報を取得し、その位置へスクロールします。アンテナの位置を示しますので、現在位置と大きく異なる可能性があります。参考程度に考えてください。

PHSカードで現在位置取得
PHSで現在位置取得

バグフィックスとしましては、bxk07344様にご報告いただいたメモリ不足の問題と、みじま様にご報告頂いた緯度経度していジャンプ機能の計算ミスを修正しています。

また、画面描画処理(paintEvent)を、必要な部分のみ行うように修正しました。
これにより、若干スクロールが高速になっています。
マーカをOFFにすると、特に高速化を実感できると思います。

 

今回も苦手なダイアログ (PHS位置取得時の進捗ダイアログ) を実装しています。
前回 tera 様に教えていただいたため、widget の配置はすんなりいったのですが、ダイアログの「OK」ボタンを消す方法が分からず、上記のスクリーンショットの通り、OKボタンが表示されたままです ^^;

ちなみに、PHS位置取得機能のATコマンドや pppd, chat コマンドの使い方は tera 様の gm_lite の phs_zau のコマンドラインをそのままパクってます ^^;

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

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 でドライバロードし直せばごまかせるかな?

GW-CF54G を Zaurus で使う??

最近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 買っちゃった
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 のネットワークデバイス的にはちゃんと動いている・・・ようにみえる。
これは期待できそう。