CoCoon CSV-E77のハードディスク換装メモ

2005.01.30 初稿
2005.02.06 HDD中身(解析?)情報とかClip-On写真追加とか
2005.02.12 記事を一部修正。リンク追加。
2005.06.19 記事を一部修正。リンク修正。
2005.08.22 記事を一部修正。禁断(?)の改造記事を追加。
2005.09.18 HDD交換ついでに作業記録の一部更新
2006.07.02 HDD交換ついでにサイズ計算機追加

「HDDイメージをください」というようなメールをよく貰いますが、配布するようなことはしません。ご自分で何とかしてください。

CoCoon CSV-E77のハードディスクが逝ってしまい、起動画面で止まってしまうようになってしまった。
10ヶ月で故障して保障期間で無料修理したことあるけど、当然今は切れているので有償修理。
噂では4〜5万かかる(当時、今は下がっている模様)ということなので、いくら大切でもそんなに払ってられない。
というわけで今更だけどHDD換装したところうまくいったのでメモを残しておく。来年くらいにまた自分で読むことになるかな。
↑1年未満でさっそく読んだ。灰色に変えているところは、実は不要な作業。まあ最初から不要とわかっていたところもあったけど。

用意するもの

CoCoon CSV-E77(関係ないと思うけど、今回試したのはプレミアムアップグレード済み)
PC
KNOPPIXのCD
新しいハードディスク(今回はMaxtor 4R160L0を使った)

分解

分解には、背面ネジ2つ外してパネルを取る。またネジ2つ外すと、外ケースが外れる。引き出しのような感じ。
次に、HDDが格納されている青いBOXの4隅のネジを外す。ちょっと長い柄のドライバじゃないと届かないかもしれない。
これだけでHDDのBOXが外れる。IDEケーブルと電源ケーブル外せば完了。
「剥がすな」シールはBOXの蓋についてるので、そのままで取り外せる。

バックアップ

今回はCoCoonのHDDから新しいHDDに直接移行ではなく、いったんHDDをバックアップすることにした。
これなら次回壊れたときにもHDDイメージのファイルをまた使えるからね。
PCに先ほどBOXごと外したHDDを接続。ちなみに4A160J0(Maxtor 160Gのボールベアリング)でジャンパはMasterになっていた。
KNOPPIX(手元に焼いてあった3.4を使用)で起動する。
partimageとかでバックアップできるかわからないから、dd で無難に取ることにした。
とりあえずバックアップするためにシステムは無圧縮で6Gほど必要。
#後でわかったが、hdc2,hdc3はバックアップ不要だった&圧縮するとかなり小さいのでそんなにいらない。
最近NTFSばかりで書き込めるドライブが無いことに気づく。仕方ないのでUSB2接続の2.5インチHDDを使うことにした。

〜環境〜
sdb1  バックアップ先のUSB接続ハードディスク
hdc  CoCoonのハードディスク
    hdc1が録画データでデカイ。hdc2,hdc3は何だろう。hdc5〜hdc7がシステムと思われる。ファイルシステムはxfs。
    パーティション情報などは末尾の資料を参考のこと。
% sudo -s                     rootになって
# mount /dev/sdb1 /mnt/sdb1            マウントする

# cd /mnt/sdb1

# dd if=/dev/hdc  of=./mbr  bs=512 count=10240   mbrをバックアップ。countはこんなに必要ないけど念のため。
# dd if=/dev/hdc1 of=./hdc1 bs=512 count=10240   hdc1の一部をバックアップ。なんとなく。全部だと140G以上必要。
# dd if=/dev/hdc2 of=./hdc2 bs=512         全部バックアップ 約1G
# dd if=/dev/hdc3 of=./hdc3 bs=512         全部バックアップ 約1G
# dd if=/dev/hdc4 of=./hdc4 bs=512         全部バックアップといっても論理パーティションの頭だから小さい。

# dd if=/dev/hdc5 of=./hdc5 bs=512         全部バックアップ 約1G
# dd if=/dev/hdc6 of=./hdc6 bs=512         全部バックアップ 約1G
# dd if=/dev/hdc7 of=./hdc7 bs=512         全部バックアップ 約1G

hdc8ってのもあるけど、まともに見れなかったし、デバイスとしても認識できてなかった。
何かわからないけど、無くても使えた。
hdc8はスワップ領域なのでバックアップは不要。
hdc1のバックアップが少ないのに時間かかったり、hdc2もhdc3も吸出しが妙に遅い箇所があったりとHDD逝った状態だった。
幸い必要な部分は死んでなかったようで全部バックアップできた。hdc1の一部が完全に駄目ということかな。
CoCoon起動時の●の3つ目で勝手に電源落ちてたけど、これってhdc1の録画ファイルの状態チェックなのかな。

それぞれのファイルは圧縮するとすごく小さくなって、最終的にCD-Rに収まる。
せっかくなので焼いて保存しておきましょう。正副2枚くらい。
今回の場合zip圧縮で、hdc2が106MB、hdc3が1.3MB、hdc5が4.1MB、hdc6が1.5MB、hdc7が90MB。
1GBを圧縮して1.3MBなんて、何も入ってないんじゃないかね。
#hdc1,2,3は録画データ・EPGなので無くても良い。hdc4も当然不要。mbrもfdiskするのでいらない。
システムのバックアップとしてはhdc5,6,7だけでOK

リストア

バックアップできたら、次は新しいハードディスクにリストア。
まずはKNOPPIXを一旦終了して、PCからCoCoonのハードディスクを外す。変わりに新しいハードディスクを接続
そしてKNOPPIX起動。

〜環境〜
sdb1  バックアップしたファイルのあるドライブ
hdc  新しいハードディスク

% sudo -s                     rootになって
# mount /dev/sdb1 /mnt/sdb1            マウントする

# cd /mnt/sdb1
# dd if=./mbr  of=/dev/hdc  bs=512         とにかくMBRを修復する。
というわけで、MBRを直したのでマシンをリブートする。
で、KNOPPIXが立ち上がってくるわけだが、hdc5以降が見えない。
面倒だけど今度は、
% sudo -s                     rootになって
# mount /dev/sdb1 /mnt/sdb1            マウントする

