3.4 KiB
3.4 KiB
Frostbay / CoolingSystem_ONEC1 Protokollnotizen
Basisquellen:
- lokales OEM-Archiv:
/home/nepharius/Downloads/frostbay firmware.zip - Community-Repo: https://github.com/tbitu/onexplayer-frostbay-bluetooth
- hhd PR: https://github.com/hhd-dev/hhd/pull/321
Aus lokalem OEM-Paket bestätigt
Archivinhalt
GA25水冷固件_V08/CoolingSystem_ONEC1-FW-TOOL-V1.8/BLE-FW-TOOL.exeGA25水冷固件_V08/CoolingSystem_ONEC1-FW-TOOL-V1.8/BLEDebug.EXEGA25水冷固件_V08/CoolingSystem_ONEC1-FW-TOOL-V1.8/coolingsystem_debugger.htmlGA25水冷固件_V08/CoolingSystem_ONEC1-FW-TOOL-V1.8/CoolingSystem_ONEC1_V08.binGA25水冷固件_V08/CoolingSystem_ONEC1-FW-TOOL-V1.8/FWConfig.iniGA25水冷固件_V08/CoolingSystem_ONEC1-FW-TOOL-V1.8/HIDFirmwareUpgrad.exeGA25水冷固件_V08/CoolingSystem_ONEC1-FW-TOOL-V1.8/CH375DLL64.dllGA25水冷固件_V08/CoolingSystem_ONEC1-FW-TOOL-V1.8/WCHBLEDLL.dllGA25水冷固件_V08/CoolingSystem_ONEC1-FW-TOOL-V1.8/接口.C
GATT-Ziele aus coolingsystem_debugger.html
- Service:
0000ffe0-0000-1000-8000-00805f9b34fb - Characteristic:
0000ffe1-0000-1000-8000-00805f9b34fb - Device-Name-Filter:
CoolingSystem_ONEC1
Firmware-/Silizium-Hinweise
- Firmware-String:
CH32V20x_BLE_LIB_V1.4 - Das riecht ziemlich stark nach WCH-CH32V20x-BLE-Firmware.
Relevante Status-/Steuerfelder aus OEM-Kommentaren
state[4]: Betriebsmodus0x00= aus0xFE= intelligent/smart0xFF= custom/fixed
state[5]: Fan PWM / Fan-Bytestate[8]: Pump PWM / Pump-Bytestate[6..7]: Fan RPM readbackstate[9..10]: Pump RPM readbackstate[11..12]: Water flow readbackstate[13]: inlet tempstate[14]: outlet tempstate[15]: Alarmbitsstate[16]:0xFD= RGB switch/frequency/brightness mode0xFE= custom RGB mode
state[17..19]:- bei
0xFD: switch / frequency / brightness - bei
0xFE: R / G / B
- bei
state[23..40]: Kurven-/Presetbereichstate[57]: Auto-RGB-Off-Zeit wenn Pumpe/Lüfter aus
Frostbay-RGB-Hinweis
Im OEM-Code tauchen drei RGB-Strips/Kanäle auf. Bitmaske:
0x01= Strip 10x02= Strip 20x04= Strip 3
Das ist Frostbay-intern wichtig, nicht automatisch identisch mit dem Super-X-Mainboard-RGB-Pfad.
Linux-/BlueZ-Notizen aus Community-Repo
Wichtig
- Der Linux-Weg scheint über BlueZ + D-Bus machbar.
- Ein zweiter Userspace-GATT-Client muss wohl nicht künstlich "neu verbinden", wenn BlueZ die Session schon besitzt.
- Wichtige Zustände:
Connected=trueServicesResolved=trueFFE0in UUID-Liste- GATT-Objekt für
FFE1vorhanden
Bekannter Stolperstein
- Auf dem Apex scheint der eingebaute BT-Adapter problematisch zu sein.
- Ein externer Bluetooth-Dongle lieferte laut Community die bessere/volle GATT-Sicht.
Nerviger HID-Nebeneffekt
Beim Verbinden kann Frostbay zusätzlich ein HID-Device exposen, das Volume Up/Down-Müll erzeugt. Community-Mitigation via hwdb:
evdev:input:b0005v07D7p0000*
KEYBOARD_KEY_c00e9=reserved
KEYBOARD_KEY_c00ea=reserved
Danach typischerweise:
sudo systemd-hwdb update
sudo udevadm trigger /sys/class/input/eventX
Arbeitsannahme für Arch / COSMIC
Realistischster kurzer Weg:
- Frostbay per BlueZ sichtbar machen
- Services/Characteristics prüfen
- mit D-Bus lesen/schreiben
- danach kleines Python-Tool bauen
- optional später hhd-Plugin oder Standalone-Daemon