NAVI CLIPの電源ランプ消灯の謎

初期不良として送り返し、代替品を送って貰ったが再び電源ランプが点かないという現象がでていた NAVI CLIP(UMGPS/MF)。OpenRD Ultimateでgpsdを使っている限りは測位もでき、ntpdへの時刻情報供給は問題無くできていたので、まあいいかと思っていた。

NAVI CLIPには SiRF start III というチップが載っていて、SiRF-binary モードというのにすると、独自の拡張コマンドが使えるようになる。

gpsd はSiRFのチップには、NMEAモードからSiRF-binaryモードに切り替え、その際にNAVI CLIPの電源ランプが消えるようだ。

とは言え、I・O DATAに付属するソフトでは、SiRF-binary モードで動作する事は想定しておらず、「初期化」のボタンを押しても、単にコールドスタートするだけで、モード変更まではしてくれない。

そこで、GPS受信機用NMEAモニタというのを使わせていただいた。このソフトで「GPSコマンド/リポート」のプリセットにある「Binary to NMEA(4800bps) mode」を実行したら、電源ランプが点灯するようになった。ありがたや。

このモニタ、付属のソフトより多くの情報を出してくれて非常によくできている。素晴らしい。

\A0\A2\0\18\81\2\1\1\0\1\5\1\5\1\1\1\0\1\0\1\0\1\0\1\0\1\12\C0\1\6B\B0\B3 ;Binary to NMEA(4800bps) mode \B4800\

【OpenRD Ultimate】ircbot_console-1.3へアップデート

ircbot_console-1.3 が出ていたので、 OpenRD Ultimateの環境をアップデート。
前回、ある程度アップデートし易いように構築してあるので、やる事は展開して、シンボリックリンクを貼り替えるだけ。

noizumi@silverfox:~$ su –
noizumi@silverfox:~# su – irc
$ wget http://ircbot-console.googlecode.com/files/ircbot_console-1.3.zip
$ mkdir  ircbot_console-1.3
$ unzip ircbot_console-1.3.zip -d ircbot_console-1.3
$ ln -sf ircbot_console-1.3 ircbot_console
$ exit
noizumi@silverfox:~# ps auxw|grep ircbot|grep -v grep
irc      30377  1.2  3.9 665592 20364 pts/0    Sl   21:38   0:11 java -classpath .:./lib_jetty/jetty-6.1.21.jar:./lib_jetty/jetty-util-6.1.21.jar:./lib_jetty/servlet-api-2.5-20081211.jar JettyRun ircbot.war
noizumi@silverfox:~# kill -TERM 30377
noizumi@silverfox:~# sh /etc/rc.local

でバージョンアップ完了。

PRN 129