# cd /mnt/sdb1
# dd if=./hdc4 of=/dev/hdc4 bs=512         拡張パーティションの頭を戻してみる。
覚えてないけど、念のためここでまたリブートした気がする。
で、KNOPPIXが立ち上がってくるわけだが、hdc6以降が見えない。
うーん、よくわからん。
% sudo -s                     rootになって
# fdisk /dev/hdc                  hdcのパーティションを切る
とりあえずhdc6,hdc7,hdc8を元のHDDと同じように切ってみる。情報はこのページの最後につけておいた。

念には念をということで、上級者モードでセクタまで完全一致するようにする。
試したときはhdc7が直前の空き領域の関係か大きめになってしまった。
今度はqtpartdを起動して、hdc7を削除して、hdc8の直前の位置から確保するようにしてみたら、うまくいった。
最後にfdiskでパーティションの順を整理して無事にまったく同じ位置関係になった。

実際にはhdc2,3,5,6,7の容量さえあっていれば問題ない。(hdc2,3はの容量違ってもいいのかな?) fdiskでのパーティションの切り方は、まずhdc4のサイズを計算して、 そこからhdc5,hdc6,hdc7,hdc8,hdc3,hdc2,hdc1という順に計算する。  hdc4 開始=最終値から890引いた値、終了=最終値  hdc5 開始=hdc4の開始と一緒、終了=開始値+126  hdc6 開始=hdc5の終了値+1、終了=開始値+126  hdc7 開始=hdc6の終了値+1、終了=開始値+126  hdc8 開始=hdc7の終了値+1、終了=最終値  hdc3 開始=hdc3の終了値-126、終了=hdc4の開始値-1  hdc2 開始=hdc2の終了値-126、終了=hdc3の開始値-1  hdc1 開始=1、終了=hdc2の開始値-1 hdc1,2,3は基本、hdc4で拡張で確保してhdc5,6,7,8を作る。 つまりこういうこと
 hdc1 開始 終了
 hdc2 開始 終了
 hdc3 開始 終了
 hdc4 開始 終了
 hdc5 開始 終了
 hdc6 開始 終了
 hdc7 開始 終了
 hdc8 開始 終了
またリブート。めんどくさ。
KNOPPIXが立ち上がってきたら、いよいよリストア開始。
% sudo -s                     rootになって
# mount /dev/sdb1 /mnt/sdb1            マウントする

# cd /mnt/sdb1

# dd if=./hdc1 of=/dev/hdc1 bs=512         リストア
# dd if=./hdc2 of=/dev/hdc2 bs=512         リストア
# dd if=./hdc3 of=/dev/hdc3 bs=512         リストア

# dd if=./hdc5 of=/dev/hdc5 bs=512         リストア
# dd if=./hdc6 of=/dev/hdc6 bs=512         リストア
# dd if=./hdc7 of=/dev/hdc7 bs=512         リストア
# mkswap /dev/hdc8                 スワップ領域作成(オリジナルは524276kだからサイズ指定してもいいかも)

hdc1,2,3をバックアップしていない場合は、
# mkfs.xfs -f /dev/hdc1                ファイルシステムを作る
# mkfs.xfs -f /dev/hdc2                ファイルシステムを作る
# mkfs.xfs -f /dev/hdc3                ファイルシステムを作る
(録画データも戻す場合、それぞれマウントしてコピーしてやればいいんだと思う)
おしまい。

組み立て

新しく移し終えたハードディスクをCoCoonにつないで電源ON。
「修復中」となって、ガリガリとやりだす。録画いっぱいしてあったとすると結構時間かかる。
しばらく(hdc2,3だけ戻してhdc1はmkfsだからだと思うけど30分以上かかった気がするなぁ。)すると、
時刻設定画面が出る。これは電源抜いてから時間経ってたから。E77はすぐ時間を忘れる。
設定したら無事にTVが移った。手動録画予約とかチャンネル設定は全部そのまま。おまかせ録画候補は消えてた。
あと録画済番組も消えてた。これはコピーしてないから当然か。
hdc1,2,3をmkfs.xfsでfs作った場合は、結構すぐ終わる。この場合でも手動録画予約は残る。
hdc1もフルバックアップすれば元に戻ったかもしれないけど、HDD逝ってアクセス怪しかったし、試さなかった。
KNOPPIX使わなくても、IDE-RAID1(ミラー)対応のマザーボードならリビルドでコピーできるのかな?

あとは、開封禁止シールを無視するか、固定台を自作して自前で内蔵するか、後ろからケーブル出して外付けにするか考えればよい。
HDD以外の故障なんかなったら、修理費高そうで割りに合わないだろうし、開封禁止シール無視でも無問題な気がする。


資料

各種容量のハードディスクでの録画時間
HDD容量EPSPHQ
Maxtor DiamondMax 80 98196H881.9GB52H35M26H17M17H32M
Maxtor DiamondMax 16 4A120L0120GB82H17M41H09M27H26M
Maxtor DiamondMax 16 4A160J0160GB100H--M50H--M35H--M
Samsung HA250JC250GB174H27M87H14M58H09M

CoCoon CSV-E77(プレミアムアップグレード済み)のHDDをPCに接続してKNOPPIXで覗いた結果。

fdisk結果
コマンド (m でヘルプ): p

Disk /dev/hdc: 163.9 GB, 163928604672 bytes
255 heads, 63 sectors/track, 19929 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

 デバイス Boot      Start         End      Blocks   Id  System
 /dev/hdc1               1       17847   143355996   83  Linux
 /dev/hdc2           17849       17975     1020127+  83  Linux
 /dev/hdc3           17976       18102     1020127+  83  Linux
 /dev/hdc4           18104       18995     7164990    f  W95 Ext'd (LBA)
 /dev/hdc5           18104       18230     1020096   83  Linux
 /dev/hdc6           18231       18357     1020096   83  Linux
 /dev/hdc7           18359       18485     1020096   83  Linux
 /dev/hdc8           18486       18995     4096543+  83  Linux

上級者コマンド (m でヘルプ): p

ディスク /dev/hdc: ヘッド 255, セクタ 63, シリンダ 19929

