Commit Graph

5443 Commits

Author SHA1 Message Date
Richard Hughes
8491c75e51 trivial: Do not fight with meson for console output 2021-01-19 11:56:55 +00:00
Richard Hughes
fe0c83e120 trivial: Actually write the BMP UX images
We need to seek back to the head to read the data back...
2021-01-19 11:56:55 +00:00
Richard Hughes
4d9b2d1233 Always return a valid semver from fu_common_version_ensure_semver()
Return NULL if not valid, and handle tilde and dash where required.
2021-01-19 11:56:32 +00:00
Richard Hughes
70ded56f8a synaptics-rmi: Add some support for PS2 devices
With much help from David Chiu <david.chiu@tw.synaptics.com>, many thanks.
2021-01-18 21:18:02 +00:00
Richard Hughes
a5deffb184 synaptics-rmi: Allow the device to enter a firmware mode that allows programming 2021-01-18 21:18:02 +00:00
Richard Hughes
1974adaa04 synaptics-rmi: Query the build ID and ProjectID to work around a HW bug
The build ID is set and the product ID is parsed in a different way for a PS/2 device.
2021-01-18 21:18:02 +00:00
Richard Hughes
8b1ca08332 synaptics-rmi: Write bus select zero when detaching
This has no effect for HID devices.
2021-01-18 21:18:02 +00:00
Richard Hughes
ff82d005d7 synaptics-rmi: Use the correct delay when erasing v5 firmware 2021-01-18 21:18:02 +00:00
Richard Hughes
a0dd0e2be2 synaptics-rmi: Split out the HID specific parts to FuSynapticsRmiDevice 2021-01-18 21:18:02 +00:00
Richard Hughes
edc0c08065 synaptics-rmi: Support parsing and writing signed firmware
Validate the firmware signature if provided
2021-01-18 21:18:02 +00:00
Richard Hughes
643d7b16b1 synaptics-rmi: Do not assign the class vfuncs during setup
We fixed this problem in logitech-hidpp and this plugin will suffer the same bug.
2021-01-18 21:18:02 +00:00
Richard Hughes
a2798213ee synaptics-rmi: Do not set the page to the existing value 2021-01-18 21:18:02 +00:00
Richard Hughes
2773476884 synaptics-rmi: Do not match all HIDRAW\VEN_06CB devices
Apparently, some devices will not respond well to probing.
2021-01-18 21:18:02 +00:00
Richard Hughes
0d634fe81e Allow more than one plugin to use GnuTLS directly 2021-01-18 21:18:02 +00:00
Richard Hughes
d6d4da5d29 trivial: Remove unused deprecated function
See https://docs.python.org/3.8/whatsnew/3.8.html#deprecated
2021-01-18 21:17:37 +00:00
Richard Hughes
4c98099393 trivial: Only regenerate the .bmp.gz files if they do not exist
This reduces the time for 'ninja install' from 3s to 0.7s.
2021-01-18 21:17:37 +00:00
Richard Hughes
1207b626b7 Speed up writing BMP images during 'ninja install'
Do less I/O when writing the .BMP UX capsule images. This reduces the time for
installing from 6s to 3s, which speeds up development quite a bit.
2021-01-18 21:17:37 +00:00
Richard Hughes
f6751cd783 Allow using custom data to generate CHIDs
This is really useful when working out HwId quirk values for remote systems.

    fwupdtool export-hwids target.hwids
    vim target.hwids
    fwupdtool hwids target.hwids
2021-01-18 07:56:34 +00:00
Richard Hughes
a676a5ec70 Do not allow Lenovo hardware to install multiple capsules
Once a device has been scheduled for update mark the others from the same plugin
as updatable-hidden rather than updatable so that fwupdmgr or gnome-software
does not try to offer updates for them.
This is preferable to quitting with an error in FuDevice->prepare as we don't
want to waste bandwidth downloading the next update and then show the user an
error they can't possibly understand.

