Skip to content

Fixing VIA Keyboard Configuration Access Denied Error

When using the VIA keyboard configurator on Linux, you may encounter an access denied error that prevents you from editing your keyboard layout. This guide shows how to resolve the issue.

Problem Description

When attempting to configure a custom keyboard with VIA firmware in a Chromium-based browser (Chrome, Brave, Edge), the VIA app fails to connect to the keyboard with no clear error message shown to the user.

Identifying the Issue

  1. Open the Chrome device log by navigating to:

    chrome://device-log
    

  2. Look for an error message similar to:

    Failed to open '/dev/hidraw9': FILE_ERROR_ACCESS_DENIED
    

Understanding the Error

This error indicates that Chrome/Chromium cannot access the HID (Human Interface Device) raw device interface for your keyboard due to insufficient permissions.

Device Number May Vary

The device number (hidraw9 in this example) will vary depending on your system and which USB port your keyboard is connected to. Your keyboard might be hidraw0, hidraw3, etc.

Solution: Grant Device Permissions

The quickest solution is to grant read and write permissions to the specific HID device.

Temporary Fix

Run the following command, replacing the device number with the one from your error message:

sudo chmod a+rw /dev/hidraw9

This command grants read and write permissions to all users for the specified device.

Steps to Apply

  1. Identify your device from chrome://device-log
  2. Run the chmod command with the correct device number
  3. Refresh or reopen the VIA app
  4. You should now be able to configure your keyboard

Temporary Solution

This fix only lasts until you reboot or unplug/replug your keyboard. You'll need to run the command again each time.

Verification

After applying the fix:

  1. Open or refresh the VIA app in your browser
  2. Connect your keyboard (if not already connected)
  3. The keyboard should now appear in VIA
  4. You should be able to edit your layout and configure keys

Troubleshooting

VIA Still Can't Detect Keyboard

Problem: After fixing permissions, VIA still doesn't detect the keyboard.

Solutions: - Ensure VIA supports your keyboard model - Try a different USB port - Check if the keyboard is in VIA mode (some keyboards require a key combination) - Try a different browser (Chromium-based browsers work best) - Verify the keyboard appears in lsusb output

Permission Denied After Reboot

Problem: The fix stops working after a reboot.

Solution: - The chmod command doesn't persist across reboots - You need to run the command again after each reboot - The same applies if you unplug and replug the keyboard

Additional Notes

VIA Compatibility

VIA works with keyboards that have VIA-compatible firmware. If your keyboard uses: - QMK with VIA support - Should work - VIA firmware - Should work - Stock firmware - Likely won't work (flash VIA-compatible firmware first)

Browser Compatibility

VIA works best with Chromium-based browsers: - ✅ Chrome - ✅ Chromium - ✅ Brave - ✅ Microsoft Edge - ❌ Firefox (limited WebHID support)

Web vs Desktop VIA

If browser-based VIA continues to have issues, consider using: - VIA Desktop App - Native Linux application - May have better hardware access without permission issues


This guide applies to Linux systems using Chromium-based browsers with VIA keyboard configurator.