Nr AF  Hd Sec  Cyl  Hd Sec  Cyl     Start      Size ID
 1 00   1   1    0 254  63 1023         63  286711992 83
 2 00 254  63 1023 254  63 1023  286728120    2040255 83
 3 00 254  63 1023 254  63 1023  288768375    2040255 83
 4 00 254  63 1023 254  63 1023  290824695   14329980 0f
 5 00 254  63 1023 254  63 1023         63    2040192 83
 6 00 254  63 1023 254  63 1023         63    2040192 83
 7 00 254  63 1023 254  63 1023         63    2040192 83
 8 00 254  63 1023 254  63 1023         63    8193087 83

cfdisk結果
                                                 cfdisk 2.12

                                           ディスクドライブ: /dev/hdc
                                        Size: 163928604672 bytes, 163.9 GB
                             Heads: 255   Sectors per Track: 63   Cylinders: 19929

          名前             フラグ         領域タイプ     FSタイプ               [ラベル]            Size (MB)
   ------------------------------------------------------------------------------------------------------------
          hdc1                             基本領域      Linux XFS                                  146796.58
                                                         使用不可                                        8.23
          hdc2                             基本領域      Linux XFS                                    1044.62
          hdc3                             基本領域      Linux XFS                                    1044.62
                                           論理領域      空き領域                                        8.23
          hdc5                             論理領域      Linux XFS                                    1044.62
          hdc6                             論理領域      Linux XFS                                    1044.62
                                           論理領域      空き領域                                        8.23
          hdc7                             論理領域      Linux XFS                                    1044.62
          hdc8                             論理領域      Linux                                        4194.90
                                           論理領域      空き領域                                     7682.42



                                                 cfdisk 2.12

                                           ディスクドライブ: /dev/hdc
                                         Size: 163928604672 bytes, 163.9 GB
                             Heads: 255   Sectors per Track: 63   Cylinders: 19929

          名前             フラグ         領域タイプ     FSタイプ               [ラベル]              Sectors
   ------------------------------------------------------------------------------------------------------------
          hdc1                             基本領域      Linux XFS                                  286712055
                                                         使用不可                                       16065
          hdc2                             基本領域      Linux XFS                                    2040255
          hdc3                             基本領域      Linux XFS                                    2040255
                                           論理領域      空き領域                                       16065
          hdc5                             論理領域      Linux XFS                                    2040255
          hdc6                             論理領域      Linux XFS                                    2040255
                                           論理領域      空き領域                                       16065
          hdc7                             論理領域      Linux XFS                                    2040255
          hdc8                             論理領域      Linux                                        8193150
                                           論理領域      空き領域                                    15004710



                                                 cfdisk 2.12

                                           ディスクドライブ: /dev/hdc
                                         Size: 163928604672 bytes, 163.9 GB
                             Heads: 255   Sectors per Track: 63   Cylinders: 19929

          名前             フラグ         領域タイプ     FSタイプ               [ラベル]            Cylinders
   ------------------------------------------------------------------------------------------------------------
          hdc1                             基本領域      Linux XFS                                      17847
                                                         使用不可                                           1
          hdc2                             基本領域      Linux XFS                                        127
          hdc3                             基本領域      Linux XFS                                        127
                                           論理領域      空き領域                                           1
          hdc5                             論理領域      Linux XFS                                        127
          hdc6                             論理領域      Linux XFS                                        127
                                           論理領域      空き領域                                           1
          hdc7                             論理領域      Linux XFS                                        127
          hdc8                             論理領域      Linux                                            510
                                           論理領域      空き領域                                         934


写真集


ハードディスクのBOXを外した状態
 

中拡大
 

中拡大
 

取り外したハードディスクのBOX
 

ケーブルと電源はここから開けずにOK。このままジャンパ変更は無理。Masterだった。
 

試運転
 

チューナ
 

電源
 

シールは剥がさず切った。左が交換後4R160L0、右が元の4A160J0。
 

写真集おまけ

同じSONYのハードディスクレコーダ Clip-On SVR-715 の写真が出てきたのでついでに。(これも現役、むしろメイン)

蓋開けた様子。基盤が覆っていて中が見えない。
下のように開けるには大小長短太細様々なネジを何十本も外さなければいけない。
 

上も下も基盤でパーツがギッシリ。CoCoonとはえらい違い。技術の進歩でCoCoonができたか。
でも機能はクリポンも優秀
 


歴史

せっかくなのでハードディスク交換の履歴。こうしてみると結構交換してる。

Clip-On SVR-715
2001.01.11使用開始Quantum Fireball lct10 (30G)
2001.03.17HDD交換(容量アップの為)Maxtor DiamondMax 80 98196H8 (81.9GB)
2001.11.18HDD交換(81Gが故障の為)Maxtor 536DX 4W100H6 (100G)
2001.12.27HDD交換(100Gが故障の為)
100G寿命短い。保証30日でショック!
Maxtor DiamondMax 80 98196H8 (81.9GB)
丁度修理が完了した81.9Gに戻す。
2002.06.29HDD交換&SMARTDRIVEで外付け化
(81.9Gのスピンアップ動作が怪しい為)
Maxtor D540X 4G120J6 (120G)
これで壊れてもすぐ交換できる。
2005.01.31HDDまだ元気!今のところ 4480HOURS。
5時間/日も録画or再生してる計算。
結局故障まで6547HOURS。4年も頑張った!
2006.07.02HDD交換(故障の為)Maxtor 4R120L0 (120G)
PCの余りを流用
※日付はアバウト

CoCoon CSV-E77
2002.12.03使用開始Maxtor DiamondMax 16 4A160J0 (160G)
2003.09.08HDD交換(無償修理)Maxtor DiamondMax 16 4A160J0 (160G)
2005.01.27HDD交換(故障の為)Maxtor DiamondMax 16 4R160L0 (160G)
2005.09.17HDD交換(故障の為)早っ!
遊べるようにリムーバブル化
Samsung HA250JC (250G)
5400rpmで安かったけどどうだろ。
※日付はアバウト


ハードディスクの中身

バックアップしたHDDイメージを解析してみる。解析といってもたいしたことはやっていない。

