Board: Hangsheng R75 QMK — USB 342d:e484
Bootloader (DFU): 342d:dfa0 (WB32 DFU)
Tool: bin/wb32-dfu-updater_cli (built from vendor/wb32-dfu-updater)
Any of:
Fn+Shift+Esc(stock and many customs)- Unplug → hold
Esc→ plug in (also erases EEPROM / persistent settings) - After flashing our firmware: Vial → Security → Enter bootloader
- PCB reset pad under the spacebar (if present)
Confirm DFU:
./bin/wb32-dfu-updater_cli -l
# expect a device with product id dfa0./scripts/backup-stock.shWrites backups/stock-from-device.bin.
Also kept from snakkarike (known-good restore):
backups/Original-Firmware.hex
./scripts/build.shOutputs:
firmware/r75-vial-socd-openrgb.binfirmware/r75-vial-socd-openrgb.hex- plus
rk_r75_vial.*copies
Plan rule: do not flash until you ask. When ready:
# 1) enter DFU
# 2) flash
./scripts/flash.sh firmware/r75-vial-socd-openrgb.bin --yesOr manually:
./bin/wb32-dfu-updater_cli -t -s 0x8000000 -D firmware/r75-vial-socd-openrgb.bin# enter DFU first
./bin/wb32-dfu-updater_cli -t -s 0x8000000 -D backups/Original-Firmware.hex
# or, if you dumped your device:
./bin/wb32-dfu-updater_cli -t -s 0x8000000 -D backups/stock-from-device.binRules live at udev/50-qmk.rules (includes WB32 DFU 342d:dfa0). Installed to /etc/udev/rules.d/50-qmk.rules.
If DFU permission errors persist:
sudo cp udev/50-qmk.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger- Configure in Vial (not VIA Design JSON)
- SOCD toggle: CTL layer T (
SOCDTOG) — hold Fn layer path that opens CTL, or remap in Vial - Bootloader: CTL layer Q (
QK_BOOT), Vial → Security → Enter bootloader, or Esc-hold on plug-in - EEPROM clear: CTL layer Z (
EE_CLR) - Configure extra tap dances / combos live in the Vial app (firmware enables
TAP_DANCE_ENABLE) - OpenRGB / reactive lighting: see OPENRGB.md