"...udev rule needs to be configured appropriately..."  [Solved]

Help for Current Versions of MX
When asking for help, use Quick System Info from MX Tools. It will be properly formatted using the following steps.
1. Click on Quick System Info in MX Tools
2. Right click in your post and paste.
Message
Author
bambuko
Posts: 305
Joined: Wed Feb 01, 2023 8:05 am

"...udev rule needs to be configured appropriately..."

#1 Post by bambuko »

I am trying to customise my new keyboard using web app (https://github.com/Keychron/qmk_firmwar ... ron/v1_max)
To do that I had to install Opera browser (the app seems to work only in Chrome based browsers)

All is easy until I discover that:
"...To access the connected device on the Linux system, the udev rule needs to be configured appropriately..."
so my app knows there are paired devices but attempting to connect leads nowhere

I know enough to be dangerous, but this is something I have never done before...
Can someone, please point me, in the direction of where I can learn what to do?

Code: Select all

System:
  Kernel: 6.1.0-34-amd64 [6.1.135-1] arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.1.0-34-amd64 root=UUID=<filter> ro quiet splash
  Desktop: KDE Plasma v: 5.27.5 wm: kwin_x11 vt: 7 dm: SDDM Distro: MX-23.6_KDE_x64 Libretto May
    19 2024 base: Debian GNU/Linux 12 (bookworm)
Machine:
  Type: Mini-pc System: HP product: HP EliteDesk 800 G3 DM 65W v: N/A serial: <superuser required>
    Chassis: type: 35 serial: <superuser required>
  Mobo: HP model: 829A v: KBC Version 06.29 serial: <superuser required> UEFI: HP
    v: P21 Ver. 02.40 date: 04/08/2022
CPU:
  Info: model: Intel Core i7-7700 bits: 64 type: MT MCP arch: Kaby Lake gen: core 7 level: v3
    note: check built: 2018 process: Intel 14nm family: 6 model-id: 0x9E (158) stepping: 9
    microcode: 0xF8
  Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache: L1: 256 KiB
    desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB L3: 8 MiB desc: 1x8 MiB
  Speed (MHz): avg: 1600 min/max: 800/4200 scaling: driver: intel_pstate governor: powersave
    cores: 1: 1600 2: 1600 3: 1600 4: 1600 5: 1600 6: 1600 7: 1600 8: 1600 bogomips: 57600
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3
  Vulnerabilities:
  Type: gather_data_sampling mitigation: Microcode
  Type: itlb_multihit status: KVM: VMX unsupported
  Type: l1tf mitigation: PTE Inversion
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: mmio_stale_data mitigation: Clear CPU buffers; SMT vulnerable
  Type: reg_file_data_sampling status: Not affected
  Type: retbleed mitigation: IBRS
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: IBRS; IBPB: conditional; STIBP: conditional; RSB filling;
    PBRSB-eIBRS: Not affected; BHI: Not affected
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort mitigation: TSX disabled
Graphics:
  Device-1: Intel HD Graphics 630 vendor: Hewlett-Packard driver: i915 v: kernel arch: Gen-9.5
    process: Intel 14nm built: 2016-20 ports: active: DP-1,DP-2,DP-3
    empty: HDMI-A-1,HDMI-A-2,HDMI-A-3 bus-ID: 00:02.0 chip-ID: 8086:5912 class-ID: 0300
  Display: x11 server: X.Org v: 1.21.1.7 with: Xwayland v: 22.1.9 compositor: kwin_x11 driver: X:
    loaded: modesetting unloaded: fbdev,vesa dri: iris gpu: i915 display-ID: :0 screens: 1
  Screen-1: 0 s-res: 6200x1920 s-dpi: 96 s-size: 1640x508mm (64.57x20.00")
    s-diag: 1717mm (67.59")
  Monitor-1: DP-1 pos: primary,bottom-c model: BenQ EX2710Q serial: <filter> built: 2024
    res: 2560x1440 hz: 60 dpi: 109 gamma: 1.2 size: 597x336mm (23.5x13.23") diag: 685mm (27")
    ratio: 16:9 modes: max: 2560x1440 min: 720x400
  Monitor-2: DP-2 pos: bottom-r model: BenQ GW2765 serial: <filter> built: 2018 res: 2560x1440
    hz: 60 dpi: 109 gamma: 1.2 size: 597x336mm (23.5x13.23") diag: 685mm (27") ratio: 16:9 modes:
    max: 2560x1440 min: 720x400
  Monitor-3: DP-3 pos: top-left model: BenQ BL2480T serial: <filter> built: 2022 res: 1080x1920
    hz: 60 dpi: 93 gamma: 1.2 size: 296x527mm (11.65x20.75") diag: 604mm (23.8") ratio: 16:9 modes:
    max: 1920x1080 min: 720x400
  API: OpenGL v: 4.6 Mesa 24.2.8-1mx23ahs renderer: Mesa Intel HD Graphics 630 (KBL GT2)
    direct-render: Yes
Audio:
  Device-1: Intel 200 Series PCH HD Audio vendor: Hewlett-Packard driver: snd_hda_intel v: kernel
    bus-ID: 00:1f.3 chip-ID: 8086:a2f0 class-ID: 0403
  API: ALSA v: k6.1.0-34-amd64 status: kernel-api tools: alsamixer,amixer
  Server-1: PipeWire v: 1.0.0 status: active with: 1: pipewire-pulse status: active
    2: wireplumber status: active 3: pipewire-alsa type: plugin 4: pw-jack type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel Ethernet I219-LM vendor: Hewlett-Packard driver: e1000e v: kernel port: N/A
    bus-ID: 00:1f.6 chip-ID: 8086:15e3 class-ID: 0200
  IF: eth0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Device-2: Intel Wireless 8265 / 8275 driver: iwlwifi v: kernel modules: wl pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 bus-ID: 01:00.0 chip-ID: 8086:24fd class-ID: 0280
  IF: wlan0 state: down mac: <filter>
Bluetooth:
  Device-1: Intel Bluetooth wireless interface type: USB driver: btusb v: 0.8 bus-ID: 1-14:5
    chip-ID: 8087:0a2b class-ID: e001
  Report: hciconfig ID: hci0 rfk-id: 1 state: up address: <filter> bt-v: 2.1 lmp-v: 4.2
    sub-v: 100 hci-v: 4.2 rev: 100
  Info: acl-mtu: 1021:4 sco-mtu: 96:6 link-policy: rswitch hold sniff
    link-mode: peripheral accept service-classes: rendering, capturing, object transfer, audio,
    telephony
Drives:
  Local Storage: total: 223.58 GiB used: 93.04 GiB (41.6%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/sda maj-min: 8:0 vendor: SanDisk model: SSD PLUS 240GB size: 223.58 GiB block-size:
    physical: 512 B logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter> rev: 00RL scheme: GPT
Partition:
  ID-1: / raw-size: 115.1 GiB size: 112.73 GiB (97.94%) used: 93.04 GiB (82.5%) fs: ext4
    dev: /dev/sda2 maj-min: 8:2
  ID-2: /boot/efi raw-size: 2.24 GiB size: 2.23 GiB (99.80%) used: 428 KiB (0.0%) fs: vfat
    dev: /dev/sda1 maj-min: 8:1
Swap:
  Kernel: swappiness: 15 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: file size: 58.69 GiB used: 0 KiB (0.0%) priority: -2 file: /swap/swap
Sensors:
  System Temperatures: cpu: 49.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Repos:
  Packages: 2479 pm: dpkg pkgs: 2460 libs: 1290 tools: apt,apt-get,aptitude,nala pm: rpm pkgs: 0
    pm: flatpak pkgs: 19
  No active apt repos in: /etc/apt/sources.list
  Active apt repos in: /etc/apt/sources.list.d/debian-stable-updates.list
    1: deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
  Active apt repos in: /etc/apt/sources.list.d/debian.list
    1: deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
    2: deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
  Active apt repos in: /etc/apt/sources.list.d/mx.list
    1: deb http://mxlinux.mirrors.uk2.net/packages/mx/repo/ bookworm main non-free
    2: deb http://mxlinux.mirrors.uk2.net/packages/mx/repo/ bookworm ahs
  Active apt repos in: /etc/apt/sources.list.d/onlyoffice.list
    1: deb https://download.onlyoffice.com/repo/debian squeeze main
  Active apt repos in: /etc/apt/sources.list.d/opera-stable.list
    1: deb https://deb.opera.com/opera-stable/ stable non-free
  Active apt repos in: /etc/apt/sources.list.d/signal-xenial-added-by-mxpi.list
    1: deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main
Info:
  Processes: 240 Uptime: 19m wakeups: 1 Memory: 15.5 GiB used: 4.09 GiB (26.4%) Init: SysVinit
  v: 3.06 runlevel: 5 default: graphical tool: systemctl Compilers: gcc: 12.2.0 alt: 12
  Client: shell wrapper v: 5.2.15-release inxi: 3.3.26
Boot Mode: UEFI

User avatar
asqwerth
Developer
Posts: 7922
Joined: Sun May 27, 2007 5:37 am

Re: "...udev rule needs to be configured appropriately..."  [Solved]

#2 Post by asqwerth »

For linux systems, you have to grant permission to the HID (don't ask me what that is) device, before the VIA webapp can access the keyboard. If you do that, you don't need to go the udev route (I didn't).

https://bbs.archlinux.org/viewtopic.php?id=285709

If you faced an error trying to use the VIA webapp,
...Check in Chrome [or your chrome-based browser] device logs (chrome://device-log) the name, there should be an access denied error.
From that, you will see what number your device is, whether it's hidraw1 or hidraw2, etc etc....

Then you run in terminal

Code: Select all


sudo chmod a+rw /dev/hidraw[whatever the number is]
to enable permissions for all users.

To remove permissions again after the keyboard is configured,

run

Code: Select all

sudo chmod 600 /dev/hidraw[the same number]
[CAVEAT ADDED: I am not using a keychron keyboard, but a China-made keyboard that provides the json file to be used by the VIA webapp. I don't know if Keychron does it the same way, though I note that the Arch forum thread I linked to relates to a Keychron user]
Desktop: Intel i5-4460, 16GB RAM, Intel integrated graphics
Clevo N130WU-based Ultrabook: Intel i7-8550U (Kaby Lake R), 16GB RAM, Intel integrated graphics (UEFI)
ASUS X42D laptop: AMD Phenom II, 6GB RAM, Mobility Radeon HD 5400

bambuko
Posts: 305
Joined: Wed Feb 01, 2023 8:05 am

Re: "...udev rule needs to be configured appropriately..."

#3 Post by bambuko »

asqwerth wrote: Tue May 06, 2025 11:08 am ..Check in Chrome [or your chrome-based browser] device logs (chrome://device-log) the name, there should be an access denied error.
struggled with that in Opera :rolleyes:
searched for a while, in the end gave up and installed (confession time ;) ) Google Chrome

from than onwards it was simple

Thank you very much indeed !

User avatar
asqwerth
Developer
Posts: 7922
Joined: Sun May 27, 2007 5:37 am

Re: "...udev rule needs to be configured appropriately..."

#4 Post by asqwerth »

I always install Google Chrome as a backup browser for sites that don't work well with Firefox. Don't worry about it. ;-)
Desktop: Intel i5-4460, 16GB RAM, Intel integrated graphics
Clevo N130WU-based Ultrabook: Intel i7-8550U (Kaby Lake R), 16GB RAM, Intel integrated graphics (UEFI)
ASUS X42D laptop: AMD Phenom II, 6GB RAM, Mobility Radeon HD 5400

bambuko
Posts: 305
Joined: Wed Feb 01, 2023 8:05 am

Re: "...udev rule needs to be configured appropriately..."

#5 Post by bambuko »

asqwerth wrote: Tue May 06, 2025 12:16 pm ...Don't worry about it. ;-)
I feel like I've been to the confession and have been absolved from my sins :p
Thank you, I shall keep Chrome as a backup browser

User avatar
Stevo
Developer
Posts: 14560
Joined: Fri Dec 15, 2006 7:07 pm

Re: "...udev rule needs to be configured appropriately..."

#6 Post by Stevo »

asqwerth wrote: Tue May 06, 2025 11:08 am For linux systems, you have to grant permission to the HID (don't ask me what that is)
FYI, HID means Human Interface Device.
MXPI = MX Package Installer
QSI = Quick System Info from menu
The MX Test repository is mostly backports; not the same as Debian testing

Post Reply

Return to “MX Help”