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 にしておかないといけないな (^^;

【Ubuntu 11.04】NAVI CLIP(UMGPS/MF)と戯れる

IO DATAのNAVI CLIP(UMGPS/MF)を衝動買い。
Web見ても「linuxで動きました」って情報が無いのが一筋縄ではいかなそうな予感がもりもりする。

とりあえず挿してみる

Jun 4 11:07:45 purplecat kernel: [137771.758155] usb 2-1.2: new full speed USB device using ehci_hcd and address 7

うむ、やっぱり挿さったところまでしか認識しない。
とりあえず、Vendor ID と Product IDを確認。

noizumi@purplecat:~$ lsusb
Bus 002 Device 007: ID 04bb:0941 I-O Data Device, Inc.

サーフ社製 StarIIIというメジャーなGPSチップの製品だそうなので、基本的にはシリアル出力だから、USBシリアル変換ドライバがうまく噛めば動くはず。

どうせFDTIのUSBシリアル変換つかってんだろうと思って、糞OS仮想箱(Windows 7 VirtualBox guest)でデバイスを見ると…

Profilic Technology inc. USB Serial Controller D

!?

なにそれ? おいしいの?
pl2303 ドライバって知らねえよヽ(Д´)ノ
VEしてるねえ。対応しなきゃいけないソフトウエア技術者は大変だ :-) 。

まあ、USB機器だと、ドライバにハードコーディングされているVendor IDとProduct IDを追加してやればいいだけなので、認識しない位では屁でもない。

