Linux에서 DFU(장치 펌웨어 업데이트) 파일을 사용하여 USB 장치의 펌웨어를 업데이트하는 방법은 무엇입니까?

Linux에서 DFU(장치 펌웨어 업데이트) 파일을 사용하여 USB 장치의 펌웨어를 업데이트하는 방법은 무엇입니까?

USB 스피커가 있습니다(Jabra 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의 경우).LVFS를 통해 Jabra에서 게시됨.

Jabra에서 제공하는 실제 DFU 파일에 액세스할 수 있으므로 이 유틸리티를 사용하여 파일을 수동으로 처리할 수 있습니다. 이 유틸리티는 dfu-tool패키지(의 상위 패키지)의 일부로도 패키지되어 있습니다.fwupdfwupdmgr

서명이라는 점을 강조해야 합니다.패키지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-toolDFU 파일 경로를 사용하여 추가 호출을 수행합니다.

$ 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

관련 정보