Commit Graph

1874 Commits

Author SHA1 Message Date
Richard Hughes
6afc6542c1 trivial: Add a context to one translatable string 2020-11-30 09:03:04 +00:00
MisterGuinness
229bd1a0b5 Add quirk for Western Digital 2020-11-29 07:10:28 +00:00
Richard Hughes
c1e5f94e5c Mark more user-visible strings as translatable
Fixes https://github.com/fwupd/fwupd/issues/2616
2020-11-29 07:09:31 +00:00
Aleksander Morgado
512685fcb8 modem-manager: validate firmware update method combinations
The plugin currently supports Fastboot and QMI/PDC methods, but given
that QMI/PDC is exclusively used for carrier config installations,
there is no need for QMI/PDC-only updates, so make sure that
combination is right away forbidden.

This validation will also be useful when adding additional update
methods, as we'll be able to clearly specify which are the
combinations expcted.
2020-11-29 07:08:05 +00:00
Aleksander Morgado
c0fb40b7e8 modem-manager: remove unused byte counts in QMI/PDC update logic 2020-11-29 07:08:05 +00:00
Aleksander Morgado
fab3ee97c7 modem-manager: make sure the correct interface number is used for QMI
The upgrade process requires that the USB interface layout is not
changed between upgrades, something that we require for AT and we also
require now for QMI. We store the USB interface number of the QMI port
as soon as the device is probed, and we use it to match the interface
number once the Udev based device is created.

squash! modem-manager: make sure the correct interface number is used for QMI
2020-11-29 07:08:05 +00:00
Aleksander Morgado
da2d6f9c5a modem-manager: udev monitoring only if device switches layout
The built-in udev monitoring in the ModemManager plugin is only
required for those upgrade methods where the device switches into a
fully different port/interface layout. So far, we only expect this to
happen when the Fastboot update method is requested by the module.
2020-11-29 07:08:05 +00:00
Aleksander Morgado
b0418d7786 modem-manager: plug udev client leak
The GUdevClient is created when the ModemManager sysfs path is
inhibited; we need to make sure we destroy the object once
uninhibited, or we'll otherwise create a new one if we're running
an additional upgrade operation afterwards.
2020-11-29 07:08:05 +00:00
Renaud Métrich
31a0bc7daf ata: Add OUI quirk for Toshiba 2020-11-21 08:47:23 -06:00
Richard Hughes
d99f74f0b7 Revert "bcm57xx: Use PCI function 1 as 0 does not work with the Dell KH08P"
This reverts commit b5eddee5f6.

Using pci function 0 works on my Lenovo P50 but not my Lenovo X1. Don't break
machines where we are shipping the chip rather than ones where we probably are
not, especially when it's probably a kernel bug somewhere.

Fixes https://github.com/fwupd/fwupd/issues/2608
2020-11-20 09:54:34 +00:00
Richard Hughes
3a73c342ba Switch from libsoup to libcurl
The former drags on glib-networking and then gsettings-desktop-schemas, which
add over 5Mb to the minimal IoT and CoreOS composes. Everything already uses
libcurl (even NetworkManager!) and so this is an easy way to reduce image size.
2020-11-19 19:39:37 +00:00
Mario Limonciello
5b3eb78d5b trivial: uefi: don't let user's environment fail UEFI/Dell test suite
Comment from https://github.com/fwupd/fwupd/issues/2553#issuecomment-728218741
makes it clear that test suite should ignore some of environment.
2020-11-16 14:56:22 -06:00
tinywrkb
07d5aef247 Install modules-load configs in the correct directory
Signed-off-by: Richard Hughes <richard@hughsie.com>
2020-11-16 15:27:13 +00:00
Emily Miller
1c4a4dd29c trivial: tr_gen2 has same rtd21xx as mini dock 2020-11-16 08:50:25 +00:00
Richard Hughes
b5eddee5f6 bcm57xx: Use PCI function 1 as 0 does not work with the Dell KH08P 2020-11-14 07:56:32 +00:00
Richard Hughes
122104e190 vli: Do not be clever replugging the MSP430 device
We don't have to do this since we started counting the composite devices out
and back in, and relying on the parent being set at a specific instance seems
fragile in real-world testing.
2020-11-13 14:22:51 -06:00
Richard Hughes
bcf7a446f6 vli: Make some trivial debugging more specific to help debug an issue 2020-11-13 14:22:51 -06:00
Mario Limonciello
bdaa080be3 trivial: disable bios plugin outside of systems with uefi
Fixes: #2576
2020-11-13 08:19:30 +00:00
Hsieh-Tseng Shen
b47eee9a8a uefi: a new option for uefi configuration to use UEFI removable path
Per discussion of #2513, Ubuntu Core was going to use UEFI removable
path as default esp path, and it needs to change some parts around
getting the esp path and searching the shim app path. Also, a new option
"FallbacktoRemovablePath" is added into uefi.conf to be applied in this
case, and it will be false by default.
2020-11-11 13:04:46 -06:00
Richard Hughes
d87edbcc51 trivial: Fix swap self tests
This only works if the computer used to run the test also has /dev/nvme0n1p4 as
encrypted swap...
2020-11-10 19:55:33 +00:00
Richard Hughes
eac6edd7c5 synaptics-mst: Improve reliability by waiting 2 seconds after writing data
On failure, you get this:

    no device found on drm_dp_aux5: Memory query failed: failed to write command
    failed to get device after update: failed to wait for detach replug
