Hack BBS

[全部のスレッド一覧][新規投稿][記事の削除・変更] [Home Page]

返信投稿はタイトルのリンクをクリックして下さい
スレッド【No.5559】の中の記事をすべて表示しています

【No.5559】のスレッド
09/07/22(水) 18:52:13 投稿者[山下康成] [No.5559]のスレッド内
【No.5559】 タイトル[LS-XHL 情報提供のお願い] この記事がスレッドの最初です
機種:LS-XHL
ファームウェア: 1.10
ディストリビューション:標準ファーム

情報提供のお願いです。

私のように、
PRODUCTNAME=UNINSPECT(Unknown)
PRODUCTID=0x80000080
になってしまった方はいらっしゃいませんか?

どうも、私だけのようにも思えて。
何度か NVRAM 飛ばしてますし。。。

09/11/09(月) 17:09:42 投稿者[べむよし] [No.5559]のスレッド内
【No.5640】 タイトル[Re: LS-XHL 情報提供のお願い] 【No.5559】に対する返信
私のLS-XHLもめでたく 0x80000080 になりました。

先月買ってすぐに標準ファームとはさよならしたのですが、
思い立ってまっさらなHDDにTFTboot+LSUpdaterしたところ本体が
見つからなかったので、もしやと思ったら案の定でした。

ちゃんと見ていないのですが、TFTPbootした時点ですでに
ramrootの/proc/buffalo/firmware がおかしそうです。

手元に 1.03/1.10/1.20 があるのでそれぞれのイメージで
TFTPブートしたところ、
1.03: 0x00000011
1.10: 0x80000080
1.20: 0x80000080
と1.03は正しい値が入っているようです。

初めシリアルフラッシュのデータがこけたのかとおもいましたが、
この結果からすると、整合しない気がします。

そういえば1.10/1.20ではkernelメッセージに
mvBoardEnvInit > buffalo_product_id = 0x00000011
が出ないなあと思って、ソース見てみたのですが、該当箇所あたり
に変更が入っているようです。

#というか、上記3バージョンともカーネルのサイズが違うのに
#ソース置き場には2種類しか置いてないし..
#1.20のは xz 圧縮されてるし...

"1.00 or later"というソースは

buffalo_product_id = __be32_to_cpu(ioread32(p + 4));
printk(" %s > buffalo_product_id = 0x%08x\n", __FUNCTION__,
                     buffalo_product_id);
これだけなのですが、

"1.20 or later"というソースでは、

if (buffalo_product_id == 0x0 || buffalo_product_id == 0xffffffff)
buffalo_product_id = boardId | 0x80000000;
...
if (strlen(buffalo_product_name) == 0)
strcpy(buffalo_product_name,"UNINSPECT(Unknown)");
...

が追加され、分岐につかまっている気がします。

LSUpdaterが節操なくていやになり、とりあえずここまでですが、
1.10/1.20でbuffaloさんのカーネルのパッチがバグっているか、
何かしらのハック封じの気がしています。


09/11/09(月) 19:02:19 投稿者[山下康成] [No.5559]のスレッド内
【No.5641】 タイトル[Re: LS-XHL 情報提供のお願い] 【No.5640】に対する返信
>私のLS-XHLもめでたく 0x80000080 になりました。

やはり犠牲者が出ましたか。ご愁傷さまです。
今のところ、ファームウェアアップデートができないのと、
MAC アドレスが時々消えるぐらいの実害しか出ていませんが。


>ちゃんと見ていないのですが、TFTPbootした時点ですでに
>ramrootの/proc/buffalo/firmware がおかしそうです。
>
>手元に 1.03/1.10/1.20 があるのでそれぞれのイメージで
>TFTPブートしたところ、
>1.03: 0x00000011
>1.10: 0x80000080
>1.20: 0x80000080
>と1.03は正しい値が入っているようです。

