Archive for the ‘Zaurus’ Category

BluetoothからGPS接続

日曜日, 10 月 26th, 2008

さて、今回は本命のBluetooth経由でのGPSへの接続です。

とりあえず、何をするにも楽なPC上のLinuxで確認です。まずはBluetoothでの接続ですが、

$ hcitool scan
Scanning ...
        00:11:22:33:44:55       HOLUX_M-241
$ sdptool browse 00:11:22:33:44:55
Browsing 00:11:22:33:44:55 ...
Service Name: SPP Slave
Service RecHandle: 0x10000
Service Class ID List:
  "Serial Port" (0x1101)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 1

とのことなので、/etc/bluetooth/rfcomm.confに

rfcomm0 {
    bind yes;
    device 00:11:22:33:44:55;
    channel 1;
    comment "HOLUX_M-241";
}

と追加、

# /etc/init.d/bluetooth restart

とします。これで/dev/rfcomm0にアクセスするだけで自動的にBluetoothで接続されるようになります。

以上の手順をZaurusでも試したところ、無事GPS接続が出来るようになりました。

また、PCではM-241に保存されたログはMTKBabelで取り込みます。

$ mtkbabel -s 38400 -f gpsdata -t -w -p /dev/rfcomm0

とするとgpsdata.binとgpsdata_{trk,wpt}.gpxのGPX形式のログが出来るので、これをGPSBabelでKML形式に変換します。

$ gpsbabel -i gpx -o kml,units=m gpsdata_trk.gpx gpsdata_trk.kml

なお、USB経由でのログの取り込みはデバイス名を適当に変更すればOKです。

これをGoogle Earthで表示すると、こんな感じにめでたくルートが表示できるようになりました。

とまぁこれで十分と言えば十分なのですが、出先でM-241のログの取り込みや消去、走行ログの確認をZaurusで出来れば重いノートPCを持ち歩かずに済んで大変便利です。ということで、これらのZaurus用のパッケージを作ってみました。

あらかじめ、Linuxザウルス/Perl - Walrus, Visit.さんなどからPerlのダウンロード、インストールをお願い致します。なお、ZaurusでのMTKBabelでのログの取り込みはBluetoothの通信が不安定なのかエラーが頻発しますが、とりあえず動作するようパッチを当ててあるのでデータに問題は無いはずです。

なお、GPSBabelはNMEA形式のログ出力も出来るので、HB1さまのZegaで走行ログを表示できるはずです。私はちょっと確認できませんでしたが…。

Bluetooth CF到着

月曜日, 10 月 20th, 2008

注文していたBluetooth CFが先日届きました。Socket社のBL4535-634です。待ってたぞー!ということでいそいそと箱から出し、あらかじめPC用のBluetooth USBアダプタでLinuxでの設定は把握していたので、早速Zaurusにつけて動作確認しようと意気込んでいたのですが、…動かない。この商品に動作報告があることは事前に確認してあったのに!ということで、今回はこのCFに関する顛末記です。

ちなみに右が同時に購入したPC用Bluetooth USBアダプタ。一見スマートで良さげに見えるのですが、PCに差してしまうと極めて取り外しづらいという問題が。まぁ、それ以外の使い勝手はなかなか良い感じです。しかし、USBの上の黒い部分が本体なのでしょうが、これが1400円で買えるのにCFになると何故16000円になってしまうのでしょうか。謎です。

まぁ何はともあれ、ドライバとツール群のインストールです。今回はこちらのbluez-zaurus_2.3-2.4.18d_arm.ipkを利用させて頂きました。

# cardctl ident
Socket 0:
  product info: "Socket", "CF+ Bluetooth Card CIS Rev 2.5"
  manfid: 0x0104, 0x0096
  function: 2 (serial)
# hcitool dev
Devices:

ふむ、とりあえずカードの認識はされているようですが、Bluetoothとしては認識されていません。というか、ドライバのロードすらされていないようです。確かに/etc/pcmcia/bluetooth.confを確認しても対応したエントリはありませんでしたが、

card "Socket Bluetooth Card"
  version "Socket", "CF+ Personal Network Card"
  bind "dtl1_cs"

とそれっぽいものはありましたので、定石通りこれを参考に型番だけ変更した設定を追加してみました。そして、カードを差した瞬間、ハング。

さすがに焦って調べていると、型番に2.5とあるものはリビジョンGかそれ以降であり、入っているチップもNokiaのものからCSRになっていることが判明。確かに仕様にはチップがCSR BC04-EXTであると書いてありますが、こんなとこ見るか!暗雲が立ち込め始めたものの、とりあえずドライバを変更して

card "Socket Bluetooth Card"
  version "Socket", "CF+ Bluetooth Card CIS Rev 2.5"
  bind "serial_cs"

に。これで動作するかと思いきや、

# hciattach ttyS3 bcsp 230400 noflow
BCSP initialization timed out
# hciattach ttyS3 any
# hciconfig
hci0:   Type: UART
        BD Address: 00:00:00:00:00:00 ACL MTU: 0:0  SCO MTU: 0:0
        DOWN INIT RUNNING
        RX bytes:0 acl:0 sco:0 events:0 errors:0
        TX bytes:4 acl:0 sco:0 commands:1 errors:0
# hciconfig hci0 up
Can't init device hci0. Connection timed out(110)

…もう流石に無理かと思いつつ、諦め悪く手を変え品を変えて調べ回っていると、ここにごくごくあっさりとしたコメントを発見。曰く、cardctl resume 0したら動いた。いやいや、cardmgrからは見えてるし関係ないだろそれとか思いつつ、藁にもすがる思いで試してみると…

# modprobe hci_uart
# cardctl resume 0
# hciattach ttyS3 bcsp 230400 noflow
# hciconfig hci0 up

動きました!ここまで来るのにえらい時間がかかったので、感動もひとしおです。

とまぁ動作させられるようになるまでをだらだらと書いてきましたが、実は裏ではkernel 2.4.36.7のドライバをバックポートするなど他にもいろいろやってます。教訓としては、ものによってはcardctl resume 0すると動くこともあるという事でしょうかね。同様の症状に悩まされている方は参考にでもしてやって下さい。

qgmap 0.1.0リリース!

水曜日, 10 月 15th, 2008

ぷちのいずでbucchiさまが開発されておりましたGM_Lite互換のZaurusネイティブアプリqgmapですが、先日とうとうバージョン0.1.0がリリースされました!開発開始から1ヶ月とちょっとでありながら非常に完成度が高く、実用上のツボを抑えたとても使い勝手のよいソフトです。

よいところは多々ありますが、特筆すべきはそのスクロールの軽快さです。もうめちゃくちゃ軽いです!GM_Liteなど比較にならず、一度体験してしまうと癖になること請け合いです。また、指定した縮尺の地図がない場合は広域の地図を拡大して使用する機能もあり、地図容量の節約にも有用です。GM_Liteが動作していればインストールは非常に簡単ですので、ぜひとも一度お試し下さい。

今のままでも機能的には十分でありながらもまだまだ発展途上であり、最新の記事ではbucchiさまが今後の方針についても語られております。今後より一層素晴らしいソフトになるだろうqgmapにますます目が離せません。

Qualendar 1.0.1公開

土曜日, 10 月 4th, 2008

今回はあっさりと、Qualendar 1.0.1の公開です。

これまでQualendarはLinux版pdaXrom版を公開してきましたが、kanonさまを始めこれらをお使い頂いている方もいらっしゃるようですので、一応Zaurus版も公開しておきます。Qualendar 1.0.0からの変更点は以前の記事の通りです。

なお、SQLiteデータベースを使うと恐らくPCとの同期が取れなくなりますが、代わりに同じデータベースファイルを使うことで各環境での予定、ToDoの共有が可能になります。データベースファイルは~/.qualendar/qualendar.dbにあり、

$ sqlite3 ~/.qualendar/qualendar.db .dump

とすることで内容を確認できます。

インストールは

です。宜しければどうぞ。

GM_Lite 0.1.4公開

月曜日, 9 月 29th, 2008

さてさて、今回はGM_Lite 0.1.4の公開です。

