Skip to content

Support request: Synaptics 06cb:0169 (not in SupportedDevices list, RomInfo.get() times out) #274

Description

@ak752d

Device info:

Bus 003 Device 003: ID 06cb:0169 Synaptics, Inc.

Laptop: HP Laptop 15 (Intel Core Ultra 5, Intel Arc Graphics), running Ubuntu 24.04 (noble).

What I tried:

06cb:0169 is not present in validitysensor/usb.py's SupportedDevices enum (only 06cb:009a is listed for this vendor). As an experiment, I:

  1. Added DEV_169 = (0x06cb, 0x0169) to SupportedDevices in usb.py
  2. Added a branch in blobs.py routing 0x0169 to the existing blobs_9a firmware module (borrowing the 009a init blob), since it's the closest known device under the same vendor ID

Result:

Basic USB claim/open succeeds fine via pyusb:

from validitysensor.usb import usb
usb.open()  # works, no error

But calling usb.send_init() — which sends the RomInfo.get() command (hex 01) as its first step — times out completely:

File "validitysensor/usb.py", line 106, in cmd
resp = self.dev.read(129, 100 * 1024)
File ".../usb/backend/libusb1.py", line 954, in __read
_check(retval)
usb.core.USBTimeoutError: [Errno 110] Operation timed out

No response at all from the device, not even an error packet — suggesting 0169 doesn't share 009a's command protocol at this most basic handshake step, despite sharing a vendor ID.

Ask: Is anyone able to add support for 06cb:0169, or point me toward the right way to capture genuine USB traffic (e.g. via a Windows VM with USB passthrough + Wireshark/usbmon) to help reverse-engineer the actual protocol? Happy to test patches or provide more debug output.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions