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

2010年12月の記事

<< 前のページ

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

2010年12月14日(火) 22:16

玄箱でのサイト構築

Fedora12 のいろいろな設定をする際に玄箱でFedoraサーバーを構築のサイトは大変参考になると思います。

玄箱HG は3台あって、一台は CF を使って外部とつながるメールサーバに、もう一台が今回設定している内部サーバになっています。最後の一台は Debian でも入れてみようかな。

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

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

2010年12月13日(月) 22:19

udev を使って USB メモリをマウントする。

USB メモリの自動マウント・アンマウントを実現させます。

まず、USB メモリをさすと、デバイスファイルができるのでそれを使って情報を取得します。



$ udevadm info -a -p $(udevadm info -q path -n /dev/sdb)

デバイスのシリアルを探します。場合によっては、manufacturer と product でも良いのですが、私は同じデバイスを複数使っていたりするので、確実に認識するようにシリアルを使います。

例えば、PQI の 16GB のメモリの場合、次のようになりました。※

looking at parent device '/devices/pci0000:00/0000:00:0e.1/usb2/2-1/2-1.2':

KERNELS=="2-1.2"

SUBSYSTEMS=="usb"

DRIVERS=="usb"

ATTRS{configuration}==""

ATTRS{bNumInterfaces}==" 1"

ATTRS{bConfigurationValue}=="1"

ATTRS{bmAttributes}=="80"

ATTRS{bMaxPower}==" 98mA"

ATTRS{urbnum}=="452426"

ATTRS{idVendor}=="3538"

ATTRS{idProduct}=="0901"

ATTRS{bcdDevice}=="0100"

ATTRS{bDeviceClass}=="00"

ATTRS{bDeviceSubClass}=="00"

ATTRS{bDeviceProtocol}=="00"

ATTRS{bNumConfigurations}=="1"

ATTRS{bMaxPacketSize0}=="64"

ATTRS{speed}=="12"

ATTRS{busnum}=="2"

ATTRS{devnum}=="4"

ATTRS{version}==" 2.00"

ATTRS{maxchild}=="0"

ATTRS{quirks}=="0x0"

ATTRS{authorized}=="1"

ATTRS{manufacturer}=="PQI"

ATTRS{product}=="PQI USB Flash Drive"

ATTRS{serial}=="01ACxxxxxxxxxx"



この "01ACxxxxxxxxxx"を使い、udev のルールを作成します。

ルールは、/etc/udev/rules.d の下に作成します。私は、99-local.rules にしました。



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

# USB Flash

KERNEL!="sd*", GOTO="USBmemory_auto_mount_end"



# default options

KERNEL=="sd*", ENV{mount_point}="%k", \

IMPORT{program}="/sbin/blkid -o udev -p %N"

KERNEL=="sd*", ENV{ID_FS_LABEL}!="", \

ENV{mount_point}="$env{ID_FS_LABEL}-%k"

# Add

ACTION=="add", SYMLINK="usb_%k", ENV{mount_options}="relatime"

ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", \

ENV{mount_options}="$env{mount_options},utf8"

# Remove



# PQI 16GB(Music)

KERNEL=="sd?1", ENV{ID_FS_UUID}=="943E-C47E", \

ENV{mount_point}="usbmusic"

KERNEL=="sd?1", ATTRS{serial}=="01ACxxxxxxxxxx", \

ENV{mount_point}="usbmusic"

KERNEL=="sd?1", ATTRS{serial}=="01ACxxxxxxxxxx", \

ACTION=="add", SYMLINK+="$env{mount_point}%n"



# general mount

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

RUN+="/bin/mkdir /media/$env{mount_point}", \

RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/$env{mount_point}"



# general unmount

KERNEL=="sd*", ACTION=="remove", ENV{mount_point}!="", \

RUN+="/bin/umount -l /dev/%k", \

RUN+="/bin/rmdir /media/$env{mount_point}"



LABEL="USBmemory_auto_mount_end"

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



はじめにデバイスが sd でない場合は、USBmemory_auto_mount_end まで飛びます。

