Richard Hughes
d66a445ada
synaptics-mst: Use fu_device_locker_close()
2020-03-26 15:23:10 -05:00
Richard Hughes
87d39d06a3
ccgx: Do not store the silicon ID in the image address
...
First, it's a hack; second we actually need to store the start address for
flashing FW2 on asymmetric hardware...
2020-03-24 21:16:08 +00:00
Richard Hughes
bf5481e358
ccgx: Add device quirks for the Lenovo Hybrid Dock
2020-03-24 21:16:08 +00:00
Richard Hughes
9278e265b4
ccgx: Switch HID mode to HPI mode at startup
2020-03-24 21:16:08 +00:00
Richard Hughes
dab6bda2be
ccgx: Clear the event queue when in startup
2020-03-24 21:16:08 +00:00
Richard Hughes
fd7f13f905
ccgx: Wait for hardware to settle when coming out of reset
2020-03-24 21:16:08 +00:00
Richard Hughes
3990a71401
ccgx: Do not mark the device as updatable when in boot mode
2020-03-24 21:16:08 +00:00
Richard Hughes
c6147bf340
ccgx: Verify the firmware app type when preparing firmware
2020-03-24 21:16:08 +00:00
Richard Hughes
754d85e282
ccgx: Set the update message when running in backup firmware
2020-03-24 21:16:08 +00:00
Richard Hughes
de61d27259
ccgx: Read the FwAppType from the hardware
2020-03-24 21:16:08 +00:00
Richard Hughes
2b45362e25
ccgx: Set the HPI version number for the current firmware
2020-03-24 21:16:08 +00:00
Richard Hughes
c6a671be7e
ccgx: Get the silicon ID to map the flash parameters
2020-03-24 21:16:08 +00:00
Richard Hughes
11fa0a1e90
ccgx: Read the HPI device mode at startup
2020-03-24 21:16:08 +00:00
Richard Hughes
0a37232ba1
ccgx: Set up the HPI I²C config at startup
2020-03-24 21:16:08 +00:00
Richard Hughes
69b761ce64
trivial: Export fu_device_add_instance_id_full() for plugins to use
...
Sometimes we only want to add the instance ID to get the quirk matches, and it
is confusing to see the "fake" IDs in the 'fwupdmgr get-devices' output.
2020-03-24 14:43:31 +00:00
Richard Hughes
cff23f798f
trivial: Autodetect the HID interface to use
2020-03-24 08:34:16 -05:00
Richard Hughes
62aa46cb83
ccgx: Create devices when in HID and I2C modes
2020-03-23 20:02:17 +00:00
Richard Hughes
46963b1118
csr: Allow truncated HID reads
...
The device is allowed to return short buffers during read operation. This fixes
a regression introduced in c04f5a3
.
Fixes https://github.com/fwupd/fwupd/issues/1893
2020-03-23 13:40:34 +00:00
Emily
5f3a2c0bc1
vli: Only consider the high nibble when building the sub-version
2020-03-23 08:11:14 +00:00
Richard Hughes
ded9fef4b6
csr: Parse the firmware as a DFU file
...
This was changed to Intel hex in 7afd7cba0d
,
probbaly due to a copy-paste mistake. Change it back to DFU.
Fixes https://github.com/fwupd/fwupd/issues/1890
2020-03-22 11:46:40 -05:00
Richard Hughes
811e75db4b
Add support for EP963x hardware
2020-03-22 15:48:04 +00:00
Richard Hughes
c04f5a3e15
Add FuHidDevice abstraction
...
Quite a few plugins use HID commands to communicate with the hardware. At the
mement we have ~6 implementations of SET_REPORT and are soon to add one more.
Move this into common code.
2020-03-19 17:02:07 +00:00
Richard Hughes
dd34e51711
trivial: Fix up some argument names with additional docs
2020-03-19 06:43:42 +00:00
Richard Hughes
ed07a17509
vli: Correctly attach VL103 after a firmware update
...
This works around a silicon errata which makes the existing 0xB0 chip reset
non-functional.
ALso, as VL10x and VL103 are so different now, use different `->attach()` and
`->detach()` implementations for code sanity.
Based on a patch by Sherlock Chu <SherlockChu@via-labs.com>, many thanks.
2020-03-19 06:43:42 +00:00
Richard Hughes
ac48c7f45a
trivial: Add a GObject property for FuVliDevice::kind
2020-03-19 06:43:42 +00:00
Richard Hughes
48d9fb8f74
ccgx: Parse the metadata block in the firmware image
2020-03-18 18:57:06 +00:00
Richard Hughes
b258e514c5
ccgx: Add a firmare parser for cyacd files
...
These are visually similar to Intel hex files, but different enough to demand
their own parser. Multiple images can be stored in one firmware file, with the
`addr` set to the SiliconID and the `idx` set to the position in the file.
2020-03-18 18:57:06 +00:00
Mario Limonciello
c0f1f1c7e3
trivial: logitech-hidpp: decrease the verbosity of some debugging
2020-03-17 18:43:08 -05:00
Mario Limonciello
15cb61b34e
trivial: logical-hidpp: fix some debugging messages not working
2020-03-17 18:43:08 -05:00
Mario Limonciello
c6ae0d998b
logitech: Correctly set the protocol
...
Fixes updates on signed receivers.
2020-03-17 18:43:08 -05:00
Richard Hughes
252b0c704e
vli: Remove a dock device from the whitelist that is never going to be updated
...
This is an old EOL dock that does not respond well to probing -- leading to an
occasional multi-second startup deadlock on startup.
2020-03-16 11:56:35 +00:00
Richard Hughes
3dadb99c6c
vli: Add some trivial debugging to help track down a bug
2020-03-16 11:56:35 +00:00
Richard Hughes
bd5e6f00d2
vli: Never add USB hub devices that are not upgradable
...
There's almost no point; you can't interact with them in any meaningful way.
2020-03-16 11:56:35 +00:00
Mario Limonciello
7b866e5f92
uefi: Don't use shim for non-secure boot configurations
...
Since the entry is dynamically created this removes one area that
can potentially cause failures.
Helps: #1794
2020-03-16 06:55:05 -05:00
Richard Hughes
7825ae8dd1
dfu: Actually reload the DFU device after upgrade has completed
...
The m-stack DFU quirk also requires that we get the runtime status so that the
USB_DFU_SUCCESS_FUNC callback gets called. We were doing this by accident
before, and since switching to the FuDevice subclass this was dropped.
The dfu_device_refresh_and_clear() function is safe to call on a device which
does not have a working runtime interface.
2020-03-12 15:41:14 +00:00
Richard Hughes
fa41739ab0
dfu: Add one more m-stack device requiring a quirk
2020-03-11 16:10:10 +00:00
Richard Hughes
c3afed36d5
Allow waiting for the parent device when replugging
...
If a child device resets a parent device then we want to wait for the root
device, not the child.
2020-03-10 17:09:13 +00:00
Richard Hughes
4fb8693598
vli: Fix an error when detaching MSP430
...
The parent has to be opened and we need a longer delay before reading.
2020-03-10 15:12:09 +00:00
Richard Hughes
ff93d91f5a
vli: Fix a critical warning when getting the USB speed
2020-03-10 15:09:43 +00:00
Richard Hughes
393b0a1677
vli: Fix the error enum values for the MSP430
2020-03-10 15:09:15 +00:00
Richard Hughes
c6c3d6c4c8
vli: Fix the version calculation for MSP430
...
Nobody from USI reviewed this, so it was wrong.
2020-03-10 15:07:17 +00:00
Richard Hughes
75b7d79424
vli: Fix compile warning introduced in 75cc9161c5
2020-03-10 12:16:09 +00:00
Richard Hughes
f4f4ebe0a2
vli: Ignore one more error when attaching
2020-03-10 12:11:19 +00:00
Richard Hughes
75cc9161c5
vli: Always expect the VL103 header at 0x1003 or 0x4000
...
I misunderstood the original specification, and it seems even USB-hub-less
devices have the same header location as their "write-through" counterparts.
2020-03-10 12:09:27 +00:00
Richard Hughes
640dbbb0f0
vli: Do not fall back to the recovery write for usbhubs
...
The checksum check was only being calculated on the size of the pointer, rather
than the size of the struct.
2020-03-10 12:07:28 +00:00
Richard Hughes
09e8e5e7ef
vli: Only show the 2nd header if the device ID is valid
...
Otherwise we get a scary warning about the CRC not being valid, when the block
is just empty.
2020-03-10 12:06:12 +00:00
Richard Hughes
aebd90baad
vli: Fix VL103 reboot from ROM mode to FW mode
...
The logic was wrong; we should have been using command 0xB0 for attach back to
FW mode for both VL10x and VL103. Using a generic reset on VL103 always reset
the device back into bootloader mode as the ROM signatures were being written
by command 0xC0.
As now attach and detach have different code paths, there's no point having a
`FuVliDevice->reset()` vfunc, and so we can make everything a little simpler at
the same time.
2020-03-10 10:46:01 +00:00
Richard Hughes
df2ae010d5
vli: Add some better comments for writing GPIOs
2020-03-10 10:42:52 +00:00
Richard Hughes
7fe2e48d7b
trivial: Remove now-unused functionality in dfu-tool
2020-03-09 21:12:01 +00:00
Mario Limonciello
5972a49495
Add a new plugin for CPU microcode
2020-03-09 09:04:38 +00:00