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*4G
好像可以上 ecc ,但是有谁见过笔记本 ecc 内存条的?
网卡有两个 10G 口,不过是电口。
以及最厉害的三盘位 NAS
2个数据盘1个系统盘1个M2盘,主板内部有 usb 接口


然后卖家如果卖的特别便宜的话基本上套路是这样的(推测):

  1. 淘汰下来硬盘全部拿出来再卖,包括系统盘,光系统盘能卖 4000 - 5000 日元左右
  2. 淘汰下来硬盘销毁处理,导致没有系统盘

所以这种有点难 DIY 的垃圾我们能捡漏(

正文

清灰

到手肯定要拆了清灰下,然后散热就懒得再涂了(

附赠一张拆机图:
motherboard
(背面有内存和 M2 的槽位)

显卡

这玩意是没有显卡的,但是有 PCIE x8 全高 slot ,不过显卡插进去的话没有档板的话很容易插歪(被顶住了)
所以我把主板拆出来插了显卡,可以参考上面的图 然后推荐插个亮鸡卡就ok了(akibajunks什么的买个单槽位的就行),

然后我们可以进入图形页面稍微改下 bios 什么的,虽然几乎没有能改的东西。

然后安装系统什么的也方便点,理论上没有显卡也可以装系统,反正 BOOTX64.EFI 在应该就能自动引导。

卸掉前面板排线

我们没有适配所以前面板是什么功能都没有的,所以前面板显示器排线记得扯掉。

控制 LED 灯

To Be Continued

太麻烦了没空搞,让 status 灯继续闪或者把电源排线也扯下来吧。
应该也是简单 GPIO 下拉下电平?什么的就解决了,不过真没资料 + 没时间折腾就放弃了,欢迎分享研究成果。

温控驱动

机器温控什么的是 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 把开机自启给砍掉了,dump bios 发现设置被隐藏并且是默认开启的:

然后尝试 mod bios ,选项是出来了但是不生效:
setup-1

这里思路一直都是魔改 BIOS 还摇了好几个朋友问问,结果没啥进展(最好讨论到要替换模块什么的) 后面发现好像有别的路子可以走(草

最后用了些奇奇怪怪的办法安排上了,由于一些原因不能公开其思路什么的,

当然可以参考 C3000 家族的 datasheet:
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 解锁了一堆设置,有需要或者救砖的可以给我发邮件或者给我私聊,这里就不直接提供了。
魔改 BIOS 主要可以设置更高温度墙,其他没啥用:
setup-2
setup-3

不过这台机器其实 WoL 默认有,不过我都研究出这么简单的办法了,也就不需要 WoL 启动了对吧(

装系统

正如我前面所说的,没有显卡的情况下其实在别的机器装好就可以了,装系统的时候记得 BL = BOOTX64.EFI 应该都能正常启动。
这里我塞了 NixOS 进去没啥问题启动了。

总结

主要雷点就是没有来电自启,折腾了一星期终于解决了(

还是这机器太小众了,啥资料都没有 >_< 不过就是个 x86 机器,也没几个人会像我一样捡垃圾 对吧?

最后等我家的 10G 网开通!