次にデフォルトの設定をしています。

マウントポイントのデフォルトを定義します。

まず、マウントポイントのデフォルトはデバイス名(%k)にしておきます。ここで blkid コマンドを利用してデバイスのパラメータを環境変数に設定します。環境変数を見てラベルが設定されていたら、マウントポイントを "ラベル名-デバイス名" に設定します。



blkid コマンドでデバイスを指定すると次のような出力が得られます。

$ /sbin/blkid -o udev -p /dev/sdb1

ID_FS_LABEL=PQIUSB16GB

ID_FS_LABEL_ENC=PQIUSB16GB

ID_FS_UUID=943E-C47E

ID_FS_UUID_ENC=943E-C47E

ID_FS_VERSION=FAT32

ID_FS_TYPE=vfat

ID_FS_USAGE=filesystem



次にデバイスが追加されたときにデバイスファイルへのシンボリックリンクを作成してマウントオプションのデフォルトを設定します。

ファイルシステムが vfat か ntfs の場合はさらに、エンコードを utf8 にします。

今回はデバイスが取り外されたときのデフォルトオプションはありません。



次にデバイスごとのオプションを指定していきます。

ここでは PQI の USB メモリを個別に設定します。マウントポイントとシンボリックリンクの作成を設定します。

シリアルを使って設定しますが、なぜかデバイスの追加は OK ですが、取り外しのときはシリアルが使えないようなので UUID も併用しています。



最後にデバイスが追加されたときの動作と、取り外されたときの動作を設定します。どちらもマウントポイントが決まっている場合のみ定義します。

デバイスが追加されたときは、マウントポイントを /media の下に作成し、マウントします。

デバイスが取り外されたときは、アンマウントして、マウントポイントを削除します。





ファイルを変更すると即座に udev が読み込みしなおすようです。設定ファイルを修正するだけで大丈夫です。



USB メモリをさすと、/media の下のマウントポイントにマウントされ、抜くとアンマウントされました。

SD-USB 変換のアダプタを利用して SD がマウントされることも確認しました。



※この PQI のメモリは、購入時点ではパーティションをきらずにフォーマットされていました。マウントするデバイスは /dev/sdb といった感じでパーティションを指定するのではなく、デバイスそのものを指定してマウントするタイプです。例では、再フォーマットしたものを使っているので、普通どおりパーティションを作成しています。

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

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

2010年12月12日(日) 22:56

webmin を入れてみる。

yum でパッケージを探せなかったので、Webminユーザグループ から rpm を取得してインストールしました。



# wget http://prdownloads.sourceforge.net/webadmin/webmin-1.530-1.noarch.rpm

# rpm -ivh webmin-1.530-1.noarch.rpm

かなり時間がかかります。

インストールが完了したら次のアドレスを他のマシンで開いて見ます。



http://ホスト名:10000/



ユーザ名には root、パスワードは root のパスワードを入れます。はじめに言語の設定を行うといいでしょう。日本語になります。

後は普通につかえますね。

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

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

2010年12月10日(金) 18:27

静的ルーティングの設定

参考:Redhat/FedoraのIP設定ファイル



例えば 2 枚の NIC がある場合、片方にデフォルトゲートウェイの設定をするわけです。次のような構成の場合、

eth0 IP:192.168.0.10 ゲートウェイ 192.168.0.1

eth1 IP:172.17.0.10 ゲートウェイ 172.17.0.1

デフォルトゲートウェイ が 172.17.0.1 だったとするとそのままでは 192.168.1.20 宛てのパケットはデフォルトゲートウェイの172.17.0.1 を経由します。しかし、実際には、192.168.1.0 のネットワークは 192.168.0.10 のゲートウェイ(192.168.0.1)のほうにつながっているとします。このままでは、192.168.0.10 と 192.168.1.20 は通信できません。

そこで 192.168.1.x 宛ては eth0 を通して通信するようにルーティングテーブルを構成する必要があります。



一時的で良いのなら、route コマンドで設定できます。次のようにします。

