あおしまの日記

あおしまさんの日記らしいです。個人的に興味がある事を時々書きます。スマートウォッチPebble日本語パックを作成、公開しています。

Zaurus SL-C760 + PEGA-WL100 (intel spectrum24 CF card)

または、無駄なくSL-C760SONYCLIE用Wireless LANカード WL100を認識させる方法。

前置き

検索で出てくる所があまりにも酷い矛盾をはらんだまま放置していて*1、この無思考加減に翻弄されたのだが、前回は追いかける余裕もなく時間切れ。しかしまた必要に迫られて挑戦しました。未だに以前と同じ情報しか出てこないあたりが我慢出来無いのでつきつめてみた。これが結論と言っていいだろう。

導入するもの

まずドライバだが、何も導入する必要が無い
必要なドライバは既にカーネル内に練り込みになっている。
よってモジュールも必要無い。
これは起動ログを見ればわかる。C750とC760のカーネルは全く同じである。
http://www.h5.dion.ne.jp/~rimemoon/zaurus/data/dmesg_750.txt

 Intel PXA250/210 PCMCIA (CS release 3.1.22)
 pxa_pcmcia_init(0)
 pxa_pcmcia_init(1)
 orinoco.c 0.12 (David Gibson <hermes@gibson.dropbear.id.au> and others)
 hermes.c: 7 Jun 2002 David Gibson <hermes@gibson.dropbear.id.au>
 orinoco_cs.c 0.12 (David Gibson <hermes@gibson.dropbear.id.au> and others)
 spectrum_cs.c 0.3.4

設定

  • 最初の2行はspectrum_csを使う時の宣言。

classは接続方法に関係する。

manfidと、どのドライバにバインドするかを書く。

以上の内容を、/etc/pcmcia/spectrum.confとするか、同様の内容をwlan-ng.confに追記するだけで良い。繰り返し書くが、ドライバは既にカーネル内にあるので追加の必要はありません

 device "spectrum_cs"
 class "spectrum" module "hermes", "orinoco", "spectrum_cs"
 # class "network" module "hermes", "orinoco", "spectrum_cs"

 card "LA4100 Spectrum24 CF WLAN Card"
   manfid 0x026c, 0x0001
   bind "spectrum_cs"
 card "Socket Communications CF+ LP WLAN Card"
   manfid 0x0104, 0x0001
   bind "spectrum_cs"
 card "sony pega-wl100"
   manfid 0x0089, 0x0001
   bind "spectrum_cs"         
  • この際、class指定が該当なしだと、Qt上で赤外線通信しようとする。

ここがnetworkだと有線LAN、spectrumだと無線だと思う様になる。この区別がどこに起因しているかは未調査。

  • ドライバを導入したという彼等の行為は、全て無駄である。

必要とされているフォルダ内に展開されずに終わる。

    • depmod -aなんてやってもエラーが出ないのは、当該バージョンと無関係なモジュールは無関係のディレクトリにあるか、もしくは環境内に展開されないかである。

無理矢理当該バージョンディレクトリに突っ込んだら必ずバージョンが違うとエラーになる。それが出てない事は本当はおかしな事である。
よってこれは検証が曖昧なまま書かれた箇所ではないかと思われる。

    • iwconfig類も何も要らない。ただ設定のみで良い。

米本家配布中のiwconfigなどは/usr/sbin/に入れたところでsegvるので使えないし、PATH的にも/sbin優先なので全く無駄。当然モジュールもversionが違うので使える訳がない。

  • ではなぜうまく動くのだろうか?という所から今回の設定案が浮上した。