Masaatoshi Ito の備忘録

主にザウルス(SL-C3100)に関する備忘録を書いています。更新停滞中&書く内容迷走中…。

μpodとD01NXIIと相性

2010年01月03日 15時35分57秒 | Zaurus
私は、以前GPSとしてμpodを購入しました。そして最近(といっても多分二ヶ月ぐらい前)、EMOBILEのD01NXIIを購入しました。

上記二つに関して、気づいた点と相性について記述したいと思います。ただ、記憶を元に記述しているため、間違い等があるかもしれませんがご了承ください。

まずμpodについて気づいたことを記述したいと思います。

μpodをqgmapやZegaで使用したとき、Zegaのページを参考にさせていただきましたが、タイミングによって認識できたりできなかったりしました。

動作報告のあった機器 - Zega (A GPS navigation software for Zaurus)
http://www.h7.dion.ne.jp/~rasiel/zega.html#Reports

デバイスドライバについて詳しくないのですが、自分なりに調べたところ、usbcore, acm, usb_ohci_pxa27xあたりのモジュールをロードし直せば良さそうだったので、上記を行うシェルを作成して対応していました。
(このシェルは残っていません。結果的に下に記述するシェルに修正されました)

とりあえず、認識しないときは繋ぎ直したり、上記シェルを起動したりで対応していました。

次に、D01NXIIを購入したわけですが、これを使用しているとGPSが使用できないことに気づきました。

調べたところ、acmのモジュールをこちらも使用しており、また、D01NXIIのドライバをインストールすると、このファイルが更新されているようでした。そして、CFスロットにD01NXIIが刺さっていると、μpodを繋げてもうまく動作しないようになっていました。CFスロットにD01NXIIが刺さっていなければ問題有りません。

そのため、最終的に、GPSを使用するときは以下のシェルを実行することで対応することにしました。
#!/bin/bash

count=1
maxcount=$1

if [ "$maxcount" = "" ] ; then
	maxcount=10
fi

read -t 1 LINE < /dev/ttyACM0

while [ "$LINE" = "" -a $count -le $maxcount ] ; do
	echo "try $count"

	sleep 1 ; sudo cardctl eject 0

	sleep 1 ; sudo rmmod acm
		  sudo rmmod usb_ohci_pxa27x
		  sudo rmmod vmb_usb
		  sudo rmmod usbcore

	sleep 5 ; sudo insmod usbcore
	sleep 3 ; sudo insmod acm
	sleep 2 ; sudo insmod usb_ohci_pxa27x

	sleep 5 ; read -t 1 LINE < /dev/ttyACM0

	count=$[$count+1]
done

if [ "$LINE" = "" ] ; then
	echo fail
fi
しばらく経ってしまったため、どう調べたのか、どのサイトを参考にしたのか、よく覚えていません。

余談

これらを調査しているときに、「ls -l /dev/ttyACM0」で表示される「166 0」の数字の意味も調べたと思うのですが、よく覚えていません。
気づいたことは、常に記述していった方がいいなと思いました。

また、この記事を記述するにあたり、少しネットで検索していたのですが、もしかするともっとよい方法がありそうな気がしてきました。
(違うかもしれませんが、「depmod」コマンドとか、怪しい気が…と勝手に思っていたりします)

ただ、現状動作していますので、ちゃんと調べたりする機会は、あまりないような気もします。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« QPOBox(pbserver)の修正とAnt... | トップ | SHARP純正Qtopia環境の左利き... »
最新の画像もっと見る

コメントを投稿

Zaurus」カテゴリの最新記事