# route add -net 192.168.1.0 gw 192.168.0.1 netmask 255.255.255.0 eth0

(Windows では、-p オプションをつけることで設定を保存できるようです。)



しかし、これは一時的なので再起動したりすると設定は消えてしまいます。

永続的にこのルートを設定するには、/etc/sysconfig/network-scripts/route-eth0 を作成します。

(インターネットを検索すると、static-routes ファイルの設定方法が出てきますが、最近は違うみたいです。)



route-eth0 の内容は次のようにします。



GATEWAY0=ゲートウェイのIPアドレス

NETMASK0=ネットマスク

ADDRESS0=ネットワークアドレス



実際の例では、



GATEWAY0=192.168.0.1

NETMASK0=255.255.255.0

ADDRESS0=192.168.1.0



のようにすると 192.168.1.x 宛てのパケットは 192.168.0.1 経由で送られることになります。

起動時にこの設定が有効になるので再起動しても大丈夫です。

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

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

2010年12月9日(木) 20:26

玄箱HG の電源制御再び

いろいろインストールやアップデートをしていたら、いつのまにか /etc/rc.d/rc.local が実行されなくなっていました。/dev/ttyS0 のアクセス権がデフォルトのままです。しかし、シャットダウンは普通にできました。おお、これで大丈夫になったのかと思ったら、リブートができません。アクセス権を修正しても再起動しませでした。なんでだろ?まあ、サーバにしているので頻繁にシャットダウンやリブートはしないので原因追求は後回しです。

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

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

2010年12月8日(水) 23:29

Haipad M701-M701-R 1022小字体ファームウェア

Haipad M701-M701-R 1022小字体ファームウェア があったので中身を見てみました。



ビルドは #142 で /system/build.prop で lcd の密度がはじめから 161 に設定されているので高解像度表示がデフォルトです。

私は最新のビルド #181 を入れているのでこのファームは必要ないようです。

lcd の密度は通常 160 に設定して使っています。オフィシャルファームが 161 にしているので、161 の方が正しいのでしょう。時間があるときに設定しなおしてみたいと思います。

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

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

2010年12月8日(水) 23:21

firewall の設定

通信カードでインターネットとつながるので一応、 firewall を動かします。iptables が firewall なので ntsysv を使い、 iptables を起動時に動くようにします。

公開するポートの設定は system-config-firewall で行います。この回線は緊急のメンテナンス用なので、ssh のみを解放するだけです。ただし、内部ネットワークの eth0 は除外します。そうしないと内部向けにサービスができません。

また、root のパスワードを変更しておきます。デフォルトで作成されているユーザ(fedora)もパスワードを変更するか削除します。

さらに無料ダイナミック DNS サービスを利用して IPアドレスが変わっても外からつなげられるようにしておきます。これで緊急時には外部から接続して家のマシンを操作できるようになります。

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

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

2010年12月7日(火) 20:35

alsaplayer のインストール

alsaplayer をインストールします。パッケージはないようなのでソースからコンパイルします。



g++ が必要なのでついでに開発ツールのグループをインストールしました。

# yum groupinstall "開発ツール"



ライブラリのインストール

# yum install libmad-devel.ppc

# yum install libid3tag-devel.ppc

# yum install flac-devel.ppc

# yum install libvorbis-devel.ppc

# yum install libsndfile-devel.ppc

# yum install audiofile-devel.ppc

# yum install libmikmod-devel.ppc

# yum install alsa-lib-devel.ppc

バージョンが対応していないようで、libid3tag と libmikmod は認識しませんでした。



#./configure --enable-audiofile

# make

# make install



mp3 の再生だけであれば、mpg123 でも良いのですが、alsaplyer を使うと再生中に再生のコントロールができるので便利です。



$ alsaplayer -i daemon -q

で常駐させ、

$ alsaplayer -e mp3ファイル

で再生できます。mp3 ファイルは複数指定できるし、再生中に追加も可能です。また、起動した端末を終了させても常駐し続けます。



次の曲を再生するには、