まずKNOPPIXを起動して、HDDイメージをマウント。
直接HDDをマウントしてもいいけど、イメージの方が安心だったのでこっちで
% sudo -s                     rootになって
# cd /mnt
# mkdir cocoon
# cd cocoon
# mkdir hdc1 hdc2 hdc3 hdc5 hdc6 hdc7              マウントポイント用意
# mount -t xfs -o ro,norecovery,loop /mnt/sdb1/hdc1 /mnt/cocoon/hdc1
# mount -t xfs -o ro,norecovery,loop /mnt/sdb1/hdc2 /mnt/cocoon/hdc2
# mount -t xfs -o ro,norecovery,loop /mnt/sdb1/hdc3 /mnt/cocoon/hdc3
# mount -t xfs -o ro,norecovery,loop /mnt/sdb1/hdc5 /mnt/cocoon/hdc5
# mount -t xfs -o ro,norecovery,loop /mnt/sdb1/hdc6 /mnt/cocoon/hdc6
# mount -t xfs -o ro,norecovery,loop /mnt/sdb1/hdc7 /mnt/cocoon/hdc7
hdc1は録画データ、hdc2とhdc3は録画データの管理ファイル、hdc5,hdc6,hdc7がシステム系。
rootパーティションにあたる部分は見つけられなかった。EEPROM内にあるのか。
プレミアムアップグレードとかもEEPROMに収まるらしい。

イメージではなくHDD本体をマウントする場合は、「-o ro,norecovery,noalign」とやると良いでしょう。

●hdc7:/log/kern.info.log
普通だけどとりあえず。ちなみにGPL部分はソースが公開されている。
Linux version 2.4.17_n12-ubx_ux1 (MAIN--root@osdev72) (gcc version 2.95.3 20010315 (release/MontaVista)) #2807 2003/08/12 22:34:22 JST
Kernel command line: init=/rdrc-ux1sys  console=ttyS0,38400 ide1=noprobe ide1=noprobe hdc=none hdd=none hde=none hdf=none hdg=none rw
ハードスペックはこんなもん。
323.58 BogoMIPS (1617910) 
MIPS CPU counter frequency is fixed at 162000000 Hz 
Memory: 82228k/131072k available (1070k kernel code, 48844k reserved, 315k data, 184k init) 
フラッシュメモリに何かが入っているらしい。
Flash disk driver for DiskOnChip2000 
Copyright (C) 1998,2001 M-Systems Flash Disk Pioneers Ltd. 
DOC device(s) found: 1 
Fat Filter Enabled 
fl_init: registered device at major: 100 
Partition check: 
  fla: fla1 
eth0はNatSemi、IDEはVIA
eth0: NatSemi DP83815 at 0xb5900000, XX:XX:XX:XX:XX:XX, IRQ 5.
VP_IDE: IDE controller on PCI bus 00 dev 61 
VP_IDE: chipset revision 6 
VP_IDE: VIA vt8231 (rev 10) IDE UDMA66 controller on pci00:0c.1 
VP_IDE: 100% native mode on irq 14 
     ide0: BM-DMA at 0x1000-0x1007, BIOS settings: hda:pio, hdb:pio 
     ide1: BM-DMA at 0x1008-0x100f, BIOS settings: hdc:pio, hdd:pio 
swap
Adding Swap: 524276k swap-space (priority -1) 

●hdc7:/log/local.log
ほぼ毎日4:00に一度shutdownがかかっている。そのときの情報

