事象の水平線

個人的ブックマーク代わりなメモ書きブログ。 地球は丸いよ。↓このへん。

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop
mpeg2TSのファイルがminidlna経由の日立 Wooo(P50-PX5)で直接見れないので、ためしにffmpegでmpeg2PSに変換してみると見れるようになった。
単純に変換するだけなら、コンテナの変換だけで無劣化らしい。
※すべてLinuxでやってます。 Windows版ffmpegもありますがシランス;;(ほとんど変わらない)

変換の仕方はこんな感じ。(より詳しくは、ffmpeg オプション とか ffmpeg Man

$ ffmpeg -i inputfile.ts -f dvd -vcodec copy -acodec copy outputfile.mpeg

-i :入力ファイル
-f :フォーマット dvd とか vob でうまくいった。 それ以上のことはわからない。
-vcodec :映像のコーデック 変換しないときは copy
-acodec :音声のコーデック aacがだめみたいで、元がaacの場合 copyだとうまくいったように見えて再生すると音が出ないし途中で止まる
また、aacを -acodec aac で指定しようとすると今度はffmpegが
Codec is experimental but experimental codecs are not enabled, try -strict -2
Output #0, dvd, to '/media/sdb/share/Video/ts/test.mpeg':
Stream #0:0: Video: mpeg2video ([2][0][0][0] / 0x0002), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 24000 kb/s, 29.97 fps, 90k tbn, 29.97 tbc
Stream #0:1: Audio: none, 48000 Hz, stereo, flt, 128 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (aac -> aac)

Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
こんなことを言ってErrorで終わる。試せといわれる-strict -2をやっても、Errorなくファイルが出来るが前と同様、無音で止まる。
パラメーターがおかしいといわれてる気がするので -ab 240k -ar 48000 -ac 2 とかつけるが効果なし。
-acodecをmp2かac3にすると大丈夫みたい。これ以上は深追いしない。
ac3にすることで、形式の変換だけでなくエンコード(=劣化)も行われてるのかはわからない。
とおもったけど、テスト映像をWoooでみているとき、ハイエンド(高音)が歪んでいて音が完全におかしい。とおもったら、やはりエンコードされてるみたい。やはりaacとac3ってまったく別フォーマットなのね。よく分かってないけど・・
ビットレートを指定しないと64kbpsが規定値のようで、ステレオだから(なのか?)128kbpsになってる。ビットレートって正直気にしたことない(flacとwavしか使ってない、車だけナビがmp3じゃないとだめなのでmp3だけど)けど、はっきり言ってこの音質は耐えられない。
fs(サンプリング周波数)は規定値が44.1kHzらしいけど、何の指定もなしで元と同じ48kHzになってるのに。

という訳で、PT3で撮ったmpeg2TSをPSに変換するときは

$ ffmpeg -i inputfile.ts -f dvd -vcodec copy -acodec ac3 -ab 448k -ar 48000 outputfile.mpeg

こんな感じにすることにした。
※ac3は448kbpsが最高値らしい。正確なソースは探してない;;
 よくわからないのでとりあえず最高値に・・・
※日本は音声がaacで放流されてる。らしい



mpeg2TSに複数のストリームが入っているとき以下のコマンドで内容が見れる。らしい。

$ ffmpeg -i filename.ts
Program 1066
Metadata:
service_name : ???????????
service_provider:
Stream #0:0[0x111]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], 20000 kb/s, 30.42 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x112]: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, s16, 192 kb/s
Stream #0:2[0x113]: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, s16, 188 kb/s
Stream #0:3[0x114]: Unknown: none ([6][0][0][0] / 0x0006)
Stream #0:4[0x115]: Unknown: none ([6][0][0][0] / 0x0006)
Program 1448
Metadata:
service_name : ???????????
service_provider:
Stream #0:12[0x181]: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p, 320x180, 22.33 fps, 14.99 tbr, 90k tbn, 29.97 tbc
Stream #0:13[0x182]: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, s16, 54 kb/s
Stream #0:14[0x184]: Unknown: none ([6][0][0][0] / 0x0006)
Stream #0:15[0x1030]: Unknown: none ([13][0][0][0] / 0x000D)


Stream #0:0 の映像 と Stream #0:1 の音声 を取り出したい場合は
$ ffmpeg -i inputfile.ts -f dvd -vcodec copy -acodec ac3 -map 0.0 -map 0.1 outputfile.mpeg

この例だとメインプログラムはバイリンガルのデュアルステレオ放送なのかな?
-mapの指定ではなく、-programid [番号]でもOK
その場合の音声は???


あたまに違うプログラムがくっついてると情報を見たい本体ではなくそっちが見れてしまったりするので、その場合は、

$ dd if=inputfile.ts of=outputfile.ts bs=10MB count=50
(ファイルの頭から500MB分をoutputfile.tsに切り出し ※長い全部を使うのは無駄なので頭から一部切り出し
$ tail -c 100MB outputfile.ts > crop.ts
(outputfile.tsの最後から100MBをcrop.tsに切り出し ※切り出した中から本編にかかってると思われる後ろから100MBを切り出し


$ ffmpeg -i crop.ts
すればいいかんじ。


と、色々やった後になんでTSだめなんやろーと日立のHPをみると、
MPEG-2 TS は DTCP-IP 対応のサーバーで無いとだめと書いてある。
→05シリーズの再生可能ファイル形式 http://av.hitachi.co.jp/tv/support/check/w05/avnetwork.html
(トップ以外のリンクは問い合わせしてから張れとあったのでリンクしてません。めんどーなんで)
ん~著作権保護ですか・・・・DTCP-IP対応のPC用サーバーなんて(有料のものしか)ないので、これはあがいてもどうしようもないです。
それにMPEG-2 PSの場合はAACは非対応みたい。てか、書いてない。というかMPEG-2 PS + AACって組み合わせってないものなのか?よく分からないけど。


さらに、デュアルステレオや5.1chのTSをいじっていて気付く。ffmpegはおそらく-acodec ac3 とかするだけで、その他のオプション チャンネル数(ステレオ、モノ、5.1ch)ビットレート なんかはそのまま受け継がれるのかも。
ただ、ストリームが複数あるもの(バイリンガルのデュアルステレオとか)はどちらかが選ばれる。
で、それらのオプションの基準はファイルの頭のデータで決まるのではないか?

なので、頭にCMとかついてるとそのチャンネル数*ビットレートになるのかなと



という訳で、結構グダグダだけど
mpeg2PSにすればWoooでminidlna経由でみれるよ。と。
この際、映像はコンテナの変換だけなので、無劣化&変換もAtomでも大して時間はかからない。(実時間の1/5~1/10)
ただ、音声をAC3あたりに変換しないといけない(=劣化)。



ちなみに、色々と試行錯誤する中で、rpmforge経由でインストールしていた古いバージョンのffmpegから、ffmpeg1.0にコンパイルしてインストールしている。

ffmpeg1.0のインストールは『知らんがな 2012』さんの『FFmpeg 1.0』を参考にした。というかそのまんま。
ただし、最後のffmpegのmakeでハマッテこんなことを言われた。

libavcodec/libavcodec.so: undefined reference to `x264_encoder_open_125'
collect2: ld returned 1 exit status
make: *** [ffserver_g] Error 1
make: *** Waiting for unfinished jobs....
libavcodec/libavcodec.so: undefined reference to `x264_encoder_open_125'
collect2: ld returned 1 exit status
make: *** [ffprobe_g] Error 1
libavcodec/libavcodec.so: undefined reference to `x264_encoder_open_125'
collect2: ld returned 1 exit status
make: *** [ffmpeg_g] Error 1
libavcodec/libavcodec.so: undefined reference to `x264_encoder_open_125'
collect2: ld returned 1 exit status
make: *** [ffplay_g] Error 1


結論だけ書くと、x264の古いのの一部が残っていたためにだめだったみたい。
yum remove x264してからx264を入れなおしたらあっさりmakeが通った。

スポンサーサイト

PageTop
WD30EZRXにIntelliparkが搭載されていて、色々と問題がありそうなことは知っていたけど、とりあえず様子見してた。
けど、smartctlでみてみると、
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       411
10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always 0
11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always 275
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always 67
193 Load_Cycle_Count 0x0032 199 199 000 Old_age Always 4999


4999/411≒12回/h ってちょっと多いよね・・・・
(数週間前は18回/hくらいだった。録画で書き込んでる時間が長くなって多少減ったのかな)

WDのpdf見てみると30万回が設計寿命?っぽいこと書いてあるし、それだとこのペースで24時間動かすと3年弱しか持たないことになってしまう。

で、WDが出してるMSDOSのツールwdidle3_1_05.zipなるものを使うと、Intelliparkの設定を変えられるらしいけど、ほぼリモートでしか触っていないので面倒ということもあり、『(rubikitch loves (Emacs Ruby CUI Books))』さんの『WD WD20EARSの正しい扱い方』を参考にというか、そのまま、5秒おきに日付を書き込むスクリプトをやってみました。

[root@NAS ~]# cd /usr/local/bin
[root@NAS bin]# vi disableIntellipark.sh
#!/bin/bash
while true;do
date > /media/sdb/disable-intellipark
sleep 5
done

[root@NAS bin]# chmod 755 disableIntellipark.sh

ためしてみる。
[root@NAS bin]# disableIntellipark.sh > /dev/null 2>&1
^C

[root@NAS bin]# disableIntellipark.sh > /dev/null 2>&1 &
[1] 3676
[root@NAS bin]#
&をつけると、daemonのように裏で動き続けるのね。

どうだろう、、とりあえず数が増えなくなったかなぁ・・・・

しかし、日立の2.5インチのHTS727550A9E364の方がすごいんだけど・・・どうなってんの?

  9 Power_On_Hours          0x0012   100   100   000    Old_age   Always       430
10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always 313
191 G-Sense_Error_Rate 0x000a 100 100 000 Old_age Always 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always 131083
193 Load_Cycle_Count 0x0012 089 089 000 Old_age Always 118359


<<追記1>>
Dos起動などせずLinuxから簡単に設定できるソフトがあるらしい

<<追記2>>
日立のHDDは値が異常すぎて、値だけがバグってるのかと思ってたら意外とそうでもないらしく、ノート用のHDDなんで耐衝撃性の点から頻繁にリトラクトするらしい。
で、FreeBSDだとataidleなるツールでどうにかなるらしい
参考:『Load_Cycle_Countがぐんぐん増えているの。
ただ、他のLinuxディストリビューションでは使えないらしく、そうなるとHGSTが出しているFeature Toolsなるものを使えばできるらしい。
参考:『linuxのsmartmontoolsに関して
参考:『FeatureTool(Hitachi,旧IBM)でのHDD静音化方法
こちらの場合、FDかCD起動しないといけないようなのでとりあえず保留
WD用のidle3-toolsで出来ちゃうのかなぁ?さすがに怖いのでやらない。

PageTop
recpt1はマルチキャスト配信ってのでリアルタイムで見れるらしい。(なにが?)
でもちょっと不便。
で、httpサーバー版てのがあるらしい。ちょっと便利っぽい。

で、試してみました。参考先のHPの手順をほぼそのままやってるだけです。自分用メモです。

参考『iakdevelの日記』さんの『recpt1 + httpサーバーRC4勝手に改(2012/05/20)

どうでもいい前準備

[root@NAS ~]# cd /usr/local/bin
既に入ってるものを確認
[root@NAS bin]# ls -la |grep recpt1
-rwxr-xr-x. 1 root root 88167 Sep 20 06:21 recpt1
-rwxr-xr-x. 1 root root 20757 Sep 20 06:21 recpt1ctl
問題なく動いているところへ手を加えるのって2mmくらい勇気いるよね。
なんでコピー

[root@NAS bin]# mv recpt1 'recpt1(copy)'
[root@NAS bin]# mv recpt1ctl 'recpt1ctl(copy)'
[root@NAS bin]# ls -la |grep recpt1
-rwxr-xr-x. 1 root root 88167 Sep 20 06:21 recpt1(copy)
-rwxr-xr-x. 1 root root 20757 Sep 20 06:21 recpt1ctl(copy)
これもかな?
[root@NAS bin]# ls -la |grep check
-rwxr-xr-x. 1 root root 31138 Sep 20 06:21 checksignal
[root@NAS bin]# mv checksignal 'checksignal(copy)'
[root@NAS bin]# ls -la |grep check
-rwxr-xr-x. 1 root root 31138 Sep 20 06:21 checksignal(copy)

インストール  <<追記>>tssplitte_liteのsegfault注意
[root@NAS bin]# cd /usr/local/src
てきとーにわかりやすくフォルダを作っておきますか。
[root@NAS src]# mkdir PT3-http
[root@NAS src]# cd PT3-http
[root@NAS PT3-http]# hg clone http://hg.honeyplanet.jp/pt1/
bash: hg: command not found
あれまないってよ。
hgってのはMercurialなんだそうな。ふーん。
で、『CentOS(64bit)にMercurialを入れてみた』を見るとちょっとめんどくさそう。
出来れば避けたい。
で、『http://hg.honeyplanet.jp/pt1/』を見るとbz2とかzipとかあるんでこれでいいやと・・・

[root@NAS PT3-http]# wget http://hg.honeyplanet.jp/pt1/archive/b14397800eae.zip
--2012-10-11 15:04:26-- http://hg.honeyplanet.jp/pt1/archive/b14397800eae.zip
Resolving hg.honeyplanet.jp... 59.106.19.35
Connecting to hg.honeyplanet.jp|59.106.19.35|:80... connected.
HTTP request sent, awaiting response... 200 Script output follows
Length: unspecified [application/zip]
Saving to: “b14397800eae.zip”

[ <=> ] 65,823 236K/s in 0.3s

2012-10-11 15:04:27 (236 KB/s) - “b14397800eae.zip” saved [65823]

[root@NAS PT3-http]# unzip b14397800eae.zip
Archive: b14397800eae.zip
inflating: pt1-b14397800eae/.hg_archival.txt
inflating: pt1-b14397800eae/driver/Makefile
inflating: pt1-b14397800eae/driver/etc/99-pt1.rules
inflating: pt1-b14397800eae/driver/pt1_com.h
inflating: pt1-b14397800eae/driver/pt1_i2c.c
inflating: pt1-b14397800eae/driver/pt1_i2c.h
inflating: pt1-b14397800eae/driver/pt1_ioctl.h
inflating: pt1-b14397800eae/driver/pt1_pci.c
inflating: pt1-b14397800eae/driver/pt1_pci.h
inflating: pt1-b14397800eae/driver/pt1_tuner.c
inflating: pt1-b14397800eae/driver/pt1_tuner.h
inflating: pt1-b14397800eae/driver/pt1_tuner_data.c
inflating: pt1-b14397800eae/driver/pt1_tuner_data.h
inflating: pt1-b14397800eae/recpt1/COPYING
inflating: pt1-b14397800eae/recpt1/Makefile.in
inflating: pt1-b14397800eae/recpt1/autogen.sh
inflating: pt1-b14397800eae/recpt1/channels/sample.recpt1-channels-chiba
inflating: pt1-b14397800eae/recpt1/channels/sample.recpt1-channels-kanazawa
inflating: pt1-b14397800eae/recpt1/channels/sample.recpt1-channels-nagoya
inflating: pt1-b14397800eae/recpt1/channels/sample.recpt1-channels-tokyo
inflating: pt1-b14397800eae/recpt1/checksignal.c
inflating: pt1-b14397800eae/recpt1/configure.ac
inflating: pt1-b14397800eae/recpt1/decoder.c
inflating: pt1-b14397800eae/recpt1/decoder.h
inflating: pt1-b14397800eae/recpt1/mkpath.c
inflating: pt1-b14397800eae/recpt1/mkpath.h
inflating: pt1-b14397800eae/recpt1/pt1_dev.h
inflating: pt1-b14397800eae/recpt1/recpt1.c
inflating: pt1-b14397800eae/recpt1/recpt1.h
inflating: pt1-b14397800eae/recpt1/recpt1ctl.c
inflating: pt1-b14397800eae/recpt1/tssplitter_lite.c
inflating: pt1-b14397800eae/recpt1/tssplitter_lite.h
[root@NAS PT3-http]# cd pt1-b14397800eae/recpt1
ぱっちは、win機で保存したのでサンバ経由でコピーします。
[root@NAS recpt1]# mv /media/sdb/share/recpt1.c.patch ./
[root@NAS recpt1]# patch -p0 < recpt1.c.patch
bash: patch: command not found
あらまないのかよ。さすがにこれはyumにあんでしょ。
[root@NAS recpt1]# yum install patch
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* rpmforge: ftp.riken.jp
* updates: ftp.iij.ad.jp
base | 3.7 kB 00:00
extras | 3.0 kB 00:00
rpmforge | 1.9 kB 00:00
updates | 3.5 kB 00:00
updates/primary_db | 2.9 MB 00:06
11 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package patch.x86_64 0:2.6-6.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
patch x86_64 2.6-6.el6 base 90 k

Transaction Summary
================================================================================
Install 1 Package(s)

Total download size: 90 k
Installed size: 172 k
Is this ok [y/N]: y       あらrpmforgeかよ。→参考
Downloading Packages:
patch-2.6-6.el6.x86_64.rpm | 90 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : patch-2.6-6.el6.x86_64 1/1
Verifying : patch-2.6-6.el6.x86_64 1/1

Installed:
patch.x86_64 0:2.6-6.el6

Complete!
[root@NAS recpt1]# patch -p0 < recpt1.c.patch
(Stripping trailing CRs from patch.)
patching file recpt1.c
Hunk #1 succeeded at 80 (offset 2 lines).
Hunk #2 succeeded at 555 (offset 26 lines).
Hunk #3 succeeded at 578 (offset 26 lines).
Hunk #4 succeeded at 963 (offset 26 lines).
Hunk #5 succeeded at 974 (offset 26 lines).
Hunk #6 succeeded at 1007 (offset 26 lines).
patch unexpectedly ends in middle of line
Hunk #7 succeeded at 1071 with fuzz 1 (offset 26 lines).
[root@NAS recpt1]# ./autogen.sh
Generating configure script and Makefiles for recpt1.
Running aclocal ...
Running autoheader ...
Running autoconf ...
[root@NAS recpt1]# ./configure --enable-b25
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for create_arib_std_b25 in -larib25... yes
checking for log10 in -lm... yes
checking for pthread_kill in -lpthread... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
[root@NAS recpt1]# make
revh=`hg parents --template 'const char *version = "r{rev}:{node|short} ({date|shortdate})";\n' 2>/dev/null`; \
if [ -n "$revh" ] ; then \
echo "$revh" > version.h; \
else \
echo "const char *version = \""1.1.0"\";" > version.h; \
fi
gcc -MM recpt1.c decoder.c mkpath.c tssplitter_lite.c recpt1ctl.c -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 > .deps
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o recpt1.o recpt1.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o decoder.o decoder.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o mkpath.o mkpath.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o tssplitter_lite.o tssplitter_lite.c
gcc -o recpt1 recpt1.o decoder.o mkpath.o tssplitter_lite.o -lpthread -lm -larib25
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o recpt1ctl.o recpt1ctl.c
gcc -o recpt1ctl recpt1ctl.o
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o checksignal.o checksignal.c
gcc -o checksignal checksignal.o -lpthread -lm
[root@NAS recpt1]# make install
install -m 755 recpt1 recpt1ctl checksignal /usr/local/bin
確認
[root@NAS recpt1]# ls -la /usr/local/bin | grep recpt1
-rwxr-xr-x 1 root root 104009 Oct 11 15:16 recpt1
-rwxr-xr-x. 1 root root 88167 Sep 20 06:21 recpt1(copy)
-rwxr-xr-x 1 root root 20765 Oct 11 15:16 recpt1ctl
-rwxr-xr-x. 1 root root 20757 Sep 20 06:21 recpt1ctl(copy)
[root@NAS recpt1]# ls -la /usr/local/bin | grep checksignal
-rwxr-xr-x 1 root root 31146 Oct 11 15:16 checksignal
-rwxr-xr-x. 1 root root 31138 Sep 20 06:21 checksignal(copy)
[root@NAS recpt1]# /usr/local/bin/recpt1 --b25 --strip --http 8888
using B25...
enable B25 strip
creating a http daemon
run as a daemon..
pid = 4971
listening at port 8888

ふぬ。firewallかな。tcpとudpの8888をGUIツールであけます。

TVtestで見てみます。


[root@NAS recpt1]# connect from: 192.168.0.3 [192.168.0.3] port 52666
request command is GET /19/all HTTP/1.0

channel is 19
Cannot tune to the specified channel
Tuner cannot start recording
connect from: 192.168.0.3 [192.168.0.3] port 52670
request command is GET /19/all HTTP/1.0

channel is 19
Cannot tune to the specified channel
Tuner cannot start recording
connect from: 192.168.0.3 [192.168.0.3] port 52674
request command is GET /15/all HTTP/1.0

channel is 15
Cannot tune to the specified channel
Tuner cannot start recording
^C
あれーーーー?あかんなぁー?
わからんときは再起動。

[root@NAS recpt1]# reboot

再起動後

[root@NAS ~]# /usr/local/bin/recpt1 --b25 --strip --http 8888
using B25...
enable B25 strip
creating a http daemon
run as a daemon..
pid = 2508
listening at port 8888
[root@NAS ~]# connect from: 192.168.0.3 [192.168.0.3] port 52853
request command is GET /19/all HTTP/1.0

channel is 19
Cannot tune to the specified channel
Tuner cannot start recording
connect from: 192.168.0.3 [192.168.0.3] port 52857
request command is GET /17/all HTTP/1.0

channel is 17
Cannot tune to the specified channel
Tuner cannot start recording
^C
あらだめだ。
ん~、そっか。pt1_dev.hのpt1をpt3にしないとだめかな?→参考
gEditで変更後。

[root@NAS ~]# cd /usr/local/src/PT3-http
フォルダの名前とか覚えてないよね
[root@NAS PT3-http]# ls -la
total 80
drwxr-xr-x 3 root root 4096 Oct 11 15:05 .
drwxr-xr-x. 27 root root 4096 Oct 11 15:00 ..
-rw-r--r-- 1 root root 65823 Oct 11 15:04 b14397800eae.zip
drwxr-xr-x 4 root root 4096 Oct 11 15:05 pt1-b14397800eae
[root@NAS PT3-http]# cd pt1-b14397800eae
[root@NAS pt1-b14397800eae]# ls -la
total 20
drwxr-xr-x 4 root root 4096 Oct 11 15:05 .
drwxr-xr-x 3 root root 4096 Oct 11 15:05 ..
drwxr-xr-x 3 root root 4096 Oct 11 15:05 driver
-rw-r--r-- 1 root root 149 Jun 26 21:56 .hg_archival.txt
drwxr-xr-x 4 root root 4096 Oct 11 15:41 recpt1
[root@NAS pt1-b14397800eae]# cd recpt1
必要ないはずだけど、どうなるか興味あるし試そう。
[root@NAS recpt1]# patch -p0 < recpt1.c.patch
(Stripping trailing CRs from patch.)
patching file recpt1.c
Reversed (or previously applied) patch detected! Assume -R? [n] n
Apply anyway? [n] n
Skipping patch. ふむ。なるほどね。
patch unexpectedly ends in middle of line
7 out of 7 hunks ignored -- saving rejects to file recpt1.c.rej
[root@NAS recpt1]# ./autogen.sh いちおうね。
Generating configure script and Makefiles for recpt1.
Running aclocal ...
Running autoheader ...
Running autoconf ...
[root@NAS recpt1]# ./configure --enable-b25
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for create_arib_std_b25 in -larib25... yes
checking for log10 in -lm... yes
checking for pthread_kill in -lpthread... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
[root@NAS recpt1]# make clean  一応ね。以前これやらずに(知らずに)ハマッタからね
rm -f recpt1.o decoder.o mkpath.o tssplitter_lite.o recpt1ctl.o checksignal.o recpt1 recpt1ctl checksignal .deps version.h
[root@NAS recpt1]# make
revh=`hg parents --template 'const char *version = "r{rev}:{node|short} ({date|shortdate})";\n' 2>/dev/null`; \
if [ -n "$revh" ] ; then \
echo "$revh" > version.h; \
else \
echo "const char *version = \""1.1.0"\";" > version.h; \
fi
gcc -MM recpt1.c decoder.c mkpath.c tssplitter_lite.c recpt1ctl.c -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 > .deps
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o recpt1.o recpt1.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o decoder.o decoder.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o mkpath.o mkpath.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o tssplitter_lite.o tssplitter_lite.c
gcc -o recpt1 recpt1.o decoder.o mkpath.o tssplitter_lite.o -lpthread -lm -larib25
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o recpt1ctl.o recpt1ctl.c
gcc -o recpt1ctl recpt1ctl.o
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o checksignal.o checksignal.c
gcc -o checksignal checksignal.o -lpthread -lm
[root@NAS recpt1]# make install
install -m 755 recpt1 recpt1ctl checksignal /usr/local/bin
[root@NAS recpt1]# /usr/local/bin/recpt1 --b25 --strip --http 8888
using B25...
enable B25 strip
creating a http daemon
run as a daemon..
pid = 3248
bind: Address already in use
[root@NAS recpt1]# connect from: 192.168.0.3 [192.168.0.3] port 52955
request command is GET /19/all HTTP/1.0

channel is 19
Cannot tune to the specified channel
Tuner cannot start recording
^C
うわだめか。録画も出来ないのかテスト
[root@NAS recpt1]# recpt1 --b25 --strip 13 10 /media/sdb/share/Video/recpt1test.ts
using B25...
enable B25 strip
pid = 3250
C/N = 33.696512dB
Recording...
Recorded 11sec
出来ますか・・・・
ほぉ。もしかして?

[root@NAS recpt1]# ./autogen.sh
Generating configure script and Makefiles for recpt1.
Running aclocal ...
Running autoheader ...
Running autoconf ...
[root@NAS recpt1]# ./configure -enable-b25 (ハイフン一個だけ)これ関係なかったわ。再起動が効いたみたい
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for create_arib_std_b25 in -larib25... yes
checking for log10 in -lm... yes
checking for pthread_kill in -lpthread... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
[root@NAS recpt1]# make clean
rm -f recpt1.o decoder.o mkpath.o tssplitter_lite.o recpt1ctl.o checksignal.o recpt1 recpt1ctl checksignal .deps version.h
[root@NAS recpt1]# make
revh=`hg parents --template 'const char *version = "r{rev}:{node|short} ({date|shortdate})";\n' 2>/dev/null`; \
if [ -n "$revh" ] ; then \
echo "$revh" > version.h; \
else \
echo "const char *version = \""1.1.0"\";" > version.h; \
fi
gcc -MM recpt1.c decoder.c mkpath.c tssplitter_lite.c recpt1ctl.c -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 > .deps
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o recpt1.o recpt1.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o decoder.o decoder.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o mkpath.o mkpath.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o tssplitter_lite.o tssplitter_lite.c
gcc -o recpt1 recpt1.o decoder.o mkpath.o tssplitter_lite.o -lpthread -lm -larib25
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o recpt1ctl.o recpt1ctl.c
gcc -o recpt1ctl recpt1ctl.o
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o checksignal.o checksignal.c
gcc -o checksignal checksignal.o -lpthread -lm
[root@NAS recpt1]# make install
install -m 755 recpt1 recpt1ctl checksignal /usr/local/bin
一応再起動してから試すか
[root@NAS recpt1]# reboot

再起動後

[root@NAS ~]# /usr/local/bin/recpt1 --b25 --strip --http 8888
using B25...
enable B25 strip
creating a http daemon
run as a daemon..
pid = 2205
listening at port 8888
[root@NAS ~]# connect from: 192.168.0.3 [192.168.0.3] port 53108
request command is GET /17/all HTTP/1.0

channel is 17
C/N = 33.398178dB
Broadcasting...
       おおできた。
write: Broken pipe

SIGPIPE received. cleaning up...
Recorded 8sec
connection closed. still listening at port 8888
connect from: 192.168.0.3 [192.168.0.3] port 53114
request command is GET /14/all HTTP/1.0

TVtestでチャンネル切り替えてみる。

channel is 14
C/N = 34.823735dB    ばっちし。
Broadcasting...
write: Broken pipe
Recorded 6sec

SIGPIPE received. cleaning up...
connection closed. still listening at port 8888
^C
[root@NAS ~]#

Daemon化
さて、daemon化します。
ただ、/etc/rc.localあたりで「/usr/local/bin/recpt1 --b25 --strip --http 8888 > /dev/null 2>&1」するだけでもいいのかな?
まぁ、今回は後学のため以下を参考に手間を掛ける方向でやってみます。

参考『プログラミング色々』さんの『自作プログラムをデーモンとして起動させる

[root@NAS ~]# cd /etc/init.d/
[root@NAS init.d]# vi recpt1-http  新規作成
#!/bin/sh

# recpt1 http.ver daemon cf.http://7ujm.net/linux/daemon.html

/usr/local/bin/recpt1 --b25 --strip --http 8888 > /dev/null 2>&1 &

recpt1http版はなくても動くようだけど、本来『&』が大事みたい。ないとループから抜けれなくて起動で固まったように見えるとか

[root@NAS init.d]# chmod 755 recpt1-http

ランレベル3と5で
[root@NAS init.d]# ln -s ../init.d/recpt1-http /etc/rc3.d/S99recpt1-http
[root@NAS init.d]# ln -s ../init.d/recpt1-http /etc/rc5.d/S99recpt1-http
[root@NAS init.d]#


さて、これで、再起動後も pm-suspend してもOKでした。よっと。
てか、/etc/rc.localも/etc/rc5.d/S99localとかにリンク張ってあるだけだなぁ・・・同じようなことか・・・

あ、recpt1がdaemonで立ち上りっぱなしってことは、自動終了スクリプトに影響しますね。

で、いじってみると、ps -el でwchanが録画中および視聴中はpt3_~~になるので、これを使って、recpt1=`ps -el | grep recpt1`を
recpt1=`ps -el | grep recpt1 | grep pt3_` にしたらばっちりでしたょ。っと。

ただし、予想通りというか、TVtestで見てると、チャンネルが足りなくなると録画に失敗する。
そこまで考慮されたパッチじゃないよね・・・
んー。。どうしたもんか?
do-record.shでdaemonをkillするか・・・・
ちょっとめんどくさそうだな・・・


<<追記>>
ありゃーチャンネル切り替えてるとSで見れなくなることがあるぞ・・・
んー・・・・・そのときは、プロセスkillして立ち上げなおしだなぁ・・・・
でも一応そのだめなプロセスが走ったままでも、予約録画は問題なく出来る。
まぁ、プロセスが別物だから問題ないのか。録画に問題が出るといやだなぁ・・・
しかし、原因不明だ。ソースとか読むのいやだなぁ・・・・

PageTop
PC本体の自動終了・起動スクリプトを実装したあたりからどうも調子が悪く。
予約録画が実行されなかったり、録画が途中で止まってたりする。

で、原因がおそらくほぼ特定できた っぽい。
ので、一般的なパーミッションだのat.denyだのといったたぐいではない自分環境の原因メモ。

原因1:pm-suspendでpt3のドライバーを見失う
 → 『DN2800MT + CentOS6.3 + PT3 ACPI サスペンド』で一応解決。
  (それでもごくまれに、見失うことがあるようでとりあえず様子見)

原因2:atqで実行中jobが『=』になるがこれが終了時間前に消える
 → そのことで、自動終了スクリプトが実行中であるのに実行中でないと判断しサスペンド
 → 録画が途中で中断される
 → 『PT3 NASサーバー 自動終了・起動スクリプト』では対処済み

原因3:録画先をシンボリックリンクで/var/www/epgrec/videoにしていた
 → が、予約の後にリンクの元ディレクトリを変更し、リンクを貼りなおした
 → 予約を入れたときに保存先のディレクトリの情報が『/var/spool/at』以下のファイルに記録され、それにより録画が実行されるようだが(たぶん)、実行の段階でディレクトリがないため録画失敗


今回 原因3で相当悩まされた。
EPGrecのソースはまったくといっていいほど見てないし、at(atd)とかよく分かってないし、まったく問題なく録画されたり、全然だめだったり再現性の低い一番いやなパターンで何日もてこずった。
/var/mail/rootを見ていて、録画失敗した時間に「sh: line 17: cd: /media/sdb/TS_PT3: No such file or directory」というメールが来ていたので
/var/spool/at以下のファイルを見たことで気が付いた。
で、すべての予約を入れなおしたら大丈夫になった。

あーぶちぎれてOSのインストールからやり直さなくてすんでよかった;;;

PageTop
EPGrecの自動録画予約が便利なので、予約はほぼこれなのだけれど、自動録画キーワード管理画面(/epgrec/keywordTable.php)で表示される内容の順番がぐちゃぐちゃなので、なんとかする。

/var/www/epgrec/keywordTable.php を開き
44行目付近
try {
$recs = Keyword::createRecords(KEYWORD_TBL);
asort($recs);
foreach( $recs as $rec ) {


asort($recs);をいれる。

おしまい。

phpはソートが色々あるので、phpのマニュアル配列のソートを見てください。
ただのsort()でいいのかな?
SQL文でやったほうが速いかも。Keyword::createRecords(KEYWORD_TBL);っていうのがDBにアクセスしてるみたいだから、引数あたりにSQLの条件ねじ込めそうだけど、ソース読むのめんどいからこれでいいや・・・
多分大丈夫と思うけど。どうでしょ?

PageTop
CentOS6.3はあまりごてごて入れずにカスタマイズせずに使っているです(日本語入力も出来ない)が、gEditが文字化けしてしゃーないのです。
(フォントは何もせずに最初から入ってるみたいです。)

Openの際にエンコーディングを指定すればいいのだけれど、AutoDetectがあかんぽくて普通に開くと化けまくる。
開きなおすときにエンコードを指定しても、前開いたファイルが閉じられてないと同じエンコーディングにしちゃうみたいでよろしくない。
一から開くときのみエンコーディングを指定して正しく読める。

と、まぁなんだかメンドクサイので、この際根治させることに。

で、検索すると『gconf-editor』ってのが出てくる。
結論から先に書くとこれを使う訳だけど、入ってないのでインストールから
[root@NAS ~]# yum install gconf-editor
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* rpmforge: ftp.riken.jp
* updates: mirrors.163.com
11 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package gconf-editor.x86_64 0:2.28.0-3.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
gconf-editor x86_64 2.28.0-3.el6 base 1.0 M

Transaction Summary
================================================================================
Install 1 Package(s)

Total download size: 1.0 M
Installed size: 2.1 M
Is this ok [y/N]: y
Downloading Packages:
gconf-editor-2.28.0-3.el6.x86_64.rpm | 1.0 MB 00:04
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : gconf-editor-2.28.0-3.el6.x86_64 1/1
Verifying : gconf-editor-2.28.0-3.el6.x86_64 1/1

Installed:
gconf-editor.x86_64 0:2.28.0-3.el6

Complete!
[root@NAS ~]#

Applications > System Tools > Configuration Editor
でConfiguration Editorを開き
gconf-editor.png

apps > gedit-2 > preferences > endcodings
auto_detectedをダブルクリックし、
『CP932』と『ECU-JP』を Add
上から順なので、UTF-8 > CP932 > ECU-JP の順に
gconf-editor2.png

これでOK
参考『Linuxデスクトップ生活』さんの『geditの設定(文字化け対策と正規表現)』まんまです。CentOSともRedHatとも書いてないけど。

ただ、このやり方は既に古いらしい。
gsettings ってのを使うらしい
参照『geditの文字化けを解消する (GNOME3)
参考『Ubuntu 11.10 Unity でのトレイアイコン

ただうちのCentOS6.3はGnome2.28.2なんでこれでいいのかな?
yumではgsettingsもdconf-toolsもNo package available.だったんで、これでいいことにしました。

検索するとUbuntuばっかりでてくる~~

PageTop
epgrec assist
どこで見つけたか忘れたけど、ブックマークしてあったんで、試しに入れてみた。

単に、見た目を変えるだけで基本的な中身は何も変わらないんだけど、嫌いじゃないんでしばらく使ってみようと思う。
ちょうど、一番上の いついつの番組表とか出てくるスペースがもったいない気がしていじろうかと思ってたから・・

で、readmeみりゃ分かるんだけど、何したかはすぐ忘れるので自分用メモ。
ダウンロードして
解凍して
/var/www/epgre/配下に/assistを移動して
 1: /var/www/epgrec/templates/index.html
 2: /var/www/epgrec/templates/recordedTable.html
 3: /var/www/epgrec/templates/reservationTable.html
</body>の前に
<script type="text/javascript" src="assist/js/epgrec_assist.js"></script>
を書き込むだけ

おしまい。


java scriptでぜーんぶをゴリゴリ書き換えてるみたいで、やっぱりちょっと遅いかな。
番組表の長さが24時間で、FireFox15のthinkpadE525withAMD_A6-3400Mでは1.5秒が2.5秒になるような感じ。

一番上の部分もう少し細くして、ラテ欄大きいほうがいいかなぁ・・
黒基調が見づらいっちゃ見づらいか・・・・

<<追記>>
録画した番組タイトルの非表示になってしまう部分が多いので、すぐ使うの止めました。

PageTop
CentOS6.0の時も同じ様なことをしたのだけれど、ちょっと調べたらいいのがあったので参考にというか、頂いちゃいました。

参考
『ネオジェネシスふれんどり』さんの『地デジ録画サーバ(epgrec)自動起動・終了設定できたお

基本的には同じですが、多少手を入れてます。 無駄に長くなったようですが・・・

[root@NAS ~]# vi /usr/local/bin/autosuspend.sh
#!/bin/sh

# log setting
log="/var/log/autosuspend.log"
loglength="20000"

# sort works well when LANG=C
LANG=C

# if log line is ovar loglength
if [ `wc -l < $log` -gt $loglength ]; then
# cut start 10 lines
filelength=`wc -l < $log`
length=`expr $filelength - 10`
tail -n $length < $log > /dev/shm/autosuspendlogtmp
cat /dev/shm/autosuspendlogtmp > $log
rm -f /dev/shm/autosuspendlogtmp
fi

# putout a date in log
echo "====== autosuspend.sh "`date`" ======" >> $log

lsofVNC=`sudo lsof -i :5901`
echo "VNC_LISTEN:"`echo "$lsofVNC" | grep LISTEN` >> $log
echo "VNC_ESTAB.:"`echo "$lsofVNC" | grep ESTABLISHED` >> $log
# if vnc server live ,but vnc client doesn't log in.
if [ `expr "$lsofVNC" : '.*LISTEN'` -gt 0 -a `expr "$lsofVNC" : '.*ESTABLISHED'` -eq 0 ]; then
# kill vncserver
sudo vncserver -kill :1
sleep 10
echo "(vncserver was killed)" >> $log
fi

whoislogged=`who | wc -l`
usingsamba=`smbstatus -L | wc -l`
runningjob=`atq | grep = | wc -l`
recpt1=`ps -el | grep recpt1`
lsofESTAB=`sudo lsof -i :22,80,5901,8200 | grep ESTABLISHED`
##### log #####
echo "who,0 :"$whoislogged >> $log
echo "smb,2 :"$usingsamba >> $log
echo "atq,0 :"$runningjob >> $log
echo "recpt1:"$recpt1 >> $log
echo "lsof ESTABLISHED:"$lsofESTAB >> $log

# if nobody logged in.
if [ 0 -eq "$whoislogged" ] ; then
# if nobody are using samba.
if [ 2 -eq "$usingsamba" ]; then
# if no at jobs are runnning.
if [ 0 -eq "$runningjob" ]; then
# if recpt1 is not runnning.
if [ -z "$recpt1" ]; then
# if no user on ssh,www,vnc,dlna (port22,80,5901,8200 isn't ESTABLISHED).
if [ -z "$lsofESTAB" ]; then

# get nearest time which at scheduled.
nearest=`atq | awk '{print $2,$3}' |\
sort -n | head -1 | awk '{print $1,$2}'`
# transform timestamp to seconds.
wkuptime=`date -d "$nearest" +%s`
# set secs to 3 minutes before.
wkuptime=`expr $wkuptime - 180`
##### log #####
echo "atq.time :"`date --date "@$wkuptime"` >> $log

# get present time.
now=`date`

# getepgtime is scheduled for 29min at midnight.
getepgtime=`expr $(date -d "$now 1day" +%Y-%m-%d)" 00:27:00"`
# getepgtime in sec.
getepgtime=`date -d "$getepgtime" +%s`
# if getepgtime will start before next atq.
if [ $wkuptime -gt $getepgtime ]; then
# set wkuptime at getepgtime.
wkuptime=$getepgtime
fi
##### log #####
echo "wkup.time :"`date --date "@$wkuptime"` >> $log

# present time in sec.
now=`date -d "$now" +%s`
# if there is more than 30 minutes to get up the next time.
if [ `expr $wkuptime - $now` -gt 1800 ]; then
# initialize wakealarm.
echo 0 > /sys/class/rtc/rtc0/wakealarm
# set wakealarm.
echo $wkuptime > /sys/class/rtc/rtc0/wakealarm
##### log #####
cat /proc/driver/rtc >> $log
# suspend
sudo pm-suspend --quirk-dpms-on
fi
fi
fi
fi
fi
fi

『ネオジェネシスふれんどり』さんみたく見易く色分けしたらいいんでしょうけど、手作業になっちゃうんですみません・・・

えーと。$logは実際に思ったとおりの動作をしてるかを知るために、吐かせてます。
当初は仮で入れてたんですが結構色々なところでハマッタので、入れとくことにしました。
で、2万行超えたら頭の10行を捨てるような処理をしてます。いいやり方かはわかりませんが・・・ logrotateとかしらんす。そっちの方が楽なんでしょうけど・・・・
あ、それと、cat /proc/driver/rtcで出てくる時間はJSTじゃないので+9時間して読んでください。
(ロケールで変わるのかも・・・)

自動終了する流れとしては
1:whoが0行ターミナルでログインしているユーザーがいない
2:smbstatusでロックされたファイル一覧が2行サンバでファイルロックをしている人がいない
3:atqで『=』の付いた行がないatのjobが走っていない(録画中ではない)
4:文字列『recpt1』が含まれたプロセスが走っていない録画中orEPG更新中ではない
5:22、80、5901、8200のポートが使われてないssh、www、vnc、minidlnaで使ってるユーザーがいない
1~5で使っている人がいない場合、次回の録画予約を調べて、それと夜中の0:29(epgの更新時間)のどちらか早いほうが現在の時間より30分以上あいてるなら、サスペンドする。
という感じです。

『ネオジェネシスふれんどり』さんはの録画中判定をatq=があるか(3)だけで判定してますが、環境の違い(Debian系とRedHat系の違いですかね)のせいか、うちではだめだったのでpsも追加しました。
atqを調べると確かにmanページに「The special queue "=" is reserved for jobs which are currently running.」と書いてあるんですが、何故かうちの環境ではjobが走っているにもかかわらず、録画開始から1時間くらいたつと=が消えてしまってうまくいかなかったです。
最初は2時間番組が途中までしか録画されないのでEPGRECか、ハードウェアの問題か、HDDのスピンダウンの設定か、と色々疑ったのですが、実際の録画中にターミナルでatqを打っていたら急に消えたにもかかわらず、win機から見てるサンバのフォルダでファイルの容量が増えていくのでこれだとわかりました。

また、『ネオジェネシスふれんどり』さんはsortするのにatqの結果がdateコマンドの結果に近いものを想定しているっぽいけど、うちの環境では、
[root@NAS ~]# atq
38 2012-10-03 20:57 a apache

こんな感じなので、単にsort -nで大丈夫でした。
参考:ソートの分かりやすい解説→『あらびき日記』さんの『sortコマンドで複数キーによるソート

頭のほうのvncserver -kill :1してる部分はUltraVNCを使った後、killを忘れて、UltraVNC上でターミナルを開いたままUltraVNCのウィンドウを閉じてしまうので、そうなると、whoで常に誰かつながっていることになって、終われないのでvncサーバーが立ち上がってるにもかかわらず、クライアントがEstablishしてない場合サーバーをkillするというものです。
sleep10はたんにkillの時間を待ってるだけです。(killされたか判定が面倒だっただけ)

シャットダウンでもうまくいったけど、サスペンドの方がNASとして使うには理想的なので、サスペンドにしました。
SSDではないためか、CentOSだからか、DN2800MTだからか、復帰には20秒弱かかるけど、まぁ仕方ないか・・・・(サスペンドだからSSDは関係ないか・・・)

で、クロン登録 20分毎(0分、20分、40分)に実行。
最低気温が10度を下回るような寒い11月~4月はHDDを24時間動かしていたほうがいいのではないかということで、5月~10月のみ実行。
消費電力が約20wなので、30日でも約320円(22円/1kwh換算)なので、まぁ、保険料ということで・・・

[root@NAS ~]# crontab -e
*/20 * * 5-10 * /usr/local/bin/autosuspend.sh


それと、lsof,vncserver,pm-suspend ではsudoが必要なので
visudoで「Defaults requiretty」をコメントアウトです。

HP上からphpでサスペンドできるようにしようかとも思って途中まで作ったけど、port80が判定できなくなるし、まぁいっか。と思ってやめました。

『ネオジェネシスふれんどり』さんも書いてますけど、BIOSのRTC Timerとか使うのかと思ってたのにACPIすごいす。


<<追記>>
サスペンドにしてるから次の起動までの間に電源断があると、以前、起動時にメモリに読み込んだ情報が消えて次の予約時間が到達しても起動できずに予約録画が失敗するんだろうな、と思っていた。
ところが、電源を数秒抜いて停電を試してみたら、次の予約時間にはきちんとブートして予約録画が実行されていた。
当然メモリの内容は消えて起動しなおしてるようでuptimeは再度カウントを始めていた。
スクリプト的に自動でサスペンドへ移行したときは、誰もログインしていない状態=メモリが消えても特に作業内容が消えない状態なので、(vnc上で何かしててvncクライアントを終了した場合はvncのリモート上での作業状態はもともとスクリプトでkillされるが)メモリがクリアされて一からブートがかかっても何も問題はない。
ということで、この運用状態だと、シャットダウンやハイバネートを使う必要すらなくサスペンドで完璧に希望の動作が行われることがわかった。しかも、サスペンド状態の消費電力をワットチェッカーでみても0W(小数点以下測定不能)なので、ほとんど電気も食われていない。ほんとACPIすごいわ~~どうなってんの?

PageTop
自分用メモ

if [ `expr "$var" : '.*mojiretu'` -gt 0 ]; then
command
fi

"$var" : '.*mojiretu' で何でこうなるのかわからないけど、うまくいった。

if echo $var | grep -q 'mojiretu'; then
command
fi

test だったり [] だったり and条件が && でよかったり -a じゃなきゃだめだったり
半角スペースがあったらだめだったり、ないとだめだったり
もうシェルスクリプトわけわからん。IDE入れないとだめだ・・・

参考『Bシェルで変数の中の文字列を検索する方法について - Yahoo!知恵袋』まんまですが

PageTop
win7機を立ち上げた状態で、WoooのDLNAクライアントを立ち上げる(Woooリンク>AVネットワーク)と、win7機がみえる。
WMP(Winows Media Player)のDLNAサーバーが立ち上がってるようだけど、そんなことした覚えもない。

WMPを立ち上げると起動するのか、ちょっと迷惑なのでこれを切ることに。

管理ツール>サービス>Windows Media Player Network Sharing Service

を『停止』して、スタートアップの種類を『手動』から『無効』に。

おしまい。

WMPの設定のどこかにあるのかもしれないけど、基本的に使わないし面倒なんでこれでいいことにする。

PageTop
EPGrecの 環境設定>動作ログを見る でログがみれた。
けど、ログがえらい長くてブラウザが瞬間固まる。
ので、何とかしようと検索したら、ありました。

『作家になりたいです』さんの『epgrec ログ長すぎ ログ長い ログ制限 ログ削除

まんま頂いてしまいます。
さらに、秒単位で同じ日時のログも降順になるようにしました。

/var/www/epgrec/logViewer.php

$arr = DBRecord::createRecords( LOG_TBL, " ORDER BY logtime DESC" );
      ↓
$arr = DBRecord::createRecords( LOG_TBL, " ORDER BY logtime DESC , id DESC LIMIT 1000" );

だそうです。
ふむ。ログはmysqlのDBに入ってるのね。
SQLなんてほんと忘れてますね。もうIDE(統合開発環境)で自動で補完してくれるのに慣れたら、そうじゃない環境だと一行書くのにも検索で何分もかかるわー。(元からだけど・・・)

<<追記1>>
ログは10日分が記録されるぽい。
参照:/var/www/epgrec/storeProgram.inc.php garbageClean() 呼び出し先はgetepg.php
Mysqlのテーブル名はデフォルトだとRecorder_logTbl
# mysql -u username -p
Enter password:
mysql> use PT3;
mysql> SELECT * FROM Recorder_logTbl;
<<追記2>>
何箇所かログ出力を追加したら、同時刻に出力されるログの順番が気になったので、idでも降順になるようにしました。
, id DESC

PageTop
DN2800MTは、チップセットのNM10Expressがヒートシンクレスのむき出しな訳ですが、指先で触ってみるとこれが熱い!

いつごろ誰に教わったか忘れましたが、指先で3秒押さえていられる温度が80度、ということなので、まさにこのチップセットがそのくらいの温度になっている感じ。
ただ、BIOSでみてもLinux上のlm-sensorでみてもその辺の温度を示してるセンサーはなく、温度センサー(とはいっても熱電対ではなくてダイオードとかpn接合よね)は付いていないのかなぁ・・・・
しかし、こんな熱くてだいじょぶかぁ?
一応スペックシートにはNM10Expressだけmax temperatureが115度とかになってるようだけど・・・

ただ、絶対的な熱量は小さいみたいで、電源切るとあっという間に冷えるし、料理用の温度計で温度を測ろうとしても、先がとがってるせいか、温度計のセンサーがうまく加熱されずに40度すら達しない程度。

まぁ、でもこんなに熱いと(蟹チップの比ではない)さすがに心配になる訳で、ちょっと調べたらやはり、ヒートシンクをつけてる人もいるのね。

しかもしっかり温度計算までされて、感心するです。
『プローブ』さんの『D510MOのファンがうるさい場合の対策

で、ヒートシンクがパーツボックスの中にあったはずだなぁ~と探してみたものの、パワートランジスタとかのTO-220パッケージ用のもので、ちょっと流用が出来ない感じ。
で、何かいいものはないかと探したらアマゾンさんでAinex の HM-17が、282円(送料込み!!)
いや~~こんなちっこいもの一個送るのに、クロネコさんがA4くらいの段ボール箱を抱えてくるんですから・・・どーなってるんでしょ・・・

で、実物見ると、わかっちゃいたけど、小っさ。

しかも 銅色。  でもメッキかょ。 別にいいけど;;

テープも裏に張ってあるので、チップセットを一度アルコールで拭いてくっつけておしまい。
10円玉貼っといてもよかったかも知れないけど、熱伝導タイプの両面テープとか持ってないし、それ買ったら多分そっちの方が高いし・・・
ま、いっか。

で、効果のほどは・・・

こんなもんでも、結構効果あります。

指で触った感じ、貼っただけで10度くらい低そう。(ヒートシンクの上から触ってますけど・・・それ以外ないので・・)
まぁ、温度が低い、というよりちゃんと熱が伝わってるのが、感心したというか納得したというか・・
で、さらにそこらに転がってた9cmファンを5Vでまわして風を送るとえらい冷えてますよ。
多分ですけど40度くらい。

むき出しで、風を送ってたときは指で触ってもあちちのまんまだったのに、計算ではわかっていても、いやーヒートシンクってすごいなぁ・・・・空冷ってすごいなぁ・・・・
ファンまわしてもWD30EZRXの方がうるさいし、押入れに入れちゃうし、なので、CPU用というかチップセット用とHDD用にファンをまわして運用します。

PageTop
PS3MediaServerってPS3専用だと思ってた。しかもWindowsしかないと思ってた。
PS3MediaServerを入れるとWoooで見れるらしい。(何が?)ということで試してみた。

動くまでは行ったけど、woooで見れるまでは行ってない・・・

けど、ログを残しておきます。
まずは、
公式
PS3 Media Server (PMS) まとめwiki
LinuxでもOK! PS3 Media Server
CentOSにPS3 Media Serverをインストール
この辺を参考にいきます。

まずは、ffmpegが必要らしいけどminidlnaで入れてるはずなので確認
[root@NAS ~]# yum list installed | grep ffmpeg
ffmpeg.x86_64 0.6.5-1.el5.rf @rpmforge
ffmpeg-devel.x86_64 0.6.5-1.el5.rf @rpmforge
ffmpeg-libpostproc.x86_64 0.6.5-1.el5.rf @rpmforge
javaはMRTGで入れたはずだけど一応確認
[root@NAS ~]# yum list installed | grep java
あれなんもでてこん。
ほなこれで

[root@NAS ~]# find / -name java
/etc/pki/java
/usr/java
/usr/java/jdk1.7.0/demo/db/programs/vtis/java
/usr/java/jdk1.7.0/demo/db/programs/scores/java
/usr/java/jdk1.7.0/sample/jnlp/servlet/apps/app2/src/java
/usr/java/jdk1.7.0/sample/jnlp/servlet/apps/app3/src/java
/usr/java/jdk1.7.0/sample/jnlp/servlet/apps/app1/src/java
/usr/java/jdk1.7.0/bin/java
/usr/java/jdk1.7.0/jre/bin/java
/usr/bin/java
いっかな。
[root@NAS ~]#
さて、mplayerとか言うのが必要らしい。
ので入れてみる。

[root@NAS ~]# yum -y install mplayer
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
Setting up Install Process
No package mplayer available.  えーないじゃーん。
Error: Nothing to do
んー『MPlayerのインストール』ってのに書いてある通りにやってみよう
[root@NAS ~]# yum -y --enablerepo=freshrpms install mplayer*
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security


Error getting repository data for freshrpms, repository not found
だめか、ほなこれでは?
[root@NAS ~]# yum install --enablerepo=rpmforge -y mplayer
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* rpmforge: mirror.oscc.org.my
* updates: mirrors.163.com
~~略~~
Error: Package: aalib-1.4.0-5.el5.rf.x86_64 (rpmforge)
Requires: libgpm.so.1()(64bit)
Error: Package: mplayer-1.0-0.47.svn20100703.el5.rf.x86_64 (rpmforge)
Requires: libfribidi.so.0()(64bit)
Error: Package: mpg123-1.14.4-1.el5.rf.x86_64 (rpmforge)
Requires: libltdl.so.3()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
なんか進んだけど、足りないって言われてる気がする・・・・
けど、先に進んでみる?

[root@NAS ~]# yum -y install mencoder
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
Setting up Install Process
No package mencoder available. やっぱ普通にだめか。
Error: Nothing to do
[root@NAS ~]# yum install --enablerepo=rpmforge -y mencder
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* rpmforge: ftp.riken.jp
* updates: mirrors.163.com
Setting up Install Process
No package mencder available. だめか
Error: Nothing to do
[root@NAS ~]# yum search mplayer やっぱさっきのは入ってないのか?
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
=============================== Matched: mplayer ===============================
ffmpeg-libpostproc.x86_64 : Video postprocessing library from ffmpeg
ん?よくわからん・・・・わからんことは放置・・・・・
さっきのは多分入ってないのよね?

[root@NAS ~]# yum list installed | grep mplayer
でてこないね。
さっきのログ見ると
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

とかいってるからやってみるか・・・だめもとで・・・

[root@NAS ~]# yum install --enablerepo=rpmforge --skip-broken -y mplayer
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* rpmforge: ftp.riken.jp
* updates: mirrors.163.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mplayer.x86_64 0:1.0-0.47.svn20100703.el5.rf will be installed
~~略~~
Packages skipped because of dependency problems:
aalib-1.4.0-5.el5.rf.x86_64 from rpmforge
8:arts-1.5.10-10.el6.x86_64 from base
1:audiofile-0.2.6-11.1.el6.x86_64 from base
enca-1.10-1.el5.rf.x86_64 from rpmforge
1:esound-libs-0.2.41-3.1.el6.x86_64 from base
freeglut-2.6.0-1.el6.x86_64 from base
libass-0.9.11-1.el5.rf.x86_64 from rpmforge
libcaca-0.99-0.1.beta17.el5.rf.x86_64 from rpmforge
libdca-0.0.5-1.el5.rf.x86_64 from rpmforge
libmad-0.15.1b-4.el5.rf.x86_64 from rpmforge
libmpcdec-1.2.6-6.1.el6.x86_64 from base
libvdpau-0.4.1-1.el5.rf.x86_64 from rpmforge
lirc-0.6.6-4.el5.rf.x86_64 from rpmforge
live555-0-0.27.2012.02.04.el5.rf.x86_64 from rpmforge
lzo-2.06-1.el5.rf.x86_64 from rpmforge
mpg123-1.14.4-1.el5.rf.x86_64 from rpmforge
mplayer-1.0-0.47.svn20100703.el5.rf.x86_64 from rpmforge
mplayer-common-1.0-0.47.svn20100703.el5.rf.x86_64 from rpmforge
mplayer-fonts-1.1-3.0.rf.noarch from rpmforge
svgalib-1.9.25-1.el5.rf.x86_64 from rpmforge
xvidcore-1.2.2-1.el5.rf.x86_64 from rpmforge
依存関係でスキップって思いっきり言われてまっせ・・・
[root@NAS ~]# yum list installed | grep mplayer
[root@NAS ~]# find / -name mplayer
何も出てこんよ・・
スキップされるだけで全然だめジャン
カードリーダ関係をインストールしたとき古い記事見て赤い帽子の5の入れちゃったからかな・・・
確認・・・

[root@NAS ~]# cat /etc/yum.repos.d/rpmforge.repo
# Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag
# URL: http://rpmforge.net/
[rpmforge]
name = Red Hat Enterprise $releasever - RPMforge.net - dag
#baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
ふむ。5とかかいてあるな・・・
6にすればええんかな?
5で入れたやつはどうなっちゃうんだろ・・・ま、いっか。女は度胸男は愛嬌(違。
RPMforgeリポジトリ導入(RPMforge)』を参考に
yum-plugin-prioritiesとかは前回入れてるはずだから確認

[root@NAS ~]# yum list installed | grep yum-plugin-
yum-plugin-fastestmirror.noarch 1.1.30-14.el6 @base/$releasever
yum-plugin-priorities.noarch 1.1.30-14.el6 @base
yum-plugin-security.noarch 1.1.30-14.el6 @base/$releasever
プライオリティを書き足すらしい
[root@NAS ~]# vi /etc/yum.repos.d/CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[root@NAS ~]# cd /usr/local/src
/usr/local/srcに移動して、64bitのファイルをウェブ上で確認して、ダウンロード
[root@NAS src]# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
--2012-09-30 16:27:08-- http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
Resolving pkgs.repoforge.org... 78.46.17.228
Connecting to pkgs.repoforge.org|78.46.17.228|:80... connected.
HTTP request sent, awaiting response... 302 Found
~~略~~
Connecting to apt.sw.be|193.1.193.67|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12700 (12K) [application/x-redhat-package-manager]
Saving to: “rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm”

100%[======================================>] 12,700 20.8K/s in 0.6s

2012-09-30 16:27:12 (20.8 KB/s) - “rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm” saved [12700/12700]

[root@NAS src]# rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
Preparing... ########################################### [100%]
file /etc/apt/sources.list.d/rpmforge.list from install of rpmforge-release-0.5.2-2.el6.rf.x86_64 conflicts with file from package rpmforge-release-0.3.6-1.el5.rf.x86_64
file /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag from install of rpmforge-release-0.5.2-2.el6.rf.x86_64 conflicts with file from package rpmforge-release-0.3.6-1.el5.rf.x86_64
file /etc/smart/channels/rpmforge.channel from install of rpmforge-release-0.5.2-2.el6.rf.x86_64 conflicts with file from package rpmforge-release-0.3.6-1.el5.rf.x86_64
file /etc/sysconfig/rhn/sources.rpmforge.txt from install of rpmforge-release-0.5.2-2.el6.rf.x86_64 conflicts with file from package rpmforge-release-0.3.6-1.el5.rf.x86_64
file /etc/yum.repos.d/mirrors-rpmforge from install of rpmforge-release-0.5.2-2.el6.rf.x86_64 conflicts with file from package rpmforge-release-0.3.6-1.el5.rf.x86_64
file /etc/yum.repos.d/rpmforge.repo from install of rpmforge-release-0.5.2-2.el6.rf.x86_64 conflicts with file from package rpmforge-release-0.3.6-1.el5.rf.x86_64
いけたのか?これ
[root@NAS src]# yum -y update rpmforge-release
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
base | 3.7 kB 00:00
extras | 3.0 kB 00:00
updates | 3.5 kB 00:00
Setting up Update Process
No Packages marked for Update
なんかだめくさくね?前(5)の時のrpmforge.repoのファイルが古いのがだめか?
[root@NAS src]# cat /etc/yum.repos.d/rpmforge.repo
# Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag
# URL: http://rpmforge.net/
[rpmforge]
name = Red Hat Enterprise $releasever - RPMforge.net - dag
#baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
赤帽子5のまんまだもんな。
検索しマース。CentOSのフォーラムにこんなんがありますた。
removeとかやっちゃっていいもんなん?前入れたのも消えたりしないの?
ま、いっか、女は度胸男は愛嬌(違

[root@NAS src]# yum remove rpmforge-release
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package rpmforge-release.x86_64 0:0.3.6-1.el5.rf will be erased
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Removing:
rpmforge-release x86_64 0.3.6-1.el5.rf installed 14 k

Transaction Summary
================================================================================
Remove 1 Package(s)

Installed size: 14 k
あ、なんか消えるのはそれだけっぽいね。じゃいいか。
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : rpmforge-release-0.3.6-1.el5.rf.x86_64 1/1
warning: /etc/yum.repos.d/rpmforge.repo saved as /etc/yum.repos.d/rpmforge.repo.rpmsave
Verifying : rpmforge-release-0.3.6-1.el5.rf.x86_64 1/1

Removed:
rpmforge-release.x86_64 0:0.3.6-1.el5.rf

Complete!
以前のrpmforgeで入れたの大丈夫か確認するか・・・
[root@NAS src]# yum list installed | grep ffmpeg
ffmpeg.x86_64 0.6.5-1.el5.rf @rpmforge
ffmpeg-devel.x86_64 0.6.5-1.el5.rf @rpmforge
ffmpeg-libpostproc.x86_64 0.6.5-1.el5.rf @rpmforge
いいようだな。ほなやってみっか。
[root@NAS src]# rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
Preparing... ########################################### [100%]
1:rpmforge-release ########################################### [100%]
なにやらよい予感。どらどら?
[root@NAS src]# cat /etc/yum.repos.d/rpmforge.repo
### Name: RPMforge RPM Repository for RHEL 6 - dag
### URL: http://rpmforge.net/
[rpmforge]
name = RHEL $releasever - RPMforge.net - dag
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/rpmforge
mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1

[rpmforge-extras]
name = RHEL $releasever - RPMforge.net - extras
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/extras
mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge-extras
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-extras
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1

[rpmforge-testing]
name = RHEL $releasever - RPMforge.net - testing
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/testing
mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge-testing
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-testing
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
6になってますな。
enableを0にするんやろ?

[root@NAS src]# sed -e 's/enabled = [01]/enabled = 0/' /etc/yum.repos.d/rpmforge.repo
確認
[root@NAS src]# cat /etc/yum.repos.d/rpmforge.repo
### Name: RPMforge RPM Repository for RHEL 6 - dag
### URL: http://rpmforge.net/
[rpmforge]
name = RHEL $releasever - RPMforge.net - dag
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/rpmforge
mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1

[rpmforge-extras]
name = RHEL $releasever - RPMforge.net - extras
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/extras
mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge-extras
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-extras
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1

[rpmforge-testing]
name = RHEL $releasever - RPMforge.net - testing
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/testing
mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge-testing
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-testing
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
[root@NAS src]# yum -y update rpmforge-release
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* rpmforge: mirror.oscc.org.my
* updates: mirrors.163.com
1503 packages excluded due to repository priority protections
Setting up Update Process
No Packages marked for Update
ほならばいってみますか。
[root@NAS src]# yum install --enablerepo=rpmforge -y mplayer
~~略~~
だめやーん。足らんといわれてるlibgpm.so.1とかをいれてみるかー
検索しマース。libtool-ltdlに含まれてるらしい。入れたらえんやろ?

[root@NAS src]# yum -y install libtool-ltdl
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* rpmforge: ftp.riken.jp
* updates: mirrors.163.com
1503 packages excluded due to repository priority protections
Setting up Install Process
Package libtool-ltdl-2.2.6-15.5.el6.x86_64 already installed and latest version
Nothing to do
えー最新はいっとるとか・・・どゆこと?ほんまに?
[root@NAS src]# yum list installed | grep libtool
libtool-ltdl.x86_64 2.2.6-15.5.el6 @base/$releasever
ほんまですね・・・・
ああ、もう、やけくそや・・・・

[root@NAS src]# yum install libgpm.so.1
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* rpmforge: mirror-fpt-telecom.fpt.net
* updates: mirrors.163.com
1503 packages excluded due to repository priority protections
Setting up Install Process
No package libgpm.so.1 available.
Error: Nothing to do
ないよな・・・
でもためしとこか・・・

[root@NAS src]# yum install --enablerepo=rpmforge libgpm.so.1
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* rpmforge: ftp.riken.jp
* updates: mirrors.163.com
1503 packages excluded due to repository priority protections
Setting up Install Process
No package libgpm.so.1 available.
Error: Nothing to do
だめっすな。さっきのログのもう一個試すか・・・
[root@NAS src]# rpm -Va --nofiles --nodigest
なんかしたの?エラーも何も言わんけど?
やってみるか?

[root@NAS src]# yum install --enablerepo=rpmforge -y mplayer
~~略~~
だめですか。
あーもーわからん。
まんどくさい、ソース拾ってきてコンパイルしよ・・・・
CentOSでホームサーバー エンコード編』この辺を参考に

[root@NAS src]# wget ftp://ftp.mplayerhq.hu/MPlayer/releases/mplayer-export-snapshot.tar.bz2
--2012-09-30 17:41:52-- ftp://ftp.mplayerhq.hu/MPlayer/releases/mplayer-export-snapshot.tar.bz2
=> “mplayer-export-snapshot.tar.bz2”
Resolving ftp.mplayerhq.hu... 192.190.173.45, 193.225.187.203, 212.27.60.27, ...
Connecting to ftp.mplayerhq.hu|192.190.173.45|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD (1) /MPlayer/releases ... done.
==> SIZE mplayer-export-snapshot.tar.bz2 ... 6143920
==> PASV ... done. ==> RETR mplayer-export-snapshot.tar.bz2 ... done.
Length: 6143920 (5.9M) (unauthoritative)

100%[======================================>] 6,143,920 639K/s in 15s

2012-09-30 17:42:13 (397 KB/s) - “mplayer-export-snapshot.tar.bz2” saved [6143920]

[root@NAS src]# tar xjvf mplayer-export-snapshot.tar.bz2
mplayer-export-2012-09-30/
mplayer-export-2012-09-30/etc/
mplayer-export-2012-09-30/etc/menu.conf
~~めっちゃ多いんで略~~
mplayer-export-2012-09-30/libdvdnav/navigation.c
mplayer-export-2012-09-30/libdvdnav/dvdnav.c
[root@NAS src]# cd mplayer-export-2012-09-30
[root@NAS mplayer-export-2012-09-30]# ./configure
No FFmpeg checkout, press enter to download one with git or CTRL+C to abort

Initialized empty Git repository in /usr/local/src/mplayer-export-2012-09-30/ffmpeg/.git/
remote: Counting objects: 13365, done.
remote: Compressing objects: 100% (8547/8547), done.
remote: Total 13365 (delta 9360), reused 7266 (delta 4589)
Receiving objects: 100% (13365/13365), 13.66 MiB | 332 KiB/s, done.
Resolving deltas: 100% (9360/9360), done.
Checking for cc version ... 4.4.6
~~略~~
Checking for ebx availability ... yes
Checking for yasm ...
Error: yasm not found, use --yasm='' if you really want to compile without

Check "config.log" if you do not understand why it failed.
yasmってのがないって言われた。yasmってなにもの?
Yasm Downloads and Releases』よくわからんけどいれるか。
FFmpeg を CentOS で使う』を参考に
また/usr/local/srcに移って

[root@NAS mplayer-export-2012-09-30]# cd /usr/local/src
[root@NAS src]# wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
--2012-09-30 17:49:38-- http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
Resolving www.tortall.net... 69.55.238.110
Connecting to www.tortall.net|69.55.238.110|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1436502 (1.4M) [application/x-gzip]
Saving to: “yasm-1.2.0.tar.gz”

100%[======================================>] 1,436,502 347K/s in 4.0s

2012-09-30 17:49:43 (347 KB/s) - “yasm-1.2.0.tar.gz” saved [1436502/1436502]

[root@NAS src]# tar xzf yasm-1.2.0.tar.gz
[root@NAS src]# cd yasm-1.2.0
[root@NAS yasm-1.2.0]# ./configure
~~略~~
config.status: creating Makefile
config.status: creating po/Makefile.in
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libyasm-stdint.h commands
config.status: creating libyasm-stdint.h : _YASM_LIBYASM_STDINT_H
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
[root@NAS yasm-1.2.0]# make
~~略~~
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -g -O2 -MT vsyasm.o -MD -MP -MF .deps/vsyasm.Tpo -c -o vsyasm.o `test -f 'frontends/vsyasm/vsyasm.c' || echo './'`frontends/vsyasm/vsyasm.c
mv -f .deps/vsyasm.Tpo .deps/vsyasm.Po
gcc -std=gnu99 -g -O2 -o vsyasm vsyasm.o yasm-options.o libyasm.a
make[2]: Leaving directory `/usr/local/src/yasm-1.2.0'
make[1]: Leaving directory `/usr/local/src/yasm-1.2.0'
[root@NAS yasm-1.2.0]# make install
make install-recursive
make[1]: Entering directory `/usr/local/src/yasm-1.2.0'
Making install in po
make[2]: Entering directory `/usr/local/src/yasm-1.2.0/po'
/bin/mkdir -p /usr/local/share
~~略~~
make[3]: Leaving directory `/usr/local/src/yasm-1.2.0'
make[2]: Leaving directory `/usr/local/src/yasm-1.2.0'
make[1]: Leaving directory `/usr/local/src/yasm-1.2.0'
[root@NAS yasm-1.2.0]# cd /usr/local/src/mplayer-export-2012-09-30
[root@NAS mplayer-export-2012-09-30]# ./configure
Current branch master is up to date.
Checking for cc version ... 4.4.6
Checking for working compiler ... yes
Detected operating system: Linux
Detected host architecture: x86_64
Checking for cross compilation ... no
Checking for host cc ... cc
Checking for CPU vendor ... GenuineIntel (6:54:1)
Checking for CPU type ... Intel(R) Atom(TM) CPU N2800 @ 1.86GHz
~~略~~
NOTE: The --enable-* parameters unconditionally force options on, completely
skipping autodetection. This behavior is unlike what you may be used to from
autoconf-based configure scripts that can decide to override you. This greater
level of control comes at a price. You may have to provide the correct compiler
and linker flags yourself.
If you used one of these options (except --enable-menu and similar ones that
turn on internal features) and experience a compilation or linking failure,
make sure you have passed the necessary compiler/linker flags to configure.

If you suspect a bug, please read DOCS/HTML/en/bugreports.html.

[root@NAS mplayer-export-2012-09-30]# make
help/help_create.sh help/help_mp-en.h UTF-8
~~めちゃめちゃ長いので略~~
[root@NAS mplayer-export-2012-09-30]# make install
install -d /usr/local/bin /usr/local/etc/mplayer /usr/local/lib
install -m 755 -s mencoder /usr/local/bin
install -d /usr/local/share/man/man1
install -m 644 DOCS/man/en/mplayer.1 /usr/local/share/man/man1/
cd /usr/local/share/man/man1 && ln -sf mplayer.1 mencoder.1
install -m 755 -s mplayer /usr/local/bin
いけたみたいだ
[root@NAS mplayer-export-2012-09-30]# cd
[root@NAS ~]# yum --enablerepo=rpmforge install mencoder
~~略~~
Error: Package: mencoder-1.0-0.47.svn20100703.el5.rf.x86_64 (rpmforge)
Requires: libfribidi.so.0()(64bit)
Error: Package: mpg123-1.14.4-1.el5.rf.x86_64 (rpmforge)
Requires: libltdl.so.3()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
だめかー。ログみてみるー。あれ、mplayerと一緒に入ってるのか?
[root@NAS ~]# find / -name mencoder
/usr/local/src/mplayer-export-2012-09-30/mencoder
/usr/local/bin/mencoder
なんだあるや。
[root@NAS ~]# cd /usr/local/src
よっしゃ、とうとう本体入れるかー
[root@NAS src]# wget http://ps3mediaserver.googlecode.com/files/pms-generic-linux-unix-1.70.0.tgz
--2012-09-30 18:32:33-- http://ps3mediaserver.googlecode.com/files/pms-generic-linux-unix-1.70.0.tgz
Resolving ps3mediaserver.googlecode.com... 74.125.31.82
Connecting to ps3mediaserver.googlecode.com|74.125.31.82|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12648701 (12M) [application/x-gzip]
Saving to: “pms-generic-linux-unix-1.70.0.tgz”

100%[======================================>] 12,648,701 852K/s in 16s

2012-09-30 18:32:49 (764 KB/s) - “pms-generic-linux-unix-1.70.0.tgz” saved [12648701/12648701]

[root@NAS src]# tar zxvf pms-generic-linux-unix-1.70.0.tgz
pms-1.70.0/LICENSE.txt
pms-1.70.0/CHANGELOG
pms-1.70.0/README.md
pms-1.70.0/plugins/
pms-1.70.0/documentation/
pms-1.70.0/documentation/css/
pms-1.70.0/documentation/images/
pms-1.70.0/logback.xml
~~長い~~
pms-1.70.0/pms.jar
pms-1.70.0/tsMuxeR
pms-1.70.0/PMS.sh
[root@NAS src]# mkdir /opt/pms
[root@NAS src]# cp -r ./pms-1.70.0/* /opt/pms/
[root@NAS src]# cd /opt/pms/
ぱーみっしょん。
[root@NAS pms]# chmod 755 PMS.sh
[root@NAS pms]# chmod 755 pms.jar
[root@NAS pms]# chmod 755 tsMuxeR
本体はダウンロードして解凍するだけかー。
とりあえず立ち上げてみっかー

[root@NAS pms]# ./PMS.sh
18:57:07.456 [main] DEBUG o.a.c.c.PropertiesConfiguration - FileName set to PMS.conf
18:57:07.480 [main] DEBUG o.a.c.c.PropertiesConfiguration - Base path set to /root/.config/PMS
18:57:08,774 |-ERROR in ch.qos.logback.core.util.ContextUtil@487096f3 - Failed to get local hostname java.net.UnknownHostException: NAS.localdomain: NAS.localdomain
~~略~~
WARN 2012-09-30 18:57:10.096 [main] Error loading libzen: Unable to load library 'zen': libzen.so: cannot open shared object file: No such file or directory
^C
libzenがないって言われた気がするー
検索しマース。『PS3でPC内の動画を再生したい! 〜破〜』なんか同じような人がいるなー
でもバージョンも違うし64bitやし。
で、検索して出てきたのがソースフォージのここ『ZenLib』とここ『Zenlib-devel

[root@NAS pms]#
[root@NAS pms]# cd /usr/local/src
だうんろーどのぱすはどこや?
[root@NAS src]# wget http://sourceforge.jp/projects/sfnet_zenlib/downloads/ZenLib/0.4.24/libzen-devel-0.4.24-1.x86_64.CentOS_6.rpm/
--2012-09-30 19:18:27-- http://sourceforge.jp/projects/sfnet_zenlib/downloads/ZenLib/0.4.24/libzen-devel-0.4.24-1.x86_64.CentOS_6.rpm/
Resolving sourceforge.jp... 202.221.179.21
Connecting to sourceforge.jp|202.221.179.21|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: “index.html”

[ <=> ] 20,105 --.-K/s in 0.1s

2012-09-30 19:18:28 (193 KB/s) - “index.html” saved [20105]
あら、だみだ。
[root@NAS src]# rm ./index.html
rm: remove regular file `./index.html'? y
わからんからwinで落としてサンバで渡すか
[root@NAS src]# mv /home/share/libzen0-0.4.24-1.x86_64.CentOS_6.rpm /usr/local/src
[root@NAS src]# mv /home/share/libzen-devel-0.4.24-1.x86_64.CentOS_6.rpm /usr/local/src
[root@NAS src]# rpm -ivh libzen0-0.4.24-1.x86_64.CentOS_6.rpm
warning: libzen0-0.4.24-1.x86_64.CentOS_6.rpm: Header V3 DSA/SHA1 Signature, key ID 0c9a6ded: NOKEY
Preparing... ########################################### [100%]
1:libzen0 ########################################### [100%]
[root@NAS src]# rpm -ivh libzen-devel-0.4.24-1.x86_64.CentOS_6.rpm
warning: libzen-devel-0.4.24-1.x86_64.CentOS_6.rpm: Header V3 DSA/SHA1 Signature, key ID 0c9a6ded: NOKEY
Preparing... ########################################### [100%]
1:libzen-devel ########################################### [100%]
[root@NAS src]# cd /opt/pms/
[root@NAS pms]# ./PMS.sh
19:33:14.743 [main] DEBUG o.a.c.c.ConfigurationUtils - ConfigurationUtils.locate(): base is null, name is /root/.config/PMS/PMS.conf
~~略~~
19:33:15,929 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
19:33:15,938 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2222537a - Registering current configuration as safe fallback point

なんかこれで立ち上がってるの?らしい。
^C 終わるときはctrl + cか。
[root@NAS pms]#


portが5001番らしい
firewallね。
PMSが動くとこまでは行ったけどー。
woooからはファイルが参照できるけどー。minidlnaで見れてたファイルすら再生できんしー。
win7のwmpで見たらファイルすら見れないしー。

というわけで、ここまで来て放置・・・・・・・・

PageTop
たまにチェックしたくなったときに忘れるので自分用メモ

地デジ
# checksignal 13 --device /dev/pt3video2

BS
# checksignal 101 --device /dev/pt3video1


C/Nわかるのいいなぁ。
今度からこれでアンテナ調整しよう。

ついでに、epgrecのdo-record.shのテスト
# OUTPUT=/media/sdb/share/Video/pttest.ts CHANNEL=13 DURATION=15 TUNER=0 MODE=0 TYPE=GR /var/www/epgrec/do-record.sh

recpt1のテスト
# recpt1 --b25 --strip 13 10 /media/sdb/share/Video/recpt1test.ts

ついでに手動でのepgの取得
# /var/www/epgrec/getepg.php

PageTop
検索すると出てくるのですが、トップランクで検索できないので、毎回探すのがちょっと面倒・・・
かといって、覚えてられないので 自分用メモ


[root@NAS ~]# /var/www/epgrec/recomplete.php [録画id]

録画id は 予約一覧の id の数字
録画済一覧に残っていても消える
録画済一覧のほうで番号を見るには 変更 のボタンで出てくる

参考『Dazzling World 2』さんの『epgrecで録画予約一覧や録画済一覧から番組名を消せない』(まんまです)

PageTop
なんだか分からないけど、win7機からつないでいて速度が出ないので、ドライバをアップデートします。(どこかでそんなことをみたので・・)

で、IntelのダウンロードセンターでDN2800MTで探してもLanドライバーは出てこず、こんどはLanチップの種類を調べてみると、公式ではなくてどっかのお店のHP
Onboard LAN Intel 82574L と書いてあるので、これを元にドライバーを探します。
で、ありました。

Network Adapter Driver for PCI-E Gigabit Network Connections under Linux*
ファイル名:e1000e-2.1.4.tar.gz
バージョン:2.1.4
日付:2012/09/11
ステータス:最新

という訳で入れていきます。
まぁ、readmeに書いてあるので、その通りですけど自分用にメモっときます。(コマンドとか3秒後に忘れてるからね・・)

[root@NAS ~]# lsmod  ←ドライバを調べる 参考:『逆引きUNIXコマンド/モジュールのバージョンなどを調べる方法
Module                  Size  Used by
fuse 66891 2
autofs4 27212 3
w83627ehf 24292 0
~~ 略 ~~
serio_raw 4818 0
i2c_i801 11231 0
i2c_core 31276 1 i2c_i801
pt3_drv 35444 0
e1000e 222041 0  ←readmeによるとこんな名前らしい
ext4 371331 3
mbcache 8144 1 ext4
jbd2 93312 1 ext4
sd_mod 39488 6
crc_t10dif 1541 1 sd_mod
ahci 40871 4
video 21032 0
output 2505 1 video
dm_mirror 14101 0
dm_region_hash 12170 1 dm_mirror
dm_log 10122 2 dm_mirror,dm_region_hash
dm_mod 81692 2 dm_mirror,dm_log

[root@NAS ~]# /sbin/modinfo e1000e ←詳細をみます
filename: /lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/e1000e/e1000e.ko
version: 1.9.5-k  ←1.9.5らしいので今回の2.1.4にします
license: GPL
description: Intel(R) PRO/1000 Network Driver
author: Intel Corporation,
srcversion: 7E202E3E3946DC1ED84530F
alias: pci:v00008086d00001503sv*sd*bc*sc*i*
alias: pci:v00008086d00001502sv*sd*bc*sc*i*
~~ 略 ~~
parm: CrcStripping:Enable CRC Stripping, disable if your BMC needs the CRC (array of int)
parm: EEE:Enable/disable on parts that support the feature (array of int)
[root@NAS ~]# cd /usr/local/src  ←ソースをダウンロードするディレクトリへ
[root@NAS src]# rmmod e1000e ←おっと、古いのアンロードしろってあったな
って、sshでwin7からやってたからアンロードした瞬間つながらなくなりました!!
やっぱりか・・・
ってか、それ以前にまだダウンロードしてネーじゃん。3時間しか寝てないとこーなりますな・・・

気を取り直して、押入れの端末を引っ張り出して・・・

[root@NAS ~]# cd /usr/local/src   ↓intelのダウンロードのリンクで
[root@NAS src]# wget http://downloadmirror.intel.com/15817/eng/e1000e-2.1.4.tar.gz&lang=jpn&Dwnldid=15817
[1] 2408
[2] 2409
[2]+ Done lang=jpn
[root@NAS src]# --2012-09-29 12:16:45-- http://downloadmirror.intel.com/15817/eng/e1000e-2.1.4.tar.gz
Resolving downloadmirror.intel.com... 210.155.101.196, 106.187.61.19
Connecting to downloadmirror.intel.com|210.155.101.196|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 259786 (254K) [application/x-gzip]
Saving to: “e1000e-2.1.4.tar.gz”

100%[======================================>] 259,786 272K/s in 0.9s

2012-09-29 12:16:47 (272 KB/s) - “e1000e-2.1.4.tar.gz” saved [259786/259786]

^C  ←あれ?saveされたのに終わらんからctrl+C
[1]+ Done wget http://downloadmirror.intel.com/15817/eng/e1000e-2.1.4.tar.gz
[root@NAS src]# tar zxf e1000e-2.1.4.tar.gz  ←もうreadmeこぴぺっす
[root@NAS src]# cd e1000e-2.1.4/src
[root@NAS src]# ping 192.168.0.1 ←あ、再起動したから古いモジュールが読まれてるかな?
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=128 time=0.563 ms   ←でしたね。
64 bytes from 192.168.0.1: icmp_seq=2 ttl=128 time=0.750 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=128 time=0.560 ms
^C
--- 192.168.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2157ms
rtt min/avg/max/mdev = 0.560/0.624/0.750/0.091 ms
[root@NAS src]# rmmod e1000e  ←再度アンロード
[root@NAS src]# ping 192.168.0.1
connect: Network is unreachable  ←OKね
[root@NAS src]# uname -r
2.6.32-279.el6.x86_64  ←カーネルバージョンのフォルダの下に古いのがあるらしい
You have new mail in /var/spool/mail/root   ←Lanが切れたぞとかメールが来たか?
[root@NAS src]# ls -la /lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/e1000e/ ←確認
total 368
drwxr-xr-x. 2 root root 4096 Jul 8 02:17 .
drwxr-xr-x. 37 root root 4096 Jul 8 02:17 ..
-rwxr--r--. 1 root root 365336 Jun 22 22:20 e1000e.ko ←あった
[root@NAS src]# mv /lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/e1000e/e1000e.ko "/lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/e1000e/e1000e(copy).ko"
        ↑古いのバックアップを取っておくか・・・
[root@NAS src]# ls -la /lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/e1000e/ ←確認
total 368
drwxr-xr-x. 2 root root 4096 Sep 29 12:23 .
drwxr-xr-x. 37 root root 4096 Jul 8 02:17 ..
-rwxr--r--. 1 root root 365336 Jun 22 22:20 e1000e(copy).ko
[root@NAS src]# make install ←入れるよー
make -C /lib/modules/2.6.32-279.el6.x86_64/build SUBDIRS=/usr/local/src/e1000e-2.1.4/src modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-279.el6.x86_64'
CC [M] /usr/local/src/e1000e-2.1.4/src/netdev.o
CC [M] /usr/local/src/e1000e-2.1.4/src/ethtool.o
CC [M] /usr/local/src/e1000e-2.1.4/src/param.o
CC [M] /usr/local/src/e1000e-2.1.4/src/82571.o
CC [M] /usr/local/src/e1000e-2.1.4/src/ich8lan.o
CC [M] /usr/local/src/e1000e-2.1.4/src/80003es2lan.o
CC [M] /usr/local/src/e1000e-2.1.4/src/mac.o
CC [M] /usr/local/src/e1000e-2.1.4/src/nvm.o
CC [M] /usr/local/src/e1000e-2.1.4/src/phy.o
CC [M] /usr/local/src/e1000e-2.1.4/src/manage.o
CC [M] /usr/local/src/e1000e-2.1.4/src/kcompat.o
LD [M] /usr/local/src/e1000e-2.1.4/src/e1000e.o
Building modules, stage 2.
MODPOST 1 modules
CC /usr/local/src/e1000e-2.1.4/src/e1000e.mod.o
LD [M] /usr/local/src/e1000e-2.1.4/src/e1000e.ko.unsigned
NO SIGN [M] /usr/local/src/e1000e-2.1.4/src/e1000e.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.32-279.el6.x86_64'
gzip -c ../e1000e.7 > e1000e.7.gz
# remove all old versions of the driver
find /lib/modules/2.6.32-279.el6.x86_64 -name e1000e.ko -exec rm -f {} \; || true
find /lib/modules/2.6.32-279.el6.x86_64 -name e1000e.ko.gz -exec rm -f {} \; || true
install -D -m 644 e1000e.ko /lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko
/sbin/depmod -a || true
install -D -m 644 e1000e.7.gz /usr/share/man/man7/e1000e.7.gz
man -c -P'cat > /dev/null' e1000e || true
Formatting page, please wait...
You have new mail in /var/spool/mail/root
[root@NAS src]# ls -la /lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/e1000e/ ←確認
total 368
drwxr-xr-x. 2 root root 4096 Sep 29 12:23 .
drwxr-xr-x. 38 root root 4096 Sep 29 12:25 ..
-rwxr--r--. 1 root root 365336 Jun 22 22:20 e1000e(copy).ko ←あれ古いのしかない
[root@NAS src]# ls -la /lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/ethernet/intel/e1000e/
         ↑インストールログ見ると違うところにできるんじゃないか・・・・
total 5500
drwxr-xr-x 2 root root 4096 Sep 29 12:25 .
drwxr-xr-x 3 root root 4096 Sep 29 12:25 ..
-rw-r--r-- 1 root root 5623634 Sep 29 12:25 e1000e.ko ←あったね。
[root@NAS src]# insmod /lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko ←読み込み
[root@NAS src]# ping 192.168.0.1 ←ためしうち
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=128 time=0.599 ms  ←OK
64 bytes from 192.168.0.1: icmp_seq=2 ttl=128 time=0.793 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=128 time=0.568 ms
^C
--- 192.168.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2078ms
rtt min/avg/max/mdev = 0.568/0.653/0.793/0.101 ms
[root@NAS src]# /sbin/modinfo e1000e ←確認
filename: /lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko
version: 2.1.4-NAPI  ←よかよか。NAPIってなん?
license: GPL
description: Intel(R) PRO/1000 Network Driver
author: Intel Corporation,
srcversion: 0809529BE0BBC44883956AF
alias: pci:v00008086d0000153Bsv*sd*bc*sc*i*
alias: pci:v00008086d0000153Asv*sd*bc*sc*i*
~~ 略 ~~
(array of int)
parm: EEE:Enable/disable on parts that support the feature (array of int)
parm: Node:[ROUTING] Node to allocate memory on, default -1 (array of int)
parm: debug:Debug level (0=none,...,16=all) (int)
[root@NAS src]#


うちの環境がまだルーターとハブが100Mbpsなんだけど、一応12MBps(96Mbps)くらい出るようになりました。
アップデートする前は2MBpsくらいしか出てなかったなー。

と思ったら、12Mbps出たのは一回だけで、その後はあまりスピードが出ません。
上はHDDで下はtempfs(ramdisk)やっぱり回線だよなぁ・・・もしかして、つないでるThinkPadがタコなのか?
cdm_dn2800mt.png
よくわからないベンチ結果だけど、一番スピードが出そうなSequenceReadで6MBpsって理論値12.5MBps(100Mbps)の半分以下じゃないか・・・USBじゃないんだから・・・

PageTop
半年ほど前に、自分用としては初のノートパソコンにThinkPadE525を買いました。
20年近く(以上?)パソコンを使ってきてて自分用のPCとしては、初の日本語キーボードです。
BTOでUSキーボードが選べるからThinkPadにしようと思っていたのに、安売りのがあったんでおもわず日本語キーボードなのに買っちゃったという意味不明なことをしてます・・・

で、
日本語 だからという訳ではないんですが、ファンクションキーがマルチメディア仕様になっています。
そこまでは、まぁ、許せます。
FnキーとCtrlキーが普通は逆じゃないかと思う位置関係です・・・ちょっと許せませんけど、とりあえずスルーします。

ファンクションキーを使うために『Fn』キーを押しながらマルチメディア仕様のファンクションキーを押すと、ファンクションキーとして使えるわけですが、この『Fn』キーをずっと押していると、ファンクションキーを『Fn』キーなしで、マルチメディア仕様として使うか、ファンクションキーとして使うか選べるダイアログが出てきます。(文字だとあほややこしいですが・・)
まぁ、親切ですね。
ですが、このダイアログを出さなくする設定がどこにもありません。

なので、『Fn』キーを押しっぱなしで操作をしようとするとことごとく邪魔をされます。
  あほか


で、色々やって結局はほぼあきらめ・・・たんに サービスで『オンスクリーン表示』を無効にすることに。

これで、OSDが全部でなくなるかと思ったら、音量とモニタの明るさは出るのでまぁいいかと・・・

NumLockとCapsLockは小さいのがピョロッと右下に出るので、まぁ、わかるっちゃ分かるんですが、無線のon/off、マイクのon/off、ビデオカメラのon/offなんかは出来なくなりました。

なんだかなぁ~~~~

<<追記>>
kp41病がひどいんでリカバリからやり直す際に、自分で書いた記事をよく読まずアンインストールしたら、音量とモニタの明るさのOSDも出なくなった。
で、インストールは、『C:\SWTOOLS\DRIVERS\HOTKEY\SETUP.EXE』で入れられるっぽい。
この機種ThinkPadEdgeE525はオリジナルのアプリ等のインストーラーやドライバは『C:\SWTOOLS\』配下にずらずらと入ってるっぽいので、そっちを消さない限り再度入れられるみたい。

PageTop
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。