Exclude the currently scheduled device to allow the user to change the scheduled
release and so the pending device does not disappear from UI tools.
2021-01-15 21:43:45 +00:00
Richard Hughes
425ed311aa flashrom: Do not allow flashing if BLE is enabled
If BLE is set flashrom isn't going to work and the user would get a super scary
warning.
2021-01-15 15:24:19 +00:00
Richard Hughes
71f713ee50 trivial: Show the device branch in fwupdmgr 2021-01-15 15:21:19 +00:00
Richard Hughes
667a7b41e3 Add GUIDs straight away if ->setup() has already been called
We only convert the instance IDs to GUID after setup() has been called, which
means if we add even more instance IDs to the device in functions like
fu_plugin_device_registered() they never actually get converted to the GUID
form too.
2021-01-15 15:00:22 +00:00
Richard Hughes
ae72b9b9f6 flashrom: Mark the device as requiring a reboot 2021-01-15 10:01:00 +00:00
Richard Hughes
568bb79ba0 flashrom: Spin the progress progressbar while flashrom is writing 2021-01-15 10:01:00 +00:00
Richard Hughes
e48fdff1c8 flashrom: Process the output of flashrom_flash_probe() correctly 2021-01-15 10:01:00 +00:00
Richard Hughes
5a53d0aeb0 flashrom: Do not show unhelpful debug output 2021-01-15 10:01:00 +00:00
Richard Hughes
99b7cf9c7f flashrom: Add a quirk entry for the Starlabs LabTop L4 2021-01-15 10:01:00 +00:00
Kees Cook
43f79d6c33 altos: Clarify ChaosKey name
While the firmware is altos, the product is better known as
"Altus-Metrum ChaosKey".
2021-01-15 07:08:20 +00:00
Richard Hughes
68175e9ba8 Use a quarter of the RAM size as the archive maximum
It is impossible to choose a static default that is appropriate for both a tiny
ARM IoT device and a giant Xeon server.

Fixes https://github.com/fwupd/fwupd/issues/2760
2021-01-14 22:36:38 +00:00
Richard Hughes
97ad335e4b Fix OOM when using large ArchiveSizeMax values
Read from the file descriptor in 32kB chunks rather than allocating a huge
buffer upfront.
2021-01-14 22:36:38 +00:00
Richard Hughes
60441f96a5 Set the device needs-reboot flag if the system has not yet rebooted
If fwupd has idle-quit or been upgraded but the user has not rebooted then
repair the update state as required.
2021-01-14 21:13:38 +00:00
Richard Hughes
68ab1e44fd trivial: Add fu_plugin_get_devices() for general plugin use 2021-01-14 21:13:38 +00:00
Richard Hughes
faf2afed02 trivial: Rename the device cache store with a better name 2021-01-14 21:13:38 +00:00
Richard Hughes
1a3d3b338e Make GUsb optional for fuzzing 2021-01-14 14:23:12 +00:00
Richard Hughes
d1015cc2a2 Do not show Unknown [***] for every client connection
Ignore the initial client state change from UNKNOWN to IDLE which was being set
as part of the fix in fb36f22.

Fixes https://github.com/fwupd/fwupd/issues/2766
2021-01-14 14:22:36 +00:00
Richard Hughes
eb4dcefbc6 Make the null-false-returns script also process return type
And fix up the rather disapointing single place we got it wrong...
2021-01-14 14:22:15 +00:00
Mario Limonciello
7619665d74 trivial: in the no updatable devices case, show error again
Since we added a CPU and everything has a CPU the error stopped
showing up.
2021-01-14 07:40:07 -06:00
Mario Limonciello
924c7080fc trivial: debian: add dbus to recommends (Closes: #980049) 2021-01-13 14:16:00 -06:00
Richard Hughes
5add3a75dd Make libarchive optional for fuzzing 2021-01-13 20:12:37 +00:00
Richard Hughes
dd0159dc00 trivial: Remove excess #include 2021-01-13 20:06:08 +00:00
Mario Limonciello
dd075eb2be trivial: for create containers workflow don't fail fast
Just because Arch fails to build or push one day, don't
make all the containers fail to build or push.
2021-01-13 11:56:16 -06:00
Mario Limonciello
dcd154881a trivial: debian: fix modules-load.d directory
Fixes: #2755
2021-01-13 11:46:07 -06:00
Richard Hughes
b1edfecdd6 trivial: Show the translated update state in fwupdmgr 2021-01-13 10:21:20 -06:00
Richard Hughes
efc3138f41 Ask the user to reboot when required if downgrading
This matches the behaviour of install and reinstall.
2021-01-13 09:58:16 +00:00
Richard Hughes
6c48e67d6c trivial: Make name optional in fu_efivar_exists() 2021-01-13 09:14:26 +00:00
Richard Hughes
ffb6f91f95 trivial: Add fu_efivar_get_monitor() to allow inotify of efivars 2021-01-13 09:14:01 +00:00
Richard Hughes
b19e05156e trivial: Allow plugins to call fu_plugin_remove_flag() 2021-01-13 09:13:12 +00:00
Richard Hughes
a378c2902b trivial: Add a GObject property for update-state
This allows us to use ::notify when required.
2021-01-13 09:13:05 +00:00
Richard Hughes
2551862c81 trivial: Blacken Python source files 2021-01-12 22:05:21 +00:00
Richard Hughes
7013c41bb4 trivial: Remove unused Python script 2021-01-12 22:05:21 +00:00