rabbit51

it's since Nov.30 2005
May.29 2014, transferred from broach

ひかり電話 HGW PR-600MI DHCPv6-PDに複数Prefixを要求してみた

2022-05-02 15:00:00 | ひかり電話
PR-600MIのDHCPv6仕様は、「次世代ネットワークインタフェース資料 (IP通信網) ― ユーザ・網インタフェース(UNI)― 本編 第1.0版 (2007年10月25日)」の付属資料B DHCP プロトコル (B.2 DHCPv6 プロトコル)に準拠していると考えられる。
DHCPv6のオプションIA_PD(25)とIA_PD Prefix(26)は、RFC3633に準拠していそうだ。RFC3633によれば、DHCPv6 メッセージには、複数のIA_PDを含められ、IA_PDには複数のIA_PD Prefixの包含が許されている。一つのDUIDで複数のPrefix委譲が許される事になる。UNIの仕様なのでPR-600MI HGWのLAN側DHCPv6に当てはまるか確かめる事にした。

複数のクライアントIDを使用してクライアントID分のprefix取得は、「ひかり電話 HGW PR-600MI のDHCPv6-PDサーバーが割当てるPrefixを制御する」で確認した。ISC dhclientは、一つのクライアントIDで複数のprefixを要求する事ができる。
マニュアルによれば、複数のprefixを要求する場合、要求する数だけ「-P」オプションを指定する。

(1)複数prefixテストスクリプト
引数にget, getm2, getm4を指定することで「-P」「-P -P」「-P -P -P -P」のprefix要求を実行する。rel, relm2, relm4でreleaseして終了を実行する。
dhclient6mpd.sh
#!/bin/sh
PTH="/root/"
IF="enx3476c5570b8f"
## -P DHCPv6-PD request; ## -r for release; ## -x for NOT release
## Multiple Prefix Delegation request
get_DHCPv6_MPD4 () {
    /sbin/dhclient -6 -P -P -P -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
    /sbin/dhclient -6 -x -P -P -P -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
}
rel_DHCPv6_MPD4 () {
    /sbin/dhclient -6 -P -P -P -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
    /sbin/dhclient -6 -r -P -P -P -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
}
get_DHCPv6_MPD2 () {
    /sbin/dhclient -6 -P -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
    /sbin/dhclient -6 -x -P -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
}
rel_DHCPv6_MPD2 () {
    /sbin/dhclient -6 -P -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
    /sbin/dhclient -6 -r -P -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
}
get_DHCPv6_PD () {
    /sbin/dhclient -6 -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
    /sbin/dhclient -6 -x -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
}
rel_DHCPv6_PD () {
    /sbin/dhclient -6 -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
    /sbin/dhclient -6 -r -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
}
## 
DEVL="vaio1mpd"
case "$1" in
    "getm4")
         for i in $DEVL; do get_DHCPv6_MPD4 $i; done
    ;;
    "relm4")
         for i in $DEVL; do rel_DHCPv6_MPD4 $i; done
    ;;
    "getm2")
         for i in $DEVL; do get_DHCPv6_MPD2 $i; done
    ;;
    "relm2")
         for i in $DEVL; do rel_DHCPv6_MPD2 $i; done
    ;;
    "get")
         for i in $DEVL; do get_DHCPv6_PD $i; done
    ;;
    "rel")
         for i in $DEVL; do rel_DHCPv6_PD $i; done
    ;;
    *)
    echo "$0 getm4/relm4/getm2/relm2/get/rel";;
esac
clientIDは、LLタイプで指定。
vaio1mpd.conf
interface "enx3476c5570b8f" {
	also request dhcp6.sntp-servers, dhcp6.sip-servers-addresses;
	send dhcp6.client-id 00:03:00:01:34:76:c5:57:0b:8f; #vaio LL
}


(2)実行結果
dhclient6mpd.sh getm2
solicit

IA_PDを2個メッセージで送出。IAIDは、「c5570b8f」「c5570b90」を指定。

advertise

IA_PDを1個返答。IAID「c5570b8f」でIA_PDに内包設定されたIA_PD Prefixは、「2409:10:XXXX:YY50::/60」。

request

IAID「c5570b8f」IA_PD Prefix「2409:10:XXXX:YY50::/60」とIAID「c5570b90」のIA_PDをもう一個欲しいと要求。

reply