今回の更新の目玉は、Windows環境での地図のダウンロードの高速化です。ここのところbucchiさまが大変有難いことにGM_Lite互換のZaurusネイティブアプリになりますqgmapを開発され、またHB1さまが高度なGPSとの連携機能を持つZegaにGM_Liteの地図の表示に対応して下さるというとんでもない事態になっており、ここでダウンローダが不出来なばかりにお二人にご迷惑をおかけするわけにはイカン!ということで、以前から問題になっておりました、地図のダウンロードが遅いことと環境依存でエラーが発生する問題に対処致しました。

従来版と高速版でおおまかなベンチマークを取ってみたところ、以下のようになりました。

  • “全世界”のダウンロードにかかる時間
    • 従来版:17分53秒
    • 高速版:3分50秒
  • “全世界”がダウンロード済みの時のスキップにかかる時間
    • 従来版:12分9秒
    • 高速版:3秒

テスト環境がWin2k on VMwareであったため実機ではもう少し速くなると思われますが、ご参考まで。

高速版ダウンローダの実行にはWindowsでのPerl実行環境であるActivePerlが必要になります。あらかじめダウンロード、インストールをお願い致します。

実行はcygenv/down_imgs2.batをダブルクリックするだけです。また、ダウンロード範囲の指定にはbin/down_imgs.plを修正して下さい。従来のものから若干フォーマットが変わっておりますが、サンプルを参考にすればすぐにお分かり頂けると思います。

また、細かい変更点としては、みじまさまとちゃびさまからのフィードバックを反映させました、gps_zauのGPS初期化処理と緯度、経度情報の取得の高速化があります。今回の更新にあたりヒントを下さいましたabuさまにもここに改めてお礼申し上げます。

今回のファイルは

です。アップグレードの際はgm_lite/bin/とgm_lite/cygenv/のみ新しいものと入れ替えて頂ければOKです。

これまでダウンロードが遅い遅い、と言われつつも正直そんなに遅いとは思っておりませんでしたが、今回改めてWindows環境でダウンロードしてみて驚きました。なんでしょうかこの遅さは。まさかCygwinがこんなに遅いとは。これまで苦情を下さった皆様にはお待たせしてしまい、大変申し訳ありませんでした。

では、何かご不明な点がございましたらお気軽にどうぞ。

Qpdf3 for pdaXrom 0.1.2公開

金曜日, 9 月 12th, 2008

ようやく完成しました、Qpdf3 for pdaXromの公開です。

今回は以前kanonさまからご要望のありました、Qpdf3のpdaXrom版を作ってみました。使い方はQtopia環境と同様です。

インストールは、feedからqt-mtのインストール後に

を全てインストールして下さい。また、実行前には日本語フォントのインストールと登録が必要です。一応

も/usr/X11R6/lib/X11/fonts/TTFかどこかにインストールし、

$ fc-cache -v

したほうが無難かもしれません。

以上です。なにかご質問等ありましたらお気軽にどうぞ。

ところで、今月は明日から25日まで海外に行かなければならず、現地のネット環境によってはコメントを頂いたとしても返信が難しいかもしれません。あしからず。

SL-C3×00でも漢字辞典

土曜日, 9 月 6th, 2008

のぼぶろぐさんのこちらの記事で紹介されていたのですが、Zaurusの三桁機種やC1000には漢字辞典が入っているそうです。ということで、私も早速試してみました。

…いやいや、こんなのが入っているなんて今回初めて知りました。驚きです。割と使いやすそうですし、知るきっかけとなったbxk07344さまには大変感謝! なお、私は結構忘れっぽいので、登録を自動化しようとアイコンだけパッケージにしておきました。

宜しければどうぞ。

しかし、これだけというのも何なので、前回アップしたjffs2readerを使ってSL-C3×00用に辞書データを入手する方法をご紹介します。

  1. まず、Conics.NetさんのこちらのページからSL-C1000のNANDバックアップイメージを入手
  2. 次に、get_gdbkdic-0.1.0.zipをダウンロードし、C:\ドライブ直下等へ展開
  3. SL-C1000-JPN-NAND-original.zipを展開し、出来たDBKファイルを2のフォルダに移動
  4. get_gdbkdic/cygenv/get_gdbkdic.batをダブルクリック
  5. 作成されたget_gdbkdic/dic/をZaurusにコピーし、/opt/QtPalmtop/以下に移動

