Sirius -旧ブログ、更新されません-

<< 前のページ | 次のページ >>

2011年1月4日(火) 10:38

KURO-RS の利用

赤外線リモコン KURO-RS を使えるようにします。

KURO-RS を認識させるには、カーネルソース ftdi_sio.c の id_table_combined に次の一行を追加します。

    { USB_DEVICE(0x0411, 0x00b3) },



もともとのカーネルは、USB FTDI Single Port Serial Driver がはじめから組み込まれているのでこれをモジュールに変更して、カーネルとモジュールのコンパイルしなくてはなりません。

LinkStation/TeraStation/玄箱/PPC/kernel/2.6.30.5を参考にしてカーネルをコンパイルします。

今回はカーネルも入れ替えるので上のページの "MTD の認識" 項目は必要です。

# make meucofig

Device Drivers -> Memory Technology Device (MTD) support -> Mapping drivers for chip access の

    ・Physmap compat support を y に

    ・Physical start address of flash mapping を 0xffc00000 に

    ・Physical length of flash mapping を 0x400000 に

    ・Bank width in octets を 1 に設定します。

その他、必要なモジュールの設定をします。



カーネルとモジュールをコンパイルします。

# make uImage modules

だいたい一時間くらいで終わりました。



念のため現在のモジュールを上書きしないように移動させでからモジュールのインストールをします。

# mv /lib/modules/2.6.31.12_kurobox /lib/modules/2.6.31.12_kurobox_old

# make modules_install



カーネルをインストールします。

# cp -p System.map /boot/System.map-2.6.31.12_kurobox_new

# cp -p arch/powerpc/boot/uImage /boot/vmlinux.UBoot-2.6.31.12_kurobox_new



次に起動するカーネルの入れ替えを行います。

# cd /boot

# rm System.map vmlinux.UBoot

# ln -s System.map-2.6.31.12_kurobox_new System.map

# ln -s vmlinux.UBoot-2.6.31.12_kurobox_new vmlinux.UBoot



電源を切って、電源を入れます。(再起動がうまく動かないので・・・)

# halt



電源 ON。シリアルコンソールを付けていない玄箱なので起動確認ができるまでちょっと不安です。

大丈夫でした。普通に起動しました。

# cat /proc/version

Linux version 2.6.31.12_kurobox (root@XXXXXX01) (gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC) ) #1 Mon Jan 3 21:28:51 JST 2011

ちゃんと新しいカーネルで動いているようです。



KURO-RS をつなぎ、/proc/bus/usb/devices の中に、次のような内容があり、Driver に ftdi_sio があれば大丈夫です。



T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 5 Spd=12 MxCh= 0

D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1

P:  Vendor=0411 ProdID=00b3 Rev= 4.00

S:  Manufacturer=BUFFALO

S:  Product=BUFFALO RemoteStation PC-OP-RS1

S:  SerialNumber=xxxxxxxx

C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA

I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio

E:  Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms

E:  Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms



後はアプリケーションを使って動作を確認します。

カーネルの入れ替えがうまく行ったようなのでカーネルのバージョンを上げることが出来そうです。そのうちやってみたいと思います。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年1月3日(月) 20:46

Buffalo の AirStation の調子が悪い

ブロードバンドルータに Buffalo の AirStation を使っていますが調子が悪くなり、外とつながらなくなりました。

バックアップ用の PCI のルータに切り替えました。PCI のルータは 大量に通信すると繋がらなくなることがあるのですが、仕方ありません。お金に余裕がないのでルータの交換は来月になりそうです。

written by sirius [その他] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年1月3日(月) 10:35

BonCasServer の自動起動

玄箱が起動した後でカードリーダを刺すと自動で動きますが、刺した状態で玄箱を起動すると BonCasServer が動きませんでした。どうやら起動順序が udev -> pcscd の順のようで、動かないようです。

そこで BonCasServer の起動を遅らせてみました。

udev のルールで直接起動するのではなく、起動用のシェルスクリプトを作成しました。udev のルールではこのシェルスクリプトを呼び出します。

bcs-start.sh

---------------------ここから---------------------

#!/bin/sh

PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin

N=`ps ax|grep bcs-perl|grep \.pl`

pid=`expr "$N" : '\\([0-9]*\\)'`

