Linux Install Memo

Archive for 1月, 2010

□JRC NNN-310TAとgpsdで遊んでみる(Vine5)

by on 1月.27, 2010, under MEMO

http://gazoo.com/G-BLOG/BlogTaikenshitemimas/111324/Article.aspx
http://gazoo.com/G-blog/BlogTaikenshitemimas/112857/Article.aspx

何年か前のハムフェアから数年にわたって、どこかのクラブブース(忘れた)
でJRCのCFスロットに挿すタイプのGPS(GPSTAR NNN-310TA)を売っていて、
これを何個も買って塩漬けにしておいた。

そのうち何かに使えるだろうと思ったらVine5で「gpsd」というそれっぽい
ソフトを見つけたので、いろいろ遊んでみることにする。

まずはgpsd関連のインストール。

> geoclue-gpsd – geoclue 用 gpsd プロバイダ
> gpsd – GPS にアクセスするためのサービスデーモン
> gpsd-clients – gpsd 用クライアント
> gpsd-devel – Client libraries in C and Python for talking to a running gpsd or GPS
> gypsy – A GPS multiplexing daemon

こんなにあるので、とりあえず以下のものをインストール。

apt-get -y install gpsd
apt-get -y install gpsd-clients

で、gpsdを動かすにはデバイスを指定しないといけないのだが、このJRCの
GPSカード(一応COM通信カードみたいな扱いらしい)を挿すとmessagesに

> Jan 26 21:58:36 localhost kernel: pccard: PCMCIA card inserted into slot 1
> Jan 26 21:58:36 localhost kernel: cs: memory probe 0xe8000000-0xefffffff: excluding 0xe8000000-0xefffffff
> Jan 26 21:58:36 localhost kernel: cs: memory probe 0xc0200000-0xcfffffff: excluding 0xc0200000-0xc11fffff 0xc1a00000-0xc21fffff 0xc2a00000-0xc31fffff 0xc3a00000-0xcc1fffff 0xcca00000-0xcd1fffff 0xcda00000-0xce1fffff 0xcea00000-0xcf1fffff 0xcfa00000-0xd01fffff
> Jan 26 21:58:36 localhost kernel: pcmcia: registering new device pcmcia1.0

と、こんな感じでメッセージが出たら、さくっとこのGPSカードの素性を見る。

> # pccardctl info
> PRODID_1=”"
> PRODID_2=”"
> PRODID_3=”"
> PRODID_4=”"
> MANFID=0000,0000
> FUNCID=255
> PRODID_1=”JRC”
> PRODID_2=”GPSCard”
> PRODID_3=”1.000″
> PRODID_4=”"
> MANFID=0000,0000
> FUNCID=255

と、こんな感じでJRCのGPSCardだってことがわかる。

さて、こいつをVine5で…というよりもKernel2.6系で使うにはかなーり厄介。
とにもかくにもシリアルカードとして認識してもらわないといけないので、
モジュールを作り直さないといけない。

http://bird-memo.seesaa.net/category/805599-1.html

を参照して、とにかくシリアルカードとして認識してもらうために

emacs /usr/src/linux-2.6.27/drivers/serial/serial_cs.c

に、

> PCMCIA_DEVICE_PROD_ID123(“?????”, “?????”, “?????”, 0x?????, 0x?????, 0x?????),

というような行を追加する。

えー、?????に何を書いたらええねん?ということになるんですが、
GPSカードを挿した状態で

grep pcmcia `find / -name modalias`

とすると

> /sys/devices/pci0000:00/0000:00:1e.0/0000:02:00.1/1.0/modalias:pcmcia:m0000c0000f00fn00pfn00pa1A5527EApb65F31EEApc0158AAF4pd00000000

というようにでてきます。

ここまで来ればしめたもの。pa、pb、pcの後のhashデータを拾ってきて、

> PCMCIA_DEVICE_PROD_ID123(“JRC”, “GPSCard”, “1.000″, 0x1A5527EA, 0x65F31EEA, 0x0158AAF4),

という風になるわけですな。

書き直したら