NAVI CLIPの代替品が送られてきて、NTPサーバで運用中。
結局、またOpenRD Ultimateに繋いだら電源ランプが点かなくなった(汗
まあ、測位に問題は無いし、こういうものなんだろう 🙂

noizumi@silverfox:~$ /usr/sbin/ntpdate -q ntp.nict.go.jp
server 133.243.238.244, stratum 1, offset -0.002715, delay 0.04657
server 133.243.238.163, stratum 1, offset -0.003569, delay 0.05042
server 133.243.238.164, stratum 1, offset -0.003205, delay 0.04890
server 133.243.238.243, stratum 1, offset -0.002712, delay 0.04622
8 Jun 19:55:23 ntpdate[22967]: adjust time server 133.243.238.243 offset -0.002712 sec

外のNTPと比較すると、2.7ミリ秒進んでる位。
今の/etc/ntp.conf の設定は次の通りだが、

server 127.127.28.0 minpoll 4 maxpoll 4
fudge 127.127.28.0 time1 0.034318 refid GPS

理論的には、2.7ミリ秒すすんでいるので、誤差修正の値を0.034318-0.0027=0.031618とすれば、ピッタリ合いそうなのだが、実際にはそれでも誤差が無くならない。

元々この誤差修正値は、0.066位から始めたのだが、日本標準時のサーバにも誤差があるだろうし、こちらのGPS測位にも誤差があるだろうし、ピッタリ理論通りにはいかないのだろう。

gpsd は -Gオプションを付けると、localhostのみでなく、他からも参照可能で、dell studio1558からxgps 192.168.11.254 とやって参照してみた。

気になったのが、時折現れるPRN 129の□のやつ。
何か特別なやつだろうと思って、検索してみたら、MTSAT-1Rだった。

普通のGPSで補足できるとは知らなかった。MTSAT-2 はPRN 137だそうだが、未だに見た事が無いな。

MTSATはひまわり6号、ひまわり7号でもあるから、高度が米国製GPS衛星より高いだろうし、その分、電波を受信するのは感度が良いGPS受信機でないといけないのだろうなあ。

【OpenRD Ultimate】IRC bot導入

OpenRDは24時間稼働で、IRCdを動かしているが、普段使っているDell Studio 1558は夏場の灼熱地獄に耐えられないだろうから、昼間は電源を切っている。

その間、IRCは動いているが、見れないので、botを導入した。
ちょいと検索をかけたらIRCbot Consoleといういいのがあった。

JREが必要なので、OpenRDに環境を整える。
Xは動かしていないので、JREの headless を入れる

noizumi@silverfox:~/ircbot_console-1.2$ sudo aptitude install default-jre-headless
The following NEW packages will be installed:
ca-certificates-java{a} default-jre-headless icedtea-6-jre-cacao{a}
java-common{a} liblcms1{a} libnspr4-0d{a} libnss3-1d{a}
openjdk-6-jre-headless{a} openjdk-6-jre-lib{a} tzdata-java{a}
0 packages upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 31.8 MB of archives. After unpacking 86.0 MB will be used.
Do you want to continue? [Y/n/?]

で、IRCは irc のユーザで動作しているので、IRCbot Consoleも同じirc権限で動作させる。

ホームディレクトリの .ircbot にログとか保存するので、ホームディレクトリを /home/irc へ変更する。これは起動時の環境変数でも指定できるが、後々データ移行をする場合、/home 以下にあった方が都合がよい。

noizumi@silverfox:/home$ sudo mkdir irc
noizumi@silverfox:/home$ sudo chown irc.irc irc

ホームディレクトリ変更に、ngircd が irc のユーザで動作していると、irc ユーザがログインしているので変更できないと拒否されるので、変更するには、一旦IRCdを止める。

noizumi@silverfox:/home$ sudo service ngircd stop
Stopping Next generation IRC daemon: ngircd.
noizumi@silverfox:/home$ sudo /usr/sbin/usermod -d /home/irc irc

irc 権限で、 irc のホームディレクトリへ IRCbot console を配置する。

noizumi@silverfox: /home$ su –
noizumi@silverfox:~# cd /home/irc
noizumi@silverfox:~# su irc
$ mkdir /home/irc/ircbot_console-1.2
$ unzip ircbot_console-1.2.zip -d /home/irc/ircbot_console-1.2
$ ln -s ircbot_console-1.2 ircbot_console

で、起動するには手っ取り早く /etc/rc.local に

cd /home/irc/ircbot_console && su -c “./startup.sh >/dev/null 2>&1 &” irc

と書いて、起動時に irc のユーザ権限で IRCbot console を動かす。

即座に動かすには、とりあえず、root権限で
sh /etc/rc.local

と実行して、8080 ポートへブラウザでアクセスすると、設定画面を見る事ができる。IRCbot console 自体にアクセス制御が無いので、外からアクセスさせない為には ipchains などで8080 ポートへのアクセスを制限しないといけないので、そこは注意が必要。

NAVI CLIP壊れた

ふと気づくと電源ランプが付かなくなってるし。

測位は問題無いけど電源ランプ付かなくなってるってのは品質に疑問があるので、返品交換手続きに入った。

gps ntpdはしばしお預け。

【OpenRD Ultimate】GPS ntpd 構築

OpenRD には Debian squeezeが入れてあるが、 kernel のバージョンは、2.6.32で Ubuntu 11.04 とは結構違う。

カーネル関係のビルドには、 kernel-package を入れるといいらしいので入れる。

noizumi@silverfox:~/src$ sudo aptitude install kernel-package

だが、 /lib/modules/2.6.32-5-kirkwood/build が無い!?
で、検索すると、module-assistant を入れるといいらしい。

noizumi@silverfox:/usr/src$ sudo aptitude install module-assistant

noizumi@silverfox:~$ sudo m-a prepare

で、環境が整ったので、モジュール pl2303 のビルドだが、Ubuntu の2.6.38のカーネルのpl2303.c ではエラーが出てコンパイルが通らないので

noizumi@silverfox:/usr/src$ sudo aptitude install linux-source-2.6.32

と、ソースを取ってきてごりごりやった。

展開して、make して、/lib/modules/uname -r/kernel/drivers/usb/serial のディレクトリへできあがった pl2303.ko をぶっこむべし。

そして、sudo depmod -a やってNAVI CLIP を挿す。

Jun  4 18:03:09 silverfox kernel: [750754.894719] usb 1-1.2: new full speed USB device using orion-ehci and address 7
Jun  4 18:03:09 silverfox kernel: [750755.026187] usb 1-1.2: New USB device found, idVendor=04bb, idProduct=0941
Jun  4 18:03:09 silverfox kernel: [750755.033632] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jun  4 18:03:09 silverfox kernel: [750755.041185] usb 1-1.2: Product: USB-Serial Controller D
Jun  4 18:03:09 silverfox kernel: [750755.046590] usb 1-1.2: Manufacturer: Prolific Technology Inc.
Jun  4 18:03:09 silverfox kernel: [750755.052621] usb 1-1.2: SerialNumber: 10001CF9
Jun  4 18:03:09 silverfox kernel: [750755.126176] usb 1-1.2: configuration #1 chosen from 1 choice
Jun  4 18:03:09 silverfox kernel: [750755.255818] usbcore: registered new interface driver usbserial
Jun  4 18:03:09 silverfox kernel: [750755.274675] USB Serial support registered for generic
Jun  4 18:03:09 silverfox kernel: [750755.284900] usbcore: registered new interface driver usbserial_generic
Jun  4 18:03:09 silverfox kernel: [750755.291734] usbserial: USB Serial Driver core
Jun  4 18:03:09 silverfox kernel: [750755.364524] USB Serial support registered for pl2303
Jun  4 18:03:09 silverfox kernel: [750755.374831] pl2303 1-1.2:1.0: pl2303 converter detected
Jun  4 18:03:09 silverfox kernel: [750755.406372] usb 1-1.2: pl2303 converter now attached to ttyUSB0
Jun  4 18:03:09 silverfox kernel: [750755.412576] usbcore: registered new interface driver pl2303
Jun  4 18:03:09 silverfox kernel: [750755.418358] pl2303: Prolific PL2303 USB to serial adaptor driver

無事認識。gpsd と gpsd-clients をぶっこむ。

noizumi@silverfox:~$ sudo aptitude install gpsd gpsd-clients

noizumi@silverfox:~$ sudo dpkg-reconfigure gpsd
で、デバイスを /dev/ttyUSB0 に、オプションに -n を指定。

noizumi@silverfox:~$ sudo service gpsd restart
で、gpsd 再起動。

X は入れてないので、動作試験に xgps は使えぬ。gpsmon で見てみる。

測位できてるっぽい。

そして、ntpd は既に稼働しているので、ここを参考に、 /etc/ntp.conf に

を設定。

oizumi@silverfox:~$ ntpq -p
remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*SHM(0)          .GPS.            0 l   11   16  337    0.000   13.960   7.495

後は暫く動かして、誤差を出させて、time1 の後の数字をいじるとする。
あ、正確に測るには0.420 じゃなくて0 にしておかないといけないな (^^;

OpenRDサーバ稼働

Debian6のARM版で、UVCビデオカメラが繋いだだけで動いたり、ZoneMinderがパッケージで用意されていて簡単にインストールできたりと、x86版と何ら使い勝手が変わらず、連休を利用して格闘する事を想定していたのが、あっさり終わってしまって拍子抜けだ。

結局、OpenRD Ultimate に Debian6 ARM版のパッケージを使って次の環境を整えた。

・監視カメラ画像記録
・ファイルサーバ
・VPN接続
・Web Proxy
・IRCサーバ

これで今までLet’s note CF-W2のUbuntu 10.10のサーバでやっていた機能を完全に代替する事ができた。ハードディスクがハードウエアRAID1になったのと容量アップしたから、信頼性は多少上がったかもしれない。

Marvell Sheeva 1.2GHzのパフォーマンスはLet’s note CF-W2のIntel Pentium M 1.1GHzと余り変わらない感じ。

これで何が便利なのかとかは後々紹介しようと思う。
# いらないって? (^^;

【OpenRD Debian6】Zoneminderインストール

とりあえず、USBカメラをOprnRDにサクッと挿してみる。

Mar 21 02:13:10 silverfox kernel: [ 5419.372911] usb 1-1.1.2.1: New USB device found, idVendor=0ac8, idProduct=3420
Mar 21 02:13:10 silverfox kernel: [ 5419.380176] usb 1-1.1.2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Mar 21 02:13:10 silverfox kernel: [ 5419.387885] usb 1-1.1.2.1: Product: Venus USB2.0 Camera
Mar 21 02:13:10 silverfox kernel: [ 5419.393168] usb 1-1.1.2.1: Manufacturer: Vimicro Corp.
Mar 21 02:13:10 silverfox kernel: [ 5419.400835] usb 1-1.1.2.1: configuration #1 chosen from 1 choice
Mar 21 02:13:10 silverfox kernel: [ 5419.522914] Linux video capture interface: v2.00
Mar 21 02:13:10 silverfox kernel: [ 5419.588143] uvcvideo: Found UVC 1.00 device Venus USB2.0 Camera (0ac8:3420)
Mar 21 02:13:10 silverfox kernel: [ 5419.604133] input: Venus USB2.0 Camera as /devices/platform/orion-ehci.0/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2.1/1-1.1.2.1:1.0/input/input0
Mar 21 02:13:10 silverfox kernel: [ 5419.617889] usbcore: registered new interface driver uvcvideo
Mar 21 02:13:10 silverfox kernel: [ 5419.639815] USB Video Class driver (v0.1.0)
Mar 21 02:13:11 silverfox kernel: [ 5420.784731] usbcore: registered new interface driver snd-usb-audio

挿しただけで認識。
ビデオデバイスのみならず、カメラ内蔵マイクロフォンも使えるようだ。

ZoneMinderをサクッと入れてみる。

root@silverfox:~# aptitude install zoneminder
The following NEW packages will be installed:
apache2{a} apache2-mpm-prefork{ab} apache2-mpm-worker{ab} apache2-utils{a}

さすがに何も入れてないから、apache2とかmysqldとか連鎖インストールするものが多いな。勿論Yと答えて暫し待つ。

終わったら、ZoneMinderのWebインターフェースの初期設定。

root@silverfox:~# ln -sf /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf
root@silverfox:~# adduser www-data video
Adding user www-data' to group video’ …
Adding user www-data to group video
Done.

グループ設定を有効にする為に再起動
root@silverfox:~# reboot

ブラウザで
http://192.168.11.8/zm/
とZoneMinderのWebインターフェースを開いてモニタ追加。
設定はこれと同じ。

で、あっさり動いた。しかし、メモリが少ないせいかWebの応答が遅いな…。
後はどの程度のパフォーマンスが出るのかを検証。

marvellの sheeva 1.2GHz は大体、今サーバにしているLet’s note CF-W2のIntel Pentium M 1.1GHzと同じ位ではないかと推測しているが、ZoneMinderをmodect状態にして放置してみる。

【OpenRD】Debian 6 インストール

今までARMとは何ぞや?ARM CPUにサックリ入るLinuxは?などと情報収集をしていたが、Debian 6 squeezeを入れる事にした。

ARMというCPUはlegacy ABIとEABIとかいうのがあるらしく、OpenRDはEABIで、armelというやつがそれらしい。未だに違いが良く分からないがバイナリのエンディアンの違いかな?

Debian installer for OpenRD という、英文だが非常にシンプルかつ簡単なインストールガイドがあったので、この通りにやる事にした。

中身を読むと、Debian インストーラは NAND flash へ書き込む事はできないので、USBメモリかSATA HDDへのインストールになるとか。

Corega のRAID HDDハードディスクケースを活用して、ファイルサーバ兼 Zoneminder監視カメラ画像記録サーバ兼家庭LANゲートウエイ兼IRCサーバを構築するつもりだったので、書き込む毎に劣化していくNAND flashを使わないのはむしろ有難いくらい。

まずは、やった事のメモ。

FATかext2またはext3でフォーマットしたUSBメモリにインストーライメージを配置して読み込ませる方法と、TFTPでインストーライメージを読み込ませる方法と2通り紹介されている。

わしは空いているUSBメモリが無いのでtftpでやる事にし、
sudo aptitude tftp-hpa tftpd-hpa

と入れて、

とやって、uImageとuInitrdを配置。

OpenRDを起動して、キー押してboot途中で止める。
OpenRD Ultimateなので次を実行。

次は、SATA HDDなので、

この時に、ちゃんとファイルが読めていると、#マークが多数表示される。
T T T…とか表示されていると、tftpdのファイルが正しく読めていない。

そしてインストーラ起動。

SATAインターフェースに繋いであるハードディスクが起動時に認識され、ハードディスクパーティションを適当に握ってくれるので、既定のままGO!GO!

途中色々聞かれるけど、適当に答え、インストールするのは、sshサーバだけ選んでインストール完了。

再起動後、再びキーを押してbootを止め
setenv bootargs_console console=ttyS0,115200
setenv bootcmd_sata ‘ide reset; ext2load ide 0:1 0x01100000 /uInitrd; ext2load ide 0:1 0x00800000 /uImage’
setenv bootcmd ‘setenv bootargs $(bootargs_console); run bootcmd_sata; bootm 0x00800000 0x01100000’
saveenv

と設定して

で起動!…

せぬわ!

Bad Magic Numberとか言われて怒られる。どうもパーティション指定が違っているようなのだが、どうやれば正しくなるのかさっぱり分からん。

で、困った時のOpenRDフォーラム頼り。
さすが Debian squeeze 出たばっかりだから、ヒトバシラーがおるわおるわw
これを参考にすると、ide reset とか ext2ls とか新たな技を覚えた。

Marvell>> ide reset

Reset IDE:
Marvell Serial ATA Adapter
Integrated Sata device found
[0 1 0]: Enable DMA mode
Device 1 @ 0 1:
Model: WDC WD5000AAKS-00A7B2                    Firm: 01.03B01 Ser#:      WD-WMASZ0170852
Type: Hard Disk
Supports 48-bit addressing
Capacity: 476940.0 MB = 465.7 GB (976773152 x 512)

これを見ると、ide 1:1 と指定するのが正しいようだ。
なるほど、内部のSATAが0で外部のeSATAソケットが1になる訳だな。

setenv bootargs_console console=ttyS0,115200
setenv bootcmd_sata ‘ide reset; ext2load ide 1:1 0x01100000 /uInitrd; ext2load ide 1:1 0x00800000 /uImage’
setenv bootcmd ‘setenv bootargs $(bootargs_console); run bootcmd_sata; bootm 0x00800000 0x01100000’

そして

無事起動。
とりあえず、今日はここまでで、後でV4Lとかzoneminderインストールとかやろう。

【OpenRD Ultimate】DVDが同梱されていない問題

open-rd.orgのフォーラムに「DVD入ってねえよ」って投稿がある。
どうやら、最近出荷されたやつは、DVDが同梱されていないようだ。

しかし、ダウンロードできるドキュメントには、Fedora 8のイメージや、Ubuntu 9.04のイメージをDVDからコピーして使う事を前提にしていて、このイメージはネットに上がっていない。

リカバリを行うには、このイメージが必要で、ハードディスクからブートするようにするにも必要だから、DVDが同梱されてないのは致命的。

Globalscaleにはその旨をメールしたが、ここはテンプレートに当てはまらないメールの返答率が悪いので、返事が来ない可能性が大。

フォーラムに「アップロードする」って言ってる人がいるので、それに期待しよう。