Jan 24 04:00:51 (none) DelMgr: (N)free area 2439 MB 
Jan 24 04:00:53 (none) ResMgr: (N)Should wakeup for special title 69 
Jan 24 04:00:53 (none) ResMgr: (N)Able to shutdown. 
Jan 24 04:00:53 (none) AppLogic: (N)ChangeMode(requestedMode:2) 
Jan 24 04:00:53 (none) AppLogic: (N)Standby requested under StanbyMode:OFF 
Jan 24 04:00:53 (none) AppLogic: (N)Same Mode 
Jan 24 04:00:53 (none) AppLogic: (N)UnLock !! 
Jan 24 04:05:37 (none) Zarp: (N)screenSaver timer finish called (5 Min): _dM=0 
Jan 24 04:05:37 (none) Zarp: (N)ZrpNormalPlayView::show 
Jan 24 04:30:43 (none) AppLogic: (N)Write Reboot Cnt(0) 
5分毎にディスク空き容量を通知しているようだ。消さずに自動消去に任せてるから常にfull状態。
Jan 24 10:31:10 (none) DelMgr: (N)free area 2385 MB 
Jan 24 10:36:10 (none) DelMgr: (N)free area 2170 MB 
Jan 24 10:41:10 (none) DelMgr: (N)free area 1958 MB 
Jan 24 10:46:10 (none) DelMgr: (N)free area 1747 MB 
EPG受信とかまる録セット情報とかが出てるっぽい。かなり抜粋。EPG時間は5:05
Jan 24 05:01:01 (none) Zarp: (N)[E]onEpgDownloadStarted 
Jan 24 05:26:00 (none) ResMgr: (N)Stop epg download 
Jan 24 05:33:49 (none) Zarp: (N)[E]onEpgDatabaseUpdateStarted 
Jan 24 05:33:49 (none) Zarp: (N)getEpgTitleNowOnAir station=2128 
Jan 24 05:33:49 (none) EpgMgr: (N)Epg database update started 
Jan 24 05:34:51 (none) EpgMgr: (N)Total number of ShowInformation titles = 4213 
Jan 24 05:34:51 (none) AutoRec: (N)start reservation!!  
Jan 24 05:34:51 (none) Zarp: (N)[E]onEpgDatabaseUpdateFinished 
Jan 24 05:34:51 (none) Epg: (N)Max bit rate is dvd  
Jan 24 05:34:51 (none) EpgMgr: (N)Epg database update completed 
Jan 24 05:34:52 (none) Epg: (N)parse start. 
Jan 24 05:34:52 (none) Epg: (N)parse finish. (result : 0, last field ID : 17)
Jan 24 05:34:52 (none) Epg: (N)delete panel advertisement by deletion from list.(930403) 
Jan 24 05:34:54 (none) Zarp: (N)[E]onRecReservationDeleted. UsrId=76661 UsrPrm=1
Jan 24 05:34:54 (none) Zarp: (N)[E]onRecReservationAdded. rsvId=76665 
Jan 24 05:34:54 (none) AutoRec: (N)add auto reservation. reservation id : 76665 
Jan 24 05:34:54 (none) AutoRec: (N)ch:264, startTime:2005/1/25 15:0, endTime:2005/1/25 16:59 
Jan 24 05:34:54 (none) Zarp: (N)[E]onRecReservationAdded. rsvId=76666 
Jan 24 05:34:54 (none) AutoRec: (N)ch:270, startTime:2005/1/25 22:0, endTime:2005/1/25 22:55 
Jan 24 05:34:54 (none) AutoRec: (N)reject because reservation manager rejected. 
Jan 24 05:34:55 (none) AutoRec: (N)Finish recommendation. Rec time = 1775.000000[m] 
Jan 24 05:34:55 (none) AutoRec: (N)special reservation id : 76665 
Jan 24 05:34:55 (none) Zarp: (N)[E]onRecReservationAdded. rsvId=76702 
Jan 24 05:34:55 (none) Zarp: (N)recReservationChanged. UsrId 76665, param 80000h 
Jan 24 05:35:40 (none) Zarp: (N)[E] DelInfo Timer 
Jan 24 05:35:40 (none) Zarp: (N)appendFlag recRsvSize 88285184 KB, freeSize 2439 MB 
Jan 24 05:35:40 (none) Zarp: (N)appendFlag end. count over. 
Jan 24 05:35:40 (none) Zarp: (N)titleModified id=10973, param=8000000
何か勝手に録画したようだ。
Jan 24 01:24:40 (none) Zarp: (N)recReservationSoonToBeFinished. UsrId=76627, rsvId=-2, recSts=0, vchSts=0 
Jan 24 01:25:00 (none) Zarp: (N)recReservationFinished. UsrId=76627, UsrPrm=11011, rsvId=-2, recSts=0, vchSts=0 
Jan 24 01:25:00 (none) Zarp: (N)[E]onRecReservationDeleted. UsrId=76627 UsrPrm=1 
Jan 24 01:25:01 (none) RecMgr: (N)rec end > tuner id 0, time 2005/1/24 1:25:1 
Jan 24 01:25:01 (none) Zarp: (N)titleModified id=11011, param=24440 
Jan 24 01:25:01 (none) Zarp: (N)appendFlag recRsvSize 44626944 KB, freeSize 2439 MB 
Jan 24 01:25:01 (none) RecMgr: (N)close video recorder(0)... 
リモコン操作まで記録している。。そのときたまたま開いていたCHのタイトルも出るようだ。
Jan 23 18:18:55 (none) Zarp: (N)Key Received.... LIVE, PRESSED 
Jan 23 18:18:55 (none) Zarp: (N)channelOut. focus 0, select 0, FPause 0 
Jan 23 18:18:55 (none) AppLogic: (N)Key Received.... LIVE, PRESSED 
Jan 23 18:18:55 (none) Zarp: (N)channelOut. focus 0, select 0, FPause 0, vchSts 0, recSts 0 
Jan 23 18:18:55 (none) Zarp: (N)chOut. afterProc. recSts 0, STBFinish 0 
Jan 23 18:18:55 (none) Zarp: (N)channelIn num=10, state 0, focus 0, FPause 0, recStatus 0 
Jan 23 18:18:55 (none) Zarp: (N)close video 
Jan 23 18:18:55 (none) Zarp: (N)open tv 
Jan 23 18:18:55 (none) Zarp: (N)getEpgTitleNowOnAir station=524 
Jan 23 18:18:55 (none) Zarp: (N)REC TITLE NAME: ドライブ 
Jan 23 18:18:55 (none) Zarp: (N)rec ch 12, time 2005/1/23 18:18-2005/1/23 18:30 
Jan 23 18:18:55 (none) Zarp: (N)addRecRsv resId 76620, recSts 1 
Jan 23 18:18:55 (none) Zarp: (N)[E]onRecReservationAdded. rsvId=76620 
Jan 23 18:18:55 (none) Notice: (N)playing title id : -12 
Jan 23 18:18:55 (none) Notice: (N)Event ID = 6. 
Jan 23 18:18:55 (none) Notice: (N)Notice State Changed,  5  ->  5. 
Jan 23 18:18:55 (none) Zarp: (N)TUNING_STATUS_CHANGED id=1, lock 1, ChNo 12, unit 0 
Jan 23 18:18:55 (none) Zarp: (N)audioMute tv 1 
Jan 23 18:18:55 (none) Zarp: (N)tv play 
Jan 23 18:18:55 (none) Zarp: (N)TV event CopyProtect DRC=0, DC=1, APS=0 
Jan 23 18:18:55 (none) Zarp: (N)recReservationStarted. UsrId=76620, UsrPrm=11003, rsvId=76620, recSts=1, vchSts=15 
Jan 23 18:18:55 (none) Zarp: (N)titleAdded id=11003 
Jan 23 18:18:55 (none) Zarp: (N)Key Received.... LIVE, RELEASED 
Jan 23 18:18:55 (none) AppLogic: (N)Key Received.... LIVE, RELEASED 
Jan 23 18:18:55 (none) Zarp: (N)rsv event CopyProtect off:DRC=0, DC=1, APS=0 
Jan 23 18:18:55 (none) RecMgr: (N)rec start > tuner id 1, time 2005/1/23 18:18:55 
Jan 23 18:18:55 (none) Zarp: (N)AUDIO_INFO_CHANGED type=1 
Jan 23 18:18:55 (none) Zarp: (N)audioMute tv 0 
Jan 23 18:18:55 (none) Zarp: (N)[E]onTvPlayerVideoInfoChanged 
Jan 23 18:18:56 (none) Zarp: (N)channelIn num=10, state 0, focus 1, FPause 0, recStatus 1 
Jan 23 18:18:56 (none) Zarp: (N)unfocused 2 
自動消去番組も記録されてた。
Jan 23 01:22:58 (none) DelMgr: (N)++ autodeletesvr >> title delete success. ++ 
Jan 23 01:22:58 (none) DelMgr: (N)> name : 水戸黄門・  
Jan 23 01:22:58 (none) DelMgr: (N)> Age : 6854  
Jan 23 01:22:58 (none) DelMgr: (N)> begin time : 2005/1/20 15:55:1 
Jan 23 01:22:58 (none) DelMgr: (N)> end time : 2005/1/20 16:50:2 
Jan 23 01:22:58 (none) DelMgr: (N)++++++++++++++++++++++++++++++++++++++++++++ 

●hdc7:/log/mw.log
EPG受信の時