私はSL-C3×00を持っておりませんので実際に確認を取ったわけではありませんが、これで多分、動くはずです。ご質問等ありましたらお気軽にどうぞ。

ちなみに、先の記事に貼ってあるスクリーンショットにQpdf3のアイコンが写ってます。ちょっと嬉しい。


追記:

のぼぶろぐさんの最新の記事では別の方法で辞書データを取り出しており、成功例をスクリーンショット付きで紹介されております。bxk07344さまのほうがよりスマートなアプローチをされているので、ぜひともご参照下さい。

Zaurus破損ファイルの復旧

金曜日, 9 月 5th, 2008

wznotes.txtが壊れました。

今まであらゆるメモを書き溜めてきたwznotes.txtが壊れました。

ちまちまブログの文章を考えて、たまたまZaurusに再起動をかけて、いざ記事にしようとして開いてみたら、後ろから1/4程度が吹き飛んでました。

流石に、血の気が引きました。

そろそろ年季も入ってきて再起動がかかる度にファイルシステムのエラーが蓄積してはいましたが、こうも大きなダメージを受けたのは初めてです。

というわけで、今回は破損したwznotes.txtの復旧手順の紹介です。

まず、前知識です。ZaurusにはNAND型フラッシュが搭載してあり、それを論理的に区分けして/dev/mtdblock[1-3]としてアクセスしています。このmtdblock3が/homeとなるわけですが、ファイルシステムには組み込み向けのjffs2を使っています。このファイルシステムは少々特殊でして、ファイルを書き換える際には「上書き」ではなく「変更部分のみ追加、参照」します。どういうことかというと、

のn3に相当する部分を書き換えると、

こうなります。なお、オフセット2000を参照するノードが2つになってしまいますが、これはバージョンの新しい方が優先されます。つまり、n5が破損してもn3を参照することが出来れば、ある程度ファイルを復旧できる可能性があるということです。

ということで、上記の方針に沿ってファイルの復旧を試みました。jffs2ファイルシステムを直に読み取るのにはmtd-toolsのjffs2readerがありますので、バージョン20061007をベースに以前のノードも参照できるよう変更を加えて利用しました。以下、手順です。

  1. /dev/mtdblock3が書き換えられてしまう前にイメージファイル化する
    $ dd if=/dev/mtdblock3 of=/mnt/cf/mtdblock3.dat
  2. PC上に持ってきて、内容を確認
    $ jffs2reader -d / mtdblock3.dat
    drwxr-xr-x 1  0    500   0 Jan  1  2004 root/
    drwxr-xr-x 1  0    500   0 Jan  1  2004 samba/
    drwxr-xr-x 1  0    500   0 Jan  1  2004 sharp/
    drwx------ 1  500  500   0 Jun 24 11:27 zaurus/
    drwxr-xr-x 1  0    0     0 Jan  1  2004 userdata/
    drwxrwxrwt 1  0    0     0 Jun 24 08:59 tmp/
    drwxr-x--- 1  0    500   0 Jan  8  2004 QtPalmtop/
    drwxr-xr-x 1  0    0     0 Jan  1  2004 system/
    drwxr-sr-x 1  0    0     0 Jun 24 09:07 etc/
  3. 破損したファイルの内容を確認
    $ jffs2reader -f /path/to/wznotes.txt mtdblock3.dat > wznotes.txt
  4. 破損したファイルのノードのバージョンと対応するオフセットを表示
    $ jffs2reader -f /path/to/wznotes.txt -v mtdblock3.dat
      Inode version   Inode offset
                  1              0
                  2              0
                 19              0
                  .              .
                  .              .
                  .              .
               2637              0
               2672           4096
               2673           8192
               2676              0
               2763              0
               2764           4096
               2765           8192
               2766          11690
  5. wznotes.txtの例えば4096-11689バイトの部分が破損したとすると、該当個所の最新版の一つ前のバージョンは2672と2673なので、それを参照
    $ jffs2reader -f /path/to/wznotes.txt -V 2672,2763 mtdblock3.dat > wznotes.txt
  6. 復旧したファイルの内容を確認

