This guide ensures the hardware communication pipes (/dev/hidraw*) are open and the correct protocol is used.
1. Set Permanent Permissions (udev)
Create a rule to allow the system to grant user access to the keyboard whenever it is plugged in.
Create the rule file
sudo nano /etc/udev/rules.d/99-epomaker.rulesAdd this content and the save and exit
KERNEL=="hidraw*", ATTRS{idVendor}=="36b0", ATTRS{idProduct}=="304e", MODE="0666", TAG+="uaccess"Apply the changes
sudo udevadm control --reload-rules && sudo udevadm trigger2. Optional Temporary Manual “Emergency” Fix
If the udev rule fails or you are on a fresh system, run this to force the device nodes open:
sudo chmod 666 /dev/hidraw*Note: For the TH40, VIA typically communicates on the second node (e.g., /dev/hidraw1).
3. VIA Web App Configuration
Go to usevia.app in a Chromium-based browser (Brave/Chrome).
- Physical Setup: Ensure keyboard is in Wired/USB mode (not 2.4G/BT).
- Settings Tab (Gear): Enable Show Design tab.
- Design Tab (Brush): * Toggle “Use V2 definitions (deprecated)” to OFF.
- Click Load and select your TH40 JSON file.
- Configure Tab (Keyboard): Click Authorize Device and select the EPOMAKER TH40 from the popup.
4. Troubleshooting Checklist
- “Invalid Protocol”: Usually caused by having the “V2 Definitions” toggle ON when it should be OFF (or vice versa depending on your firmware version).
- “NotAllowedError”: This is strictly a Linux permission issue. Re-run the
chmodcommand and restart the browser to clear the sandbox. - Kernel Logs: If the device isn’t seen, check
sudo dmesg | grep -i "36b0"to verify whichhidrawnode it is using.

Leave a Reply
You must be logged in to post a comment.