Commit Graph

138 Commits

Author SHA1 Message Date
Ivan Mikhanchuk
af5fb429c8 modem-manager: remove improper use of assert
FuSaharaLoader being NULL is normal for devices that only
support Firehose and don't use Sahara QDL port.
2023-01-24 20:54:43 -06:00
Richard Hughes
058dc2301a Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
Ivan Mikhanchuk
ed6011fc4d modem-manager: add quirk for Quectel RM520 modem
Quectel RM520 is based on Qualcomm SDX6x chipset and requires different
firehose programmer file.
2023-01-05 17:39:13 +00:00
Ivan Mikhanchuk
d1fc1d1f93 modem-manager: add firehose prog name quirk
Adds FirehoseProgFile quirk to determine the correct filename for the
firehose prog depending on the device VID:PID.
2023-01-05 17:39:13 +00:00
Josh Soref
67deecde31
Lots of spelling fixes
Fixes:

* activate
* active
* additional
* and
* approaches
* attestation
* bootloader
* calculate
* capability
* children
* close
* compatible
* continuous
* convenience
* critical
* data
* delivery
* disabled
* disambiguate
* documented
* elapse
* emergency
* erasable
* expectations
* filesystem
* from
* haptic
* ignorable
* images
* infinity
* information
* information
* inhibited
* insufficient
* interrupt
* into
* limited
* management
* manifest
* maximum
* memory
* metadata
* mismatch
* model
* nonexistent
* not
* objects
* offset
* omissions
* ota
* past
* perform
* peripherals
* predictable
* product
* quarterly
* quirk
* quirks
* recognize
* release
* requests
* revocation
* sanitized
* sector
* status
* the
* the update
* timeout
* transfer
* transfers
* typically
* unspecified
* upgrade
* which
* will
* wireless
2022-12-29 13:57:31 +00:00
Dylan Van Assche
8243034311 plugins: modem-manager: assume firmware is unsigned
fwupd does not know if the firmware is signed or unsigned unless
the Quectel secureboot commands set this flag. Assume that the firmware
is unsigned by default, which is the case for most firmware unless they
have they support the secureboot AT commands. If that's the case, the
right flag will be set anyway.
2022-10-10 12:44:10 +01:00
Mario Limonciello
15c9cac1b0 add an rpath to things not compiled into a library
A harmless error shows up in debian packages at build time:
```
dpkg-shlibdeps: warning: cannot find library libfwupdplugin.so needed by debian/fwupd/usr/lib/x86_64-linux-gnu/fwupd-1.8.6/libfu_plugin_flashrom.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '')
```

This doesn't cause a functional problem because libfwupdplugin has already
been loaded by the daemon by the time these libraries are loaded.

In case the `dpkg-shlibdeps` checker becomes more stringent in the future
fix the warning.
2022-10-07 14:16:37 -05:00
Richard Hughes
c87cbf835a modem-manager: Fix building with -Dgusb=disabled 2022-10-07 08:04:06 -05:00
Richard Hughes
1f261ba283 Rename the source file and private data of modular plugins
This would allow us to convert more easily to a built-in plugin in the future
and means we match the source style used in 97% of the other plugins.

No logic changes.
2022-09-30 15:20:23 +01:00
Richard Hughes
fc3cfbad92 Do not check the build hash of modular plugins
We removed the abilty to easily build modular plugins, and so we don't need to
worry so much about random 3rd party modules being loaded.
2022-09-30 14:19:56 +01:00
Ivan Mikhanchuk
b170bc348e modem-manager: check driver name instead of bus type
Firmware update mechanism depends on the bus and driver type.
Since USB devices can be sitting on the PCI bus, use driver names
comparison instead of physical ids.
2022-09-30 12:04:40 +01:00
Richard Hughes
e8de491030 trivial: Do not require fu-hash.h for builtin plugins 2022-09-30 10:36:12 +01:00
Mario Limonciello
d5585728a2 trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
Richard Hughes
99002a7a18 Build many more plugins as builtin
This reduces the plugin directory size by 2.2Mb
2022-09-28 17:01:23 +01:00
Richard Hughes
c4b7f42e43 Only compress one version of the builtin-quirks
Saving the quirks in the GResource section worked well, but it made the build
system very complicated and also meant the .data section was duplicated in
both `fwupd` and `fwupdtool` -- negating a lot of the hard-fought savings.