これで、運がよければ復旧できるはずです。ちなみに、私は無事元通りにすることができました。本当にやれやれです。jffs2readerの実行ファイルはこちら。

Windows上でご利用の際は、作業フォルダを実行ファイルと同じにしてご利用ください。なにかご質問等ありましたらお気軽にどうぞ。

GM_Lite 0.1.3公開

日曜日, 8 月 31st, 2008

お待たせ致しました、GM_Lite 0.1.3の公開です。

今回の更新の目玉は、Zaurus環境でのGPSとの同期機能の追加です。この機能はなんと!私自身はGPSを持っていないのにも関わらず、コメントを書き込んで下さった方々のアドバイスやお時間を割いて頂いてのテストによって出来上がってしまいました。ご協力頂きましたちゃびさま、mumumuさま、striderさま、kaniさま、大変ありがとうございました。ここに心よりお礼申し上げます。gps_zauの使い方はphs_zauと同様ですが、ご使用の前に環境に合わせて設定をする必要があります。やや手間ですが、gps_zauの先頭にあるdevとbrateを、コメントを参考に適当に編集をお願い致します。

また、GPS/PHS基地局情報情報を自動取得する機能も追加してみました。とは言っても、10秒間隔でコマンドを呼び出し続けるだけですが。本機能の開始、停止は、コマンドラインから

$ /path/to/gml_auto /path/to/phs_zau

とするか、yaktyさまのKeyHelper Applet

A = @exec[Tab]/path/to/gml_auto /path/to/phs_zau

と登録、実行するかしてどうぞ。gps_zauも場合も全く同様です。

また、kaniさまからご要望のありました、ズームのしおり機能も追加しました。これまではズームの指定に’I'、’O'キーを連打する必要があり、その度に描画待ちになったりとやや面倒でしたが、今回からは0-9、Ctrl+0-9キーで0-19の縮尺を直接指定できるようになりました。従来通り’I'、’O'キーでのズーム指定も可能ですので、お好みの方法でご利用下さい。

それに伴って、位置のしおり機能も拡張しています。これまでは0-9の10通りしか位置を保存できませんでしたが、今回の拡張によりA-Z、0-9の36通りを保存できるようになりました。使い方は’Y'キーの後に[A-Z0-9]キーで保存、Shift+’Y'キーの後に[A-Z0-9]キーで移動です。

あと、いりすさまからのご要望で、ダウンロードした地図を抽出、削除するコマンド、copy_imgs.batとdel_imgs.batを追加しました。これらの使い方はdown_imgs.batとほぼ同様ですが、copy_imgs.batは指定した地図をgm_lite/imgs.new/にコピーし、del_imgs.batは指定した地図をgm_lite/imgs/から削除します。なお、gm_lite.htmlは同じ階層のimgs/フォルダのみ参照しますので、お間違いなきよう。

今回のファイルは

です。アップグレードの際はgm_lite/gm_lite.htmlとgm_lite/bin/、gm_lite/cygenv/を新しいものと入れ替えて頂ければOKです。

以上です。またしても説明をはしょり気味ですが、ご質問等ありましたらお気軽にどうぞ。

Qualendar for pdaXrom 1.0.1公開

金曜日, 8 月 22nd, 2008

続きましては、Qualendar for pdaXrom 1.0.1の公開です。

ご存知の方もいらっしゃるかと思いますが、pdaXromはZaurusで最も有名な代替ROMの一つです。デスクトップLinuxのほとんどのソフトウェアを利用でき、必要十分な専用設定ツール群も備えていて非常に完成度が高いのですが、残念なことに使いやすいPIMがありません。ということで、今回は今更ながらpdaXromを導入し、Qualendarを移植してみました。pdaXromのバージョンは安定度の高い1.1.0beta3です。

Qualendar for pdaXromのスクリーンショットはこちら。

インストールは、feedからqt-mtとsqliteのインストール後に

をインストールして下さい。また、実行前には日本語フォントのインストールと登録が必要です。

以上です。なにかご質問等ありましたらお気軽にどうぞ。