1.0x はカーネルに固定値で持っています。
1.10 以降はカーネルが LS-CHL と共通のバイナリになったので、
Flash を読んでいます

09/11/10(火) 19:24:53 投稿者[べむよし] [No.5559]のスレッド内
【No.5642】 タイトル[Re: LS-XHL 情報提供のお願い] 【No.5641】に対する返信

>1.0x はカーネルに固定値で持っています。
>1.10 以降はカーネルが LS-CHL と共通のバイナリになったので、
>Flash を読んでいます

なるほど。そういうことですか。納得です。

となると、フラッシュが飛んだか、ipアドレスを変えたりしたので
チェックサムに引っかかったりとかになるでしょうか。

私もあまり困らないので、良しとします。



10/03/02(火) 22:18:56 投稿者[ねこしん] [No.5559]のスレッド内
【No.5698】 タイトル[Re: LS-XHL 情報提供のお願い] 【No.5642】に対する返信
まっさらなHDDにFW1.03を入れようとしたら、アップデータが途中でタイムアウトしたので再実行した。
結果、私もPRODUCT_ID=0x80000080、PRODUCT_NAME="UNINSPECT(Unknown)"となりました。
(もしかしたらFW1.10以下のアップデータでは、たまにnvramをクリアするバグが有るのかも・・・)
色々調べてみたら(ソースは見てません)、nvramの環境変数以外がクリアされたようです。
(nvram -c dump でみたら環境変数以外は00だった)
FW1.03のnvram -c set xxx は、nvramの環境変数以外をクリアするようです。
FW1.10以降は対策されたようでnvram -c set xxx を行ってもnvramのnas_featureのデータは残るようです。
/etc/nas_featureに書かれるデータは、dumpnfで取得するようなのでdumpnfが参照するnvramのエリアに、nas_featureのデータを書けばとりあえず復旧できるようです。

nvramの復旧は下記の様にやりました。
FW1.03ならLS-XHLのnas_featureが作成されるので、FW1.03を入れる。(FW1.04Bでもできるのかな?)
/etc/nas_featureのPRODUCT_CAPACITY=""をPRODUCT_CAPACITY="500G"に変更する。
PRODUCT_CAPACITY="500G"の500Gは、LS-XHLのHDD容量で1TBなら1.0Tと入れる。(指定は4文字らしい)
たぶんForceモードだと思う、下記でnvramに書き込む。
root@LS-XHL:~# setnf -f < /etc/nas_feature
エラーが出なければ成功していると思われるので、dumpnfを実行しnas_featureが表示されれば良い。
nvramにnas_featureのデータがある時に-fオプションありで実行すると起動しなくなる可能性が大なので、復旧以外では-fオプションは使わない事。

nvramのnas_featureのデータを更新する場合は下記の様にする。
/etc/nas_feature を変更する。
setnf < /etc/nas_feature を実行する。

/etc/nas_featureがあり、dumpnf、setnfもあるTera/LinkStationでnas_featureのデータを変更・復旧できるかもしれませんね。

余談でまた推測ではありますが、DTCP-IP機能がある機種でnvramがクリアされた場合は、DTCP-IP機能は使えなくなるようです。nvramを復旧しても、DTCP-IP機能で使用するデータは復旧できないようです。
DTCP-IP機能がある機種でnvramを修正するのは、DTCP-IP機能が使えなくなる可能性があるのでやめた方が良いと思います。

nvramのマップ(nvram -c dump で見れる)
0x401fa008: --<nvram>-- len=65532
000: 62(b) 5C(.) 5A(Z) A2(.) 62(b) 6F(o) 6F(o) 74(t)  環境変数
             :
4000: 53(S) 61(a) 6C(l) 74(t) 65(e) 64(d) 5F(.) 5F(.)  DTCP-IP機能のデータ(?)
             :
FC00: E3(.) FF(.) DD(.) BE(.) 00(.) 00(.) 00(.) 11(.)  nas_featureのデータ
             :