$ alsaplayer --next

前の局に戻るには、

$ alsaplayer --prev

再生の状態を知るには

$ alsaplayer --status

とします。



web でインターフェースを作成すれば、いちいち端末でログオンしてコマンドをたたく必要もなくなります。

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

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

2010年12月6日(月) 21:20

玄箱のサウンドアプリケーションについて

Fedora12 にして、玄音(OTO2.1-USB2)で音が出る様にモジュールの追加もできたので、ジュークボックス代わりにできるようにアプリケーションを入れていきます。玄音は、このサイズにしては十分な音量で、サブウーファーのおかげで BGM として流しておくのにちょうど良いです。コンパクトで、ケーブルも USB 一本ですむし玄箱にぴったりです。残念なことにもう売ってないんですよねこれ。買えるときにもっと買っておけばよかった。まあ、これが壊れたと時にはAUDIOJUCK-USBなんてのも持っているのでこれが使えるかなと。



ユーティリティのインストール

# yum install alsa-utils.ppc



音のオン・オフや音量の調整ができるようになります。

調整を行うユーザは、あらかじめ /etc/group を編集して audio のグループに登録しておきます。

音量の調整を対話的に行うには alsamixer を使い、数値で指定するには amixer で行います。

調整できるものの確認は、次のようにします。

$ amixer controls



玄音では、

numid=1,iface=MIXER,name='PCM Playback Switch'

numid=2,iface=MIXER,name='PCM Playback Volume'

と表示されました。



この場合、音のオン・オフは、

$ amixer set PCM Playback Switch on

$ amixer set PCM Playback Switch off

で行います。



音量の調節は、

$ amixer set PCM Playback Volume 80%

あるいは、

$ amixer set PCM Playback Volume 30

とします。パーセンテージでやったほうがわかりやすいと思います。直接の数値は、接続した機器によって範囲が変わるようです。



mp3 の再生アプリケーションは mpg123 をインストールしました。

# yum install mpg123.ppc



alsa で再生するには、

$ mpg123 -o alsa nanika.mp3

とします。



cron に登録しておけば目覚まし代わりにもなります。というか以前は目覚まし代わりにしていました。また復活できます。

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

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

2010年12月5日(日) 12:27

玄箱HG の Fedora12 にカーネルモジュールの追加

USB 経由で通信カードを使います。Linux につなげたときに ttyACM として認識するカードなら、同じ手順でできると思います。

通信カードは KWINS の KW-S102C、USB への変換は、IO-DATA の USB2-PCADPG を使います。

まず、カーネルモジュールが必要なので、同じカーネルバージョンを用意して、LinkStation/TeraStation/玄箱/PPC/kernel/2.6.30.5を参考に作業をします。



カーネルソースを取得して展開します。

# wget http://ring.maffin.ad.jp/archives/linux/kernel.org/kernel/v2.6/linux-2.6.31.12.tar.bz2

# tar jxvf linux-2.6.30.5.tar.bz2

# mv linux-2.6.31.12 linux-2.6.31.12_kurobox

# cd linux-2.6.31.12_kurobox



コンパイルしたカーネルを使う予定はありませんが、一応、mtd 関係は修正しておきました。

# make linkstation_defconfig

# cp -p ./.config ./.config.orig

# make menuconfig



次に、必要なモジュールは cdc_acm です。

menuconfig でモジュールの定義をして作成しても、カーネルとモジュールのバージョンが異なる(2.6.31.12 と 2.6.31.12_kurobox) ので先にバージョンをカーネルにあわせます。

どこを直せば良いのかよくわかりません。検索して、Makefile を修正して 2.6.31.12_kurobox になるようにしました。



menuconfig で cdc_acm をモジュールに設定して早速コンパイルします。

# make modules



結構時間がかかります。モジュールが作成できたら、drivers/usb/cdc_acm.ko をコピーします。

# cp drivers/usb/class/cdc-acm.ko /lib/modules/2.6.31.12_kurobox/kernel/drivers/usb/class/.

# depmod -a



