我有一个 USB 扬声器(捷波朗 Speak 410)我需要更新固件。当我尝试使用fwupdmgr
它时,它会看到该设备,并通知我现存的固件版本(1.9)但不执行任何更新:
$ fwupdmgr get-devices
Jabra SPEAK 410 USB
DeviceId: 87caecc4e6db7e3c335deedfef38666e7f279a03
Guid: 537f7800-8529-5656-b2fa-b0901fe91696
Guid: a607e767-5dfd-5f21-ac0f-c774dbd6fed5
Guid: 1764c519-4723-5514-baf9-3b42970de487
Plugin: dfu
Flags: updatable|registered
VendorId: USB:0x0B0E
Version: 1.9
Icon: drive-harddisk-usb
Created: 2018-09-12
$ fwupdmgr update
$
我确认有可用的更新文件(1.12版)。当我下载更新文件 ( Jabra_SPEAK_410_USB-1-12-0.dfu
) 并尝试使用它时,fwupdmgr write
它似乎没有执行任何操作。
答案1
其原因是多层次的。 fwupdmgr
是一个用于检索固件并处理它的工具Linux 供应商固件服务(LVFS)。 LVFS 提供元数据和 CAB 档案的分发,这些档案打包在微软更新格式并由 LVFS 项目签名。这些更新由各个供应商管理。
而捷波朗做出了官方声明:
支持所有 SPEAK 硬件,更多型号即将推出
1.8 版本之后没有后续更新(针对 Speak 410)由 Jabra 通过 LVFS 发布。
由于您可以访问 Jabra 提供的实际 DFU 文件,因此可以使用该实用程序手动处理该文件,该实用程序也打包为程序包( 的父程序包)的dfu-tool
一部分。fwupd
fwupdmgr
应该强调的是,签名是包装对于 DFU 文件,最终用户需要确保以安全的方式检索该文件。这就是 LVFS 提供所传送档案的签名和断言的原因。确保所有文件都是使用传输安全性下载的,或者具有可用于声明所有权的独立签名。
如果您认为 DFU 文件是正版的,请使用以下过程:
首先,验证是否连接了有效的 DFU 设备:
$ dfu-tool list
Found 0b0e:0412 [v1.9]:
Name: Jabra SPEAK 410 USB
Serial: 745C4B561A3XXXXXXXX
Mode: Runtime
Status: OK
State: appIDLE
Transfer Size: 64 bytes
Attributes: can-download|can-upload
Quirks: no-dfu-runtime
一旦您确认存在支持 DFU 的设备,请dfu-tool
使用 DFU 文件的路径进行附加调用:
$ dfu-tool write ~/Downloads/Jabra_SPEAK_410_USB-1-12-0.dfu
(dfu-tool:7597): FuPluginDfu-WARNING **: 12:22:53.882: truncated DFU interface data, no bcdDFUVersion
(dfu-tool:7597): FuPluginDfu-WARNING **: 12:23:05.310: truncated DFU interface data, no bcdDFUVersion
Writing… [*************************************************]
Waiting… [*************************************************]
Restarting device…[*************************************************]
(dfu-tool:7597): FuPluginDfu-WARNING **: 12:30:04.795: truncated DFU interface data, no bcdDFUVersion
879644 bytes successfully downloaded to device
然后,您可以使用fwupdmgr
或dfu-tool
作为便利实用程序来验证所需的固件版本是否正在运行:
dfu-tool
:
$ dfu-tool list
Found 0b0e:0412 [v1.12]:
Name: Jabra SPEAK 410 USB
Serial: 745C4B561A3Dx010900
Mode: Runtime
Status: OK
State: appIDLE
Transfer Size: 64 bytes
Attributes: can-download|can-upload
Quirks: no-dfu-runtime
fwupdmgr
:
$ fwupdmgr get-devices
Jabra SPEAK 410 USB
DeviceId: 87caecc4e6db7e3c335deedfef38666e7f279a03
Guid: 537f7800-8529-5656-b2fa-b0901fe91696
Guid: f884081f-f58f-5d01-86e8-dc12c88ef073
Guid: 1764c519-4723-5514-baf9-3b42970de487
Plugin: dfu
Flags: updatable|registered
VendorId: USB:0x0B0E
Version: 1.12
Icon: drive-harddisk-usb
Created: 2018-09-12