玄箱/HG 入手


いい加減なショップ

この週末玄箱/HG が出荷されそうだということで、 11/5 の 19:55 頃、 玄箱/HG を予約している京都タワー裏のショップへ行ってみた。
電話連絡ももらっていないし、だめもとで聞いてみると、 「入荷してるんですが、、、(みつかりません)」とのこと。 数分後、一般に陳列されている玄箱/HG をとってきて「ありました」と。

予約しているにもかかわらず、入荷しても連絡してくれない、 取り置きもしてくれてない。いったいどうなってるんだ、このショップ。 以前 Clie を予約したときも入荷しているにもかかわらず連絡してくれなかった 前例もあり、このショップの予約は全くあてにならない。困ったものだ。
もうすぐ京都駅ビルに別のショップができるということで、淘汰されるか??? このショップの品揃えは気に入ってるんだけどなぁ、、、

外箱

愚痴はさておき、外箱。

バーコード付近にシールなし。

開封

内容物は、
  • 本体(前面に USB ポートあり)
  • インストール CD
  • ねじ3本(長:リアパネル用/短:HDD 用×2)
  • スタンド
  • 解説書A3 1枚

    本体側面は、もあれ(?)が気になる。

    筐体

    おそらく玄箱赤シールと同じ筐体。
    電源スイッチは灰色で LinkStation と同じ(玄箱はガンメタ)
    スタンドも灰色で LinkStation と同じ(玄箱はガンメタ)
    フロントパネルを含むコの字の上下面も灰色(玄箱はガンメタ)

    リアパネル

    リアパネルは黒(玄箱はガンメタ)。


    (MAC アドレスは念のため消した)

    AUTO-MDIX なので、X<->II スイッチのところはシールで塞いである。
    LAN コネクタのところには、10M/100M としか書いてない。
    どうして HD-HGLAN のリアパネルを使わなかったのか不思議。

    「製造番号/型番」は何も書いてない。玄箱と同じ

    解説書

    バグ発見
    LINK/ACT LED: 10Mbps 接続時赤色点灯、100Mbps 接続時緑色点灯、100Mbps 接続時緑色点灯
    
    おそらく
    LINK/ACT LED: 10Mbps 接続時赤色点灯、100Mbps 接続時緑色点灯、1000Mbps 接続時青色点灯
    
    と書きたかったんだろうな。

    Web 管理者パスワード、コンソール管理者パスワードが玄箱と変わっている。

    記念撮影

    例によって記念撮影

    左から、ADSL モデム、 ブロードバンドルータ、 意地で買ったWHR-G54ブロードバンドルータ予備機
    外向きサーバの LinkStation HD-H120LAN、 内向きサーバの HD-HG120LAN、 HD-120LAN、
    玄箱(相変わらず空箱)、 今回購入した玄箱/HG

    ようやく分解

    ケースの構造は、従来と全く同じ。

    筐体は吹き付け塗装ではなく、黒い樹脂での成型品になっている。

    基板

    HD-HGLAN(左)、玄箱/HG(右)の基板裏面。
    うわさどおり、HGLAN と同じように見える。
    HGLAN玄箱/HG
    D-RAM ELPIDA
    DS2516APTA-75
    MT
    48LC16M16A2-75
    Flash ST
    M29W320DT
    HG001
    Fujitsu
    29PL32TM-90PFTN
    HG007
    USB NEC
    D720101GJ
    Network Realtek
    RTL8110S-32

    興味深いのは、Flashの刻印。7リビジョン目か。

    HD-HGLAN(左)、玄箱/HG(右)の基板表面。
    HGLAN玄箱/HG
    MAID IN JAPAN TAIWAN
    CPU MPC8241LZQ266D
    IDE Sil0680ACL144
    AVR AT90S2313-4SC
    D-RAM ELPIDA
    DS2516APTA-75
    MT
    48LC16M16A2-75
    ハード的には全く同じに見える。

    HDD の接続

    例によって MPA3017AT という 1.7GB の HDD を接続してみた。

    2GB 以下のディスクだと、多分ファームが入らないんだろうな、、、


    ファームウェアのインストール

    CD に収められている KuroBoxSetup.exe を実行した。 案の定「ファームウェアの更新に失敗しました」となった。
    何度か試してみたが、やっぱりだめ。
    その上、HDD からジージリジッジ、ジージリジッジ、ジージリジッジ・・・ と定期的な異音までしている。

    もう他にあいている HDD がないので、 なんとしてもこの HDD にインストールしないと。

    リセット

    電源を落とし、再投入。 DIAG LED が点滅して落ちるが気にせず再投入

    telnet

    telnet してみる。
    [yasunari@giga yasunari]$ telnet 192.168.1.132
    Trying 192.168.1.132...
    Connected to 192.168.1.132.
    Escape character is '^]'.
    Kuroutoshikou KURO-BOX/HG (IESHIGE)
    Linux/ppc 2.4.17_mvl21
    
    KURO-BOX-EM login:
    
    玄箱/HG は IESHIGE だそうな。

    ログイン

    ログインしてみる
    KURO-BOX-EM login: root
    Password:
    
    
    BusyBox v0.60.5 (2003.07.30-12:03+0000) Built-in shell (ash)
    Enter 'help' for a list of built-in commands.
    
    #
    
    上にも書いたが、パスワードは玄箱とは変更されている。
    マニュアルをろくすっぽ読まずに「パスワードがわかりません」って 書く人がまた出るんだろうな。

    手動でフォーマット

    手動でパーティションをきってやれば、ファームもインストールできるかな?
    # mfdisk -c /dev/hda
    
    Command (m for help): p
    
    Disk /dev/hda: 16 heads, 63 sectors, 3390 cylinders
    Units = cylinders of 1008 * 512 bytes
    
       Device Boot    Start       End    Blocks   Id  System
    /dev/hda1             1      4161   2097112+  83  Linux
    /dev/hda2          4162      4681    262080   82  Linux swap
    /dev/hda3          4682      3390 2146832984   83  Linux
    
    Command (m for help):
    
    何でこんなことになってるんだ?

    パーティションを作成する。

    Command (m for help): d
    Partition number (1-4): 1
    
    Command (m for help): d
    Partition number (1-4): 2
    
    Command (m for help): d
    Partition number (1-4): 3
    
    Command (m for help): p
    
    Disk /dev/hda: 16 heads, 63 sectors, 3390 cylinders
    Units = cylinders of 1008 * 512 bytes
    
       Device Boot    Start       End    Blocks   Id  System
    
    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    p
    Partition number (1-4): 1
    First cylinder (1-3390, default 1):
    Using default value 1
    Last cylinder or +size or +sizeM or +sizeK (1-3390, default 3390): 2500
    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    p
    Partition number (1-4): 2
    First cylinder (2501-3390, default 2501):
    Using default value 2501
    Last cylinder or +size or +sizeM or +sizeK (2501-3390, default 3390): +256M
    
    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    p
    Partition number (1-4): 3
    First cylinder (3022-3390, default 3022):
    Using default value 3022
    Last cylinder or +size or +sizeM or +sizeK (3022-3390, default 3390):
    Using default value 3390
    
    Command (m for help): p
    
    Disk /dev/hda: 16 heads, 63 sectors, 3390 cylinders
    Units = cylinders of 1008 * 512 bytes
    
       Device Boot    Start       End    Blocks   Id  System
    /dev/hda1             1      2500   1259968+  83  Linux
    /dev/hda2          2501      3021    262584   83  Linux
    /dev/hda3          3022      3390    185976   83  Linux
    
    Command (m for help): t
    Partition number (1-4): 2
    Hex code (type L to list codes): 82
    Changed system type of partition 2 to 82 (Linux swap)
    
    Command (m for help): p
    
    Disk /dev/hda: 16 heads, 63 sectors, 3390 cylinders
    Units = cylinders of 1008 * 512 bytes
    
       Device Boot    Start       End    Blocks   Id  System
    /dev/hda1             1      2500   1259968+  83  Linux
    /dev/hda2          2501      3021    262584   82  Linux swap
    /dev/hda3          3022      3390    185976   83  Linux
    
    Command (m for help): w
    The partition table has been altered!
    
    Syncing disks.
    # mkswap /dev/hda2
    Setting up swapspace version 1, size = 268881920 bytes
    # mke2fs -j /dev/hda1
    mke2fs 1.22, 22-Jun-2001 for EXT2 FS 0.5b, 95/08/09
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    157760 inodes, 314992 blocks
    15749 blocks (5.00%) reserved for the super user
    First data block=0
    10 block groups
    32768 blocks per group, 32768 fragments per group
    15776 inodes per group
    Superblock backups stored on blocks:
            32768, 98304, 163840, 229376, 294912
    
    Writing inode tables: done
    Creating journal (8192 blocks): done
    Writing superblocks and filesystem accounting information: done
    
    This filesystem will be automatically checked every 39 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
    # mke2fs -j /dev/hda3
    mke2fs 1.22, 22-Jun-2001 for EXT2 FS 0.5b, 95/08/09
    Filesystem label=
    OS type: Linux
    Block size=1024 (log=0)
    Fragment size=1024 (log=0)
    46552 inodes, 185976 blocks
    9298 blocks (5.00%) reserved for the super user
    First data block=1
    23 block groups
    8192 blocks per group, 8192 fragments per group
    2024 inodes per group
    Superblock backups stored on blocks:
            8193, 24577, 40961, 57345, 73729
    
    Writing inode tables: done
    Creating journal (4096 blocks): done
    Writing superblocks and filesystem accounting information: done
    
    This filesystem will be automatically checked every 32 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
    #
    

    再度ファームウェアのインストール

    KuroBoxSetup.exe を実行したら、 しょっぱなに「パーティションを削除しています」と出た。 あかんわ

    手動でインストール

    インストーラからではインストールできそうにないので、 手動でインストールする。

    まずは、上記の手動でフォーマットの手順をもう一回実行。

    HDD のマウント

    # df
    Filesystem           1k-blocks      Used Available Use% Mounted on
    /dev/ram0                 9677      5114      4563  53% /
    # mkdir /tmp/root
    # mount /dev/hda1 /tmp/root
    # mkdir /tmp/root/mnt
    # mount /dev/hda3 /tmp/root/mnt
    # df
    Filesystem           1k-blocks      Used Available Use% Mounted on
    /dev/ram0                 9677      5115      4562  53% /
    /dev/hda1              1032056     32832    946788   3% /tmp/root
    /dev/hda3               384583      8239    356487   2% /tmp/root/mnt
    #
    

    ファームウェアの転送

    続いて、image.zip を ftp で /tmp/root/tmp に置く。
    [yasunari@giga /tmp]$ ftp 192.168.1.132
    Connected to 192.168.1.132.
    220 KURO-BOX-EM FTP server (Version 6.4/OpenBSD/Linux-ftpd-0.17) ready.
    Name (192.168.1.132:yasunari): root
    331 Password required for root.
    Password:
    230- Linux 2.4.17 ppc unknown
    230 User root logged in.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> cd /tmp/root/tmp
    250 CWD command successful.
    ftp> bin
    200 Type set to I.
    ftp> hash
    Hash mark printing on (1024 bytes/hash mark).
    ftp> put image.zip
    local: image.zip remote: image.zip
    227 Entering Passive Mode (192,168,1,132,4,0)
    150 Opening BINARY mode data connection for 'image.zip'.
    ################################
    	:
    ################################
    

    ファームウェアの展開

    # pwd
    /tmp/root/tmp
    # ls
    image.zip
    # unzip image.zip
    Archive:  image.zip
      inflating: tmpimage.tgz
    # tar ztvf tmpimage.tgz
    drwxr-xr-x root/root         0 2004-10-14 17:47:46 ./
    drwxrwxr-x root/root         0 2004-10-14 17:56:37 ./bin/
    -rwxr-xr-x root/root    257404 2004-10-14 17:56:37 ./bin/awk
    -rwxr-xr-x root/root      9924 2004-10-14 17:56:37 ./bin/run-parts
    -rwxr-xr-x root/root      4088 2004-10-14 17:56:37 ./bin/usleep
    	:
    # cd ..
    # pwd
    /tmp/root
    # tar zxvf tmp/tmpimage.tgz
    (ファイルの日付が未来だといわれるが気にしない)
    	:
    	:
    

    fl3

    /dev/fl3 が NGNG になってるはず。
    # dd if=/dev/fl3 bs=2 count=2
    NGNG2+0 records in
    2+0 records out
    #
    
    write_ok はある?
    # ls /usr/bin/write_*
    /usr/bin/write_ng  /usr/bin/write_ok
    
    まあ、なくても echo -n 'OKOK' > /dev/fl3 でよいはずだけど。
    実行
    # /usr/bin/write_ok
    argv: /usr/bin/write_ok
    # dd if=/dev/fl3 bs=2 count=2
    OKOK2+0 records in
    2+0 records out
    #
    

    リブート

    電源ボタン長押しでシャットダウン。再度電源投入

    今度こそ

    玄箱/HG に telnet する
    Kuroutoshikou KURO-BOX/HG (IESHIGE)
    Linux/ppc 2.4.17_mvl21
    
    KURO-BOX login: root
    Password:
    Linux (none) 2.4.17_mvl21 #24 2004年 10月 19日 火曜日 17:17:03 JST ppc unknown
    root@KURO-BOX:~#
    
    できたかな。

    探検

    cpuinfo

    root@KURO-BOX:~# cat /proc/cpuinfo
    cpu             : 82xx
    revision        : 16.20 (pvr 8081 1014)
    bogomips        : 173.26
    vendor          : Motorola SPS
    machine         : Sandpoint
    processor       : PVID: 0x80811014, vendor: Motorola
    
    HD-HLAN(200MHz) は 130.66 bogomips。 HD-HGLAN(266MHz) は 172.85 bogomips。

    meminfo

    root@KURO-BOX:~# cat /proc/meminfo
            total:    used:    free:  shared: buffers:  cached:
    Mem:  130138112 21004288 109133824        0  2105344 10825728
    Swap: 268877824        0 268877824
    MemTotal:       127088 kB
    MemFree:        106576 kB
    MemShared:           0 kB
    Buffers:          2056 kB
    Cached:          10572 kB
    SwapCached:          0 kB
    Active:           5308 kB
    Inactive:        12020 kB
    HighTotal:           0 kB
    HighFree:            0 kB
    LowTotal:       127088 kB
    LowFree:        106576 kB
    SwapTotal:      262576 kB
    SwapFree:       262576 kB
    root@KURO-BOX:~#
    
    128MB あり。

    process

    root@KURO-BOX:~# ps -aux
    Bad syntax, perhaps a bogus '-'?
    USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
    root         1  0.3  0.5  1452  660 ?        S    10:05   0:05 init
    root         2  0.0  0.0     0    0 ?        SW   10:05   0:00 [keventd]
    root         3  0.0  0.0     0    0 ?        SWN  10:05   0:00 [ksoftirqd_CPU0]
    root         4  0.0  0.0     0    0 ?        SW   10:05   0:00 [kswapd]
    root         5  0.0  0.0     0    0 ?        SW   10:05   0:00 [bdflush]
    root         6  0.0  0.0     0    0 ?        SW   10:05   0:00 [kupdated]
    root         8  0.0  0.0     0    0 ?        SW   10:05   0:00 [khubd]
    root        10  0.0  0.0     0    0 ?        SW   10:05   0:00 [kjournald]
    root        48  0.0  0.0     0    0 ?        SW   10:05   0:00 [kjournald]
    root        87  0.0  0.4  1440  596 ?        S    10:05   0:00 dhcpcd -h KURO-BOX -t 10 eth0
    root       131  0.0  0.6  1592  780 ?        S    10:05   0:00 /sbin/syslogd
    root       133  0.0  0.5  1512  704 ?        S    10:05   0:00 /sbin/klogd
    root       155  0.0  0.5  1556  692 ?        S    10:05   0:00 /usr/sbin/inetd
    root       158  0.0  0.7  2008  972 ?        S    10:05   0:00 /usr/sbin/thttpd -C /etc/thttpd.conf
    daemon     162  0.0  0.7  2012  916 ?        S    10:05   0:00 lpd Waiting
    root       167  0.0  0.6  1604  776 ?        S    10:05   0:00 /usr/sbin/cron
    root       179  0.0  1.0  3816 1292 ?        S    10:05   0:00 /usr/sbin/atalkd -f /etc/atalk/atalkd.conf
    root       180  0.0  1.5  5004 1960 ?        S    10:05   0:00 /usr/sbin/smbd -D
    root       182  0.0  1.4  3824 1848 ?        S    10:05   0:00 /usr/sbin/nmbd -D
    root       185  0.0  0.4  1428  628 ?        S    10:05   0:00 /usr/sbin/ppc_uartd
    root       187  0.0  0.4  1440  596 ttyS0    S    10:05   0:00 /sbin/getty console
    root       191  0.0  1.1  4404 1508 ?        S    10:06   0:00 /usr/sbin/afpd -c 1000 -n KURO-BOX -k sjis
    root       192  0.0  0.7  1920  908 ?        S    10:06   0:00 in.telnetd: hage.yamasita.jp
    root       193  0.0  1.2  2768 1580 pts/0    S    10:06   0:00 -bash
    root       200  0.0  0.7  2888  984 pts/0    R    10:35   0:00 ps -aux
    root@KURO-BOX:~#
    
    ap_servd は動いていない

    時計

    root@KURO-BOX:~# date
    Wed Oct  6 10:37:24 JST 2004
    
    マニュアルによると時刻の初期値は 10/1 だそうなので、生後6日。
    root@KURO-BOX:~# date 11061332
    Sat Nov  6 13:32:00 JST 2004
    


    ハックの記録 → 玄箱/HG のハックキット化
    LinkStation/玄箱 をハックしよう

    Copyright (C) 2004 Yasunari Yamashita. All Rights Reserved.
    yasunari @ yamasita.jp 山下康成@京都府向日市