という事で、pl2303.c と pl2303.h にエントリ追加してゴリゴリやった。
ファイルを展開して、make して、/lib/modules/
uname -r`/kernel/drivers/usb/serial のディレクトリへできあがった pl2303.ko をぶっこむべし。

で、sudo depmod -a やって、再び挿してみる。

Jun  4 14:24:06 purplecat kernel: [149548.161160] usb 2-1.2: new full speed USB
device using ehci_hcd and address 11
Jun  4 14:24:06 purplecat kernel: [149548.309700] USB Serial support registered
for pl2303
Jun  4 14:24:06 purplecat kernel: [149548.309760] pl2303 2-1.2:1.0: pl2303 conve
rter detected
Jun  4 14:24:06 purplecat kernel: [149548.311730] usb 2-1.2: pl2303 converter no
w attached to ttyUSB0
Jun  4 14:24:06 purplecat kernel: [149548.311755] usbcore: registered new interf
ace driver pl2303
Jun  4 14:24:06 purplecat kernel: [149548.311758] pl2303: Prolific PL2303 USB to
serial adaptor driver

無事認識っと。

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

gpsd の起動オプションを変更。

[/etc/deffault/gpsd]

DEVICES=”/dev/ttyUSB0″

noizumi@purplecat:~$ sudo service gpsd restart

noizumi@purplecat:~$ xgps

 

ちゃんと緯度経度情報が取れてるし、測位データを計測する事が可能となった。

このGPSを、OpenRD Ultimateに接続して、GPS時間計測ntpdにでもするか。

パソコン修復

Windows XPの入ったPCで、起動時に S.M.A.R.T のエラーが出る奴を復旧したが、 Ubuntu 11.04 のLive CDで Gparted 使った。

250GBの壊れそうなHDDは使用領域が30GB程度だったので、200GBのHDDへパーティションを縮めてコピーした。

1. Gpartedで/dev/sda1を250GB→200GBに縮小。
2. /dev/sdb のパーティションテーブル作成。/dev/sdb1をntfsで確保。bootフラグを付ける。
3. 端末で、dd if=/dev/sda of=/dev/sdb bs=446 count=1 を実行し、MBRをコピー。
4. Gpartedで /dev/sda1 をコピー、 /dev/sdb1 へ貼り付け。

で完了。無事問題なく起動した。

今回は、ハードディスク容量を減らすコピーだったが、逆に容量を増やすコピーもできる訳で、 Gparted だと非常に簡単にできて便利だなあと感心した。

【Ubuntu 11.04】64bit化

Core i7はx86_64のコードセットが使えるので、折角だから、64bit化しようと、ubuntu.com から、Ubuntu 11.04 – Latest version の64bit のISOイメージファイルをダウンロード。

CD焼くのが面倒なので、以前使用していた8GB USBメモリへ「スタートアップディスクの作成」でインストールディスクを作り、USBメモリ起動。

「Ubuntu 11.04からUbuntu 11.04へアップグレード」という奇妙な感じのするオプションを選択してインストールした。

設定他、データは残ってたので、medibuntu、japaneseリポジトリ再設定、lm-sensors、Déjà Dupバックアップツール、VirtualBox、Thunderbird、conky-all、ffmpeg関係の再インストールで元の環境になった。

今のところ、劇的に変わった感じはしないのだが、どんなメリットがあるのやら…。

【Ubuntu 11.04】xvba-va-driverの依存破損を修正して入れてみる。

libva1とか、ATI のビデオカードの動画再生支援が標準で入るようになった Ubuntu 11.04だが、残念ながら、 xvba-va-driver の依存関係が破損していて入らない。

まず、ソースを取ってくる。

noizumi@purplecat:~/src$ apt-get source xvba-va-driver
パッケージリストを読み込んでいます… 完了
依存関係ツリーを作成しています
状態情報を読み取っています… 完了
‘xvba-va-driver’ の代わりに ‘xvba-video’ をソースパッケージとして選出しています
注意: ‘xvba-video’ パッケージは以下の場所の ‘Svn’ バージョン制御システムで保守されています:
svn://svn.debian.org/svn/pkg-fglrx/xvba-video/trunk
119 kB のソースアーカイブを取得する必要があります。
取得:1 http://jp.archive.ubuntu.com/ubuntu/ natty/multiverse xvba-video 0.7.7-1 (dsc) [1,951 B]
取得:2 http://jp.archive.ubuntu.com/ubuntu/ natty/multiverse xvba-video 0.7.7-1 (tar) [114 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu/ natty/multiverse xvba-video 0.7.7-1 (diff) [3,044 B]
119 kB を 0秒 で取得しました (265 kB/s)
gpgv: 2010年12月22日 17時46分06秒 JSTにRSA鍵ID 90CBD8E4で施された署名
gpgv: 署名を検査できません: 公開鍵が見つかりません
dpkg-source: warning: failed to verify signature on ./xvba-video_0.7.7-1.dsc
dpkg-source: info: extracting xvba-video in xvba-video-0.7.7
dpkg-source: info: unpacking xvba-video_0.7.7.orig.tar.gz
dpkg-source: info: unpacking xvba-video_0.7.7-1.debian.tar.gz

依存関係で、fglrx-driverという名前のパッケージは無いので、fglrxに修正する。

noizumi@purplecat:~/src$ vi xvba-video-0.7.7/debian/control

Source: xvba-video
Section: non-free/libs
Priority: optional
Homepage: http://www.splitted-desktop.com/~gbeauchesne/
Maintainer: Fglrx packaging team <pkg-fglrx-devel@lists.alioth.debian.org>
Uploaders: Patrick Matthäi <pmatthaei@debian.org>
Build-Depends: debhelper (>= 7), libva-dev, libgl1-mesa-dev
Standards-Version: 3.9.1
Vcs-Svn: svn://svn.debian.org/svn/pkg-fglrx/xvba-video/trunk
Vcs-Browser: http://svn.debian.org/wsvn/pkg-fglrx/xvba-video/trunk/
XS-Autobuild: yes

Package: xvba-va-driver
Architecture: i386 amd64
Depends: ${shlibs:Depends}, ${misc:Depends}, fglrx-driver (>= 1:10-9), libva1
Description: XvBA-based backend for VA API (AMD fglrx implementation)
X-Video Bitstream Acceleration (XvBA), designed by AMD for its ATI/AMD Radeon
GPU, is a future extension of the X video extension (Xv) for the X Window
System on Linux operating-systems. XvBA API allows video programs to offload
portions of the video decoding process to the GPU video-hardware. Currently,
the portions designed to be offloaded by XvBA onto the GPU are motion
compensation (mo comp) and inverse discrete cosine transform (iDCT), and VLD
(Variable-Length Decoding) for MPEG-2, MPEG-4 AVC (H.264) and VC-1 encoded
video.
.
This driver only works with the proprietary fglrx driver from AMD.

noizumi@purplecat:~/src$ cd xvba-video-0.7.7/
noizumi@purplecat:~/src/xvba-video-0.7.7$ dpkg-buildpackage -d
dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2
dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor):
dpkg-buildpackage: export CXXFLAGS from dpkg-buildflags (origin: vendor): -g -O2
dpkg-buildpackage: export FFLAGS from dpkg-buildflags (origin: vendor): -g -O2
dpkg-buildpackage: export LDFLAGS from dpkg-buildflags (origin: vendor): -Wl,-Bsymbolic-functions
dpkg-buildpackage: source package xvba-video
dpkg-buildpackage: source version 0.7.7-1
dpkg-buildpackage: source changed by Patrick Matthäi <pmatthaei@debian.org>
dpkg-buildpackage: host architecture i386
dpkg-source –before-build xvba-video-0.7.7
fakeroot debian/rules clean
dh_testdir
dh_testroot
dh_clean
dpkg-source -b xvba-video-0.7.7
dpkg-source: info: using source format 3.0 (quilt)'
dpkg-source: info: building xvba-video using existing ./xvba-video_0.7.7.orig.tar.gz
dpkg-source: info: building xvba-video in xvba-video_0.7.7-1.debian.tar.gz
dpkg-source: info: building xvba-video in xvba-video_0.7.7-1.dsc
debian/rules build
dh_testdir
dh_testdir
touch build-stamp
fakeroot debian/rules binary
dh_testdir
dh_testdir
touch build-stamp
dh_testdir
dh_testroot
dh_prep
dh_install "x86/xvba_drv_video.so" "usr/lib/va/drivers/"
dh_testdir
dh_testroot
dh_installchangelogs NEWS
dh_installdocs
dh_install
dh_link
dh_compress
dh_fixperms
dh_strip
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
dpkg-deb:
../xvba-va-driver_0.7.7-1_i386.deb’ にパッケージ `xvba-va-driver’ を構築しています。
signfile xvba-video_0.7.7-1.dsc
gpg: “Patrick Matthäi <pmatthaei@debian.org>”をとばします: 秘密鍵が得られません
gpg: [stdin]: clearsign failed: 秘密鍵が得られません

