Commit Graph

3547 Commits

Author SHA1 Message Date
Mario Limonciello
4c39d7f35f trivial: contrib/get-version.py: require git less hard 2019-11-11 11:05:54 -06:00
Richard Hughes
d630b5ee66 superio: Never read from port offset zero
At this point, PM1 IOBAD0 is unset, and thus zero...
2019-11-08 17:51:43 +00:00
Richard Hughes
025fc77d7a superio: Fix regression when coldplugging superio devices
Fixes https://github.com/fwupd/fwupd/issues/1546
2019-11-08 17:51:43 +00:00
Richard Hughes
ab902c0dd9 trivial: Fix Fedora CI build 2019-11-08 17:51:18 +00:00
Richard Hughes
56510ad0c6 trivial: Fix the autobuilt spec file with the new tarball version 2019-11-08 16:36:07 +00:00
Mario Limonciello
429a5128d3 Dynamically determine release version
This is inspired by a change in flashrom to read the version string for meson
dynamically.

No need for "post release version bump", this happens automatically from git
now by there being a dirty commit.
2019-11-08 09:52:02 -06:00
Mario Limonciello
9b944d8999 trivial: synapticmst: allow missing /proc/modules
If a kernel is compiled without loadable module support this shouldn't
stop synapticsmst plugin from loading, just we can't do an extra safety
check.
2019-11-08 09:52:02 -06:00
Mario Limonciello
5151aa5222 synapticsmst: filter invalid chip IDs
This device was showing up from a LG 38UC99-W USB-C monitor
```
VMM0000:
      Device ID:           d762543f8c20f636e6fff031a000078d3e10c600
      Summary:             Multi-Stream Transport Device
      Current version:     0.00.000
      Vendor:              Synaptics
      GUIDs:               42addef4-40f9-5e89-b925-d564e35ed368 ← MST-(null)-vmm0000-0
                           cf8c03c5-18bf-53c4-971f-4a08f88932b5 ← MST-(null)-0
                           e9427b6a-7389-5461-a592-1da5f8ec99fd ← MST-(null)
      Device Flags:        • Updatable
```
2019-11-08 09:45:39 -06:00
Richard Hughes
2414f24b8a trivial: Provide some defines for common image names 2019-11-08 09:30:09 -06:00
Richard Hughes
c5384e9173 Allow aborting early when using fu_archive_iterate() 2019-11-08 09:30:09 -06:00
Richard Hughes
f585c92da2 Add fu_firmware_image_set_version() for future use 2019-11-08 09:30:09 -06:00
Aleksander Morgado
0066195a2c modem-manager: increase re-enumeration delay to 20000ms
The default of 10000ms was a bit too close to the real time seen in
e.g. the DW5821e/eSIM.
2019-11-07 21:34:35 +00:00
Aleksander Morgado
def263e697 modem-manager: add counterpart GUID for the DW5821e/eSIM 2019-11-07 21:34:35 +00:00
Richard Hughes
5272cfc63d Add versions formats for the Microsoft Surface devices
Apparently there are yet more ways to encode a 32 bit number...
2019-11-07 21:34:09 +00:00
Aleksander Morgado
89c5be950c usb: make loading vendor/product/serial strings non-fatal
If for any reason loading these strings fail (e.g. the DW5821e/eSIM
module fails to load the product string when running the fastboot USB
layout), do not make the whole open operation fail.
2019-11-07 12:08:56 -06:00
Richard Hughes
1e98534e37 trivial: Fix the protocol ID for VLI usbhub devices 2019-11-07 09:37:34 +00:00
Mario Limonciello
330434550c trivial: wacom-raw: add more device IDs for Dell devices 2019-11-07 00:40:22 -06:00
Mario Limonciello
d044dd3d71 trivial: contrib: don't require TSS for debian archs without EFI 2019-11-06 11:14:34 -06:00
Mario Limonciello
565359f80e fu-udev-device: Adjust bounds checking to be safer
Right now different integer sizes are used willy nilly and could
conceivably lead to overflow issues.

Additionally the values that come out of the kernel for `HID_ID`
are actually 8 digits, so they should be represented by a larger
data type.
2019-11-06 10:16:28 -06:00
Mario Limonciello
2b57d27ae8 fu-udev-device: Don't assume all devices have device_file
Corrects an error during probe for intel graphics:
```
failed to add udev device /sys/devices/pci0000:00/0000:00:02.0: failed to open (null): Bad address
```
2019-11-06 08:21:51 -06:00
Mario Limonciello
79ac523224 synaptics-rmi: correct an error cleaning up on probe
```
failed to close device: Bad file descriptor
```

fu-udev-device will open a locker automatically now.
However synaptics-rmi closes the file descriptor on it's own with `g_clear_object`.

So destroy the fd in synaptics-rmi.
2019-11-06 08:21:51 -06:00
Mario Limonciello
3f0b7502fd trivial: fu-udev-device: add some safety checks for fd 2019-11-06 08:21:51 -06:00
Crag.Wang
640c81a496 udev-device: fix offset of vendor id of hidraw devices
The read property from hidraw HID_ID is 0018:00002D1F:00004946 where
the vendor id 2D1F starts from offset 9 from base address.