Simplify this feature so that we just `cat` all the quirk files together, then
gzip them into a single file. This means that at startup fwupd only needs to
check the mtime of one file, and weirdly it's actually faster to load a smaller
compressed file from disk that it is to load multiple uncompressed files.
2022-09-27 12:44:04 +01:00
Richard Hughes
0415db6f67 Revert "trivial: Use files() rather than current_source_dir()"
This reverts commit b581fa5670 as it breaks
`ninja dist` with `-Dgresource_quirks=enabled`.
2022-09-25 10:31:14 +01:00
Richard Hughes
b581fa5670 trivial: Use files() rather than current_source_dir() 2022-09-24 09:12:14 -05:00
Richard Hughes
2d2bde2268 trivial: Fix -Wunused-but-set-variable warning 2022-09-22 14:24:50 +01:00
Richard Hughes
1dab4f67cf modem-manager: Fix debug format string
PVS: The size_t type argument is expected.
2022-09-09 19:23:29 +01:00
Richard Hughes
908c1d8c02 modem-manager: Do not print (null)
PVS: Incorrect format. A null pointer is used.
2022-09-09 19:23:29 +01:00
Richard Hughes
92db5fc87a modem-manager: Fix a critical warning when issuing Secure Boot AT commands
Fixes https://github.com/fwupd/fwupd/issues/4998
2022-09-05 17:53:27 +01:00
Ivan Mikhanchuk
c14129a149 modem-manager: add Quectel secure boot status AT commands 2022-07-29 09:32:56 +01:00
Richard Hughes
829258401e Allow plugins and backends to print debugging information to the console
This is really useful for debugging.
2022-07-28 16:10:06 +01:00
Mario Limonciello
611cf51fc8 trivial: lower modem manager probing verbosity in one other place
Fixes: 030a0d51c ("trivial: quiet the modem manager error about unable to probe")
2022-07-14 12:59:53 -05:00
Richard Hughes
a61bb37881 Build the quirk files into the daemon as a GResource
Interestingly, this increases the `fwupd` binary size by ~30kb but
reduces the installed size of /usr/share/fwupd/quirks.d by ~330kb.
2022-06-30 18:52:24 +01:00
Mario Limonciello
030a0d51c1 trivial: quiet the modem manager error about unable to probe
We don't show messages in the logs about unable to probe other
device types by default, MM should be no different.
This gets rid of this message coming up every fwupd startup on a
EM05-G:
"failed to probe MM device: modem cannot be put in programming mode"
2022-06-23 14:53:58 -05:00
Gaël PORTAY
299b42fe96 trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
Richard Hughes
4105768a01 Remove the 'common' prefix when parsing version numbers 2022-06-14 14:36:52 -05:00
Richard Hughes
3e0a4dc1c3 Be smarter and include less header files per source file 2022-06-14 14:36:52 -05:00
Richard Hughes
067d7d8088 Split out the path helpers to a new source file 2022-06-14 14:36:52 -05:00
Richard Hughes
7f86ffab6f Split out the dump helpers to a new source file 2022-06-14 14:36:52 -05:00
Richard Hughes
3f77af3cd4 Split out the kernel helpers to a new source file 2022-06-14 14:36:52 -05:00
Richard Hughes
425fedcca1 trivial: Remove fu_byte_array_set_size_full() 2022-06-14 14:36:52 -05:00
Richard Hughes
4b1313b406 Split out the GByte helpers to a new source file 2022-06-14 14:36:52 -05:00
Richard Hughes
9d33c29e92 Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
Richard Hughes
e6b487e762 Add FuProgress to ->startup() and ->coldplug()
This allows us to profile the daemon startup so we can find any plugins
taking an inordinate amount of time to start.
2022-06-04 20:21:50 +01:00
Richard Hughes
dc91d59f8e Remove the recently added fu_progress_add_step_full()
Just break API instead.
2022-06-03 13:47:11 -05:00
Richard Hughes
be271f8213 modem-manager: Fix a small leak and critical warning on failed update 2022-05-26 10:50:54 +01:00
Richard Hughes
061b377977 modem-manager: Fix one critical warning when updating 2022-05-26 10:50:54 +01:00
Richard Hughes
d3d7cfa816 Add plugin quirk keys earlier in the startup process
This allows creating the silo when starting the engine with custom
plugin keys such as WacomI2cFlashBaseAddr.

If we move the plugin initialization earlier then we don't get the
HwID matches, so we really do have to split this into a 4-stage startup,
e.g. ->load(), ->init(), ->startup() and ->coldplug().
2022-05-09 11:13:52 +01:00
Richard Hughes
45b1a0bbe3 modem-manager: Remove unused variable 2022-04-23 10:28:16 +01:00
Richard Hughes
035490d39e modem-manager: Remove the cache item and use a shadow device instead
Fixes https://github.com/fwupd/fwupd/issues/4394
2022-04-12 09:59:19 +01:00
Richard Hughes
7f6605cf8d Revert "modem-manager: uninhibit modem after upgrade"
This reverts commit e3b62e643b which
fixes a crash when updating devices.
2022-03-28 20:19:09 +01:00
Richard Hughes
17854099d0 modem-manager: Add signed-payload metadata for some Quectel devices 2022-03-28 08:47:02 +01:00
Richard Hughes
ed247d32b2 modem-manager: Use the correct icon name
The list is specified in https://lvfs.readthedocs.io/en/latest/metainfo.html
2022-03-24 13:05:23 +00:00
Richard Hughes
e8e94b5c63 modem-manager: Quirk a vendor name to be less shouty 2022-03-24 11:12:13 +00:00
Ivan Mikhanchuk
e3907a116e modem-manager: add Quectel EM05 firwmare update support
EM05 switches to the EDL mode over MBIM port, then uses
Sahara to load a firehose binary. The firmware is loaded to
the modem using Firehose protocol.
2022-03-22 14:26:49 +00:00
Ivan Mikhanchuk
6fa82b10bc modem-manager: add Sahara IO functions to Firehose 2022-03-22 14:26:49 +00:00
Ivan Mikhanchuk
27a68de8ee modem-manager: add Sahara protocol 2022-03-22 14:26:49 +00:00
Ivan Mikhanchuk
716a47db8c modem-manager: move firehose related functions to one 2022-03-22 14:26:49 +00:00