2020-11-10 13:13:48 +00:00
Richard Hughes
db4894e863 hailuck: Add an plugin for the Pinebook Pro laptop
This is not complete enough for LVFS-usage, but good enough to use with commands
such as fwupdtool. It's likely newer kbd and tp firmware will be required to
integrate with the fwupd in all required ways.
2020-11-09 16:17:34 +00:00
Richard Hughes
42a5b39385 colorhug: Don't set the version format to triplet at startup
The USB revision is BCD if there's no 'FW' vendor data in the descriptor, so
only set the format when we know.
2020-11-07 08:03:24 +00:00
Richard Hughes
3e445ece04 Allow components to set the icon from the metadata
In this case, we want to set the generic ESRT entry to have the icon 'battery'.
2020-11-06 16:57:21 +00:00
Richard Hughes
1d0e7fb3bf colorhug: Fix detection of version on older firmware versions
Without the 'FW' version hint in newer firmware versions we fall back to the
BCD USB release which we need to override to triplet.
2020-11-06 13:04:34 +00:00
Richard Hughes
58993ac005 trivial: Fix some error prefixes 2020-11-06 09:57:03 +00:00
Evan Lojewski
0304f8d4fd bcm57xx: Fix reading vendor/device ids from firmware.
The PCI Vendor and Device ID locations located in firmware were mistakenly
swapped in the bcm5719-fw repository. As a result, the code here based on said
repository also has swapped IDs. This fixes the ids to reflect the
correct locations.

Signed-off-by: Evan Lojewski <github@meklort.com>
2020-11-06 08:27:06 +00:00
Richard Hughes
203ed841da trivial: Codespell fixes 2020-11-02 14:26:26 +00:00
Richard Hughes
0bdf561035 Use UDisks to find out if swap devices are encrypted
Using a heuristic is certainly not awesome.
2020-11-02 14:22:37 +00:00
Richard Hughes
b5d6aacf9f Show a less scary fwupdate output for devices without info
Before:

    Information for the update status entry 0:
      Information Version: 7
      Firmware GUID: {ddc0ee61-e7f0-4e7d-acc5-c070a398838e}
      Capsule Flags: 0x00000000x
      Hardware Instance: 0
      Update Status: attempted
      Capsule File Path: /EFI/fedora/fw/fwupd-ddc0ee61-e7f0-4e7d-acc5-c070a398838e.cap

    failed: Error opening file /sys/firmware/efi/efivars/fwupd-671d19d0-43c-
    4852-98d9-1ce16f9967e4-0-0abba7dc-e516-4167-bbf5-4d9d1c739416: No such file
    or directory
    failed: Error opening file /sys/firmware/efi/efivars/fwupd-a9971959-9246-
    4a5b-b2f2-ba6fdcb19349-0-0abba7dc-e516-4167-bbf5-4d9d1c739416: No such file
    or directory

After:

    Information for the update status entry 0:
      Information Version: 7
      Firmware GUID: {ddc0ee61-e7f0-4e7d-acc5-c070a398838e}
      Capsule Flags: 0x00000000x
      Hardware Instance: 0
      Update Status: attempted
      Capsule File Path: /EFI/fedora/fw/fwupd-ddc0ee61-e7f0-4e7d-acc5-c070a398838e.cap

    Information for the update status entry 1:
      Firmware GUID: {671d19d0-d43c-4852-98d9-1ce16f9967e4}
      Update Status: No update info found

    Information for the update status entry 2:
      Firmware GUID: {a9971959-9246-4a5b-b2f2-ba6fdcb19349}
      Update Status: No update info found