IAID「c5570b8f」IA_PD Prefix「2409:10:XXXX:YY50::/60」とIAID「c5570b90」IA_PD Prefix「2409:10:XXXX:YY50::/60」を使えると応答してきた。同じprefixで1個目のpreferred lifetime=12600/valid lifetime=14400、2個目のpreferred lifetime=14400/valid lifetime=14400。RFC3633によればlifetimeは有効だが。PR-600MI大丈夫か?
「dhclient6mpd.sh relm2」を実行すると1個目のIAID「c5570b8f」は、リリースされる。2個目のIAID「c5570b90」は、「No Binding(3)」となる。PR-600MIは、IAID「c5570b8f」だけ委譲している状態。dhclientは、IAID「c5570b8f」とIAID「c5570b90」が委譲されている状態。リリース後、dhclient側でIAID「c5570b90」が委譲されている状態になる。

(3)その他
複数のIA_PDを含むDHCPv6メッセージを送ると棄却されず応答がある。PDの取得とリリースを繰り返すと高い確率で下記不具合が発生する
・DHCPv6の機能が停止する(応答がなくなる)
・「セキュリティログ(IPv6)」記録が止まり「0 entries」になる
・その他の機能は、動作している(不具合を認識できない)
・valid lifetime後にprefixが無効になり、prefix委譲されたネットワークでIPv6通信ができなくなる


 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

東芝TV REGZA 42Z8000の録画が出来なくなった

2022-05-01 14:00:00 | 

連休が始まった4月29日にテレビの録画が撮れていないと。
確認してみると録画予約一覧に「録画中」と「準備中」の赤文字ラベルのある録画予約が表示されいた。どちらも28日(木曜日)の番組ですでに放送終了している。REGZA 42Z8000は、W録画できるが3番組同時に録画出来ない。結果、新規の録画も出来ない状態になっている。

(1)録画一覧から削除を試みる
削除実行ボタンがグレーアウトで選択出来ない。
リモコンの録画停止ボタンで実行中の録画を停止できる。押してみるが、録画実行中で無いので変化なし。文字化けした予約項目が存在したので削除を試みた。削除できた。

(2)USB磁気ディスクの
「設定メニュー」「レグザリンク設定」「USBハードディスク設定」「動作テスト」を実施したがすべて異常なし。
「機器の取り外し」と再接続を行うが録画一覧の「録画中」「準備中」表記が解消しない。

(3)初期化してみる
「設定メニュー」「初期化」「設定の初期化」「初期化1」を行う。「録画中」「準備中」を含め、すべての予約が削除された。
録画を番組表から実行してみた。番組表に録画マークが表記されるが、録画が始まらない。
リモコンの録画ボタンで録画実行を行う。録画が始まらない。
録画済番組は、再生できる。

磁気ディスクの不良と判断して4TBのUSB磁気ディスクをYAMADA電気で調達してきた。
Buffalo HD-EDS4U3-BC 4.0TB ¥8,536-(w/ tax)

(4)USB磁気ディスクを交換してみる
現行ディスクを取り外し。新規ディスク取り付け。
「設定メニュー」「レグザリンク設定」「USBハードディスク設定」「機器の初期化」実施。終了後、「機器の登録」実施。
さぁこれでOK!
録画をしてみる。録画出来ない。
「初期化2」を実行してみる。変化なし。
USB磁気ディスクを認識しなくなった。
「設定メニュー」「レグザリンク設定」「USBハードディスク設定」「機器の再検出」を実施。検出出来ず。やっちまった。TV本体のUSBインターフェースが壊れたのか?ショック!

(5)電源スイッチ長押し再起動してみる
電源スイッチを長押しすると機器の再起動を行うらしい。実行してみた。起動後、接続していたUSB磁気ディスクが認識され登録が行われた。再生録画ができるようになっている(交換前の磁気ディスク)。「電源スイッチ長押し再起動」を最初に実行すべきだったのかもしれない。

(6)旧磁気ディスク2TBから新磁気ディスク4TBへデータ移行する
まだ観ていない録画番組や保存録画番組を観たい。REGZA 42Z8000(2009年4月)は、外付USB磁気ディスクを1つだけしか接続できない。同時接続して選択することが出来ない。TVには、8台まで登録が出来るが、磁気ディスクを選択するためには、接続中の磁気ディスクを「機器の取りはずし」を実行後に、磁気ディスクをUSB端子から外し、録画済みデータの入った磁気ディスクを接続する必要がある。実用的でない。新しい磁気ディスクに録画保存済みデータを移行する事にした。Ubuntu Linuxでの移行記事が多いが、Debian Linuxでの移行記事を見つけた。手持ちのVAIO Pro 13(VJP131B01N)にインストールしたDebian10で確認してみると、REGZAで扱う「XFS」ファイルを扱えるようになっている。

