Linux cli 版SeaTools をx86_64 で使う

1つ前のエントリでSMART は見えたのですが,Linux 版SeaTools も気になるので試してみました.
#しかし,一寸嵌りました.

- SeaTools End User License Agreement
http://download.seagate.com/seatools/registration.nsf/eula/linux_cli

にアクセスして,Accept.次のページでメールアドレスなんかを記入してSubmit でseatools_cli.tar が入手できます.
入手したseatools_cli.tar を展開して実行してみます.
ディレクトリを作らずカレントに展開されるので注意して下さい.

$ mkdir seatools
$ cd seatools
$ tar xvf ../seatools_cli.tar 
$ sudo ./st -l
sudo: unable to execute ./st: No such file or directory
$ ls -l
-rwxr-xr-x 1 mk mk 180149 2001-09-12 18:40 st
-r--r--r-- 1 mk mk  49072 2001-09-12 18:40 sthelp.txt

?st ありますよ?

$ file ./st
./st: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
$ strings st | head
/lib/ld-linux.so.2
__gmon_start__
libc.so.6
strcpy
asctime
ioctl
getgid
printf
stdout
random
$ ls -l /lib/ld-linux.so.2
ls: cannot access /lib/ld-linux.so.2: No such file or directory

No such file or directory と言われているのはst ではなく/lib/ld-linux.so.2 の様ですね.
libc6-i386 を入れることで/lib/ld-linux.so.2 が入ります.

$ sudo apt-get install libc6-i386
$ ls -l /lib/ld-linux.so.2
lrwxrwxrwx 1 root root 20 2009-01-22 19:28 /lib/ld-linux.so.2 -> /lib32/ld-linux.so.2

この状態で実行すると動作しました.この辺りはシステムがx86_64 の所為かもしれません. > i686 マシンではこの作業は必要ありませんでした.

てことで本番.root 権限が必要です.
先ずは接続されているHDD を取得してみます.

$ sudo ./st -l

Drive information:

/dev/sg0 ATA      ST3500320NS      SN04 976773167 blocks
/dev/sg1 ATA      ST3500320NS      SN04 976773167 blocks

見慣れない/dev/sg? というデバイスが表示されます.
Linux のデバイス名である/dev/sda とかを指定すると何も言われず終了してしまいます.
/dev/sg0 で情報を取得してみます.

$ sudo ./st -i /dev/sg0
        /dev/sg0
        Vendor = ATA      
        Product = ST3500320NS      
        Version = SN04
        Serial Number = 
        Copyright = 
        SCSI Firmware = [
        Servo RAM Release =     ST35
        Servo ROM Release = 00320NS 
        Servo RAM Date =     
        Servo ROM Date = SN04

        Blocksize = 512, Highblock = 976773167, Capacity = 488387 MB
        -this is a Seagate drive
        -this drive does not support DST
        -Mode Page Settings [current value (default)]:
                -WCE bit = 1 (0)
                -RCD bit = 0 (0)
                -AWRE bit = 1 (0)
                -ARRE bit = 0 (0)
                -DExcpt bit = 0 (0)
                -Number of cache segments = 0 (0)

もちろんSTDOUT に実行結果が吐かれるんですが,stlog.txt というファイルがカレントに作られてコマンドの実行結果履歴が溜まっていってます.
Serial Number とか取れてないみたいです.タイムスタンプが2001-09-12 なので最近のDisk には対応してないのかもしれませんね?
hdparm では取れるんですけど.

$ sudo hdparm -i /dev/sda

/dev/sda:

 Model=ST3500320NS                             , FwRev=SN04    , SerialNo=            5QM1BFWK
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
 BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=?16?
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=976773168
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: ATA/ATAPI-6 T13 1410D revision 2:  ATA/ATAPI-4,5,6

 * signifies the current active mode

一緒にアーカイブされていたsthelp.txt に書いてあるオプションを眺めてみると他にもセルフテストやファームウェア書き込みも出来るみたいです.
しかし,SMART 有効無効のオプションらしい物はあるんですが,SMART の表示方法が解らないです….


ところで,HP ML115 G1 に付いていたDisk はSeagate なのに以下のように認識されませんでした.

$ sudo ./st -l

Drive information:

$ sudo ./st -i /dev/sg0
open error: No such file or directory

Seagate Barracuda 7200.10 ST380815AS だと思うのですが,hdparm ではFB080C4080 となります.
OEM 用に書き換えてあるんですかね.

$ sudo hdparm -i /dev/sda

/dev/sda:

 Model=FB080C4080                              , FwRev=    HPF0, SerialNo=5RW20AEY            
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
 BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=?16?
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=156301488
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 
 AdvancedPM=no WriteCache=disabled
 Drive conforms to: unknown:  ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7

 * signifies the current active mode