FreeBSD on Aoostar WTR Pro NAS
FreeBSD on Aoostar WTR Pro NAS (tumfatig.net)
要約
この記事は、NVMeとSATAストレージをサポートし、小型で低消費電力、かつ非プロプライエタリなOSを実行できるNASデバイス「AOOSTAR WTR Pro Ryzen edition」のレビューです。筆者は主にFreeBSDでの利用を想定し、各OS(Linux、NetBSD、OpenBSD、FreeBSD)での電力消費や動作について詳細に比較・検証しています。
全文翻訳
AOOSTAR WTR Pro を *BSD 上で概観する
2026-09-08 2263 words, 11 minutes
NVMeとSATAストレージを提供し、10インチラックに収まるほど小さく、CPUが負荷過多にならず、消費電力が少なく、非プロプライエタリなOSを使用できるNASを見つけるのは簡単ではありません。特に「任意のBSDを動作させる」という条件を加えると、なおさらです。
しかし、AOOSTAR WTR Pro Ryzen Editionは私のすべての要件を満たしています。そして、私が発見したことをここに記します。
なお、私はこのマシンをFreeBSDで動作させることを目的としていました。そのため、他のBSDについては、デフォルトで何が得られるのかを大まかに把握するためだけに、簡単に確認しました。これは公平な機能や消費電力の比較ではありません。FreeBSDのチューニングには、はるかに多くの時間を費やしました。
ビルド品質
ケースはプラスチックではなく金属を使用しています。25〜27℃の部屋では、手に触れると常にかなり冷たく感じます。また、10インチラックのスペースにも pretty well 収まります。
RAMとNVMeスロットはマシン beneath にあり、ネジでアクセスできます。スロットには番号が振られているため、何かを接続してOSでIDを確認する際に驚くことはありません。もしあなたが気にするなら…
SATAディスクは前面からアクセスできます。前面カバーはマグネットで固定され、ケージとLEDを隠します。ケージにはクリック&プル機構があります。3.5インチSATAディスクは、非常にスマートなツールレス機構でセットおよび取り外しができます。2.5インチSATAディスクはネジでトレイに固定する必要があります。これらは少し手間がかかります。2.5インチディスクを挿入するのに、何度か試行錯誤が必要でした。ケージを少し持ち上げる必要があるようです。しかし、一度完了すれば、すべてが期待通りに進みます。また、SATAディスクは下(SATA 1)から上(SATA 4)まで番号が付けられています。これは、デバイス番号IDを扱う場合に重要になる可能性があります。
デフォルトではファンはかなりうるさく、低音のノイズを発生させます。また、どう表現すればいいかわかりませんが、そのノイズに金属ケースの音が混じっているのが聞こえます。
このマシンを購入する前に視聴したYouTube動画はこちらです:
- Hardware Haven - The Home Server I’ve Been Wanting
- Robtech - AOOSTAR WTR Pro Review
- Aoostar WTR Pro Ryzen 7 5825U BIOS walkthrough
BIOS
SecureBootはデフォルトで無効になっています。FOSSシステムを動作させるのは簡単です。起動時に<F7>を押すと選択メニューが表示され、<Del>を押すとBIOSにアクセスできます。
32GBのメモリモジュール1枚とストレージが全くない状態で、BIOSのPC Health Statusページにいると、約28Wを消費します。システム温度は26℃、CPU温度は68℃、CPUファン速度は約1900 RPM、システムファン速度は約820 RPMです。これが、あのヒューヒューというノイズの原因です…
USB 10インチLCD 800x600とUSBキーボードを外しても、消費電力は変わりません。RJ45ケーブルを接続しても、消費電力は変わりません。
2つのNVMeドライブを追加しても、消費電力はそれほど大きく変化しないようです。私はFibaro FGWP-102とHome-Assistantを使用して電力使用量を監視しているので、1〜2ワットの違いを見逃すことがあるかもしれません :)
Linux
レビュー動画では、ProxmoxをIDLEモードで使用した場合に非常に低い消費電力を報告していました。それほど詳しくなかったので、電力消費のベースラインとするために、Linux AlpineとDebian 13をインストールしました。
インストーラーを起動し、数分間IDLE状態にしておくと、消費電力は約12Wです。
1つのNVMeにインストールし、もう1つは全く使用しない場合、消費電力は約13Wで、ファンはまだ聞こえます。htopによると、CPUは1GHzでアイドル状態です。
powertopをインストールしてpowertop --calibrateを実行した後、全体の消費電力は約12Wでした。Alpine Linuxでpowertop --auto-tuneを実行すると、消費電力は11Wに低下しました。Debian 13で同じことを行うと、消費電力は9Wまで低下しました。
ファンは私の好みに比べて(まだ)うるさすぎました。lm-sensorsは、システムのさまざまな部分で約34〜38℃を報告しました。
USBキーボードと画面を切断すると、Debianでの電力使用量は8Wに低下しました。Alpine Linuxでもこのテストを行うのを忘れました。
NetBSD 11.0
起動してキーボードレイアウトの選択を待っている間、電力使用量は約19Wでした。
初回起動後、少しアイドル状態にしておくと、電源プラグの表示は18Wです。sysctlを見ると、システムは3つの周波数を認識していることがわかります。CPUは現在最も高い2000 MHzで動作しています。
estdをインストールして実行すると(estd -os)、消費電力は…まだ18Wです。
# sysctl -a | grep freq
machdep.dmi.processor-frequency = 2000 MHz
machdep.tsc_freq = 1996259000
machdep.cpu.frequency.target = 1600
machdep.cpu.frequency.current = 1600
machdep.cpu.frequency.available = 2000 1800 1600
# envstat
Current CritMax WarnMax WarnMin CritMin Unit
[amdtemp0]
cpu0 temperature: 40.750 degC
USBキーボードを外しても何も変わりませんでした。しかし、10インチUSBモニターを切断すると、消費電力は14Wに低下しました。
オンラインガイドを読んでも、これ以上チューニングするトリックは見つかりませんでした。もっとできることがあるかもしれません。しかし、正直なところ、NetBSDはこのマシンをターゲットとしたシステムではなかったので、あまり時間をかけませんでした。
完全なdmesgはこちらで入手できます。
OpenBSD 7.9
システムがインストールされ、ウィザードが(S)hell, (H)alt or (R)ebootの選択を待っている間、消費電力は約21Wです。
初回起動後、電力使用量は約15Wです。USBキーボードと10インチ画面を切断すると、電力使用量は約10Wに低下します。
CPUはデフォルトでフルスピード(2GHz)で動作しています。
apmdを使用しても、消費電力が下がる様子はありません。
# rcctl enable apmd
# rcctl set apmd flags -A
# rcctl start apmd
# sysctl hw.sensors hw.cpuspeed hw.setperf
hw.sensors.cpu0.frequency0=1400000000.00 Hz
hw.sensors.cpu2.frequency0=1400000000.00 Hz
hw.sensors.cpu4.frequency0=1400000000.00 Hz
hw.sensors.cpu6.frequency0=1400000000.00 Hz
hw.sensors.cpu8.frequency0=1400000000.00 Hz
hw.sensors.cpu10.frequency0=1400000000.00 Hz
hw.sensors.cpu12.frequency0=1400000000.00 Hz
hw.sensors.cpu14.frequency0=1400000000.00 Hz
hw.sensors.ksmn0.temp0=37.25 degC (Tctl)
hw.sensors.nvme0.temp0=31.00 degC, OK
hw.sensors.nvme0.percent0=100.00% (endurance used), OK
hw.sensors.nvme0.percent1=100.00% (available spare), OK
hw.sensors.nvme1.temp0=38.00 degC, OK
hw.sensors.nvme1.percent0=1.00% (endurance used), OK
hw.sensors.nvme1.percent1=100.00% (available spare), OK
hw.cpuspeed=1600
hw.setperf=0
8.0リリースがそう遠くないことを考えると、スナップショットブランチを試してみましたが、私が知る限り、さらに消費電力を抑えるような新しいものは何もありませんでした。ここでも、このマシンでOpenBSDを実行する予定はなかったので、調査は非常に短時間でした。
FreeBSD 15.1
インストールの間の電力使用量は約19Wでした。
初回起動後、コンピュータを少しアイドル状態にしておくと、電力使用量はわずかに低下して18Wになりました。
USBキーボードと10インチ画面を切断すると、消費電力は15Wに低下しました。
htopを使用していると、CPUは常に2GHzで動作しているように見えました。また、温度は利用できませんでした。標準ツールを使用してこれを検証できました:
# sysctl dev.cpufreq.0.freq_driver dev.hwpstate.0.freq_settings \
dev.cpu.0.freq_levels dev.cpu.0.freq \
dev.cpu.0.cx_supported dev.cpu.0.cx_lowest
dev.cpufreq.0.freq_driver: hwpstate0
dev.hwpstate.0.freq_settings: 2000/2437 1800/1710 1600/1460
dev.cpu.0.freq_levels: 2000/2437 1800/1710 1600/1460
dev.cpu.0.freq: 2000
dev.cpu.0.cx_supported: C1/1/1 C2/2/18 C3/3/350
dev.cpu.0.cx_lowest: C1
# sysctl -a | grep "cpu.*temp"
温度はデフォルトでは利用できませんが、amdtempモジュールをロードするとアクセスできるようになります:
# kldload amdtemp
# sysctl dev.amdtemp.0.core0.sensor0 dev.cpu.0.temperature
dev.amdtemp.0.core0.sensor0: 39.7C
dev.cpu.0.temperature: 39.7C
# echo 'amdtemp_load="YES"' >> /boot/loader.conf
CPUのCステートの使用は、デフォルトでは省電力モードに設定されていません。しかし、これは変更できます:
# sysctl dev.cpu.0.cx_supported dev.cpu.0.cx_lowest dev.cpu.0.cx_usage
dev.cpu.0.cx_supported: C1/1/1 C2/2/18 C3/3/350
dev.cpu.0.cx_lowest: C1
dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% last 3504us
# sysctl hw.acpi.cpu.cx_lowest=C3
hw.acpi.cpu.cx_lowest: C1 -> C3
# sysctl dev.cpu.0.cx_supported dev.cpu.0.cx_lowest dev.cpu.0.cx_usage
dev.cpu.0.cx_supported: C1/1/1 C2/2/18 C3/3/350
dev.cpu.0.cx_lowest: C3
dev.cpu.0.cx_usage: 0.00% 0.00% 100.00% last 7996us
# echo 'hw.acpi.cpu.cx_lowest=C3' >> /etc/sysctl.conf
これにより、電力使用量を12Wまで下げることができます。
CPU周波数はまだ動きません。少し調べたところ、hwpstateあたりで何かが起こっているのではないかと疑っています。私のIntelラップトップのいくつかでは、dmesgにhwpstate_intel0: <Intel Speed Shift> on cpu0という参照があります。このマシンでは、hwpstate_amdがsys/x86/cpufreq/に存在する場合にhwpstate0: <Cool'n'Quiet 2.0> on cpu0が表示されます。15および16のソースツリーで何かが起こっているようですが、このマシンやプロセッサにはまだ準備ができていないようです。見つけた唯一の解決策は、古いpowerdを実行することでした。
# service powerd enable
powerd enabled in /etc/rc.conf
# echo 'powerd_flags="-a adaptive"' >> /etc/rc.conf
# service powerd start
Starting powerd.
# sysctl dev.cpu.0.freq_levels dev.cpu.0.freq
dev.cpu.0.freq_levels: 2000/2437 1800/1710 1600/1460
dev.cpu.0.freq: 1600
残念ながら、これはワット数を節約していないようです…システム応答性、CPU温度、ファン速度にも影響を与えていないようです。そのため、実行しないことにしました。
https://wiki.freebsd.org/TuningPowerConsumption は、デバイスドライバのないすべてのPCIデバイスの電源を切るために、/boot/loader.confでhw.pci.do_power_nodriverを「3」に設定することを推奨しています。
# echo 'hw.pci.do_power_nodriver=3' >> /boot/loader.conf
# reboot
再起動後、これにより壁から11Wしか引き出せなくなります。
USBデバイスを電源モードに強制しても、電力使用量にそれほど影響はないようです。しかし、USBポートには何も接続していません…
# usbconfig
ugen0.1: <XHCI root HUB AMD> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen1.1: <XHCI root HUB AMD> at usbus1, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen1.2: <Audio Adapter (Unitek Y-247A) C-Media Electronics, Inc.> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
# usbconfig -d 1.2 power_save
# usbconfig
ugen0.1: <XHCI root HUB AMD> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen1.1: <XHCI root HUB AMD> at usbus1, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen1.2: <Audio Adapter (Unitek Y-247A) C-Media Electronics, Inc.> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (100mA)
# echo '/usr/sbin/usbconfig -d 1.2 power_save' >> /etc/rc.d/rc.local
# chmod 0555 /etc/rc.d/rc.local
AMDサウスブリッジウォッチドッグタイマー用の特別なドライバが利用可能です。
# kldload amdsbwd
# dmesg | tail
amdsmn0: <AMD Family 19h System Management Network> on hostb0
andtemp0: <AMD Family 19h CPU On-Die Thermal Sensors> on hostb0
amdsbwd0: <AMD FCH Rev 41h+ Watchdog Timer> at iomem 0xfed80b00-0xfed80b03,0xfed80b04-0xfed80b07 on isa0
amdsbwd0: watchdog hardware is disabled
device_attach: amdsbwd0 attach returned 6
# echo 'amdsbwd_load="YES"' >> /boot/loader.conf
これは電力使用量を変えません。そして、これが何に使われるのか、私は本当によくわかりません。私が理解している限りでは、マザーボードからの割り込みを受け取り、それに応答できる可能性があります。
AMDグラフィックスドライバをロードすると、後で必要になった場合にGPUアクセラレーションが提供されます。
# pkg install drm-kmod
# kldload amdgpu
# kldload acpi_video
# sysrc kld_list+="amdgpu acpi_video"
なぜかはわかりませんが、これにより電力使用量が8Wに低下します。
ファンよ、静かに!
以下のオンラインリソースは、ファンノイズにうんざりしていた人々に関するものです。
AOOSTARロゴが表示されたときにDelキーを押してBIOSに入ります。次に「Advanced / Hardware Monitor」に移動します。
| BIOSパラメータ | デフォルト値 | ポスト値 | 現在の値 |
|---|---|---|---|
| System temperature: | +27 | ||
| CPU temperature: | +70 | ||
| cpu fan Speed: | 1800 RPM | ||
| system fan Speed: | 800 RPM | ||
| system fan2 Speed: | N/A | ||
| CPU Fan: | Enabled | ||
| Fan Off (0x68): | 25 | 30 degC | 25 degC |
| Fan Start (0x69): | 50 | 60 degC | 50 degC |
| TFull Speed (0x6A): | 95 | ||
| Start PWM (0x6B): | 40 | 30 % | 10 % |
| Automatic Mode Control (0x6C): | 2 | ||
| Delta Temperature (0x6D): | 1 | ||
| System Fan: | Enabled | ||
| Fan Off (0x70): | 20 | ||
| Fan Start (0x71): | 25 | ||
| TFull Speed (0x72): | 85 | ||
| Start PWM (0x73): | 130 | 10 % | 30% |
| Automatic Mode Control (0x74): | 4 | ||
| Delta Temperature (0x75): | 1 | ||
| System Fan2: | Enabled | Disabled |
保存して再起動し、温度とファン速度を監視します。これらの設定では、消費電力はそれほど低下しません。しかし、マシンははるかに静かになります。(小さな)CPUファンの音は、(大きな)リアファンの音よりもはるかに不快です。そのため、システムに負荷がかかっていない限りCPUファンを遅く回転させ、リアファンは聞こえない音量で動作するような値を選択しました。
すべてが期待どおりに機能していることを確認するために(ファンが必要なときに回転することを確認するために)、VictoriaMetricsデータベースにデータを送信するスクリプトを作成しました。標準ツールを使用してファン速度情報にアクセスする方法は見つかりませんでした。superiotoolを使用すると、ITE IT8613E (id=0x8613, rev=0x8) at 0x2eが見つかりました。私が理解したところでは、この投稿は、ドライバがFreeBSDにインポートされたことがないことを示しています。しかし、誰かが専用ユーティリティへのリンクを投稿しました、これはこの情報(ファン速度)を収集できます。
# pkg install -y git gcc
# git clone https://gitlab.com/tingox/it8718fd.git
# cd it8718fd
# make
# ./it8718fd -v -s 1
System 27C
CPU 27C
Northbridge 39C
16 bit fan counters inactive; rpm readings unreliable
CPU 0 rpm
System 739 rpm
Northbridge 530 rpm
Vcore 0.96
VDDR 1.81
+3.3 3.10
+5 3.76
+12 5.41
-12 -9.85
-5 -1.42
VSB 3.47
Vbat 2.34
# make install
# cat > /usr/local/etc/it8718fd.conf
tempin1 = System temperature 2
tempin2 = System temperature
tempin3 = CPU temperature
fan1 = System fan 2
fan2 = CPU fan
fan3 = System fan
^D
# it8718fd -v -s 1
Found an ITE IT8718F (id 0x8613, version 0x08) at special address port 0x2e
System temperature 2 28C
System temperature 28C
CPU temperature 41C
16 bit fan counters inactive; rpm readings unreliable
System fan 2 0 rpm
CPU fan 610 rpm
System fan 531 rpm
BIOSに表示されるセンサー名と同じようにセンサー名を付けるように設定を変更しました。そして、Grafanaを使用してそれらを監視しました。
そこに至って、この小さなマシンは、私が長い間待ち望んでいたものです。bhyve仮想マシンで追加の1Wが消費されますが、それほど多くはありません。
そして、今回はここまでです。それでは、EuroBSD 2026でお会いしましょう ;-)