新磁気ディスク(Buffalo HD-EDS4U3-BC 4TB)をDebian10に接続
磁気ディスクを認識してマウントしてくれた
/var/log/syslog
Apr 30 09:20:02 debian10-vaio kernel: [189556.886550] usb 3-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 30 09:20:02 debian10-vaio kernel: [189556.886552] usb 3-1.4: Product: HD-EDS-C
Apr 30 09:20:02 debian10-vaio kernel: [189556.886553] usb 3-1.4: Manufacturer: BUFFALO
Apr 30 09:20:02 debian10-vaio kernel: [189556.886554] usb 3-1.4: SerialNumber: 0010549820458709
Apr 30 09:20:02 debian10-vaio mtp-probe: checking bus 3, device 5: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1.4"
Apr 30 09:20:02 debian10-vaio mtp-probe: bus: 3, device: 5 was not an MTP device
Apr 30 09:20:02 debian10-vaio kernel: [189556.909820] usb-storage 3-1.4:1.0: USB Mass Storage device detected
Apr 30 09:20:02 debian10-vaio kernel: [189556.909963] scsi host4: usb-storage 3-1.4:1.0
Apr 30 09:20:02 debian10-vaio kernel: [189556.910078] usbcore: registered new interface driver usb-storage
Apr 30 09:20:02 debian10-vaio kernel: [189556.914859] usbcore: registered new interface driver uas
Apr 30 09:20:02 debian10-vaio mtp-probe: checking bus 3, device 5: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1.4"
Apr 30 09:20:02 debian10-vaio mtp-probe: bus: 3, device: 5 was not an MTP device
Apr 30 09:20:03 debian10-vaio kernel: [189557.917607] scsi 4:0:0:0: Direct-Access     BUFFALO  HD-EDS-C         0000 PQ: 0 ANSI: 3
Apr 30 09:20:03 debian10-vaio kernel: [189557.918152] sd 4:0:0:0: Attached scsi generic sg1 type 0
Apr 30 09:20:09 debian10-vaio kernel: [189564.573415] sd 4:0:0:0: [sdb] Very big device. Trying to use READ CAPACITY(16).
Apr 30 09:20:09 debian10-vaio kernel: [189564.573889] sd 4:0:0:0: [sdb] 7814037168 512-byte logical blocks: (4.00 TB/3.64 TiB)
Apr 30 09:20:09 debian10-vaio kernel: [189564.573893] sd 4:0:0:0: [sdb] 4096-byte physical blocks
Apr 30 09:20:09 debian10-vaio kernel: [189564.574597] sd 4:0:0:0: [sdb] Write Protect is off
Apr 30 09:20:09 debian10-vaio kernel: [189564.574604] sd 4:0:0:0: [sdb] Mode Sense: 73 00 10 08
Apr 30 09:20:09 debian10-vaio kernel: [189564.575263] sd 4:0:0:0: [sdb] Write cache: enabled, read cache: enabled, supports DPO and FUA
Apr 30 09:20:09 debian10-vaio kernel: [189564.576107] sd 4:0:0:0: [sdb] Very big device. Trying to use READ CAPACITY(16).
Apr 30 09:20:09 debian10-vaio kernel: [189564.658242]  sdb: sdb1
Apr 30 09:20:09 debian10-vaio kernel: [189564.659785] sd 4:0:0:0: [sdb] Very big device. Trying to use READ CAPACITY(16).
Apr 30 09:20:09 debian10-vaio kernel: [189564.661515] sd 4:0:0:0: [sdb] Attached SCSI disk
Apr 30 09:20:10 debian10-vaio kernel: [189564.933449] XFS (sdb1): Mounting V4 Filesystem
Apr 30 09:20:10 debian10-vaio kernel: [189565.219388] XFS (sdb1): Ending clean mount
Apr 30 09:20:10 debian10-vaio dbus-daemon[950]: [session uid=1000 pid=950] Activating service name='org.gnome.Shell.HotplugSniffer' requested by ':1.14' (uid=1000 pid=983 comm="/usr/bin/gnome-shell ")
Apr 30 09:20:10 debian10-vaio dbus-daemon[950]: [session uid=1000 pid=950] Successfully activated service 'org.gnome.Shell.HotplugSniffer'
Apr 30 09:20:10 debian10-vaio systemd[1]: Created slice system-clean\x2dmount\x2dpoint.slice.
Apr 30 09:20:10 debian10-vaio systemd[1]: Started Clean the /media/someone/cf8c8a9a-ac6e-4e32-a70b-2af140cd40ba mount point.
Apr 30 09:20:10 debian10-vaio udisksd[532]: Mounted /dev/sdb1 at /media/someone/cf8c8a9a-ac6e-4e32-a70b-2af140cd40ba on behalf of uid 1000
デバイスは、「/dev/sdb1」で「/media/someone/cf8c8a9a-ac6e-4e32-a70b-2af140cd40ba」ディレクトリーにマウントされファイルが扱えるようになる。

