I-O DATA HDL2-HA シリーズ NAS の魔改造たび

この記事は中国語からの翻訳です。不自然な点がありましたらご容赦ください。 原記事(中国語)

はじめに

I-O DATA HDL2-HA シリーズの🍆がヤフオクでジャンク品として時々出品されているので、数台購入して遊んでみました。

auctions-page

https://www.iodata.jp/product/nas/general/hdl2-ha/index.htm

仕組みは以下の通りです:

root@jp-puniru ~# fastfetch
          ▗▄▄▄       ▗▄▄▄▄    ▄▄▄▖             root@jp-puniru
          ▜███▙       ▜███▙  ▟███▛             --------------
           ▜███▙       ▜███▙▟███▛              OS: NixOS 25.11 (Xantusia) x86_64
            ▜███▙       ▜██████▛               Host: HDL2-HA (0.3.4.20190111)
     ▟█████████████████▙ ▜████▛     ▟▙         Kernel: Linux 6.12.41
    ▟███████████████████▙ ▜███▙    ▟██▙        Uptime: 33 days, 6 hours, 33 mins
           ▄▄▄▄▖           ▜███▙  ▟███▛        Packages: 535 (nix-system)
          ▟███▛             ▜██▛ ▟███▛         Shell: fish 4.0.2
         ▟███▛               ▜▛ ▟███▛          Terminal: /dev/pts/0
▟███████████▛                  ▟██████████▙    CPU: Intel(R) Atom(TM) C3538 (4) @ 2.10 GHz
▜██████████▛                  ▟███████████▛    Memory: 1.49 GiB / 7.63 GiB (20%)
      ▟███▛ ▟▙               ▟███▛             Swap: 302.00 MiB / 3.82 GiB (8%)
     ▟███▛ ▟██▙             ▟███▛              Disk (/): 5.30 GiB / 14.72 GiB (36%) - btrfs
    ▟███▛  ▜███▙           ▝▀▀▀▀               Disk (/mnt/records): 1.52 TiB / 2.73 TiB (56%) - btrfs
    ▜██▛    ▜███▙ ▜██████████████████▛         Local IP (enp5s0f0): 192.168.6.253/24
     ▜▛     ▟████▙ ▜████████████████▛          Locale: en_US.UTF-8
           ▟██████▙       ▜███▙
          ▟███▛▜███▙       ▜███▙
         ▟███▛  ▜███▙       ▜███▙

CPUはまだ10年くらいは戦えそうです。
メモリスロットは2基あり、4GBを2枚挿しています。
ECCメモリに対応しているようですが、ノートPC用のECCメモリなんて見たことありますか? ネットワークカードにはRJ45の10GbEポートが2つ搭載されています。

そして、最も印象的なのは3ベイNASです。
データドライブが2つ、システムドライブが1つ、M2ドライブが1つ搭載されています。
マザーボード内にはUSBポートもあります。

最後、出品者が特に安く売っている場合のパターンは大体こんな感じです(推測):

  1. 廃棄時にハードディスクを全て取り出して別売り、システムディスクも含めて、システムディスクだけで4000〜5000円ほどで売れる
  2. 廃棄時にハードディスクを破棄処分するため、システムディスクがない

