mount
とか面倒なので、usbd.conf
に挑戦:usbd
が動いていないので、rc.conf
にusbd_enable="YES"
をいれて、「/etc/rc.d/usbd start
」。
/etc/usbd.conf
ってそこそこ書いてあるのね。
usbd
を一旦止めて、「usbd -d -v
」で、productとかの番号を取得。
んで、usbd.conf
を設定しして刺して…
mount
しないじゃん。
usbd
を手動で「usbd -d -v
」で起動して刺してみる。
どうも、usbd
の反応が速過ぎてda0
が生える前にattach
に書いたmount
が動いているようだ。
attach "/bin/sleep 1;/sbin/mount /U"
」とかしてみたら、うまくmount
された。
しかし、抜いて見ると…
あ、こっちもタイミングが合わないのか。
「detach "/sbin/umount /U"
」が効く前にda0
がなくなってumount
出来てないじゃん。
umount -f /U
」したら…固まってしまった。
またresetか。
どうもいかんなぁ。
mount
だけ自動化されてもあまり嬉しくないな。
ということで、usbd
を使うのを諦めた。
しかし、こんなことを繰り返していると永遠に動画encodingが終らないぞ。
fsck_msdosfs
。
ちょっとおかしなところがやっぱりあったみたいだ。
しかし、「FAT starts with odd byte sequence (f8ffff0ffffffff7)」とかいうのは何回fsck
しても変わらんな。
online manualによると開発途上だそうなので、気にするのはやめよう。
んで、ついでにいくつかファイルを複写しておくか。
fwohci1: BUS reset fwohci1: node_id=0xc800ffc2, gen=11, CYCLEMASTER mode firewire1: 3 nodes, maxhop <= 2, cable IRM = 2 (me) firewire1: bus manager 2 (me) sbp1:0:0 request timeout(cmd orb:0x53afb634) ... agent resetしばらく外付HDのaccess lampが消えているから何かと思ったけど、これか。 しかし、しばらくしたら復活したな。 ちゃんと吸い出せていると思っていいのかなぁ。 現在56GB取り出せたところ。
sbp1:0:0 request timeout(cmd orb:0x53afb8a4) ... agent reset sbp1:0:0 request timeout(cmd orb:0x53afb9dc) ... target reset sbp1:0:0 request timeout(mgm orb:0x53afbb14) ... reset start fwohci1: txd err=14 ack busy_X fw_asybusy fwohci1: txd err=14 ack busy_X fw_asybusy fwohci1: txd err=14 ack busy_X fw_asybusy fwohci1: txd err=14 ack busy_X fw_asybusy firewire1: max_asyretry exceeded sbp1:0:0 sbp_reset_start failed: resp=16 firewire1: split transaction timeout dst=0xffc1 tl=0x1a state=8 sbp1:0:0 sbp_reset_start failed: resp=60うーん。 5秒間隔ぐらいでaccess lampはつくけど、全然file sizeは大きくならないな。 ダメかな。
dd
を止められないなぁ。
da0
を消したら、
dd
も止まった。
mdconfig -a -f
」して、fsck
するとどうなるだろうか。
こんどは、なんとなく「fsck_ufs -b 376512
」してみる。
fsck -y
してみる。
fsck
しろということなので、そうしてみた。
fsck
してもダメみたいだ。
ま、全体のfilesizeがインチキになっているから仕方ないかな。
mount -r
」でreadonlyで強制mount
したら9GB程は見えた。
まだ直る可能性はありそうだな。
とりあえず現状で見えるものだけでも救い出しておくか。
ad1
として認識。
早速、吸いだし開始。
このペースだと2時間強ということか。
とすると、ちょっと録画予約に引っかかるな。
その間中断するか、それともとり損なってもそれほど痛くない奴ということで、どれくらいbusに影響を与えるかという実験をするか。
多分、普通の操作でもなんか一瞬止まる感じが色々しているので、うまくいかないのではないかという気はするんだが。
fwcontrol -R
」を手動で実行すればいいじゃん。
ということで、実行したらoverrunしまくり。
さすがにダメなようだ。
dd
をctrl-z。
153GBほど読んだところ。
fg
。
dd
が終ったので、ad1
に対して「fsck -y
」。
思ったほどは問題を検出せず無事終了。
もう一度fsck
しても問題が起きなかった。
よかった。
mount
して様子見。
最後の1 title分だけ、さっぱり消えてなくなっているだけのようだ。
ということで、転写開始…
って、おや?
空きがあんまりないな。
ということで、minfreeを0、またsoft-updatesもonになっていたのでoffにする。
shutdown -p
」してWD2500を外す。
とりあえずは目標を達成できたか?
md
経由で使えるようにして、fsck
とかちゃんと動くか実験。
md
経由でも同様の結果が得られた。
さすがに250GBを持ち続けるのは厳しいので、さっさと消去。
fwohci1: BUS reset fwohci1: node_id=0xc800ffc2, gen=37, CYCLEMASTER mode firewire1: 3 nodes, maxhop <= 2, cable IRM = 2 (me) firewire1: bus manager 2 (me)を食らって、外付HDのaccess lampは消灯、 何故か内蔵HDのaccess lampは付きっぱなし。
mplayer
で視聴中のも固まったので諦めてreset。
fsck
に期待するつもりだったが、なんか/var
で「error: pendingどーのこーの」と出ていて、またppp
でnetworkのaccess lampは点滅し続けるも先に進まず。ということで、諦めてsingle user modeで起動。
fsck
。
念のため-y
optionは付けずに起動。
encoding中だったこともあって、それなりに壊れているな。
/var
の方は、確かに故障箇所が多いようでlost+found
も作られた。
fsck
も終ったので起動。
ppp
も無事動いて復活。
/var/lost+found
にあったファイルはゴミにしか見えなかったので、消去。
fsck
。
いくつか引っかかったが原則問題無く終了。
んでmount
して、内蔵HDの中身の複写を再開。
fwohci1: BUS reset fwohci1: node_id=0xc800ffc2, gen=4, CYCLEMASTER mode firewire1: 3 nodes, maxhop <= 2, cable IRM = 2 (me) firewire1: bus manager 2 (me)ぎょぎょ。 と、思ったが固まるというようなことはなかった。 なんかcableが緩んでいるとかあるのかなぁ。
umount
して、mount
しようとしたら、「mount: /dev/da0s1d on /fw: incorrect super block」。
恐いようぉ。
とりあえず、外付HDの電源を落す。
fwcontrol -u 1 -r
」を何回か連打してda0
の認識を無くしてから電源on。
んでfsck
。
newfs -N
」でsuperblock番号を調べて最初の番号が160であることを確認。
で「fsck_ufs -b 160
」。
なんかいっぱい聞いてくるぞ。
どうしようかなぁ。
dd
で吸いだし開始。
このペースだと4時間弱かかるな。
うーん。
動画encoding始めるか。
mount_msdos
して、何も考えずにMicrosoft ASF形式のファイルをドカドカcp
してみる。
お。
拡張子をwma
に変更するとか、MP3形式にするとかせず、ちゃんと認識して聞けるじゃん。
素晴らしい。
しかもmplayer
では化けていた日本語のclip infoとかもちゃんと読めるのがよろしい。
shutdown -p
。
前、コンデンサがおかしいことが発見された時に開けてから3カ月ぐらいは経っているような気がするので、掃除の準備もするか。
その間にCPUとかも冷えるだろう。
/dev/fwmem
と繋がっているのと違うバスに対して行なったが、どうもEUIの方が優先されて効いてしまった気がする。
そういうものなのか。
5分ほど録画失敗。
本qは火曜→水曜が混んでいて大変だ。
ServerTokens Prod
」を書き足してみた。
こういうこと出来るのだいぶ前から気がついていたが、やるのすっかり忘れていた。
^^;
Content-Length
で2^31バイトを越えるファイルの場合の誤動作をfixをしようとしていてふと思い出した。
make
がコケていたasir2000。
今日はmake
が通ったので嬉しい。
15 1 * * tue $HOME/ss/tvrec -x 5 1621 $HOME/rec/haruhi07T.avi 30 1 * * tue $HOME/ss/tvrec -u 1 -s 29.8 -q 4.5 12 1696 $HOME/r1/simoun07T.aviといった感じで、時間順に
crontab
登録していっているんだけど2系統まとめてかいてあるとどれがどれだか分からなくなってきた。
^^;
間違って同じfirewire busに対して時間が重なるような登録をしても見落としそうな気がしてきた。
bus毎に表記順を並び変えるべきか。
mencoder
が一度にたくさんは走らないようにするlogic、ちゃんと動いているようで嬉しい。
とりあえず今のところ問題は起きていないようだ。
ipfw log logamount
」がいっぱいになったようなので、「ipfw resetlog
」してみた。
また、/etc/daily.local
を作って、1行書いてみた。
mencoder
を同時にあんまりたくさんは動かないようにするlogicを有効にしたTV録画予約scriptを朝有効にしておいたら…
なんかdead lock状態になっている気が…
とりあえず手動で動き出させておいたけど、あとで様子を見ねば。
というか、次の録画は何時だ?
2200か。
それまでに解決せねば。
tcsh
組み込みコマンドのkill
で、存在しないprocessに対して実行するとscriptが、そこで終っちゃうのね。
Ad Hocだが、外部コマンドのkill
を使って解決することにした。
mencoder
が15本も溜っているし。
昨日の夕方録画分からだな。
この後、0958-1810は空き時間だけどこの間に終れるんだろうか。
とりあえず今日については手作業で同時encodingにすると、
なかなか進まないので「kill -STOP
」して「echo kill -CONT|batch
」してみた。
現在、53GB+44GBがDVで残っている。
うーむ。
ここまで一時的に使うことを想定して空けておかなければならないとすると結構来るものがあるなぁ。
もうちょっとscriptの方を工夫しないといかんなぁ。
fwcontrol
が走っている時はencodingを開始しないようにする仕組み入れてみた。
これで-d
optionで指定する秒数を毎回悩みながら設定する必要は低くなったかな。
しかし、mencoderが多数走っている場合にもencodingを始めない仕組みを入れたいんだがどうしたらいいんだろう。
いや、その条件だけだったら大したこと無いんだけど、first-in-first-outにしたいからなぁ。
randomというか適当startならできるんだが。
fwcontrol
とencodingがぶつからないようにするlogicだけでも正しく動くか確認するか。
しかし、現在動いているencodingの方にも影響してしまうな。
「kill -STOP
」&batch
の方をもう一度、あきらめて投入し直すか。
pkill -f
」で問題だったようだ。
さて、どうしようか。
mplayer
でstreamingを使うためのsource codeのbackupかな。
/etc
とかbackup取ったこと無かったな。
crashする前にとらねば。
/etc
とかのbackup。
HD→HDはすぐ終った。
ということでbzip2
圧縮。
crontab
の録画予約をNorthwood PCから移植しないとまずいな。
次の録画予約は…1700か。
Northwood PCの方は1730からだからそれまでにケリを付けねば。
fwcontrol -R
」は終って、mencoder
が動き出した。
途中「fwohci0: IR DMA overrun (0x40008011)」を食らわずにすんだ。
がcommand line起動の片方がNo matching processes belonging to you were foundとか主張している。 多分、ほぼ同時に起動したというタイミングの問題のような気がするが、 気になるのでscriptを確認しよう。
pkill -P
」でなんとかなるかな。
というか、こういう解決の方が美しいかな?
とりあえずこれで2系統1分録画の実験かな。
fwcontrol
がPPIDになってなかった。
んで「pkill -f
」で直接パターン指定をしたら…
しまった。
kill
したい対象のcommand line optionがpkill
のoptionに解釈されスゲーことに…
なんか、ねこそぎprocessがkill
されてしまった。
つまり、Xとか落されてしまった。
びっくり。
mencoder
開始は無条件に始めるようになっているからなぁ。
とりあえずencodeの開始を遅らせるoption -d
は準備しているので、手動では対応可能なのだが。
時間無いから、とりあえずはこれでいいか。
-d
optionの挙動がちょっと期待と違うぞ。
直さねば。
1800から同時2chの予定だから、ちょうどいい感じか。
しかし、ちょっと出かけたいんだが、こんな状況だと離れられないなぁ。
kill
したりせず、さらにちゃんとmencoder
が始まらず待っているようだ。
今のところかなり順調。
mencoder
も動き出しているようだ。
ということで、現状のscriptでちゃんと動くということがほぼ確認できたかな。
ということで、Northwood PCに残っている他の録画予約分もPrescott PCに移動するか。
mencoder
開始時に別のfwcontrol
が動いていないことを自動で確認する仕組みを入れるべきだな。
noisy period 5/ 1 mon -0605 0607-0609 0614-0657 0732 0736-0739 0745-0748 0801-0803 (-2111:clear) 4/30 sun -0758 0801-0807 0809-0814 0822-0823 0827-0837 0927-1005 1040-1239 1409-1414 1528-1544 1548-1554 1817-1821 1830 1846-1850 2343-100%そうというわけじゃないけど、やっぱり人間の生活時間帯に関係はしている気がする。
本ページの主張等は著者の所属組織に全く関係なく、個人としてのものです。