Skip to content

Latest commit

 

History

History
90 lines (62 loc) · 2.22 KB

File metadata and controls

90 lines (62 loc) · 2.22 KB

R75 flash / backup / restore (Linux)

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)

Enter DFU mode

Any of:

  1. Fn + Shift + Esc (stock and many customs)
  2. Unplug → hold Esc → plug in (also erases EEPROM / persistent settings)
  3. After flashing our firmware: Vial → Security → Enter bootloader
  4. PCB reset pad under the spacebar (if present)

Confirm DFU:

./bin/wb32-dfu-updater_cli -l
# expect a device with product id dfa0

Backup stock (do this before first custom flash)

./scripts/backup-stock.sh

Writes backups/stock-from-device.bin.

Also kept from snakkarike (known-good restore):

  • backups/Original-Firmware.hex

Build custom firmware

./scripts/build.sh

Outputs:

  • firmware/r75-vial-socd-openrgb.bin
  • firmware/r75-vial-socd-openrgb.hex
  • plus rk_r75_vial.* copies

Flash (only when you explicitly want to)

Plan rule: do not flash until you ask. When ready:

# 1) enter DFU
# 2) flash
./scripts/flash.sh firmware/r75-vial-socd-openrgb.bin --yes

Or manually:

./bin/wb32-dfu-updater_cli -t -s 0x8000000 -D firmware/r75-vial-socd-openrgb.bin

Restore stock

# 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.bin

udev

Rules 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

After flash

  • 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