なので、このようなDIYできるが少し難しいジャンク品を拾えるわけです(

本文

清掃

手に入れたらまず分解して清掃し、CPUグリスの塗り直しは面倒なのでサボりました(

マザーボードをコチタでーーーーーーーーす: motherboard (裏面にメモリとM.2のスロットがあります)

グラフィックカード

この機器にはグラフィックカードは搭載されていませんが、PCIE x8のフルハイトスロットがあります。
ただし、グラフィックカードを挿入する際にブラケットがないと斜めに挿さってしまいます(引っかかってしまうため) そのため、マザーボードを取り出してからグラフィックカードを挿入しました(上の図を参照)。
安価なグラフィックカードを挿すことをお勧めします(AkibaJunksなどで購入すれば良いです)

これでグラフィカルな画面に入って、BIOSをいじったりできますが、設定できる項目はほとんどありません。

システムのインストールなども便利になります。
理論上はグラフィックカードがなくてもシステムをインストールできますし、BOOTX64.EFIがあれば起動することができるはずです。

フロントパネルケーブルの取り外し

IODATA以外のOSはフロントパネルが対応するものがないため。 フロントパネルディスプレイのケーブルは抜いておきましょう。

LEDライトの制御

To Be Continued

面倒で時間もないので、ステータスランプは点滅しっぱなしにするか、ケーブルを抜いてしまいましょう。

おそらく簡単なGPIOプルダウンでLowにすれば解決するのでしょうが、資料もなく時間もないため諦めました。

温度制御ドライバ

機器の温度制御などはIT8625Eで制御されており、it87-dkmsをインストールする必要があります。 https://github.com/a1wong/it87 または https://github.com/frankcrawford/it87 を使用できます。

これでsensorsにデータが表示されるようになります:

root@jp-puniru ~# sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +62.0°C  (high = +74.0°C, crit = +94.0°C)
Core 2:        +61.0°C  (high = +74.0°C, crit = +94.0°C)
Core 6:        +57.0°C  (high = +74.0°C, crit = +94.0°C)
Core 8:        +58.0°C  (high = +74.0°C, crit = +94.0°C)
Core 12:       +59.0°C  (high = +74.0°C, crit = +94.0°C)

it8620-isa-0830
Adapter: ISA adapter
in0:         732.00 mV (min =  +0.56 V, max =  +1.36 V)
in1:           1.32 V  (min =  +1.28 V, max =  +1.38 V)  ALARM
in2:           2.20 V  (min =  +2.08 V, max =  +2.30 V)
+5V:           4.51 V  (min =  +4.15 V, max =  +4.61 V)
in4:           2.12 V  (min =  +2.08 V, max =  +2.30 V)
in5:           2.05 V  (min =  +0.11 V, max =  +0.41 V)  ALARM
in6:           1.96 V  (min =  +1.57 V, max =  +0.60 V)  ALARM
3VSB:          3.55 V  (min =  +3.43 V, max =  +3.79 V)
Vbat:          3.29 V
fan1:        1196 RPM  (min =   12 RPM)
fan2:           0 RPM  (min =   88 RPM)  ALARM
temp1:        +58.0°C  (low  =  +0.0°C, high = +100.0°C)  sensor = thermal diode
temp2:        +59.0°C  (low  =  +0.0°C, high = +100.0°C)  sensor = thermal diode
temp3:        +43.0°C  (low  =  +0.0°C, high = +100.0°C)  sensor = thermal diode
pwm1:             25%  (freq = 23437 Hz)  MANUAL CONTROL
pwm2:             25%  (freq = 23437 Hz)
pwm4:             64%  (freq = 23437 Hz)
pwm5:             64%  (freq = 23437 Hz)
intrusion0:  OK

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +26.8°C

root@jp-puniru ~#

温度制御については私は面倒くさがりなので、pwmを有効にするだけで終わりました:

echo 1 > /sys/class/hwmon/hwmon0/pwm1_enable

いじりたい方は自分で温度PWMのチュートリアルを探してください(

自動起動

自己責任

このひどいBIOSは自動起動機能を削除しており、BIOSをダンプすると設定が隠されており、デフォルトで有効になっていることが分かりました:

そこでBIOSを改造してみたところ、オプションは表示されるようになりましたが効果がありませんでした: setup-1

ここでの考えはずっとBIOSの魔改造で、何人かの友人にも相談しましたが、進展がありませんでした
後で別のアプローチがあることが分かりました(草

最終的に奇妙な方法を使って実現しましたが、いくつかの理由により、
その考え方などを公開することはできません。

もちろんC3000ファミリーのデータシートを参考にできます: https://www.mouser.com/datasheet/2/612/c3000-family-datasheet-1623704.pdf

とにかく g3mgnt をダウンロードして実現できます。理論上、Inside BIOSベースのAtom C3000ファミリー汎用です:

理論上、この機器の自動起動はまだ壊れていますが、CMOSバッテリーが切れるまでは何とか使えるでしょう。
また、マザーボードのバッテリーははんだ付けされているので、はんだごてを持参してください(

wget https://blog.huggy.moe/attachment/2025/g3mgnt && chmod +x g3mgnt
./g3mgnt on
Current: on -> on ✓

誰も見たくないの詳細な出力:

root@jp-puniru ~# ./g3mgnt
G3 Management Tool for IO-DATA HDL2-HA series by huggy
Usage: ./g3mgnt [on/off/mem/status [verbose]]
  ./g3mgnt on             - Enable power resume on AC restore
  ./g3mgnt off            - Disable power resume
  ./g3mgnt mem            - Enable power resume from memory state
  ./g3mgnt status         - Show current power resume status (simple)
  ./g3mgnt status verbose - Show detailed status information
root@jp-puniru ~# ./g3mgnt status verbose
G3 Management Tool for IO-DATA HDL2-HA series by huggy
═══════════════════════════════════════════════════════════
Power Resume Status: on (Power resume enabled, normal boot)

Register Details:
PCI Register (0xa4): 0x00
  - Bit 0 (Power Resume): 0 (enabled) (0=enabled, 1=disabled)
Device Memory (0xfe000018): 0x29c0002c
  - Bit 13 (Memory Mode): 0 (normal) (0=normal, 1=memory)
═══════════════════════════════════════════════════════════
root@jp-puniru ~#。

もちろん、私も魔改装のBIOSを作成して多くの設定を表示しました。
必要な方や復旧が必要な方はメールまたはDMでご連絡ください。
ここでは直接提供しません。

改造BIOSでは主により高い温度上限を設定できますが、他には特に用途がありませんかな: setup-2 setup-3

ただし、この機器は実際にはWoLがデフォルトで有効になっています。

システムインストール

前述の通り、グラフィックカードがない状況でも、実際には他の機器でインストールしてから移せば良いのです。
システムインストール時に EFI = BOOTX64.EFI にしておけば、通常は正常に起動するはずです。
ここではNixOSを入れましたが、問題なく起動しました。

まとめ

主な問題点は停電復旧時の自動起動がないことで、1週間かけてようやく解決しました(

やはりこの機器はマイナーすぎて、資料が全くありません >_< ただのx86機器なのですが、私のようにジャンク品を拾う人もそういないでしょうからね。

最後に、我が家のenひかりの10Gネットワークの工事を待っています!






制作・著作
━━━━━
ⒽⓊⒼⒼⓎ