WOL(Wake On LAN) [GLAN TANK]
いちいちGLANTANKを起動しに部屋を移動するのが面倒なので、
WOL(Wake On LAN)を試してみた。
#apt-get install ethtool
・WOLに対応させる為のコマンドを実行
#ethtool -s eth0 wol umbg
※ このコマンド起動毎に行わないといけないらしい。
#vi /etc/network/if-up.d/enable_wol
enable_wolの内容は、
#!/bin/sh
if [ ! -x /usr/sbin/ethtool ]
then
exit 0
fi
if [ "${METHOD}" = loopback ]
then
exit 0
fi
/usr/sbin/ethtool -s $IFACE wol g
こんな感じで保存して、実行権を与える。
#chmod a+x /etc/network/if-up.d/enable_wol
・Magic Packetの送信
Magic Packetの送信する為に、Wakeup On Lan Toolを使用してみた。
設定内容は、
・リモートホスト名:適当に
・ポート番号:2304
・IPアドレス:XXX.XXX.XXX.255
・サブネットアドレス:255.255.255.0
・MACアドレス:ifconfigで調べた(ハードウェアアドレスのところ)
※ 改めてやったら、IPアドレス:255.255.255.255,サブネットアドレス:255.255.255.255では、
起動しなかった。ちゃんと考えてやらないとだめみたいだ。
取りあえず、こんな感じでGLANTANKが起動できた。
ethtoolでWOLの対応かどいうかが分かるらしい。
(ほんとに使用していいかは?だけど)
<参考>
コマンド [Debian]
よく使うコマンドのメモ
・CPUの使用率
vmstat [表示周期]
・メモリの使用量
free
(プロセス別)
ps alx --sort -rss
・プロセスの表示
ps -A
・バージョン表示
uname -a
・コピー
cp -Rp コピー元ディレクトリ
・解凍
① tar
tar xvzf ファイル名
② zip
unzip ファイル名
・パッケージのインストール
apt-get install *****
aptitude ****
apt-getとaptitudeは、lennyから共存可能になったらしい。
・apt-getで保留のパッケージをインストールする
apt-get dist-upgrade
以下のように入力すると、どのパッケージが消されるか表示出来る。
apt-get -s dist-upgrade
その他、気がついたときに記入
タグ:Debian
pcscdのコンパイル・インストール [GLAN TANK]
・PSCSのパッケージ作成に必要なアプリをインストール
#apt-get install dpkg-dev
#apt-get install debhelper (必要?)
#apt-get install libhal-dev
・pcsc-liteのソースを取得
・pcsc-liteのソースを解凍
#dpkg-source -x pcsc-lite_1.4.102-1+lenny3.dsc
・パッケージの作成
#CFLAGS="-g -O2 -fno-strict-aliasing" dpkg-buildpackage
・インストール済みのpcscd関連を削除
#apt-get remove pcscd libpcsclite-dev libpcsclite1
・パッケージのインストール
#dpkg -i libpcsclite-dev_1.4.102-1+lenny3_arm.deb libpcsclite1_1.4.102-1+lenny3_arm.deb
pcscd_1.4.102-1+lenny3_arm.deb
#apt-get install -f
<参考>
VPNサーバーのインストール [GLAN TANK]
1.VPN(PPTP)
・pptpdのインストール #apt-get install pptpd
・/etc/pptpd.confの変更
#vi /etc/pptpd.conf
localip ***.***.***.*** #ローカルPC(サーバー)のIPアドレスを設定
remoteip ***.***.***.***-*** #リモートPCに割り当てるIPアドレスを設定
・/etc/ppp/chap-secretsの変更
#vi /etc/ppp/chap-secrets
ユーザー名 サーバー名 パスワード *
・/etc/ppp/pptpd-optionsの変更
name サーバー名
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
※ 基本デフォルトで設定した。
・ルータの設定を設定する。
(VPNのバススルーとNAT・IPマスカレードを設定)
・ipod touchの設定
PPTPに設定して、ユーザー名・パスワードを入力
・windowsの設定
基本的にデフォルトでOK
2.DDNS
・ddclientのインストール
#apt-get install ddclient
・画面の流れにそって、DNS名(URL?パス?)、ユーザ名・パスワードを設定
※ 設定した情報は、/etc/ddclient.confに設定される
ddlient.confの設定例
pid=/var/run/ddclient.pid
protocol=dyndns2
#use=if, if=eth0
use=web, web=checkip.dyndns.org/, fw-skip='IP Address' #found after IP Address
server=members.dyndns.org
login=User ID
password='password'
****.dyndns****.org
<参考>
① VPN
② DDNS
MonstarTV HDUS(F)を使用して地デジをみる [GLAN TANK]
<あくまでも、自分用のメモです。自己責任でお願いします>
GLAN TANKで地デジを録画したいので、linuxで使用できる地デジを探していたら、
SKNet社のMonsterTV HDUS(¥10k)か台湾メーカ?のFriio(¥20k)で見られるらいい。とりあえず、コスト面を考えて、
① MonsterTV HDUS(HDUSF)
② ICカードリーダー(SCR3310-NTTCom)
(Linux環境では、B-CASを読み取る為に必要らしい)
を購入。
・windowsで動作確認
標準のドライバで動作することを確認
(参考:マグマ大使の道具箱)
・linuxで動作させる。
① コンパイルの前準備
・apt-get install で patch make g++ pkg-config libboost-dev
libglib2.0-dev libpcsclite-dev libusb-dev をインストール
② ここからソースファイルをダウンロード&解凍
HDUS板
・recfriio r4を旧基板HDUS対応にする(+UDP送信)パッチ その2
・recfriio HDUS対応パッチその2(up0127.zip)への改良パッチ
Friio板
・Linux用 recfriio r4 黒凡/白凡共通 + b25 ③ パッチをあてる。
recfriior4/recfriior4にrecfriior4.diffとrecfriior4-newhdus.patchをコピー
#patch -p1 < recfriior4.diff
#patch -p1 < recfriior4-newhdus.patch
↑の順番を間違えると動かない。(動かなかった・・・)
④ recfriior4のコンパイル
#cd recfriior4/recfriior4
#make
※ Udp.cppでエラーが発生したら、#include <string.h>があるか確認
⑤ as11loaderをコンパイル
⑥ as11loaderのところにSKNET_AS11Loader.sysをコピー
⑦ HDUSを刺してas11loaderの実行
認識しない場合は、lsusbで確認
⑧ ICカードのドライバをインストール
#apt-get install pcscd pcsc-tools
⑨ ICカード情報の更新
--output-document=/usr/share/pcsc/smartcard_list.txt
⑩ pcsc_scanの実行
Japanese Chijou Digital B-CAS Card (pay TV)が表示されればOK
Ctrl+Cで終了。
⑪ recfriior4の実行
例)sudo ./recfriio --b25 --hdus --lockfile lock チャンネル番号(20とか) 録画時間 ./test.ts
で、ファイルができるはずだけど・・・エラーが出てできない。
ログを見るとpscsdでエラーらしきものをはき出している。
ググって見たら、pscsdにバグがあるらしい。
=> pscsをリビルドして、問題なく録画できたが、20秒以上録画するとエラーで止まってしまう。
以下の修正で再度、チャレンジしてみようかな。
① バッファの設定
setting.hppのASYNCBUFFTIMEを20に変更
const unsigned long ASYNCBUFFTIME = 20UL
② rsyslogd->sysklogdに変更
apt-get install sysklogd
③ b25デコードを録画後、行う。
=> 2分は録画できるようになったけど、メモリの空き容量をほぼ無くなっている。
CPUの負荷がuserとsystemで100%になっている。
実用的では、無いなぁ。
あとは、
<参考>
・桜の森の
NTFSをmountする [GLAN TANK]
LinuxでNTFSパーティションをR/Wするには、以下の方法があるらしい。
とりあえず、Debianで簡単にインストールできるそうなntfs-3gをインストール
#apt-get install ntfs-3g
・シンボリック・リンクの作成
#cd /sbin
#ln -s mount.ntfs-3g mount.ntfs
・マウント
#mount [-t ntfs] <デバイス> <マウント先> -o locale=ja_JP.UTF-8
・起動時にマウント
① autofs
#apt-get install autofs
#vi /etc/auto.master
/misc /etc/auto.misc --timeout=60
#vi /etc/auto.misc
usbhdd1 -fstype=ntfs,rw,user,sync,umask=000 :/dev/sda1
※ /misc/usbhdd1に/dev/sda1がマウントされる。
60秒後にumountされるらしい。
フォルダは、自動生成される。
#cd /misc/usbhdd1
と実行すれば、lsで表示されなくても、カレントディレクトが移動する。
cd等で参照しないとマウントをおこなわない。
② fstabを使用する
#vi /etc/fstab
/dev/sda1 /media/usbhdd1 ntfs rw,user,auto,umask=000 0 0
※①と②両方やるとautofsの方がマウントできない。
・・・と言うか、どちらも見えなくなる?
どちらかにしたほうが無難。
・USBメモリを差した時にマウント
#apt-get install usbmount
#vi /etc/usbmount/usbmount.conf
FILESYSTEMS="ext2 ext3 vfat usbfs"
FS_MOUNTOPTIONS="-fstype=vfat,iocharset=utf8,codepage=932"
※ デフォルトで/mediaの下にusb*にマウントされるらしい。
抜くときは、syncを忘れずに行う。
<参考>
Buffalo WLI-UC-AG300Nのドライバインストール [GLAN TANK]
Buffalo WLI-UC-AG300Nのドライバインストールと無線LANの設定
・解凍
# tar -xjvf 2010_0709_RT2870_Linux_STA_v2.4.0.1.tar.bz2
※ bzip2のインストールが必要
# apt-get install bzip2
・ソースファイルの修正
# vi 2010_0709_RT2870_Linux_STA_v2.4.0.1/common/rtusb_dev_id.c
{USB_DEVICE(0x0411,0x00e8)},/* Buffalo WLI-UC-AG300N */
/* ↑この行は修正せずに以下の行を追加 */
{USB_DEVICE(0x0411,0x012e)},/* Buffalo WLI-UC-AG300N */
{USB_DEVICE(0x0411,0x00e8)},/* Buffalo WLI-UC-AG300N */
/* ↑この行は修正せずに以下の行を追加 */
{USB_DEVICE(0x0411,0x012e)},/* Buffalo WLI-UC-AG300N */
※ wpa_supplicantを使う場合には
# vi 2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/config.mk
HAS_WPA_SPPLICANT=y
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
# vi 2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/config.mk
HAS_WPA_SPPLICANT=y
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
・コンパイル
# make
# make install
※ コンパイルを行うには、下記パッケージのインストールが必要
dpkg -i linux-headers-2.6.26-2-common_2.6.26-25lenny1dma1_arm.deb
dpkg -i linux-libc-dev_2.6.26-25lenny1dma1_arm.deb
dpkg -i linux-headers-2.6.26-2-iop32x_2.6.26-25lenny1dma1_arm.deb
※ gcc-4.1が必要
apt-get -f install
apt-get install linux-kbuild-2.6.26
・ドライバの組込み
# modprobe rt2870sta
起動時にmoduleが読み込まれるようする。
# vi /etc/modules
rt2870sta
rt2870sta
※ kernel標準もしくはlinuxwireless.orgの無線LANドライバ(rt2800usb)が既にloadされている場合には、
使用しないようにしておいた方が良いらしい。
# vi /etc/modprove.d/blacklist
blacklist rt2800usb
# vi /etc/modprove.d/blacklist
blacklist rt2800usb
・wpa_supplicantのインストール
# apt-get install wpasupplicant wireless-tools
・設定
# vi /etc/network/interfaces
#wireless - rt2870sta
allow-hotplug ra0
auto ra0
#iface ra0 inet dhcp
iface ra0 inet static
address XXX.XXX.XXX.XXX
network XXX.XXX.XXX.XXX
netmask XXX.XXX.XXX.XXX
broadcast XXX.XXX.XXX.XXX
gateway XXX.XXX.XXX.XXX
wpa-driver wext
wpa-ssid "SSID"
wpa-proto WPA
wpa-paireise CCMP
wpa-group CCMP
wpa-key-mgmt WPA-PSK
wpa-psk ***********************
ステルスAPの時に必要らしい
↓
#wpa-bssid **:**:**:**:**:**
#wpa-ap-scan 2
#wpa-scan-ssid 1
# vi /etc/Wireless/RT2870STA/RT2870STA.dat
(基本的に、iwpriv_usage.txtを参考に各項目を設定する)
CountryRegion=1 <- ルータの仕様に合わせる
CountryRegionABand=1 <- ルータの仕様に合わせる(ダブルチャネルのことを考慮する)
CountryCode=JP
ChannelGeography=2 <- ここ重要かも
SSID="SSID"
AuthMode=WPAPSK
EncrypType=AES
WPAPSK=**************************
・動作確認
#ifup ra0
#iwconfig
#iwlist ra0 scan <- 周辺のAPの情報を表示
#ifdown ra0
(ステルスAPにすると無線LANが接続・切断を繰り返すことがわかったので、
取りあえずアクセスポイントのステルスAPを無効にする。)
※ 下記の通りwpa_supplicant.confを作成して試したが、
DHCPでのアドレス取得に失敗してしまった。
#wpa_passphrase [ssid] [wpa-key] > /etc/wpa_supplicant/wpa_supplicant.conf
#vi /etc/wpa_supplicant/wpa_supplicant.conf
で以下のように編集
ap_scan=2
network={
driver=wext
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
scan_ssid=1
ssid="ssid"
#psk="passward"
psk=*********
}
# vi /etc/network/interfaces
#wireless - rt2870sta
allow-hotplug ra0
auto ra0
#iface ra0 inet dhcp
iface ra0 inet static
address XXX.XXX.XXX.XXX
network XXX.XXX.XXX.XXX
netmask XXX.XXX.XXX.XXX
broadcast XXX.XXX.XXX.XXX
gateway XXX.XXX.XXX.XXX
wpa-driver wext
wpa-ssid "SSID"
wpa-ap-scan 2
wpa-scan-ssid 1
wpa-proto WPA
wpa-paireise CCMP
wpa-group CCMP
wpa-key-mgmt WPA-PSK
wpa-psk ***********************
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf <-これをコメントにするとDHCPからアドレスを取得できる
・備忘録
メディアサーバー(mt-daapd)のインストール [GLAN TANK]
・インストール
#apt-get install mt-daapd
・ブラウザでmt-daapの動作確認
ユーザー名:mt-daap
パスワード:mt-daap
※ IE8では、上手く表示できないみたい。
・音楽ファイル格納フォルダの指定
「Configuration」->「Music Files」->「Music Folder」に音楽ファイルが格納されているフォルダパスを指定
saveして、「server status」-> 「Start Scan」の実行
<参考>
使用しているデフォルトのポート番号 [GLAN TANK]
デフォルトのポート番号
・Webmin
・mediatomb
・ht-daapd
メディアサーバー(mediatomb)のインストール [GLAN TANK]
・sources.listに配布元のアドレスを追加
#vi /etc/apt/sources.list
deb http://apt.mediatomb.cc/ lenny main <= 追加
・暗号化されているらしいのでキーの登録
#wget http://apt.mediatomb.cc/key.asc -O- -q | apt-key add -
・mediatombのインストール
#apt-get update
#apt-get install mediatomb
・mediatombの動作確認
・デーモンの再起動
/etc/init.d/mediatomb restart
<参考>
・配布元
</etc/mediatomb/config.xmlの変更箇所>
<?xml version="1.0" encoding="UTF-8"?>
<config version="1" xmlns="http://mediatomb.cc/config/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mediatomb.cc/config/1 http://mediatomb.cc/config/1.xsd">
<server>
<ui enabled="yes">
<accounts enabled="no" session-timeout="30">
<account user="mediatomb" password="mediatomb"/>
</accounts>
</ui>
<name>GLANTANK</name>
<udn>uuid:3097504e-aa7a-42e6-a052-82cfcebddc95</udn>
<home>/var/lib/mediatomb</home>
<webroot>/usr/share/mediatomb/web</webroot>
<storage>
<sqlite3 enabled="yes">
<database-file>sqlite3.db</database-file>
</sqlite3>
<mysql enabled="no">
<host>localhost</host>
<username>mediatomb</username>
<database>mediatomb</database>
</mysql>
</storage>
<protocolInfo extend="yes"/><!-- For PS3 support change to "yes" -->
<!--
Uncomment the lines below to get rid of jerky avi playback on the
DSM320 or to enable subtitles support on the DSM units
-->
<!--
<custom-http-headers>
<add header="X-User-Agent: redsonic"/>
</custom-http-headers>
<manufacturerURL>redsonic.com</manufacturerURL>
<modelNumber>105</modelNumber>
-->
<!-- Uncomment the line below if you have a Telegent TG100 -->
<!--
<upnp-string-limit>101</upnp-string-limit>
-->
</server>
<import hidden-files="no">
<scripting script-charset="UTF-8">
<common-script>/usr/share/mediatomb/js/common.js</common-script>
<playlist-script>/usr/share/mediatomb/js/playlists.js</playlist-script>
<virtual-layout type="builtin">
<import-script>/usr/share/mediatomb/js/import.js</import-script>
</virtual-layout>
</scripting>
<mappings>
<extension-mimetype ignore-unknown="no">
<map from="mpg" to="audio/mpeg"/>
<map from="MPG" to="audio/mpeg"/>
<map from="mpeg" to="audio/mpeg"/>
<map from="ts" to="video/mpeg"/>
<map from="jpeg" to="image/jpeg"/>
<map from="gif" to="image/gif"/>
<map from="png" to="image/png"/>
<map from="m4v" to="video/mp4"/>
<map from="mp4" to="video/mp4"/>
<map from="mp3" to="audio/mpeg"/>
<map from="ogg" to="application/ogg"/>
<map from="asf" to="video/x-ms-asf"/>
<map from="asx" to="video/x-ms-asf"/>
<map from="wma" to="audio/x-ms-wma"/>
<map from="wax" to="audio/x-ms-wax"/>
<map from="wmv" to="video/x-ms-wmv"/>
<map from="wvx" to="video/x-ms-wvx"/>
<map from="wm" to="video/x-ms-wm"/>
<map from="wmx" to="video/x-ms-wmx"/>
<map from="m3u" to="audio/x-mpegurl"/>
<map from="pls" to="audio/x-scpls"/>
<map from="flv" to="video/x-flv"/>
<!-- Uncomment the line below for PS3 divx support -->
<map from="avi" to="video/divx"/>
<!-- Uncomment the line below for D-Link DSM / ZyXEL DMA-1000 -->
<!-- <map from="avi" to="video/avi"/> -->
</extension-mimetype>
<mimetype-upnpclass>
<map from="audio/*" to="object.item.audioItem.musicTrack"/>
<map from="video/*" to="object.item.videoItem"/>
<map from="image/*" to="object.item.imageItem"/>
</mimetype-upnpclass>
<mimetype-contenttype>
<treat mimetype="audio/mpeg" as="mp3"/>
<treat mimetype="application/ogg" as="ogg"/>
<treat mimetype="audio/x-flac" as="flac"/>
<treat mimetype="image/jpeg" as="jpg"/>
<treat mimetype="audio/x-mpegurl" as="playlist"/>
<treat mimetype="audio/x-scpls" as="playlist"/>
<treat mimetype="audio/x-wav" as="pcm"/>
<treat mimetype="video/x-msvideo" as="avi"/>
</mimetype-contenttype>
</mappings>
</import>
<transcoding enabled="no">
<mimetype-profile-mappings>
<transcode mimetype="video/x-flv" using="vlcmpeg"/>
<transcode mimetype="application/ogg" using="vlcmpeg"/>
<transcode mimetype="application/ogg" using="oggflac2raw"/>
<transcode mimetype="audio/x-flac" using="oggflac2raw"/>
</mimetype-profile-mappings>
<profiles>
<profile name="oggflac2raw" enabled="no" type="external">
<mimetype>audio/L16</mimetype>
<accept-url>no</accept-url>
<first-resource>yes</first-resource>
<accept-ogg-theora>no</accept-ogg-theora>
<agent command="ogg123" arguments="-d raw -f %out %in"/>
<buffer size="1048576" chunk-size="131072" fill-size="262144"/>
</profile>
<profile name="vlcmpeg" enabled="no" type="external">
<mimetype>video/mpeg</mimetype>
<accept-url>yes</accept-url>
<first-resource>yes</first-resource>
<accept-ogg-theora>yes</accept-ogg-theora>
<agent command="vlc" arguments="-I dummy %in --sout #transcode{venc=ffmpeg,vcodec=mp2v,vb=4096,fps=25,aenc=ffmpeg,acodec=mpga,ab=192,samplerate=44100,channels=2}:standard{access=file,mux=ps,dst=%out} vlc:quit"/>
<buffer size="14400000" chunk-size="512000" fill-size="120000"/>
</profile>
</profiles>
</transcoding>
</config>