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"Apply the changes
sudo udevadm control --reload-rules && sudo udevadm triggerReconnect the keyboard
You must physically disconnect and then reconnect the USB cable connecting the keyboard in order for these changes to take hold.
2. 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.