10/03/03(水) 21:20:54 投稿者[山下康成] [No.5559]のスレッド内
【No.5699】 タイトル[Re: LS-XHL 情報提供のお願い] 【No.5698】に対する返信
うぉぉぉぉぉ!
すばらしい情報をありがとうございます。
まさに中の人という感じですね。

試してみます。

10/03/17(水) 02:22:12 投稿者[ねこしん] [No.5559]のスレッド内
【No.5704】 タイトル[Re: LS-XHL 情報提供のお願い] 【No.5699】に対する返信
すみません、中の人ではありません、以前メールでrootパスワードのコピーを相談した者です。

LS-XHLの情報ではありませんが・・・、nas_feature がらみという事でこちらに書き込みします。

TS-WXLは持っていないので検証できていませんが、debian化に標準FWのinitrd.buffalo、uImage.buffaloをつかうになら参考になるかと思います。
(initrd.buffalo、uImage.buffaloはnas_featureの設定を前提に動作していると仮定しています)
標準ファームの /etc/nas_feature を見れば設定状況がある程度分かると思います。

FWアップデータ1.30の initrd.buffalo 内の /root/.nas_features/nas_feature.0x0000200C から抜粋
SUPPORT_RAID=on
SUPPORT_RAID_DEGRADE=on

SUPPORT_RAID0=1
SUPPORT_RAID1=1
SUPPORT_RAID5=1
SUPPORT_RAID10=1
SUPPORT_NORAID=1
SUPPORT_RAID_REBUILD=1

RAID は無し、RAID0、RAID1、RAID5、RAID10 が使用可能(このRAIDはユーザ領域だと思います)

ROOTFS_FS=ext3
USERLAND_FS=xfs

MAX_DISK_NUM=4
MAX_USBDISK_NUM=2
MAX_ARRAY_NUM=2
DEV_BOOT=md0
DEV_ROOTFS1=md1
DEV_SWAP1=md10

BOOTはmd0、ROOTFSはext3でmd1、SWAPはmd10、ユーザ領域はxfs、内臓HDDは4台まででRAIDは2組、USBは2ポート

DEVICE_NETWORK_PRIMARY=eth0
DEVICE_NETWORK_SECONDARY=eth1

ネットワークIFの優先順位ですね。

SUPPORT_MICON=1
SUPPORT_LCD=1
SUPPORT_HDD_SPINDOWN=1
SUPPORT_HOT_SWAP=1

miconaplサポート、LCDサポート、HDDスピンダウン、ホットスワップサポートですね。

dumpnfで見れば /etc/nas_feature の設定状況が正確に分かると思います。
(SetupNasFeature内で dumpnf から /etc/nas_feature を作成しているようです)

TS-WXLの linuxrc を少し見てみましたが、miconapl を使用する場合は miconapl の初期化(?)が必要ではないのでしょうか?(HS-DHGLと同様なのかな?)
下記の様にすればシリアルコンソールが使えるかもしれません。(解決していたらすみません)

#!/bin/sh

export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin

echo "---- in hackkit linuxrc ---"

mount proc /proc -t proc
mount sysfs /sys -t sysfs

. /usr/local/lib/libsys
SetupNasFeature

ldconfig
depmod

. /etc/nas_feature
/etc/init.d/startSysMd.sh

###############################################################################
miconapl -b -a boot_flash_ok > /dev/null
if [ "${SUPPORT_FAN}" = "on" ] ; then
/usr/local/sbin/miconapl -a fan_set_speed full
fi
if [ "${SUPPORT_LCD}" = "1" ] ; then
/usr/local/sbin/miconapl -a lcd_set_buffer0 "Welcome to TeraStation"
fi
/usr/local/sbin/miconapl -a serialmode_console
###############################################################################

echo "0x901" > /proc/sys/kernel/real-root-dev

umount /sys
umount /proc
umount -a
exit 0


