Richard Hughes
6fa43550fc
vli: Wait for the VL103 to timeout to fix detach
...
The default re-enumeration delay is not sufficient.
2020-03-31 09:34:15 +01:00
Richard Hughes
a3740518b2
vli: Port to fu_device_retry()
2020-03-28 12:46:03 +00:00
Richard Hughes
5d787b5958
trivial: Set up the parent GUIDs for the Lenovo Gen2 Dock
2020-03-27 13:57:09 +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
Emily
5f3a2c0bc1
vli: Only consider the high nibble when building the sub-version
2020-03-23 08:11:14 +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
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
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
6dd54fa9c4
vli: Set the MSP430 version format to pair
...
Apparently the Windows tool ignores the first byte, so we should too.
2020-03-03 14:19:42 +00:00
Richard Hughes
f50ff2c27e
Decouple the version format from the version itself
...
If we say that the version format should be the same for the `version_lowest`
and the `version_bootloader` then it does not always make sense to set it at
the same time.
Moving the `version_format` to a standalone first-class property also means it
can be typically be set in the custom device `_init()` function, which means we
don't need to worry about *changing* ther version format as set by the USB and
UDev superclass helpers.
2020-02-25 14:00:09 +00:00
Richard Hughes
ea71dc7e73
vli: Invert the logic to reboot the parent FuCliUsbhubDevice, not the child
2020-02-12 08:51:24 +00:00
Richard Hughes
e20d6b3c33
vli: Switch around the hub tier values
...
I got given the wrong values...
2020-02-12 08:50:48 +00:00
Richard Hughes
2b108e4ab1
vli: Show erase progress when doing a v2 recovery
2020-02-11 13:40:05 +00:00
Richard Hughes
00a0be068a
vli: Add support for the PS186 device
2020-02-11 12:08:37 +00:00
Richard Hughes
af3b91d490
Set up more parent devices for various Lenovo USB hubs
2020-02-11 11:22:20 +00:00
Richard Hughes
6c3db94f14
vli: Add support for Lenovo Modularized dock
2020-02-11 11:18:10 +00:00
Richard Hughes
e7e37ec223
vli: Remove the unused tierX custom flags for each device
...
We now know what this means on real hardware!
2020-02-10 14:58:38 -06:00
Richard Hughes
ef168b289e
vli: Fix a potential buffer-overflow when parsing firmware
...
Spotted by Coverity.
2020-02-07 15:16:39 +00:00
Richard Hughes
e4661788ec
vli: Set the device progress correctly when erasing a PD device
2020-02-06 20:38:19 +00:00
Richard Hughes
e17dd6f0cd
vli: Use the correct command to get the device firmware version
...
Mea culpa; I misread the example code. It's a different command entirely.
2020-02-06 20:38:19 +00:00
Richard Hughes
6afe612c2f
vli: Correctly reset all VL100 devices
...
The reset happens before the USB transfer completes.
2020-02-06 20:38:19 +00:00
Richard Hughes
4359ea9017
vli: Set all standalone PD devices to not do SPI auto-detection
2020-02-06 20:38:19 +00:00
Richard Hughes
9d22db26f9
vli: Mark standalone PD devices as updatable
2020-02-06 20:38:19 +00:00
Richard Hughes
003c150cc2
vli: Set the protocol for FuVliUsbhubPdDevice types
2020-02-05 17:23:51 +00:00
Richard Hughes
e01c4cc8cb
vli: Add the DEV instance ID to all devices
...
In some composite dock hardware there are two USB devices exported to the host,
both with the same VID:PID values. We need to use the device type (e.g. VL812B3)
to differenciate the devices and install the correct fw on the correct device.
2020-02-04 15:52:07 +00:00
Richard Hughes
21eaeeff8d
trivial: Fix up some typos found using codespell
2020-01-14 12:25:41 +00:00
Richard Hughes
5bf8c1a23b
vli: Set more of the firmware max sizes automatically
...
With data from VIA, many thanks.
2020-01-02 13:24:13 +00:00
Richard Hughes
727938427b
vli: Add a SpiAutoDetect quirk for some of the PD devices
...
It seems command 0xc0 is not supported on this hardware.
2020-01-02 13:24:13 +00:00
Richard Hughes
fbffb16378
vli: Use a different protocol ID for i2c devices
...
These devices report a triplet version format, not a quad.
2020-01-02 13:24:13 +00:00
Richard Hughes
a24752d661
vli: Add support for standalone Single PD devices
2020-01-02 13:24:13 +00:00
Richard Hughes
52a7d0bd34
vli: Move generic SPI functionality into the FuVliDevice base class
...
To implement the SPI commands, objects can derive from FuVliDevice and
implement the new vfuncs. This allows us to override the implementation for
minor API changes.
2020-01-02 13:24:13 +00:00
Richard Hughes
c12163b374
vli: Remove the PD emulation code
...
I have actual hardware now...
2020-01-02 13:24:13 +00:00
Richard Hughes
714c4ce9d3
vli: Use a more standard GUID for the child i²c and shared SPI devices
...
We sometiems need to restrict the firwmare to the parent VID:PID too.
2020-01-02 13:24:13 +00:00
Richard Hughes
e2a9b15f16
vli: Allow setting the device kind from a quirk
2020-01-02 13:24:13 +00:00
Richard Hughes
050f998835
vli: Make more function names match the docs
2020-01-02 13:24:13 +00:00