I had a broken UHK 60 that was sitting in one of my cupboards, and I had it repaired. The issue is, my laptop running Archlinux does not detect it. I tried running the latest version of the agent. I faintly recall a similar issue in the past with a more recent keyboard but I don’t remember how I fixed that issue. IIRC I had to update the firmware, and for that I needed either an old version of the agent or of linux. Can you pease advise?
Logs:
./UHK.Agent-9.0.2-linux-x86_64.AppImage
11:26:42.154 › [Electron Main] command line arguments {}
11:26:42.158 › [Electron Main] init services.
11:26:42.158 › [Electron Main] packagesDir: /tmp/.mount_UHK.AghstCxn/resources
11:26:42.495 › [Electron Main] Create new window.
11:26:42.495 › [WindowState] load settings
11:26:42.496 › [WindowState] loaded settings {
x: 22,
y: 22,
width: 1876,
height: 1006,
isMaximized: false,
isFullScreen: false
}
11:26:42.497 › [WindowState] loaded settings is visible true
11:26:42.497 › [WindowState] return with loaded settings
11:26:42.497 › [SmartMacroService] starting...
11:26:42.498 › [SmartMacroCopy] start
[26278:0311/112642.510846:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.systemd1.Manager.StartTransientUnit: object_path= /org/freedesktop/systemd1: org.freedesktop.systemd1.UnitExists: Unit app-org.chromium.Chromium-26278.scope was already loaded or has a fragment file.
11:26:42.514 › [SmartMacroCopy] copy {
destination: '/home/gregoire/.config/uhk-agent/smart-macro-docs/UltimateHackingKeyboard/firmware/v16.2.0',
smartMacroDocFirmwarePath: '/tmp/.mount_UHK.AghstCxn/resources/packages/firmware/doc'
}
[26278:0311/112642.522210:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.FileChooser”
[26278:0311/112642.522226:ERROR:electron/shell/browser/ui/file_dialog_linux_portal.cc:89] Failed to read portal version property
11:26:42.591 › [SmartMacroCopy] done
11:26:42.591 › [SmartMacroCopy] start copy loading.html
11:26:42.605 › [SmartMacroCopy] end copy loading.html
11:26:42.622 › [SmartMacroService] get free TCP port
11:26:42.625 › [SmartMacroService] acquired TCP port: 41853
11:26:42.639 › [SmartMacroService] started on 41853.
11:26:42.735 › [ZephyrLogService | UHK Dongle] Inited
11:26:42.738 › [ZephyrLogService | UHK 80 left] Inited
11:26:42.738 › [DeviceService] init success
11:26:42.739 › [AppUpdateService] init success
11:26:42.739 › [AppService] init success
11:26:42.739 › [SudoService] App root dir: /tmp/.mount_UHK.AghstCxn/resources
[26278:0311/112642.776821:ERROR:ui/ozone/platform/wayland/host/wayland_wp_image_description.cc:184] Incomplete image description info from compositor.
11:26:42.782 › [DeviceService] Udev info: Ok
11:26:43.124 › [AppService] get-config: application-settings
11:26:43.125 › [AppService] get-config of "application-settings": undefined
11:26:43.340 › [DeviceRendererService] init success
11:26:43.343 › [AppRendererService] init success
11:26:43.347 › [MonacoEditorCompletionItemProvider] initialized.
11:26:43.347 › [SmartMacroDocRendererService] init success
11:26:43.349 › Renderer appStart effect start
11:26:43.349 › [AppRendererService] getAppStartInfo
11:26:43.350 › [SmartMacroService] getAppStartInfo
11:26:43.350 › [AppService] getAppStartInfo
11:26:43.349 › Renderer appStart effect end
11:26:43.351 › [AppService] get-config: application-settings
11:26:43.351 › [AppUpdateService] check for update at startup: { checkForUpdateOnStartUp: true }
11:26:43.351 › [AppUpdateService] app started. Automatically check for update.
11:26:43.352 › Checking for update
11:26:43.352 › [AppUpdateService] checking for update
11:26:43.352 › sendIpcToWindow: checking-for-update null
11:26:43.353 › [AppService] getAppStartInfo response: {
commandLineArgs: { 'disable-agent-update-protection': false },
isRunningOnWayland: true,
platform: 'linux',
osVersion: '6.18.9-arch1-2',
udevFileContent: '# Ultimate Hacking Keyboard rules\n' +
'# These are the udev rules for accessing the USB interfaces of the UHK as non-root users.\n' +
'# Copy this file to /etc/udev/rules.d and physically reconnect the UHK afterwards.\n' +
'SUBSYSTEM=="input", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="612[0-7]", GROUP="input", MODE="0660"\n' +
'SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="612[0-7]", TAG+="uaccess"\n' +
'KERNEL=="hidraw*", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="612[0-7]", TAG+="uaccess"\n' +
'\n' +
'SUBSYSTEM=="input", ATTRS{idVendor}=="37a8", ATTRS{idProduct}=="*", GROUP="input", MODE="0660"\n' +
'SUBSYSTEMS=="usb", ATTRS{idVendor}=="37a8", ATTRS{idProduct}=="*", TAG+="uaccess"\n' +
'KERNEL=="hidraw*", ATTRS{idVendor}=="37a8", ATTRS{idProduct}=="*", TAG+="uaccess"\n'
}
11:26:43.353 › [AppService] get-config of "application-settings": undefined
(node:26278) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
(Use `uhk-agent --trace-deprecation ...` to show where the warning was created)
11:26:43.494 › [SmartMacroDocRendererService] dispatch action: [smart-macro-doc] service listening
11:26:43.496 › [AppRendererService] dispatch action: [app] process start info
11:26:43.496 › [AppEffect][processStartInfo] payload: {
commandLineArgs: { 'disable-agent-update-protection': false },
isRunningOnWayland: true,
platform: 'linux',
osVersion: '6.18.9-arch1-2',
udevFileContent: '# Ultimate Hacking Keyboard rules\n' +
'# These are the udev rules for accessing the USB interfaces of the UHK as non-root users.\n' +
'# Copy this file to /etc/udev/rules.d and physically reconnect the UHK afterwards.\n' +
'SUBSYSTEM=="input", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="612[0-7]", GROUP="input", MODE="0660"\n' +
'SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="612[0-7]", TAG+="uaccess"\n' +
'KERNEL=="hidraw*", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="612[0-7]", TAG+="uaccess"\n' +
'\n' +
'SUBSYSTEM=="input", ATTRS{idVendor}=="37a8", ATTRS{idProduct}=="*", GROUP="input", MODE="0660"\n' +
'SUBSYSTEMS=="usb", ATTRS{idVendor}=="37a8", ATTRS{idProduct}=="*", TAG+="uaccess"\n' +
'KERNEL=="hidraw*", ATTRS{idVendor}=="37a8", ATTRS{idProduct}=="*", TAG+="uaccess"\n'
}
11:26:43.498 › [DeviceService] start poll UHK Device
[26278:0311/112643.544076:ERROR:ui/ozone/platform/wayland/host/wayland_wp_image_description.cc:184] Incomplete image description info from compositor.
(node:26278) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated.
11:26:43.747 › [UhkHidDevice] Devices before checking permission:
11:26:43.988 › [UhkHidDevice] Available devices changed.
11:26:43.988 › [UhkHidDevice] Added: {"path":"/dev/ttyS0"}
11:26:43.988 › [UhkHidDevice] Added: {"path":"/dev/ttyS1"}
11:26:43.989 › [UhkHidDevice] Added: {"path":"/dev/ttyS10"}
11:26:43.989 › [UhkHidDevice] Added: {"path":"/dev/ttyS11"}
11:26:43.989 › [UhkHidDevice] Added: {"path":"/dev/ttyS12"}
11:26:43.989 › [UhkHidDevice] Added: {"path":"/dev/ttyS13"}
11:26:43.989 › [UhkHidDevice] Added: {"path":"/dev/ttyS14"}
11:26:43.989 › [UhkHidDevice] Added: {"path":"/dev/ttyS15"}
11:26:43.989 › [UhkHidDevice] Added: {"path":"/dev/ttyS16"}
11:26:43.989 › [UhkHidDevice] Added: {"path":"/dev/ttyS17"}
11:26:43.989 › [UhkHidDevice] Added: {"path":"/dev/ttyS18"}
11:26:43.989 › [UhkHidDevice] Added: {"path":"/dev/ttyS19"}
11:26:43.990 › [UhkHidDevice] Added: {"path":"/dev/ttyS2"}
11:26:43.990 › [UhkHidDevice] Added: {"path":"/dev/ttyS20"}
11:26:43.990 › [UhkHidDevice] Added: {"path":"/dev/ttyS21"}
11:26:43.990 › [UhkHidDevice] Added: {"path":"/dev/ttyS22"}
11:26:43.990 › [UhkHidDevice] Added: {"path":"/dev/ttyS23"}
11:26:43.990 › [UhkHidDevice] Added: {"path":"/dev/ttyS24"}
11:26:43.990 › [UhkHidDevice] Added: {"path":"/dev/ttyS25"}
11:26:43.990 › [UhkHidDevice] Added: {"path":"/dev/ttyS26"}
11:26:43.990 › [UhkHidDevice] Added: {"path":"/dev/ttyS27"}
11:26:43.990 › [UhkHidDevice] Added: {"path":"/dev/ttyS28"}
11:26:43.990 › [UhkHidDevice] Added: {"path":"/dev/ttyS29"}
11:26:43.991 › [UhkHidDevice] Added: {"path":"/dev/ttyS3"}
11:26:43.991 › [UhkHidDevice] Added: {"path":"/dev/ttyS30"}
11:26:43.991 › [UhkHidDevice] Added: {"path":"/dev/ttyS31"}
11:26:43.991 › [UhkHidDevice] Added: {"path":"/dev/ttyS4"}
11:26:43.991 › [UhkHidDevice] Added: {"path":"/dev/ttyS5"}
11:26:43.991 › [UhkHidDevice] Added: {"path":"/dev/ttyS6"}
11:26:43.991 › [UhkHidDevice] Added: {"path":"/dev/ttyS7"}
11:26:43.991 › [UhkHidDevice] Added: {"path":"/dev/ttyS8"}
11:26:43.991 › [UhkHidDevice] Added: {"path":"/dev/ttyS9"}
11:26:44.237 › [DeviceService] Device connection state changed to: {
"bootloaderActive": false,
"bleDeviceConnected": false,
"communicationInterfaceAvailable": false,
"dongle": {
"bootloaderActive": false,
"multiDevice": false,
"serialNumber": ""
},
"leftHalfBootloaderActive": false,
"hasPermission": true,
"halvesInfo": {
"areHalvesMerged": true,
"leftModuleSlot": 0,
"isLeftHalfConnected": true,
"rightModuleSlot": 0
},
"hardwareModules": {
"moduleInfos": [],
"rightModuleInfo": {
"modules": {}
}
},
"isMacroStatusDirty": false,
"isZephyrLogAvailable": false,
"leftHalfDetected": false,
"multiDevice": false,
"newPairedDevices": [],
"udevRulesInfo": "Ok"
}
11:26:44.238 › [DeviceRendererService] dispatch action [device] connection state changed
11:26:44.243 › [SmartMacroDocRendererService] downloadDocumentation
11:26:44.243 › [SmartMacroService] fallback to bundled firmware documentation because git repo or tag missing { firmwareGitRepo: '', firmwareGitTag: '' }
11:26:44.244 › [SmartMacroService] fallback to bundled firmware documentation
11:26:44.245 › [SmartMacroService] start downloading firmware documentation {
firmwareGitRepo: 'UltimateHackingKeyboard/firmware',
firmwareGitTag: 'v16.2.0'
}
11:26:44.245 › [SmartMacroService] firmware documentation downloaded earlier
11:26:44.246 › [SmartMacroService] reference manual downloaded earlier
11:26:44.253 › [SmartMacroDocRendererService] dispatch action: [smart-macro-doc] download documentation success
11:26:44.254 › [SmartMacroDocRendererService] dispatch action: [smart-macro-doc] reference manual changed
11:26:44.254 › [MonacoEditorCompletionItemProvider] reference manual updated.
11:26:44.488 › [UhkHidDevice] Devices before checking permission:
11:26:44.732 › [UhkHidDevice] Available devices unchanged
11:26:45.221 › [UhkHidDevice] Devices before checking permission:
11:26:45.230 › Update for version 9.0.2 is not available (latest version: 9.0.2, downgrade is disallowed).
11:26:45.231 › [AppUpdateService] checkForUpdate success
11:26:45.460 › [UhkHidDevice] Available devices unchanged
11:26:45.946 › [UhkHidDevice] Devices before checking permission:
11:26:46.188 › [UhkHidDevice] Available devices unchanged
11:26:46.676 › [UhkHidDevice] Devices before checking permission:
11:26:46.912 › [UhkHidDevice] Available devices unchanged
11:26:47.399 › [UhkHidDevice] Devices before checking permission:
11:26:47.637 › [UhkHidDevice] Available devices unchanged
11:26:48.126 › [UhkHidDevice] Devices before checking permission:
11:26:48.362 › [UhkHidDevice] Available devices unchanged
11:26:48.846 › [UhkHidDevice] Devices before checking permission:
11:26:49.084 › [UhkHidDevice] Available devices unchanged
11:26:49.568 › [UhkHidDevice] Devices before checking permission:
11:26:49.807 › [UhkHidDevice] Available devices unchanged
11:26:50.289 › [UhkHidDevice] Devices before checking permission:
11:26:50.526 › [UhkHidDevice] Available devices unchanged
11:26:51.010 › [UhkHidDevice] Devices before checking permission:
11:26:51.247 › [UhkHidDevice] Available devices unchanged
11:26:51.731 › [UhkHidDevice] Devices before checking permission:
11:26:51.978 › [UhkHidDevice] Available devices unchanged
11:26:52.466 › [UhkHidDevice] Devices before checking permission:
11:26:52.705 › [UhkHidDevice] Available devices unchanged
11:26:53.190 › [UhkHidDevice] Devices before checking permission:
11:26:53.427 › [UhkHidDevice] Available devices unchanged
11:26:53.912 › [UhkHidDevice] Devices before checking permission:
11:26:54.150 › [UhkHidDevice] Available devices unchanged
11:26:54.634 › [UhkHidDevice] Devices before checking permission:
11:26:54.873 › [UhkHidDevice] Available devices unchanged
11:26:55.359 › [UhkHidDevice] Devices before checking permission:
11:26:55.596 › [UhkHidDevice] Available devices unchanged
11:26:56.082 › [UhkHidDevice] Devices before checking permission:
11:26:56.320 › [UhkHidDevice] Available devices unchanged
11:26:56.808 › [UhkHidDevice] Devices before checking permission:
11:26:57.045 › [UhkHidDevice] Available devices unchanged
11:26:57.528 › [UhkHidDevice] Devices before checking permission:
11:26:57.767 › [UhkHidDevice] Available devices unchanged
11:26:58.253 › [UhkHidDevice] Devices before checking permission:
11:26:58.494 › [UhkHidDevice] Available devices unchanged
11:26:58.980 › [UhkHidDevice] Devices before checking permission:
11:26:59.223 › [UhkHidDevice] Available devices unchanged
11:26:59.711 › [UhkHidDevice] Devices before checking permission:
11:26:59.947 › [UhkHidDevice] Available devices unchanged
11:27:00.432 › [UhkHidDevice] Devices before checking permission:
11:27:00.669 › [UhkHidDevice] Available devices unchanged
11:27:01.156 › [UhkHidDevice] Devices before checking permission:
11:27:01.392 › [UhkHidDevice] Available devices unchanged
11:27:01.877 › [UhkHidDevice] Devices before checking permission:
11:27:02.115 › [UhkHidDevice] Available devices unchanged
11:27:02.607 › [UhkHidDevice] Devices before checking permission:
11:27:02.845 › [UhkHidDevice] Available devices unchanged
11:27:03.330 › [UhkHidDevice] Devices before checking permission:
11:27:03.568 › [UhkHidDevice] Available devices unchanged
11:27:04.053 › [UhkHidDevice] Devices before checking permission:
11:27:04.291 › [UhkHidDevice] Available devices unchanged
11:27:04.775 › [UhkHidDevice] Devices before checking permission:
11:27:05.014 › [UhkHidDevice] Available devices unchanged
11:27:05.499 › [UhkHidDevice] Devices before checking permission:
11:27:05.747 › [UhkHidDevice] Available devices unchanged
11:27:06.235 › [UhkHidDevice] Devices before checking permission:
11:27:06.475 › [UhkHidDevice] Available devices unchanged
11:27:06.959 › [UhkHidDevice] Devices before checking permission:
11:27:07.197 › [UhkHidDevice] Available devices unchanged
11:27:07.688 › [UhkHidDevice] Devices before checking permission:
11:27:07.927 › [UhkHidDevice] Available devices unchanged
11:27:08.414 › [UhkHidDevice] Devices before checking permission:
11:27:08.654 › [UhkHidDevice] Available devices unchanged
11:27:09.141 › [UhkHidDevice] Devices before checking permission:
11:27:09.380 › [UhkHidDevice] Available devices unchanged
11:27:09.872 › [UhkHidDevice] Devices before checking permission:
11:27:10.113 › [UhkHidDevice] Available devices unchanged
11:27:10.598 › [UhkHidDevice] Devices before checking permission:
11:27:10.835 › [UhkHidDevice] Available devices unchanged
11:27:11.325 › [UhkHidDevice] Devices before checking permission:
11:27:11.564 › [UhkHidDevice] Available devices unchanged
11:27:12.051 › [UhkHidDevice] Devices before checking permission:
11:27:12.296 › [UhkHidDevice] Available devices unchanged
11:27:12.783 › [UhkHidDevice] Devices before checking permission:
11:27:13.022 › [UhkHidDevice] Available devices unchanged
11:27:13.516 › [UhkHidDevice] Devices before checking permission:
11:27:13.753 › [UhkHidDevice] Available devices unchanged
11:27:14.244 › [UhkHidDevice] Devices before checking permission:
11:27:14.483 › [UhkHidDevice] Available devices unchanged
11:27:14.976 › [UhkHidDevice] Devices before checking permission:
11:27:15.216 › [UhkHidDevice] Available devices unchanged
11:27:15.704 › [UhkHidDevice] Devices before checking permission:
11:27:15.941 › [UhkHidDevice] Available devices unchanged
11:27:16.427 › [UhkHidDevice] Devices before checking permission:
11:27:16.665 › [UhkHidDevice] Available devices unchanged
11:27:17.151 › [UhkHidDevice] Devices before checking permission:
11:27:17.392 › [UhkHidDevice] Available devices unchanged
11:27:17.880 › [UhkHidDevice] Devices before checking permission:
11:27:18.118 › [UhkHidDevice] Available devices unchanged
11:27:18.606 › [UhkHidDevice] Devices before checking permission:
11:27:18.843 › [UhkHidDevice] Available devices unchanged
11:27:19.332 › [UhkHidDevice] Devices before checking permission:
11:27:19.568 › [UhkHidDevice] Available devices unchanged
11:27:20.053 › [UhkHidDevice] Devices before checking permission:
11:27:20.293 › [UhkHidDevice] Available devices unchanged
11:27:20.778 › [UhkHidDevice] Devices before checking permission:
11:27:21.015 › [UhkHidDevice] Available devices unchanged
11:27:21.501 › [UhkHidDevice] Devices before checking permission:
11:27:21.739 › [UhkHidDevice] Available devices unchanged
11:27:22.226 › [UhkHidDevice] Devices before checking permission:
11:27:22.468 › [UhkHidDevice] Available devices unchanged
11:27:22.956 › [UhkHidDevice] Devices before checking permission:
11:27:23.203 › [UhkHidDevice] Available devices unchanged
11:27:23.686 › [UhkHidDevice] Devices before checking permission:
11:27:23.928 › [UhkHidDevice] Available devices unchanged
11:27:24.414 › [UhkHidDevice] Devices before checking permission:
11:27:24.657 › [UhkHidDevice] Available devices unchanged
11:27:25.145 › [UhkHidDevice] Devices before checking permission:
11:27:25.392 › [UhkHidDevice] Available devices unchanged
11:27:25.880 › [UhkHidDevice] Devices before checking permission:
11:27:26.123 › [UhkHidDevice] Available devices unchanged
11:27:26.611 › [UhkHidDevice] Devices before checking permission:
11:27:26.848 › [UhkHidDevice] Available devices unchanged
11:27:27.335 › [UhkHidDevice] Devices before checking permission:
11:27:27.575 › [UhkHidDevice] Available devices unchanged
11:27:28.062 › [UhkHidDevice] Devices before checking permission:
11:27:28.303 › [UhkHidDevice] Available devices unchanged
^C11:27:28.506 › [WindowState] load settings
11:27:28.506 › [WindowState] loaded settings {
x: 22,
y: 22,
width: 1876,
height: 1006,
isMaximized: false,
isFullScreen: false
}
11:27:28.506 › [WindowState] loaded settings is visible true
11:27:28.507 › [WindowState] return with loaded settings
11:27:28.507 › [WindowState] save settings: {
x: 22,
y: 22,
width: 1876,
height: 1006,
isMaximized: true,
isFullScreen: false
}
11:27:28.518 › [WindowState] save settings success
11:27:28.523 › [Electron Main] win closed
11:27:28.524 › [DeviceService] closing.
11:27:28.524 › [ZephyrLogService | UHK Dongle] Closing
11:27:28.524 › [ZephyrLogService | UHK Dongle] wait until polling
11:27:28.524 › [ZephyrLogService | UHK Dongle] stopped
11:27:28.524 › [ZephyrLogService | UHK Dongle] releaseOperations
11:27:28.524 › [ZephyrLogService | UHK Dongle] no instances to release
11:27:28.524 › [ZephyrLogService | UHK Dongle] Closed
11:27:28.524 › [ZephyrLogService | UHK 80 left] Closing
11:27:28.525 › [ZephyrLogService | UHK 80 left] wait until polling
11:27:28.525 › [ZephyrLogService | UHK 80 left] stopped
11:27:28.525 › [ZephyrLogService | UHK 80 left] releaseOperations
11:27:28.525 › [ZephyrLogService | UHK 80 left] no instances to release
11:27:28.525 › [ZephyrLogService | UHK 80 left] Closed
11:27:28.525 › [DeviceService] stop poll UHK Device
11:27:28.525 › [DeviceService] stopped poll UHK Device
11:27:28.525 › [DeviceService] closed.
11:27:28.525 › [UhkHidDevice] Device communication closing.
11:27:28.525 › [SmartMacroService] stopping...
11:27:28.526 › [SmartMacroService] stopped.