最後にLS-XHL FW1.24の nas_feature を参考までに載せておきます。
PID=0x00000011
NAS_FEATURE_VERSION=2.0.0
SERIES_NAME="LinkStation"
PRODUCT_NAME="LS-XHL(ANKOU)"
SUPPORT_NTFS_WRITE=off
SUPPORT_DIRECT_COPY=on
SUPPORT_RAID=off
SUPPORT_RAID_DEGRADE=off
SUPPORT_FAN=on
SUPPORT_AUTOIP=on
SUPPORT_NEW_DISK_AUTO_REBUILD=off
SUPPORT_2STEP_INSPECTION=off
SUPPORT_RESYNC_DELAY=off
SUPPORT_PRINTER_SERVER=on
SUPPORT_ITUNES_SERVER=on
SUPPORT_DLNA_SERVER=on
SUPPORT_NAS_FIREWALL=off
SUPPORT_IPV6=off
SUPPORT_DHCPS=off
SUPPORT_UPNP=off
SUPPORT_SLIDE_POWER_SWITCH=on
SUPPORT_BITTORRENT=on
SUPPORT_USER_QUOTA=on
SUPPORT_GROUP_QUOTA=on
SUPPORT_ACL=on
SUPPORT_TIME_MACHINE=on
SUPPORT_SLEEP_TIMER=on
SUPPORT_AD_NT_DOMAIN=on
SUPPORT_RAID0=0
SUPPORT_RAID1=0
SUPPORT_RAID5=0
SUPPORT_RAID10=0
SUPPORT_NORAID=0
SUPPORT_RAID_REBUILD=0
SUPPORT_AUTH_EXTERNAL=1
SUPPORT_SAMBA_DFS=0
SUPPORT_LINKDEREC_ANALOG=0
SUPPORT_LINKDEREC_DIGITAL=0
SUPPORT_WEBAXS=1
SUPPORT_UPS_SERIAL=0
SUPPORT_UPS_USB=1
SUPPORT_UPS_RECOVER=0
SUPPORT_SYSLOG_FORWARD=0
SUPPORT_SYSLOG_DOWNLOAD=0
SUPPORT_SHUTDOWN_FROMWEB=0
SUPPORT_REBOOT_FROMWEB=1
SUPPORT_IMHERE=0
SUPPORT_POWER_INTERLOCK=1
SUPPORT_SMTP_AUTH=1
NEED_MICONMON=off
ROOTFS_FS=xfs
USERLAND_FS=xfs
NASFEAT_VM_WRITEBACK=default
NASFEAT_VM_EXPIRE=default
MAX_DISK_NUM=1
MAX_USBDISK_NUM=1
MAX_ARRAY_NUM=0
DEV_BOOT=sda1
DEV_ROOTFS1=sda2
DEV_SWAP1=sda5
SDK_VERSION=2
DEVICE_NETWORK_PRIMARY=eth1
DEVICE_NETWORK_SECONDARY=eth0
DEVICE_HDD1_LINK=disk1_6
DEVICE_HDD2_LINK=disk2_6
DEVICE_HDD3_LINK=disk3_6
DEVICE_HDD4_LINK=disk4_6
DEVICE_HDD1_REAL=sda6
DEVICE_HDD2_REAL=sdb6
DEVICE_HDD3_REAL=sdc6
DEVICE_HDD4_REAL=sdd6
DEVICE_MD1_REAL=md2
DEVICE_MD2_REAL=md3
DEVICE_MD3_REAL=md4
DEVICE_USB1_LINK=usbdisk1_1
DEVICE_USB2_LINK=usbdisk2_1
DEVICE_USB3_LINK=usbdisk1_5
DEVICE_USB4_LINK=usbdisk2_5
MOUNT_GLOBAL=/mnt
MOUNT_HDD1=/mnt/disk1
MOUNT_HDD2=/mnt/disk2
MOUNT_HDD3=/mnt/disk3
MOUNT_HDD4=/mnt/disk4
MOUNT_ARRAY1=/mnt/array1
MOUNT_ARRAY2=/mnt/array2
MOUNT_ARRAY3=/mnt/array3
MOUNT_ARRAY4=/mnt/array4
MOUNT_USB1=/mnt/usbdisk1
MOUNT_USB2=/mnt/usbdisk2
MOUNT_USB3=/mnt/usbdisk3
MOUNT_USB4=/mnt/usbdisk4
DEFAULT_LANG=japanese
DEFAULT_CODEPAGE=CP932
SUPPORT_INTERNAL_DISK_APPEND=0
STORAGE_TYPE=HDD
BODY_COLOR=NORMAL
SUPPORT_MICON=0
SUPPORT_LCD=0
PRODUCT_CAPACITY="1.0T"
DEVICE_NETWORK_NUM=1
SUPPORT_USER_QUOTA_SOFT=0
SUPPORT_GROUP_QUOTA_SOFT=0
SUPPORT_NFS=0
SUPPORT_LVM=0
SUPPORT_OFFLINEFILE=0
SUPPORT_HIDDEN_SHARE=0
SUPPORT_HOT_SWAP=0
SUPPORT_LCD_LED=0
SUPPORT_ALERT=0
SUPPORT_PORT_TRUNKING=0
SUPPORT_REPLICATION=0
SUPPORT_USER_GROUP_CSV=0
SUPPORT_SFTP=0
SUPPORT_SERVICE_MAPPING=0
SUPPORT_SSLKEY_IMPORT=0
SUPPORT_SLEEPTIMER_DATE=0
SUPPORT_TERA_SEARCH=0
SUPPORT_SECURE_BOOT=0
SUPPORT_PACKAGE_UPDATE=0
SUPPORT_HDD_SPINDOWN=0
SUPPORT_DISK_ENCRYPT=0
SUPPORT_FTPS=0
SUPPORT_CLEANUP_ALL_TRASHBOX=0
SUPPORT_WAKEUP_BY_REBOOT=0
SUPPORT_DTCP_IP=1
SUPPORT_MYSQL=0
SUPPORT_APACHE=0
SUPPORT_PHP=0
SUPPORT_UPS_STANDBY=0
SUPPORT_HIDDEN_RAID_MENU=0
REGION_CODE=
SUPPORT_ISCSI=0
DEFAULT_WORKINGMODE=NAS
DEVICE_RAID10_1_REAL=
INTERNAL_SCSI_TYPE=multi-host
SUPPORT_RAID6=0
SUPPORT_ELIMINATE_ADLIMIT=0
USB_TREE_TYPE=multi-roothub