これで通信カードを USB でつなぐと、cdc_acm モジュールが組み込まれ、/dev/ttyACM0 が使えるようになりました。

次は、ppp の設定です。これらは、GUI を使って設定したほうが楽です。

GUI で設定するには、

# yum install system-config-\*

で設定ツールをインストールして、他の Linux マシンから、X11 を ssh でフォワードしてやればいいと思います。

私は、一度設定したことがあるので、手動でやりました。



設定ファイルを作成します。

/etc/sysconfig/network-scripts/ifup-プロバイダ

ここで、プロトコルやその他の設定を行います。

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

DEVICE=ppp0

BOOTPROTO=dialup

TYPE=Modem

NM_CONTROLLED=no

ONBOOT=yes

USERCTL=yes

PEERDNS=yes

IPV6INIT=no

AC=off

BSDCOMP=off

VJCCOMP=off

CCP=off

PC=off

VJ=off

LINESPEED=115200

MODEMPORT=/dev/ttyACM0

IDLETIMEOUT=600

PROVIDER=プロバイダ

DEFROUTE=yes

PERSIST=yes

PAPNAME=ユーザ名

WVDIALSECT=wvdialでの識別名

MODEMNAME=Modem0

DEMAND=yes

DNS2=セカンド DNS の IP アドレス

DNS1=DNS の IP アドレス

PPPOPTIONS=

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



ダイヤルアップでの接続をしますので、ppp の設定も必要です。



# yum install wvdial.ppc

でダイヤラーをインストールして、/etc/wvdial.conf にプロバイダ用の設定を作成します。ここにパスワードが記録されます。

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

[Modem0]

Modem = /dev/ttyACM0

Baud = 115200

SetVolume = 0

Dial Command = ATDP

Init1 = ATZ

Init3 = ATM0

FlowControl = XONXOFF

[Dialer 識別名]

Username = プロバイダのユーザ名

Password = プロバイダのパスワード

Phone = 電話番号

Stupid Mode = 1

Init1 = ATZ

Inherits = Modem0

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



ppp は、 /etc/ppp/peers にプロバイダ名でファイルを作成しました。wvdial を起動するスクリプトです。

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

connect "/usr/bin/wvdial --remotename 識別名 --chat 'プロバイダ名'"

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



wvdial の識別名はプロバイダ名と同じものを使いました。



# ifup ppp0

としてみました。が、なんと、ppp のモジュールがなかったようです。

必要そうなモジュールをコンパイルして追加しました。

bsd_comp, ppp_deflate, ppp_synctty, ppp_async, ppp_generic, slhc, slip を /lib/modules/2.6.31.12_kurobox/kernel/drivers/net へコピーしました。



# depmod -a

# modprobe ppp_generic

# ifup ppp0

これでつながります。再起動すると自動でつながりました。



大丈夫そうだったので、Alsa の USB-AUDIO もコンパイルして追加しました。

玄音をつないでみたところちゃんと音が出ました。



ロードしているモジュール(mp3 再生中)

# lsmod





















ModuleSizeUsed by
snd_usb_audio844922
snd_seq556040
snd_pcm712362snd_usb_audio
snd_timer237923snd_seq,snd_pcm
snd_page_alloc121441snd_pcm
snd_usb_lib19564 1snd_usb_audio
snd_rawmidi247801snd_usb_lib
snd_seq_device101162snd_seq,snd_rawmidi
snd_hwdep112041snd_usb_audio
snd542649snd_usb_audio,snd_seq,snd_pcm,snd_timer,snd_rawmidi,snd_seq_device,snd_hwdep
soundcore93121snd
ppp_deflate86640
zlib_deflate234561ppp_deflate
ppp_async129481
crc_ccitt51481ppp_async
ppp_generic243086ppp_deflate,ppp_async
slhc88641ppp_generic
cdc_acm189562

なんかあっけなく動いています。普通の Fedora ですね。ジュークボックス代わりにもなりそうです。

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

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

<< 前のページ

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

MySketch 2.7.2 written by 夕雨