旧磁気ディスク(I-O DATA HDCL-UT 2TB)をDebian10に接続
Apr 30 10:38:13 debian10-vaio systemd[1]: Started Clean the /media/someone/8bc0fbfd-3ca4-46a3-a5a7-e98c254871a5 mount point.
Apr 30 10:38:13 debian10-vaio udisksd[532]: Mounted /dev/sdc1 at /media/someone/8bc0fbfd-3ca4-46a3-a5a7-e98c254871a5 on behalf of uid 1000
録画済みデータは、デバイス「/dev/sdc1」で「/media/someone/8bc0fbfd-3ca4-46a3-a5a7-e98c254871a5」ディレクトリにマウントされる。

旧磁気ディスクのUUIDを記録
新磁気ディスク
root@debian10-vaio:/home/someone# blkid /dev/sdb1
/dev/sdb1: UUID="cf8c8a9a-ac6e-4e32-a70b-2af140cd40ba" TYPE="xfs" PARTLABEL="primary" PARTUUID="d33e1736-b790-422e-abbc-bcbb188561cc"
旧磁気ディスク
root@debian10-vaio:/home/someone# blkid /dev/sdc1
/dev/sdc1: UUID="8bc0fbfd-3ca4-46a3-a5a7-e98c254871a5" TYPE="xfs" PARTLABEL="primary" PARTUUID="9bdbff39-a640-496a-8a78-71fadf98ce72"

コピーを実行
root@debian10-vaio:/home/someone# cp -af /media/someone/8bc0fbfd-3ca4-46a3-a5a7-e98c254871a5/* /media/someone/cf8c8a9a-ac6e-4e32-a70b-2af140cd40ba
1038個のファイル1.7TBのコピーを実施。11:00位から17:00位までの約8時間で完了。

新磁気ディスクのUUIDを現行磁気ディスクと同じUUIDに書き換え
root@debian10-vaio:/home/someone# umount /dev/sdc1
root@debian10-vaio:/home/someone# tune2fs -U cf8c8a9a-ac6e-4e32-a70b-2af140cd40ba /dev/sdc1
tune2fs 1.44.5 (15-Dec-2018)
tune2fs: Bad magic number in super-block while trying to open /dev/sdc1
/dev/sdc1 contains a xfs file system
エラーで書き換えられない。インストール済の「tune2fs」ではダメなようだ。「xfs-admin」が必要そうだ。「apt-get install xfsprogs」でインストール。
root@debian10-vaio:/home/someone# xfs_admin -u /dev/sdb1
UUID = cf8c8a9a-ac6e-4e32-a70b-2af140cd40ba
root@debian10-vaio:/home/someone# xfs_admin -u /dev/sdc1
UUID = 8bc0fbfd-3ca4-46a3-a5a7-e98c254871a5
root@debian10-vaio:/home/someone# xfs_admin -U cf8c8a9a-ac6e-4e32-a70b-2af140cd40ba /dev/sdc1
Clearing log and setting UUID
writing all SBs
new UUID = cf8c8a9a-ac6e-4e32-a70b-2af140cd40ba

新磁気ディスクをREGZAに接続
新磁気ディスクをREGZA 42Z8000に接続。自動で認識し、録画済番組の再生、新規番組録画共に実行される。容量は、ほぼ50%程度となる。

磁気ディスクのUUIDについて
新磁気ディスクのUUID書換えを間違えていた。旧磁気ディスクに新磁気ディスクのUUIDを書き換えていた。
結果、新磁気ディスクをREGZAで初期化し、旧磁気ディスクの内容をコピーして、そのままREGZAに接続するだけで、GUIDの書換えは不必要だったようだ。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする