8000 logitech-hidpp: add 0x00d1 feature by d4s · Pull Request #8670 · fwupd/fwupd · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

logitech-hidpp: add 0x00d1 feature #8670

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 20, 2025
Merged

logitech-hidpp: add 0x00d1 feature #8670

merged 1 commit into from
May 20, 2025

Conversation

d4s
Copy link
Collaborator
@d4s d4s commented Apr 8, 2025

Added support of resumable DFU feature.
Added support of new RDFU firmware format.
Added MX Mechanical device.

Type of pull request:

@d4s d4s requested a review from hughsie April 8, 2025 10:00
@hughsie
Copy link
Member
hughsie commented Apr 8, 2025

6.72% of diff hit (target 48.89%)

Can we add a device emulation to bring this up a bit please?

@d4s
Copy link
Collaborator Author
d4s commented Apr 8, 2025

Can we add a device emulation to bring this up a bit please?

sorry, but I think it would be possible only after the official release of the first device supporting this feature.

@d4s d4s force-pushed the wip/d4s/mxmech branch from 75cbb0c to 7012031 Compare April 8, 2025 12:24
@hughsie
Copy link
Member
hughsie commented Apr 8, 2025

I think it would be possible only after the official release

I'd be fine leaving out the project codenames -- I'm not super keen merging significant amounts of untested code. Is there any kind of test device firmware we can use that's not the official device?

@d4s
Copy link
Collaborator Author
d4s commented Apr 21, 2025

@hughsie I uploaded the recording, but please don't use it in autotest or share F/W URI until I got a permission from Logi to disclosure the F/W binary.

PS should it works well if it updated via Bolt device?

@d4s
Copy link
Collaborator Author
d4s commented Apr 23, 2025

@hughsie we have a permission from Logi to use testing F/W vRBO03.00_B9009 uploaded onto LVFS.
I've tried to record emulation data (see assets), but both doesn't load.
I.e. the 1-st recording with emulation-tag set to device only, it is loaded but not shown in the list with fwupdmgr get-devices --filter emulated.
The second were tagged for both Bolt and Devboard:

$ fwupdmgr get-devices --filter emulation-tag
Intel(R) Client Systems NUC8i7HVK
│
├─Bolt Receiver:
│ │   Device ID:          88f618b3bf80111e71d4b34c52f4a2550874ec96
│ │   Summary:            Miniaturised USB wireless receiver
│ │   Current version:    MPR05.03_B0020
│ │   Bootloader Version: BOT30.01_B0010
│ │   Vendor:             Logitech (USB:0x046D, HIDRAW:0x046D)
│ │   Install Duration:   30 seconds
│ │   GUIDs:              1a6daa47-6506-55db-8eaa-d25b1b4b1e4b ← UFY\VID_046D&PID_C548
│ │                       f70d9241-2656-546b-a8e4-211bac348667 ← HIDRAW\VEN_046D&DEV_C548
│ │   Device Flags:       • Updatable
│ │                       • Supported on remote server
│ │                       • Signed Payload
│ │                       • Tagged for emulation
│ │                       • Can tag for emulation
│ │ 
│ ├─Some device:
│ │     Device ID:        b4cfbff01fe07fcb677808455c339832e668529d
│ │     Summary:          Unifying Keyboard
│ │     Current version:  RBO03.00_B9009
│ │     Bootloader Version: LD01.00_B0000
│ │     Vendor:           Logitech (USB:0x046D, HIDRAW:0x046D)
│ │     Install Duration: 5 minutes
│ │     Battery:          50% (threshold 20%)
│ │     GUIDs:            25f7c1bc-1575-5d13-81e8-cfe9bcbbdc26 ← UFY\VID_046D&PID_B34E
│ │                       dd782f98-9020-5e7e-8b8c-1b1a2bd274e5 ← HIDRAW\VEN_046D&MOD_B34E00000000
│ │     Device Flags:     • Updatable
│ │                       • Supported on remote server
│ │                       • Signed Payload
│ │                       • Tagged for emulation
│ │                       • Can tag for emulation
│ │     Device Requests:  • Message
│ │   

Unfortunatelly loading is failing for that recording:

$ fwupdmgr emulation-load mxmech-reinstall-full-RBO03.00_B9009.zip 
Authenticating…          [ -                                     ]
failed to load emulation data: failed to probe: no events loaded

from fwupd.log:

17:54:11.251 FuHistory            parsing 2025-04-22 16:03:38
17:54:11.251 FuEngine             skipping writing HSI attrs to database as unchanged
17:54:11.252 FuMain               Called SetHints({'locale': 'en_US.utf8'},)
17:54:11.252 FuClientList         client :1.38577 added
17:54:11.252 FuMain               connected clients: 1
17:54:11.252 FuIdle               inhibiting: timeout by connected-clients
17:54:11.252 FuMain               got hint locale=en_US.utf8
17:54:11.253 FuMain               Called GetPlugins()
17:54:11.255 FuMain               Called SetFeatureFlags(uint64 1023,)
17:54:11.256 FuMain               Called EmulationLoad(handle 7,)
17:54:11.256 FuMain               Emitting PropertyChanged('Status'='waiting-for-auth')
17:54:11.258 FuArchive            adding reload.json [663]
17:54:11.258 FuArchive            adding attach.json [15252]
17:54:11.260 FuArchive            adding install.json [1900886]
17:54:11.260 FuArchive            adding cleanup.json [663]
17:54:11.260 FuArchive            adding composite-prepare.json [3523]
17:54:11.260 FuArchive            adding setup.json [4367]
17:54:11.260 FuArchive            adding composite-cleanup.json [663]
17:54:11.260 FuArchive            adding prepare.json [663]
17:54:11.261 FuArchive            adding detach.json [663]
17:54:11.261 FuEngine             emulation for phase setup [0]
17:54:11.261 FuBackend            not found (null) [/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.2/0003:046D:C548.0573/hidraw/hidraw14], adding
17:54:11.261 FuBackend            not found (null) [/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.2/0003:046D:C548.0573/hidraw/hidraw14], adding
17:54:11.263 FuMain               Emitting PropertyChanged('Status'='idle')

@hughsie
Copy link
Member
hughsie commented Apr 23, 2025

failed to probe

My guess would be it's something to do with how the children are being added; not sure off the top of my head. The unifying plugin is a bit twisty and turny at the moment. If you can dig into it a bit I'd appreciate it -- I'm dealing with a different fire recently. I'll be back to normal in a week or so.

Added support of resumable DFU feature.
Added support of new RDFU firmware format.
Added MX Mechanical device.
@d4s d4s force-pushed the wip/d4s/mxmech branch from 45f496d to 6806f03 Compare May 19, 2025 12:35
Copy link
Member
@hughsie hughsie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've tried to get emulation working for an hour or so; there are a few emulation design bugs I need to look into in more detail, but that's not @d4s's problem. I think merge this now and given I have the hardware (which works!) I can make the emulation correct async.

@d4s d4s merged commit 7a6389a into main May 20, 2025
21 checks passed
@d4s d4s deleted the wip/d4s/mxmech branch May 20, 2025 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0