cd /usr/src/linux-2.6.27/
make modules modules_install

として、モジュールだけインストールしなおて、GPSカードを挿しなおしてみる。

うまく認識してくれれば、/var/log/messagesに

> Jan 27 22:53:40 localhost kernel: pccard: card ejected from slot 1
> Jan 27 22:53:43 localhost kernel: pccard: PCMCIA card inserted into slot 1
> Jan 27 22:53:43 localhost kernel: pcmcia: registering new device pcmcia1.0
> Jan 27 22:53:43 localhost kernel: 1.0: ttyS2 at I/O 0x3e8 (irq = 3) is a 16550A

みたいにして出る。(やったー)

で、このカードは垂れ流しのGPSカードなので、取り合えずそのデータを見てみることにする。

minicomとかでこのttyS2を「4800,8,N,1」でみてみると、

> $GPGSA,A,1,00,00,00,00,00,00,00,00,00,00,00,00,00.0,00.0,00.0*00
> $GPGSV,2,1,08,01,00,000,00,24,00,000,00,09,00,000,00,30,00,000,00*7F
> $GPGSV,2,2,08,10,00,000,00,08,00,000,00,22,00,000,00,15,00,000,00*7C
> $GPRMC,004938,V,3600.00000,N,13600.00000,E,000.0,000.,020100,,*3E
> $GPGGA,004939,3600.00000,N,13600.00000,E,0,0,00,+0050,M,+034,M,00,0000*59
> $GPGSA,A,1,00,00,00,00,00,00,00,00,00,00,00,00,00.0,00.0,00.0*00
> $GPGSV,2,1,08,01,00,000,00,24,00,000,00,09,00,000,00,30,00,000,00*7F
> $GPGSV,2,2,08,17,00,000,00,19,00,000,00,22,00,000,00,15,00,000,00*7B
> $GPRMC,004939,V,3600.00000,N,13600.00000,E,000.0,000.,020100,,*3F
> $GPGGA,004940,3600.00000,N,13600.00000,E,0,0,00,+0050,M,+034,M,00,0000*57
> $GPGSA,A,1,00,00,00,00,00,00,00,00,00,00,00,00,00.0,00.0,00.0*00
:
:
と、こんな感じでGPSデータが流れてきている。

さて、これをgpsdに取り込んでみよう。

gpsd /dev/ttyS2

としてgpsdを起動して、しばらく待ってからX-Windowを立ち上げて

telnet localhost gpsd

として、GPSカードがちゃんとGPS信号を拾えているかどうか確認。
DとかPとか打つと、信号が拾えていれば日時とか緯度経度が出てくる。