if [ "$pid"x != x ]; then

    kill -KILL $pid

fi



 /usr/local/bin/bcs-start2.sh &

---------------------ここまで---------------------

一応、bcs-perl.pl のプロセスが残っていたら強制終了させます。(udev の remove で終了させようとしたのですがうまくいきませんでした。)

また、udev のルールで実行するコマンドはできるだけ短い時間で終了させる必要があるので、実際に bcs-perl.pl を起動するシェルスクリプトをバックグラウンドで呼び出します。



bcs-start2.sh

---------------------ここから---------------------

#!/bin/sh

PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin

sleep 60

perl /usr/local/bin/bcs-perl.pl > /dev/null 2>&1 &

---------------------ここまで---------------------

待ち時間がどのくらい必要かわからなかったので 60 秒 sleep させました。

これで玄箱起動時にカードリーダが刺さっていても BoCasServer が動くようになりました。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年1月2日(日) 09:32

rdf の設定

申し訳ありません。RSS が機能していなかったようです。IIS で拡張子と MIME type をきちんと設定していないと不明なものとして扱われ、外部アクセスでは 404 となるようです。



IIS マネージャで rdf ファイルがあるフォルダの "MIME の種類" で拡張子と MIME type を設定したので、RSS が機能するようになりました。調べると、rdf ファイルの MIME type は、"application/rss+xml" が正しいようですが、IE ではうまく機能してくれません。IE でも機能するためには、MIME type を "text/xml" にする必要がありました。まあ、中身が XML なので間違いではないと思います。

written by sirius [WindowsWebServer2008] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年1月1日(土) 10:47

玄箱の Fedora12 のファイルの公開を停止

あけましておめでとうございます。



予定通り玄箱の Fedora12 インストール用ファイルの公開を停止しました。もともと自分が作成したものではなく、たまたま配布先のサイトが閉鎖されてしまい、要望があったので公開しましたが、今後は公開するつもりはありません。 Fedora のサポートが切られた現在、yum でアップデートできるパッケージがなくなっています。セキュリティ上問題があってもパッケージの更新はされません。このことから、公開はしないほうがよいと判断します。自分としても、まだ更新の期待できる Debian への移行を検討しているところです。玄箱を今後もサーバとして使っていくのなら、Fedora より Debian をお勧めします。時間ができたときに予備の玄箱に Debian を入れてそれを記事にしたいと思っています。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(2)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月31日(金) 22:08

玄箱HG につないでいる USB デバイス

今年最後の記事は玄箱です。



玄箱に現在つないでいるデバイスは、

前面:

Buffalo 4 port USB ハブ(バスパワー)

USB フラッシュメモリ x 2

背面:

Greenhouse 4 port USB ハブ(バスパワー)

IO-DATA USB2-PCADPG

玄人志向 玄音(OTO2.1-USB2)

USB フラッシュメモリ

NTT-ME SCR3310-NTTCom (カードリーダ)

です。

電力不足になるかと思いましたが、外部電源なしで全部動いています。なんか普通です。

ただし、これに 2.5inch の HDD をつなぐとつないだ HDD が出力不足で spin up しませんでした。



では、よい年を。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月31日(金) 12:20

玄箱HG で HDUSF を使ってみる

BonCasServer が動いたので、SKNET の地デジチューナー HDUSF をつなげてみました。



まず、hdus-recfriior4 の as11loader をコンパイルします。

これはただのローダーなので、実際のファームウェアが別に必要となります。SKNET_AS11Loader.sys が必要になります。しかし、080701 版でなければならないようです。SKNET 社のサイトには有りませんので探してください。



HDUSF をつないで、

# ./as11loader

でファームウェアが HDUSF へダウンロードされ再認識されます。

確認は、lsusb で行います。

# lsusb

Bus 001 Device 025: ID 3275:6051 VidzMedia Pte Ltd

Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub



のように "VidzMedia Pte Ltd" が出てくれば大丈夫です。

udev のルールに次を追加して自動的にファームウェアをダウロードするようにします。また、video グループを作成して、root 以外でも video グループのメンバーはデバイスへのアクセスできるようにします。

# MonsterTV HDUS

SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="1738", ATTRS{idProduct}=="5211", \

    RUN+="/bin/sh -c 'cd /usr/local/lib/hdus;./as11loader'"

SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="3275", ATTRS{idProduct}=="6051", \

    MODE="0664", GROUP="video"



次に recfriior4 にパッチを当てて HDUS を使えるようにします。

hdus-recfriior4 のパッチをはじめに当てて、次に recfriio-newpatch のパッチを当てます。



コンパイルするにはいくつかのパッケージをインストールする必要がありました。

# yum install boost.ppc

# yum install boost-devel.ppc

# yum install glib-devel.ppc

# yum install glib2.ppc

# yum install glib2-devel.ppc

# yum install avr-libc



さらにコンパイルエラーが出るので、



RingBuf.hpp に追加

#include


setting.hpp と Recordable.hpp に追加

#include


Udp.cpp に追加

#include


これでコンパイルできました。

ところが、録画してできたファイルは何を使っても再生できませんでした。B-CAS を使って復号しようとしても、だめでした。

録画中に大量に "sync ??? byte" と出ていたのでうまく録画できていないようです。まあ、非力な CPU なのでこれで録画しようとは思っていません。BoCasServer が動いてくれたので十分です。玄箱PRO の予行演習のつもりでした。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月30日(木) 19:34

玄箱で BonCasServer を動かしてみる

Linux 版の BonCasServer があるらしいので玄箱で動くかどうか試します。

PT2 とか使っているので 24 時間連続運転の内向きサーバで動いてくれると便利です。

必要なもの

カードリーダ:NTT-ME SCR3310-NTTCom

(普段使っているのは HITACHI のですが、Linux では動かないので新たに買ってみました。)



はじめにスマートカード関連のソフト(ドライバ・ユーティリティ)をインストールします。

# yum install pcsc-lite

# yum istalll pcsc-perl

# yum install pcsc-tools

# yum install ccid

# yum install pcsc-lite-devel



インストールが終わったらカードサービスを起動します。

# /etc/init.d/pcscd start