Fixes https://github.com/fwupd/fwupd/issues/2530
2020-10-30 11:36:40 +00:00
Mario Limonciello
3c4e57463a thunderbolt: recognize authorized value of '2' as well
This means that the user performed a challenge to authorize the
device.
Fixes: #2526
2020-10-29 13:37:44 -05:00
Richard Hughes
94e3d24f55 bcm57xx: Make hotplug more reliable
Although hotpluggging PCIe cards isn't common, it's how I'm testing this in the
device test enclosure. Add a tiny delay to wait for the kernel to populate the
net class on hotplug.
2020-10-29 14:01:25 +00:00
Richard Hughes
a78b13fb71 Use a different Device ID for the OptionROM devices
We want to continue to dedupe the ID, and the priority should be decided on the
GUID match.

Fixes https://github.com/fwupd/fwupd/issues/2510 in a different way
2020-10-29 14:01:25 +00:00
Richard Hughes
ded5410f6d Delete unused EFI variables when deploying firmware
Unconditionally delete FWUPDATE_VERBOSE and FWUPDATE_DEBUG_LOG when deploying
the update using fwupdtool or fwupd and leave it to fwupdate.

If you want to debug the efi binary you then have to use fwupdate and squirt
the .cap file rather than using all the other layers.
2020-10-27 17:05:01 +00:00
Richard Hughes
49c2a78c99 Include the amount of NVRAM size in use in the LVFS failure report 2020-10-27 13:58:40 +00:00
Mario Limonciello
8aa5d41eb7 Add external interface messages 2020-10-26 12:05:20 -05:00
Emily Miller
f9ad963bcf vli: Add support for Hyper hardware 2020-10-26 10:08:00 +00:00
Jingle Wu
3460e0a5ed elantp: Modify the correct input for the iap reg.
1. Modify the correct input for the iap reg (byte -> word).
2. Add new HWID for ThinkPad X1 Carbon Gen 9.
2020-10-23 08:56:48 +01:00
Richard Hughes
e80547e8fc Record the TPM version when reporting a UEFI update
Fixes https://github.com/fwupd/fwupd/issues/2391
2020-10-22 16:16:23 +01:00
Richard Hughes
b814af80ef synaptics-cxaudio: Retry the HID SetReport to fix flashing the TB3 dock
Upon restarting the upstream VLI USB hub the cxaudio device re-enumerated okay
but would not service HID requests for 100ms, returning 'endpoint stalled'.

To make this more reliable retry the SetRequest up to 10 times after a short
delay to make enumeration reliable.
2020-10-22 14:36:05 +01:00
Richard Hughes
3b577c5de3 bcm57xx: Fix trivial warnings when building on Win32 2020-10-22 13:55:14 +01:00
Richard Hughes
1fd1a8047e optionrom: Add the fuzzing functionality as a meson target 2020-10-22 13:22:34 +01:00
Vincent Huang
a9d8074c61 synaptics-prometheus: add pids to quirk file 2020-10-22 08:21:30 +01:00
Richard Hughes
b7e406c217 ata: Add OUI quirk for Corsair 2020-10-21 20:18:27 +01:00
Richard Hughes
0d778dbd50 vli: Set the parent of the USB2 recovery for cosmetic reasons 2020-10-21 17:48:36 +01:00
Richard Hughes
07326182ca vli: Do not expose the shared-SPI devices on the USB2 recovery device 2020-10-21 17:48:25 +01:00
Mario Limonciello
b15f4ab4b1 elantp: Trivial whitespace fixes 2020-10-21 16:54:13 +01:00
Mario Limonciello
0ad124a02b elantp: Match all i2c-hid devices in quirk
In the plugin probe routine, check whether they are actually i2c-hid touchpad
by looking at PID.

Fixes #2494
2020-10-21 16:54:13 +01:00
Richard Hughes
f6a765d251 vli: Remove one of the catch-all PD VID:PID matches
This is already supported using the &APP_ GUID for the Lenovo USB-C Mini dock.
2020-10-21 16:25:12 +01:00
Richard Hughes
a2a8f8ea70 Add fu_byte_array_set_size()
The GLib g_byte_array_set_size() function does not zero the contents if the
array size is larger, which leads to unpredictable output when using valgrind.
2020-10-20 19:54:07 +01:00