10/11/25(木) 02:57:31 投稿者[ねこしん] [No.5559]のスレッド内
【No.5781】 タイトル[Re: LS-XHL 情報提供のお願い] 【No.5704】に対する返信
nas_featureがらみなので、またここに書き込みます。
LS-XHLのnas_featureを復旧させたようなので、今度はDTCP-IP機能を復旧させる方法です。
対象機種は、共通FWを使っているLS-XHL,LS-WXL,LS-WSXL,LS-AVL,LS-VL,LS-WVLとなります。
nas_featureの SUPPORT_DTCP_IP=1 にしてDTCP-IP機能を入れればLS-CHL,LS-SL(88f6281版)でDTCP-IP機能が使えるかもしれませんね。(持っていないので未確認)

DTCP-IP機能の復旧方法
 あまり無いと思いますが、アップデート中の停電などでflashメモリが飛びDTCP-IP機能が使えなくなる事が有ります。
 下記の事を行えばDTCP-IP機能を復旧する事ができます。
 予めmtdblock0に入っているDTCP-IP機能のバックアップ、nas_featureのバックアップを取っている事が前提条件となります。
 LS-XHLのDTCP-IP機能のバックアップがなくても、他の機種(LS-WXL,LS-WSXL,LS-AVL,LS-VL)のDTCP-IP機能のバックアップを使う事も可能です。(同一のデータが有るとどういう影響が出るかは分かりません)
 nas_featureが無い場合は、initrd(initrd.buffalo)の中にnas_featureが有るのでそれを持ってくると良いでしょう。(前の記事のFW1.24のnas_featureでも良いのかな?)
 DTCP-IP機能はどうやらtwonky-altの起動キーでもありLinkStation固体毎に違うようです。
 psでDTCP-IP機能が動作しているか確認できます。

  DTCP-IP機能が使えない場合(twonky)
   2143 root 4100 S /usr/local/sbin/sshd
   2191 root 2700 S /usr/local/twonky/twonkymedia -utf8
   2192 root 5924 S /usr/local/twonky/twonkymediaserver -utf8
   2691 root 3228 S cat /proc/buffalo/kernevnt
   2693 root 780 S /mnt/disk1/share/hack/outpass/telnetd

  DTCP-IP機能が使える場合(twonky-alt)
   2150 root 4100 S /usr/local/sbin/sshd
   2267 root 1776 S /usr/local/twonky-alt/atomheartmother -utf8 -exedir /
   2268 root 2032 S initdx -utf8 -exedir /usr/local/twonky-alt -inifile /
   2269 root 18932 T initdx -utf8 -exedir /usr/local/twonky-alt -inifile /
   4318 root 3228 S cat /proc/buffalo/kernevnt
   4320 root 780 S /mnt/disk1/share/hack/outpass/telnetd

 DTCP-IP機能のバックアップを取る。
  @.DTCP-IP機能が動作しているうちにDTCP-IP機能のバックアップを取る。
    dd if=/dev/mtdblock0 of=dtcp-ip_lsxhl.dump bs=1k skip=464 count=4
  A./etc/nas_featureのバックアップを取る。

 flashメモリが飛んでDTCP-IP機能が死んだら下記を行い復旧する。
 (普通に起動するが、PRODUCT_ID=0x80000080、PRODUCT_NAME="UNINSPECT(Unknown)"となっていると思う)
  @.DTCP-IP機能のバックアップを書き込む。(リストアですね)
    dd if=dtcp-ip_lsxhl.dump of=/dev/mtdblock0 bs=1k seek=464 count=4
  A.dumpnfでnas_featureが取れるか確認する。
    dumpnf コマンドを使用。(CRCエラーがでる可能性が大)
  B.nas_featureが確認できなければ、nas_featureのバックアップをsetnfで書き込む。
    nas_featureが確認できれば不要。
    setnf -f < nas_feature
  C.dumpnfでnas_featureが取れるか確認する。(エラーで確認できないと最悪LS-XHLが起動しなくなる)
    nas_featureが確認できれば不要。
    dumpnf コマンドを使用。
  D.再起動する。
   再起動完了後、Web設定画面から下記を確認する
   ・メディアサーバーが使用するになっていること。
   ・DTPC-IP機能のバージョン表示がされていること。
   DTCP-IP機能が使えない場合は、一旦メディアサーバーを使用しないにして、DTCP-IP機能のアップデートを行いメディアサーバーを使用するに設定する等を行う。

FW1.37のプチ情報(知っていると思いますが・・・)
・USBに何か接続するとsshdが強制終了する。(FW1.20以降だったかな?)
・EMモードで/sbin/udevd --daemon が動作しているとtelnet接続できない。
・LS-AVLのFAN制御はバグで動作していないため、他の機種で使えるように/etc/smartfanctld.confを修正してもFAN制御は動作しない。(FW1.31〜FW1.34は"disk[0-9]*\b"となっている)
・リアルタイムクロックはrtcでなくrtc0を使用している。
 sh-3.2# ls -al /dev/rtc*
 lrwxrwxrwx 1 root root 4 Nov 25 2010 /dev/rtc -> rtc0
 crw-r--r-- 1 root root 254, 0 Nov 25 2010 /dev/rtc0