01/24 05:01:00 xinput> 1 SelectInput [Unit:0 Tuner:0]
01/24 05:01:00 xinput> 1 [NotifyTuningStatus T:0 U:0 Ch:0 Status:1 Offset:0]
01/24 05:01:00 xinput> 1 [ChService Ch:6]
01/24 05:01:01 xinput>  [SiPsi U:0x00 Tu:0x00 Mode:1
01/24 05:01:01 xsictl> SetSiPsi[in 1, mode 1]
01/24 05:01:01 xsection> SetSect[in 1, mode 1]
01/24 05:01:01 xdmxctl> SetSectFlt
01/24 05:01:01 xsection> SetSectCb[CbID: 0]
01/24 05:01:01 xinput> 1 [NotifyTuningStatus T:0 U:0 Ch:6 Status:1 Offset:-2]
01/24 05:01:01 xgguide> SetAction[mMode:1]
01/24 05:01:01 xdmxctl> Dmx:DeviceWake
01/24 05:01:01 xsection> Parse[mID 0]
01/24 05:01:01 xsection> == PAT (1ch)[0x108] ==
01/24 05:01:01 xdmxctl> CancelSectFlt
01/24 05:01:01 xdmxctl> SetSectFlt
01/24 05:01:01 xsection> SetSectCb[CbID: 0]
01/24 05:01:01 xdmxctl> Dmx:DeviceWake
01/24 05:01:01 xsection> Parse[mID 0]
01/24 05:01:01 xsection> == PMT (1ch) ==
01/24 05:01:01 xdmxctl> CancelSectFlt
01/24 05:01:01 xdmxctl> SetSectFlt
01/24 05:01:01 xsection> SetSectCb[CbID: 0]
01/24 05:01:01 xdmxctl> Dmx:DeviceWake
01/24 05:01:01 xsection> Parse[mID 0]
01/24 05:01:01 xsection> == PMT (1ch) ==
01/24 05:01:01 xdmxctl> CancelSectFlt
01/24 05:01:01 xdmxctl> SetSectFlt
01/24 05:01:01 xsection> SetSectCb[CbID: 0]
01/24 05:01:01 xdmxctl> Dmx:DeviceWake
01/24 05:01:01 xsection> Parse[mID 0]
01/24 05:01:01 xsection> == PMT (1ch) ==
01/24 05:01:01 xdmxctl> CancelSectFlt
01/24 05:01:01 xdmxctl> SetSectFlt
01/24 05:01:01 xsection> SetSectCb[CbID: 0]
01/24 05:01:01 xsictl> NotifyCrtPgm
01/24 05:05:56 xgguide> VbiDeviceWake[00000000-0003ec36:1]
01/24 05:06:45 xgguide> VbiDeviceWake[0003ec36-0007e536:1]
01/24 05:07:35 xgguide> VbiDeviceWake[0007e536-000bd166:1]
01/24 05:08:24 xgguide> VbiDeviceWake[000bd166-000fb0da:1]
01/24 05:09:13 xgguide> VbiDeviceWake[000fb0da-0003a12b:1]
01/24 05:10:02 xgguide> VbiDeviceWake[0003a12b-00079bc9:1]
01/24 05:10:52 xgguide> VbiDeviceWake[00079bc9-000b7c24:1]
01/24 05:11:40 xgguide> VbiDeviceWake[000b7c24-000f5c2c:1]
01/24 05:12:29 xgguide> VbiDeviceWake[000f5c2c-0003391d:1]
01/24 05:13:17 xgguide> VbiDeviceWake[0003391d-00073071:1]
01/24 05:14:06 xgguide> VbiDeviceWake[00073071-000b25ae:1]
01/24 05:26:00 xgguide> SetAction[mMode:0]
01/24 05:26:00 xsictl> NotifyShowInfoFlag
01/24 05:33:49 xsictl> NotifyShowInfoFlag
01/24 05:33:49 xsictl> GetGguideEvent[icn : 0]
01/24 05:33:49 xgguide> GetExChInfo
01/24 05:34:51 xinput> 0 GTuneStatus
5分毎にチェックが走ってる。local.logとも一致する。壊れて電源が落ちたのはこの直後か。
01/24 10:31:10 xpvrcon> ChkFArea
01/24 10:36:10 xpvrcon> ChkFArea
01/24 10:41:10 xpvrcon> ChkFArea
01/24 10:46:10 xpvrcon> ChkFArea
再起動の時
01/24 04:00:00 xavpres> MuteV[Mod=1]
01/24 04:00:00 xavpres> MuteA[Mod=1]
01/24 04:00:00 xifctl> SetLed[Mode:0,LedNo:0]
01/24 04:00:00 xifctl> SetOutput[Mode:0,Pat:0]
01/24 04:00:01 xservice> Close
01/24 04:00:01 xservice> Closed[App]
01/24 04:00:05 xifctl> SetLed[Mode:0,LedNo:1]
01/24 04:00:05 xsystem> WakeUp[05/01/24 05:00]
01/24 04:00:05 xavpres> Close
01/24 04:00:05 xavpres> Closed[App]
01/24 04:00:05 xsioctl>  [WakeupTime]
01/24 04:00:05 xsioctl> WAKEUP
01/24 04:00:05 xmpeg> Acls
01/24 04:00:05 xeeplay> Closed
01/24 04:00:05 xpvrpb> Closed[Appli]
01/24 04:00:05 xpvrrec> R1,Stop
01/24 04:00:05 xpvrrec> Warn[R1,NotRecording]
01/24 04:00:05 xpvrrec> [R]R1,Warning[error:201]
01/24 04:00:05 xpvrrec> R1,Close
01/24 04:00:05 xdmxctl> Close[sid : 0x20d]
01/24 04:00:05 xpvrcon> Close[20d]
01/24 04:00:05 xpvrrec> R1,Closed[Appli]
01/24 04:00:05 xpvrrec> R0,Stop
01/24 04:00:05 xpvrrec> Warn[R0,NotRecording]
01/24 04:00:05 xpvrrec> [R]R0,Warning[error:201]
01/24 04:00:05 xpvrrec> R0,Close
01/24 04:00:05 xdmxctl> Close[sid : 0x20c]
01/24 04:00:05 xpvrrec> R0,Closed[Appli]
01/24 04:00:05 xpvrcon> Close[20c]
01/24 04:00:05 xsection> Close[sId : 0x20d]
01/24 04:00:05 xsection> Close[sId : 0x20c]
01/24 04:00:05 xgguide> Close
01/24 04:00:05 xsioctl> [Close Gguide] 
01/24 04:00:05 xgguide> Closed[App]
01/24 04:00:05 xsictl> Close
01/24 04:00:05 xsictl> Closed[App]
01/24 04:00:05 xinput> 0 Close
01/24 04:00:05 xinput> 1 Close
01/24 04:00:05 xsioctl> [Close Input1] 
01/24 04:00:05 xinput> 1 Close
01/24 04:00:05 xpvrcon> Close
01/24 04:00:05 xpvrcon> Closed
01/24 04:00:05 xsictl> Close[id : 0x208]
01/24 04:00:05 xifctl> SetLed[Mode:0,LedNo:0]
01/24 04:00:05 xifctl> SetLed[Mode:0,LedNo:1]
01/24 04:00:05 xifctl> Close
01/24 04:00:06 xsictl> Close[id : 0x207]
01/24 04:00:06 xsection> Close[sId : 0x20f]
01/24 04:00:06 xdmxctl> Close[sid : 0x20e]
01/24 04:00:06 xsioctl> [Close Input0] 
01/24 04:00:06 xinput> 0 Close
01/24 04:00:06 xgguide> DClose
01/24 04:00:06 xsystem> Reboot[0]
01/24 04:00:06 xsioctl>  [WakeupTime]
01/24 04:00:06 xsioctl> [Close Sysctl] 
01/24 04:00:06 xsioctl> WAKEUP
01/24 04:00:06 xsystem> Closed[all]

...Terminate...

ID: 08:00:46:XX:XX:XX  
01/01 09:00:07 xsioctl> [Open Timer] 
01/01 09:00:07 xsioctl> [Open Sysctl] 
01/01 09:00:07 xsystem> Open
01/01 09:00:07 xsioctl>  [GetBoot Mode:0x00 Diag:0x00]
01/01 09:00:07 xsystem> Boot[00]
01/24 04:00:28 xsioctl> [Open Timer] 
01/24 04:00:28 xsioctl> [Open Ifctl] 
01/24 04:00:28 xsioctl> [Open Avpres] 
01/24 04:00:28 xavpres> SioOpen[Stat=0]
01/24 04:00:28 xpvrcon> CtlInit[BootMode=0 HDD=1 Sts=0]
01/24 04:00:28 xpvrcon> OpenSub
01/24 04:00:28 xsioctl> [Open Sysctl] 
01/24 04:00:28 xsystem> Open
01/24 04:00:28 xsystem> Boot[00]
01/24 04:00:29 xifctl> Open
01/24 04:00:29 xsystem> Open
01/24 04:00:29 xifctl> SetRepeatParam[Time:800ms]
01/24 04:00:30 xpvrcon> Open
01/24 04:00:30 xpvrcon> GetIllegalFile
01/24 04:00:30 xpvrcon> List
01/24 04:00:31 xpvrcon> ChkFArea
01/24 04:00:31 xpvrcon> ListOfLoopset
01/24 04:00:31 xgguide> Open
01/24 04:00:31 xsioctl> [Open Gguide] 
01/24 04:00:31 xsictl> Open
01/24 04:00:32 xinput> 1 xInputOpen
01/24 04:00:32 xinput>  R Open Timer1
01/24 04:00:32 xsioctl> [Open Input1] 
01/24 04:00:32 xsictl> Open[id : 0x208]
01/24 04:00:32 xsection> Open[sId : 0x20f]
01/24 04:00:32 xdmxctl> Open[sId : 0x20e]
01/24 04:00:32 xsection> OpenCb[stat : 0]
01/24 04:00:32 xsictl> OpenCb(xSection)[stat : 0]
01/24 04:00:32 xinput> 1 xInputOpen[Reply]
01/24 04:00:32 xgguide> DOpen
01/24 04:00:32 xsictl> OpenCb(gguide)[stat : 0]
01/24 04:00:32 xinput> 1 xInputOpen[Reply]
01/24 04:00:32 xinput> 1 SelectInput [Unit:0 Tuner:0]
01/24 04:00:32 xinput> 1 [NotifyTuningStatus T:0 U:0 Ch:0 Status:1 Offset:0]
01/24 04:00:32 xinput> 0 xInputOpen
01/24 04:00:32 xinput>  R Open Timer0
01/24 04:00:32 xsioctl> [Open Input0] 
01/24 04:00:32 xsictl> Open[id : 0x207]
01/24 04:00:32 xinput> 0 xInputOpen[Reply]
01/24 04:00:32 xinput> 0 SelectInput [Unit:0 Tuner:1]
01/24 04:00:32 xinput> 0 [NotifyTuningStatus T:1 U:0 Ch:0 Status:1 Offset:0]
01/24 04:00:32 xinput> 1 [Monoral mode:0]
01/24 04:00:32 xinput> 0 [Monoral mode:0]
01/24 04:00:32 xinput> SetMaxBitrate[1 1]
01/24 04:00:32 xinput> SetMaxBitrate[0 1]
01/24 04:00:32 xinput> 1 GTuneStatus
01/24 04:00:32 xpvrrec> R1,Open
01/24 04:00:32 xpvrcon> Open[20d]
01/24 04:00:32 xpvrrec> R1,Open[PvrCont]
01/24 04:00:32 xsection> Open[sId : 0x20d]
01/24 04:00:32 xpvrrec> R1,Open[Sect]
01/24 04:00:32 xdmxctl> Open[sId : 0x20d]
01/24 04:00:32 xpvrrec> R1,Open[Dmx]
01/24 04:00:32 xpvrrec> [R]R1,Open[Status:0]
01/24 04:00:32 xpvrrec> [R]R1,Mode[Status:1]
01/24 04:00:32 xinput> 0 GTuneStatus
01/24 04:00:32 xpvrrec> R0,Open
01/24 04:00:32 xpvrcon> Open[20c]
01/24 04:00:32 xpvrrec> R0,Open[PvrCont]
01/24 04:00:32 xsection> Open[sId : 0x20c]
01/24 04:00:32 xpvrrec> R0,Open[Sect]
01/24 04:00:32 xdmxctl> Open[sId : 0x20c]
01/24 04:00:32 xpvrrec> R0,Open[Dmx]
01/24 04:00:32 xpvrrec> [R]R0,Open[Status:0]
01/24 04:00:32 xpvrrec> [R]R0,Mode[Status:1]
01/24 04:00:32 xavpres> Open
01/24 04:00:32 xmpeg> Aopn
01/24 04:00:32 xavpres> MpegOpen[Stat=0]
01/24 04:00:32 xavpres> WideId[Mod=0]
01/24 04:00:32 xmpeg> WideW0
01/24 04:00:33 xgguide> GetHostSchedule
01/24 04:00:33 xpvrcon> ChkFArea
01/24 04:00:33 xsystem> WakeUp[02/01/01 00:00]
01/24 04:00:33 xsioctl>  [WakeupTime]
01/24 04:00:33 xifctl> SetLed[Mode:0,LedNo:1]
01/24 04:00:33 xsioctl> WAKEUP
01/24 04:00:36 xsystem> GetBootMode
01/24 04:00:36 xinput> 0 GTuneStatus
01/24 04:00:37 xpvrcon> ChkFArea
01/24 04:00:39 xinput> 0 GTuneStatus
01/24 04:00:41 xservice> Open
01/24 04:00:41 xsystem> GetBootMode
01/24 04:00:42 xsystem> SystemMode[STANDBY]
01/24 04:00:42 xifctl> SetLed[Mode:1,LedNo:0]

●hdc6:/app/config/AtrPreparedPrefGenres.dat
おまかせ・まる録のキーワードリストらしい。
なるほど、「邦画」とは「邦画・松竹・東映・大映・日活・にっかつ」を含んで「年米・年アメリカ・・・・他」を含まないってことか。
ファイルからキーワード定義を切り出して
編集してみた。
カモンマイキャスターで拾ってきたキーワードもこの仕組みで追加される。
キーワード入力したものも同じだけど、当然複雑な定義はできず単純キーワード定義のみ。

●hdc6:/app/config/AtrPrefData.dat
手動録画したものや、MYCASTで答えたキーワードなどが蓄積されているらしい。
これが溜まっていくことで学習効果が出るのかな。

●hdc5:
システム実行ファイルばっかりみたい。たくさんあるけど、ほとんどが*.rawというファイルになっている。

●hdc1:
録画データそのもの。
ほぼMPEG2-TS形式であるが、先頭512バイトがCoCoon用の情報が入っているので、PCで扱うには削ったほうがよい。
knoppixの場合、xineでそのまま再生できるので、とりあえず見るだけならこっちが便利。

というわけで、Linux的なところはkern.info.logくらいなもので、rootパーティションもHDDには無く、面白みがない。
バイナリも *.raw とかよくわからないし、これで終わり。
おまかせ・まる録のキーワードの仕組みがわかったのが収穫かな。


禁断(?)の改造

さて、久しぶりにいじってみたくなったので、前から考えていたことをいくつか挑戦してみることにした。
telnetをこじ開ける事が最終目標なわけだが、今回は失敗。でも少し進んだのメモ程度に。

以下プレミアムアップグレードしている人しかだめです。
コマンドの意味がわかって、自分の環境に読み替えられる人しか試しちゃ駄目です。
# mount -t xfs /dev/hdc5 /mnt/cocoon/hdc5
# cd /mnt/cocoon/hdc5/app/res/venussvr/upnpdocs
# ln -s / root
# cd /
# umount /mnt/cocoon/hdc5
こうすることで、
http://192.168.xx.xx:51001/root/var/log/kern.debug.log
http://192.168.xx.xx:51001/root/var/log/kern.info.log
http://192.168.xx.xx:51001/root/var/log/local.log
http://192.168.xx.xx:51001/root/var/log/mw.log
http://192.168.xx.xx:51001/root/etc/passwd
http://192.168.xx.xx:51001/root/etc/hosts
http://192.168.xx.xx:51001/root/etc/fstab
http://192.168.xx.xx:51001/root/proc/cpuinfo                              これは駄目だった。proc自体が見えてない。

http://192.168.xx.xx:51001/root/app/config/AtrPreparedPrefGenres.dat
http://192.168.xx.xx:51001/root/app/config/rectitles.dat                  録画済みのEPG本文情報も残ってる!文字コードはEUC
http://192.168.xx.xx:51001/root/app/config/restitles.dat

http://192.168.xx.xx:51001/root/pvr/disk1/stream/YYYYMMDD0000000NN00.ts   YYYYMMDDは日付8桁
http://192.168.xx.xx:51001/root/pvr/disk1/info/YYYYMMDD0000000NN00.sct    NNは01〜連番っぽいけど、まあやってみて。
http://192.168.xx.xx:51001/root/pvr/disk1/info/YYYYMMDD0000000NN00.inf
http://192.168.xx.xx:51001/root/pvr/playlist/YYYYMMDD0000000NN.plst

さて、ところが転送は安定しないようで、大きなファイル *.ts なんかはまともに落とせない。残念。
次にコマンドをなんとかして実行する手段がないかどうかを探したが、今のところわからん。
一番惜しいのが、IP固定の設定にしておいた上で
# mount -t xfs -o ro,noalign,norecovery /dev/hdc7 /mnt/cocoon/hdc7
# mount -t xfs -o remount /dev/hdc7 /mnt/cocoon/hdc7                   こうやらないとうまくいかなかった。
# cd /mnt/cocoon/hdc7/sys/etc/network
# vi interfaces
auto eth0
iface eth0 inet static
    address 192.168.xx.xx
    network 192.168.xx.0
    netmask 255.255.255.0
    broadcast 192.168.xx.255
auto lo
iface lo inet loopback
    up route add default gw 192.168.xx.1                               ここで/usr/sbin/inetdとかコマンドを書いてしまう
# cd /
# umount /mnt/cocoon/hdc7
とやってみたが、残念ながら起動時にファイルが戻される。うーむむ

inetdもinetd.confもtcpdもin.telnetdも存在する。busyboxだし結構コマンドはいろいろ使える。
起動後にpasswdの書き換えとinetdの実行さえできればtelnetは開くはず。
コマンド実行方法を見つけられればシェル書いて解決しそうなんだが、惜しいな。


リンク

CSV-E77 hackD こちらでもHDD換装やhackをされています。


戻る