…うちでは受信できない。。・゜・(ノД`)・゜・。

…だったので、こんなの買ってきました。

ちゃらららっちゃらー、外付けGPSアンテナー♪ ちなみに製品精度がいまいちでコネクタが刺さりにくいが、刺さったらちゃんと使えます。

あとは

xgps

とか

gpsdrive

とかやってみるといいかも?

xgpsだとGPSを捕らえたらこんな風に見えます。

補足:gpsdriveのインストール

http://www.gpsdrive.de/

とりあえずstable版を取ってきてインストールしましょ。

mkdir /usr/src/package/
cd /usr/src/package/
wget http://www.gpsdrive.de/packages/gpsdrive-2.09.tar.gz
cd /usr/src/
tar xvzf ./package/gpsdrive-2.09.tar.gz
cd gpsdrive-2.09/

として、このままだとVine5ではgccが新しすぎて先に進めないので、強引に

emacs ./configure

として

> if $CC -dumpversion|egrep -q “^3\.*”; then
> echo “GCC ok”
> else
> echo “*****************************************”
> echo “You need a gcc >= 3.x!? to compile GpsDrive”
> echo “*****************************************”
> #exit
> fi

というように、gcc4でもexitせずに進むように修正して、

apt-get -y install pcre-devel

としてから、

./configure –disable-garmin
make
make install

今回ガーミンは使いませんので、オプションとしてはずします。

うまく出来れば、こんな感じで表示できます。

で、地図をダウンロードしてみると

なかなかすごいですなー。

補足:あれー、gpsdが落ちるようになっちゃった…

先日ぽちってIO-DATAのCFGPS2を落札したので差し替えて動作確認をしたあとに、またNNN-310TAに戻したら、なぜかgpsdが落ちるようになってしまった。さんざん悩んだけど結局判らなくて、gpsd-2.90をtarからインスコしました。そしたら問題なし。

なんだったんだろう!?!?(゜Д゜≡゜Д゜)?

Leave a Comment more...

□Adaptec Strage Manager(ASM)のインストール

by on 1月.27, 2010, under MEMO

Vine5のx86_64bit版にASMを入れてみる。

Adaptecのサイトでユーザー登録して以下のファイルを取得してインストール。

64bitは asm_linux_x64_v4.30-16038.rpm

ちなみに32bitは asm_linux_v4.30-16038.rpm

libstdc++-libc6.2-2.so.3がないと怒られるので、以下のファイルもとって
きてインストール。(libstdc++-libc6.2-2.so.3をどうしたらいいかでかなり
はまった)

compat-libstdc++-296-2.96-138.i386.rpm

をとってくればいいらしいというところまで判ったけど、既存のライブラリと
ぶつかったり影響がないかを確認。まぁ大丈夫だろうということで、

cd /usr/src/package/
wget http://ftp.riken.jp/Linux/fedora/core/6/i386/os/Fedora/RPMS/compat-libstdc++-296-2.96-138.i386.rpm
rpm –install ./compat-libstdc++-296-2.96-138.i386.rpm

で、はいったら

rpm –install ./asm_linux_x64_v4.30-16038.rpm

で、はいったら

/usr/StorMan/arcconf getconfig 1

とかすると以下のように出てくる。(ちなみにリビルド中)

> Controllers found: 1
>
> ———————————————————————-
> Controller information
> ———————————————————————-
> Controller Status : Optimal
> Channel description : SATA
> Controller Model : IBM Adaptec 2410SA
> Controller Serial Number : BF27C8
> Physical Slot : 1
> Installed memory : 64 MB
> Copyback : Disabled
> Background consistency check : Disabled
> Defunct disk drive count : 0
> Logical devices/Failed/Degraded : 1/0/1
> —————————————————
> Controller Version Information
> —————————————————
> BIOS : 4.1-0 (7235)
> Firmware : 4.1-0 (7235)
> Driver : 1.1-5 (2456)
> Boot Flash : 0.0-0 (0)
> —————————————————
> Controller Battery Information
> —————————————————
> Status : Not Installed
>
> ———————————————————————-
> Logical device information
> ———————————————————————-
> Logical device number 1
> Logical device name : FWNET
> RAID level : 1
> Status of logical device : Degraded
> Size : 476907 MB
> Read-cache mode : Enabled
> Write-cache mode : Enabled (write-back)
> Write-cache setting : Enabled (write-back)
> Partitioned : Yes
> Number of chunks : 2
> Drive(s) (Channel,Device) : 0,1 0,0
>
> ———————————————————————-
> Physical Device information
> ———————————————————————-
> Channel #0:
> Transfer Speed : SATA 1.5 Gb/s
> Device #0
> Device is a Hard drive
> State : Rebuilding
> Supported : Yes
> Transfer Speed : SATA 1.5 Gb/s
> Reported Channel,Device : 0,0
> Vendor : WDC
> Model : WD5001AALS-00L3B
> Firmware : 01.0
> Size : 476940 MB
> Write Cache : Unknown
> FRU : None
> S.M.A.R.T. : No
> Device #1
> Device is a Hard drive
> State : Online
> Supported : Yes
> Transfer Speed : SATA 1.5 Gb/s
> Reported Channel,Device : 0,1
> Vendor : WDC
> Model : WD5001AALS-00L3B
> Firmware : 01.0
> Size : 476940 MB
> Write Cache : Unknown
> FRU : None
> S.M.A.R.T. : No
> Device #2
> Device is a Hard drive
> State : Ready
> Supported : Yes
> Transfer Speed : SATA 1.5 Gb/s
> Reported Channel,Device : 0,2
> Vendor : WDC
> Model : WD5001AALS-00L3B
> Firmware : 01.0
> Size : 476940 MB
> Write Cache : Unknown
> FRU : None
> S.M.A.R.T. : No
>
>
> Command completed successfully.

ちなみに上記のステータスはまだ#2については何にも割り当てていないので
これをホットスペアにする場合には

/usr/StorMan/arcconf SETSTATE 1 DEVICE 0 2 HSP

とすれば、

> Controllers found: 1
>
>
> Command completed successfully.

として、できたらしい。

HSPでなくてDDDだと、ドライブを強制エラーにできるので、リビルド
チェックとかにいいかも。

なんにしてもRAIDの設定をいじったなら、BIOSで確認してみることを薦める。

Leave a Comment more...

□Vine5でAdaptec Serial ATA RAID 2410SAを使ってみる

by on 1月.19, 2010, under MEMO

使えます。
普通にaacraidとして認識してくれます。
2610も同様でしょう。

CLIについてはインストールが終わったら調査します。

Leave a Comment more...

□qdbmを入れてみる

by on 1月.12, 2010, under MEMO

参考
http://qdbm.sourceforge.net/

簡単にデータベースを扱いたくなったので、ndbmとかgdbmとかうろうろと
していたら、qdbmというを同胞が強烈に推しているらしい。
ということで、とりあえず入れてみる。:-)
cd /usr/src/package
wget http://qdbm.sourceforge.net/qdbm-1.8.77.tar.gz
cd /usr/src
tar xvzf ./package/qdbm-1.8.77.tar.gz
cd qdbm-1.8.77/
./configure –prefix=/usr –enable-iconv –enable-zlib
make
make install

後はコレをPHPでつかえるようにする。

Leave a Comment more...

□いまさらながらeAccelerator

by on 1月.08, 2010, under MEMO

参考
http://vine.1-max.net/eAccelerator.html

http://www.eaccelerator.net/

Zend Optimizerにも対応しているって事で、隣のチームで劇的に性能向上(当社比まじで10倍…笑)といっていたので、入れてみる。

cd /usr/src/package
wget http://bart.eaccelerator.net/source/0.9.6/eaccelerator-0.9.6-rc1.tar.bz2
cd /usr/src
tar xvjf ./package/eaccelerator-0.9.6-rc1.tar.bz2
cd eaccelerator-0.9.6-rc1/

phpize
./configure –enable-eaccelerator=shared –with-php-config=/usr/bin/php-config
make

make install
cp control.php /etc/httpd/html/
mkdir /tmp/eaccelerator
chown apache:apache /tmp/eaccelerator/

emacs /etc/php5/php.ini

[eAccelerator]
zend_extension = “/usr/lib/php5/eaccelerator.so”
eaccelerator.shm_size = “16″
eaccelerator.cache_dir = “/tmp/eaccelerator”
eaccelerator.allowed_admin_path = “/home/httpd/html/control.php”
eaccelerator.optimizer = “1″
eaccelerator.check_mtime = “1″
eaccelerator.debug = “0″
eaccelerator.filter = “”
eaccelerator.shm_max = “0″
eaccelerator.shm_ttl = “0″
eaccelerator.shm_prune_period = “0″
eaccelerator.shm_only = “0″
eaccelerator.compress = “1″
eaccelerator.compress_level = “9″
eaccelerator.keys = “shm_and_disk”
eaccelerator.sessions = “shm_and_disk”
eaccelerator.content = “shm_and_disk”

※ Zend Optimizerを導入する場合の注意
Zend OptimizerのセクションはeAcceleratorの後でロードする必要があり

はやくなった…かな?

Leave a Comment more...

何かお探しですか?

下記に探しているキーワードを入力してください:

ただし、もし探し物が見つからなくてもがっかりしないでください。
それは『あなたがドキュメントを作りなさい』というお告げなのです。

リンクリンクリンク!

きっとあなたにとって役立つリンクです...