This change probes the hidraw vid/pid with a wanted plugin properly.
2019-11-06 14:15:42 +00:00
Mario Limonciello
85fb312563 flashrom: switch to upstream source
Once upstream flashrom tags a release (>1.1) this should be updated
and as it starts to flow into distros turned on by default.
2019-11-06 08:06:52 -06:00
Mario Limonciello
f5605532e5 trivial: fu-plugin: only show an error once
"failed to open plugin" was being prefixed twice
2019-11-05 15:36:55 -06:00
Mario Limonciello
e6170ca6dd trivial: debian: only use mingw-w64-tools in archs with UEFI plugin 2019-11-05 11:46:15 -06:00
Richard Hughes
6e55cff444 fastboot: Fix a regression when updating modem firmware
Set `IS_BOOTLOADER` unconditionally when in fastboot mode. This seems logically
what it is; a degraded mode that's able to update firmware without runtime
functionality.

Fixes https://github.com/fwupd/fwupd/issues/1532
2019-11-05 06:04:36 -06:00
Mario Limonciello
d8c8249d16 trivial: conflict with old unifying plugin 2019-11-04 13:35:36 -06:00
Mario Limonciello
5123d4333e Rename unifying plugin to logitech-hidpp (Fixes: #1329) 2019-11-04 13:35:36 -06:00
Mario Limonciello
6b0e4ba021 Add a new contrib script for installing a Dell BIOS from an EXE file
This script re-uses code from existing firmware-packager related items
to:
* Find the matching device on the system
* Append an ESRT header
* Build a CAB file
* Pass the CAB file into fwupd daemon
2019-11-04 10:30:38 -06:00
Mario Limonciello
d8da3cc504 trivial: add-capsule-header: rename to make it easier to import 2019-11-04 10:30:38 -06:00
Mario Limonciello
69559f0619 trivial: simple_client: make it easier to reuse code 2019-11-04 10:30:38 -06:00
Mario Limonciello
22379ab16c trivial: firmware-packager: make it easier to reuse code 2019-11-04 10:30:38 -06:00
Mario Limonciello
f603e2df88 trivial: add-capsule-header: make it actually work
The result that was being spit out didn't actually work on any of
my test systems.
2019-11-04 10:30:38 -06:00
Mario Limonciello
d8af5de97d trivial: fix some gtkdoc sections
These weren't showing up in documentation properly.
2019-11-04 09:34:36 -06:00
Richard Hughes
340f2d4cd7 Bump the required gudev version
Flatpak shared-modules now ships gudev over 232.
2019-11-04 07:54:08 -06:00
Richard Hughes
7cb0592f72 trivial: Fix a compile error with older versions of gudev
Just move the G_DEFINE_AUTOPTR_CLEANUP_FUNC to the internal header to avoid
forgetting to define this in each plugin.
2019-11-02 07:47:02 -05:00
Mario Limonciello
15e3137f81 trivial: wacom: add vid/pid for panels in Moffett 2019-11-01 14:23:15 -05:00
Richard Hughes
8025333671 trivial: post release version bump 2019-11-01 15:08:26 +00:00
Richard Hughes
f6526ddb63 Release fwupd 1.3.3 2019-11-01 15:06:16 +00:00
Mario Limonciello
6c5e7c1e92 unifying: notify users to replug when using dfu control (Fixes: #1383) 2019-11-01 14:31:03 +00:00
Mario Limonciello
2e06dcd5e3 trivial: 8bitdo: set a transient failure while waiting for user action 2019-11-01 14:31:03 +00:00
Mario Limonciello
856f33b53a libfwupd: Add a new error type for user action needed 2019-11-01 14:31:03 +00:00
Mario Limonciello
8ecb08ec23 trivial: 8bitdo: show the same message for SN30pro and SN30pro+ 2019-11-01 14:31:03 +00:00
Richard Hughes
02792c0ba3 trivial: Fix up some typos from codespell 2019-11-01 14:21:20 +00:00
Richard Hughes
62e7112b4e trivial: Ensure config.h is included in all source files 2019-11-01 13:56:26 +00:00
Richard Hughes
f4998a7636 trivial: Fix up some NULL/FALSE confusion 2019-11-01 13:55:32 +00:00
Richard Hughes
894ebf6ac7 trivial: Add all the _LAST enums that shouldn't be checked for ABI 2019-11-01 08:16:18 -05:00
Richard Hughes
cd644907e4 trivial: Fix a typo that means that UEFI results were never cleared 2019-11-01 08:16:18 -05:00
Richard Hughes
0bbef29d3e Always report the update-error correctly for multiple updates
The root of this problem is that we were trying to use pending.db as both a
pending report store and also a record of history, so you could see updates for
device foo 1.2.3->1.2.4 and then 1.2.4->1.2.5.
This sort-of half worked, but it meant in some cases we matched on the old
device version, sometimes on the new release version and sometimes matching on
either.

The problem was that in various places we were using the device ID as *the*
primary key, and so we had various functions like fu_history_get_device_by_id()
that expected to return just one device, not several.

The device ID also changes if the device is moved from USB plug to another, and
so it got even more complicated again trying to de-dupe the devices.

The sanest thing to do is to decide that pending.db only contains the latest
attempt to go from one version to another using device-id as the primary key.
This makes reporting work reliably now, although has the effect you can't
report a 1.2.3->1.2.4 and 1.2.4->1.2.5 at the same time. Note, if you tried to
do the latter before, the update-error (if set) would be wrong on the second
report...

For the 1.3.3 release make it all simpler and so the reporting works reliably.
Longer term we can design a better database schema that uses unique ID to
represent the *transaction* itself, that isn't tied to the device ID in any way.
This might mean extending the DBus API to cope with multiple devices being
returned with the same device-id set.
2019-11-01 08:16:18 -05:00