dpkg-genchanges  >../xvba-video_0.7.7-1_i386.changes
dpkg-genchanges: including full source code in upload
dpkg-source –after-build xvba-video-0.7.7
dpkg-buildpackage: full upload (original source is included)
dpkg-buildpackage: warning: Failed to sign .dsc and .changes file

これで、インストール可能な xvba-va-driver_0.7.7-1_i386.deb ができあがるので、

noizumi@purplecat:~/src$ sudo dpkg -i xvba-va-driver_0.7.7-1_i386.deb
[sudo] password for noizumi:
未選択パッケージ xvba-va-driver を選択しています。
(データベースを読み込んでいます … 現在 140154 個のファイルとディレクトリがインストールされています。)
(xvba-va-driver_0.7.7-1_i386.deb から) xvba-va-driver を展開しています…
xvba-va-driver (0.7.7-1) を設定しています …

動作確認

noizumi@purplecat:~/src$ vainfo
libva: libva version 0.31.1
Xlib:  extension “XFree86-DRI” missing on display “:0.0”.
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/dri/fglrx_drv_video.so
Segmentation fault

という事で、依存破損を修正してインストールしても、ダメ。

元々入れてたここのモジュールだと、vainfo で segmentation fault する事は無いが、mplayer-vaapi や vlc --ffmpeg-hw で再生できないので、根本的なところで異常となってるのかもしれない。

こういう部分を追っかけようと思うとかなり気合いを入れないといけないので、修正を待とう(^^;