BonCasServer の perl スクリプトをダウンロードします。(http://mono.kmc.gr.jp/~walkure/081)

# wget http://mono.kmc.gr.jp/~walkure/tmp/bcs-perl.pl

# chmod +x bcs-perl.pl

# cp bcs-perl.pl /usr/local/bin/.



B-CAS カードを刺して玄箱とつなぎ、認識しているかどうか pcsc_scan で確認します。

# pcsc_scan

いろいろ出力があると思いますが最後に

Japanese Chijou Digital B-CAS Card (pay TV)

と出れば大丈夫だと思います。BonCasServer で確認して動かしてみます。



# ./bcs-perl.pl list

>>List of PC/SC card reader

SCM SCR 3310 NTTCom 00 00

>>EOL



bcs-perl.pl の bind_addr には内向きのインターフェースの IP アドレスを設定します。

# bcs-perl.pl



PC では BonCasLink の BonCasProxy を起動してサーバのアドレスを設定します。

PC でスマートカードを使うアプリケーションを動かしてきちんと動くか確認します。私の環境では、BonCasProxy を動かすのに Microsoft Visual C++ 2005 再頒布可能パッケージのインストールが必要でした。

また、pcscd が大量にログを吐くので起動オプション --critical を追加しました。



最後に起動のたびに BonCasServer を動かすのは面倒なので udev のルールに登録します。

lsusb で idVendor と idProduct を確認し、それを使って udev のルールを記述します。

-----------------------------ここから-------------------------------

# B-CAS(BoCasServer)

SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="04e6", \

    ATTRS{idProduct}=="511a", RUN+="/usr/bin/perl /usr/local/bin/bcs-perl.pl > /dev/null 2>&1 &"

-----------------------------ここまで-------------------------------



これでカードリーダを刺したときに BonCasServer が自動的に動くようになります。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月25日(土) 21:44

ログ出力の抑制とか

SSD なのでログとかにあまり大量に書き込みがあるのは心配なので、必要ないログの出力を抑制していきます。



・DNS

ログを見ていると、named が "connection refused …" と/var/log/message に出しています。なので、named.conf を書き換えてこのメッセージを抑制するようにしました。



logging {

    channel default_debug {

        file "data/named.run";

        severity dynamic;

    };

    category lame-servers { null; }; ← 追加

};



・samba

samba でもいろいろログが出力されているので、特に問題のなさそうなログを出さないように、smb.conf の global セクションに以下の内容を追加しました。



-Unable to connect to CUPS エラー

printing = bsd



-getpeername failed. Error was Transport endpoint is not connected エラー

load printers = no

disable spoolss = yes

smb ports = 139



-Unable to find the Domain Master Browser エラー

local master = yes

domain master = yes

preferred master =yes



また、samba の共有でシンボリックリンク先が vfat 等の UNIX のファイルシステムでない場合でもたどれるように、

wide links = yes

follow symlinks = yes

unix extensions = no

を global に追加しました。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月24日(金) 20:28

SSH で不正ログイン試行

外部から ssh ができるように 22 番ポートを開いていると、大量に接続があり、サーバへ負荷がかかっていました。まあ、ログインを試みているようですが成功はしていません。IP を見ると主に中国からが多いのですが、国内からの接続も見られます。いい加減にしてほしいものです。

スパムといいこういった攻撃といいトラフィックの増大を招くだけなのに。このトラフィックの増大の負担もユーザに跳ね返ってくると考えると腹が立ちます。



とりあえず、トラフィックはどうしようもないので、攻撃から身を守ります。

今までは、見つけたら個別に /etc/hosts.deny に登録していましたが、きりがありません。hosts.deny はもう、

all:all

にしてやりました。すべての接続を原則弾きます。



通信を許可するもののみ /etc/hosts.allow に書きます。

all:192.168.0.0/255.255.255.0

all:192.168.1.0/255.255.255.0

内部ネットワークはすべて許可。外部からの接続は必要であれば追加します。

まあ、固定IP のホストしか指定できないのが不便ですが、しかたありません。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月22日(水) 23:30

HDD が壊れました。

Seagate の HDD が壊れました。SMART でエラーが出ていたので、フォーマットしてみたところ認識しなくなりました。

ST31500541AS(Baracuda LP 1.5TB) のファームウェア CC34 です。Seagate との相性は今まで良かったのですがついに壊れました。まあ、一時的な作業用として使っていたのでオリジナルのデータは有るのでダメージは少ないです。



IDE や ATA はやはり壊れやすいですね。高いけど SCSI は信頼性という点で上です。実はメインのマシンはいまだに SCSI です。

Quantum Fireball とか、 Seagate Cheetah だったりします。元気に動いています。



Windows だと、Vista 以降で SCSI のサポートがなくなってインストールできません。いまだにメイン OS が XP なのは SCSI を使っているからです。



壊れた HDD は、まだ保証があるはずなので RMA を使ってみようかと思っています。

written by sirius [その他] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月21日(火) 23:15

PC が勝手に再起動を繰り返す。

メインのマシンが使っている最中にぶつっといって再起動します。で、BIOS チェック中でも再起動を繰り返し、ようやく起動するといった感じになりました。以前同様になったことがあり、電源を交換したり、メモリを交換してみたり、いろいろ試して結局マザーを交換しました。しかし、交換したマザーでしばらく調子良かったのですが、交換したマザーでもなりました。ばらして結線をチェックしたり、うまく起動しているときに BIOS を更新してみたりしました。ばらした直後は順調に動きますが、しばらくするとまた再発します。CPU を交換してもなります。もう何がなんだかわかりません。



壊れたと思ったマザーも壊れていなかったということになります。



原因がやっとわかりました。原因は USB でした。

PC と LT-H91DTV で NOVAC の4台はい〜るKIT USB SATAを切り替えて使っていました。切り替えに使っているUS21WHの切り替えスイッチがどっちつかずの状態になっていて不安定になったようでした。さらにチェックすると USB ハブの調子も悪いようなのでこれも交換しました。現在は快調に動いています。気をつけないとだめですね。



うーん。はじめに電源を疑って新しい電源を買って、マザーを疑ってマザーを買って・・・。CPU は1個あまっているし、メモリも融通すれば 4GB 位は何とかなるし・・・。外部に公開している Web サーバのバックアップでも組もうかな?

written by sirius [その他] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月18日(土) 21:16

Fedora12 関連のファイル

要望があったので Fedora12 関連のファイルをアップしました。

玄箱HG に Fedora12 を入れる。の記事のコメント欄にリンクがあります。年内限定でアップします。



RedHat の頃から使っていたので Fedora の方が使いやすかったんですが、Fedora は 12 で ppc のサポートが切られたので個人的には Debian へ移行しようかと思っているところです。



「いろいろやってみよう、何とかやってみよう!」のサイトを管理していた方、もし見ておられてアップに問題があればメールでご連絡ください。サイトトップページ下にアドレスが書いてあります。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(2)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月18日(土) 00:20

udev のルールその2

MP3 の入っている USB メモリを刺したときに自動で MP3 を再生するルールを追加してみました。

全ての USB メモリをチェックするためには中身を全部見なければいけないので、"JUKEBOX" のラベルがついた USB が刺された時だけ再生するような条件にしてみました。



マウントやアンマウントするルールの前に次のルールを書きます。



---------------------------ここから---------------------------

# USB Jukebox

KERNEL=="sd?1", ENV{ID_FS_LABEL}=="JUKEBOX", ENV{mount_point}="play_music"

KERNEL=="sd?1", ENV{ID_FS_LABEL}=="JUKEBOX", ACTION=="add", \

SYMLINK+="$env{mount_point}%n", ENV{mount_options}="$env{mount_options},ro"

KERNEL=="sd?1", ENV{ID_FS_LABEL}=="JUKEBOX", ACTION=="remove", \

RUN+="/root/bin/stopplay.sh"

---------------------------ここまで---------------------------



マウントする場所を決めて、追加の場合には、念のため、読み込み専用とします。

アンマウントするときには、はじめに再生を止めて alsaplayer も終了させるシェルスクリプトを実行します。

シェルスクリプトの内容は、次のようにしました。



---------------------------ここから---------------------------

#!/bin/bash

PATH=/usr/local/bin:/bin:/usr/bin:/root/bin

MNTDIR=/media/play_music



if [ -d $MNTDIR ]; then

    alsaplayer --stop

    alsaplayer --quit

fi

---------------------------ここまで---------------------------



次にマウントするルールの次に以下のルールを追加します。



---------------------------ここから---------------------------

# USB Jukebox post

KERNEL=="sd?1"ACTION=="add", ENV{mount_point}!="", \

ENV{ID_FS_LABEL}=="JUKEBOX", RUN+="/root/bin/autoplay.sh"

---------------------------ここまで---------------------------



マウントした後で再生を開始するシェルスクリプトです。

内容は次のようにしました。



---------------------------ここから---------------------------

#!/bin/bash

PATH=/usr/local/bin:/bin:/usr/bin:/root/bin

MNTDIR=/media/play_music



if [ -d $MNTDIR ]; then

    alsaplayer --quit

    sleep 5

    alsaplayer -i daemon -q > /dev/null 2>&1 &

    sleep 5



    getmp3dir $MNTDIR | while read dir

    do

        alsaplayer -e "$MNTDIR/$dir/"*.mp3

    done

fi

---------------------------ここまで---------------------------



alsaplayer はディレクトリを指定するとその下を再帰的に検索してくれますが、そうすると再生順がディレクトリのエントリ順となってしまうので、このようになりました。私は、ファイル名の前にトラック番号を付けているのでこれで必ずトラック順になります。getmp3dir コマンドは自作のコマンドです。ソースはここに、実行形式はここに置いておきます。



ボリュームラベルを "JUKEBOX" にして MP3 を置いた USB を刺すと再生が始まります。再生中に抜いてみましたが問題ないようです。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2010年12月15日(水) 22:09

udev のルール

この前作ったルールで、もともと内蔵していた HDD を USB に変換してつないだところそれぞれのパーティションを自動でマウントできました。ところが、スワップパーティションまでマウントしようとしているので、スワップやファイルシステムが不明な場合はマウント処理等をスキップする様に、次のルールをマウントやアマウントする前に追加しました。

-----------------------------ここから-----------------------------------

# Unknown fs

KERNEL=="sd*", ENV{ID_FS_TYPE}=="swap", GOTO="USBmemory_auto_mount_end"

KERNEL=="sd*", ENV{ID_FS_TYPE}=="", GOTO="USBmemory_auto_mount_end"

-----------------------------ここまで-----------------------------------

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

<< 前のページ | 次のページ >>

Sirius -旧ブログ、更新されません-

MySketch 2.7.2 written by 夕雨