fwupd/plugins/dfu/dfu.quirk
Ilya Guterman 46f5415eda dfu: Support MATEKF722SE quirk
MATEKF722SE has unconvetional behavior for dfu protocol, where the sector size
isn't specified and sector type is shiffted left by 1. This happens only for
one sector.

Sector parsing from MATEKF722SE:

 * `016Kg`
 * `64Kg`
 * `128Kg`
 * `048 e`
 * `528e`
 * `004 e`
2020-05-09 20:19:57 +01:00

332 lines
8.2 KiB
Plaintext

# All DFU devices
[DeviceInstanceId=USB\CLASS_FE&SUBCLASS_01]
Plugin = dfu
# Realtek USB camera
[DeviceInstanceId=USB\VID_0BDA&PID_5850]
CounterpartGuid = USB\VID_0BDA&PID_5800
[DeviceInstanceId=USB\VID_0BDA&PID_5855]
CounterpartGuid = USB\VID_0BDA&PID_5800
[DeviceInstanceId=USB\VID_0BDA&PID_58FE]
CounterpartGuid = USB\VID_0BDA&PID_5800
[DeviceInstanceId=USB\VID_0BDA&PID_5800]
Flags = detach-for-attach
# Openmoko Freerunner / GTA02
[DeviceInstanceId=USB\VID_1D50&PID_5119]
Plugin = dfu
Flags = ignore-polltimeout,no-pid-change,no-dfu-runtime,needs-bootloader,no-get-status-upload
# OpenPCD Reader
[DeviceInstanceId=USB\VID_16C0&PID_076B]
Plugin = dfu
Flags = ignore-polltimeout
# SIMtrace
[DeviceInstanceId=USB\VID_16C0&PID_0762]
Plugin = dfu
Flags = ignore-polltimeout
# OpenPICC
[DeviceInstanceId=USB\VID_16C0&PID_076C]
Plugin = dfu
Flags = ignore-polltimeout
# Siemens AG, PXM 40 & PXM 50
[DeviceInstanceId=USB\VID_0908&PID_02C4]
Plugin = dfu
[DeviceInstanceId=USB\VID_0908&PID_02C5]
Plugin = dfu
[DeviceInstanceId=USB\VID_0908&PID_02C4&REV_0000]
Flags = ignore-polltimeout
[DeviceInstanceId=USB\VID_0908&PID_02C5&REV_0000]
Flags = ignore-polltimeout
# Midiman M-Audio Transit
[DeviceInstanceId=USB\VID_0763&PID_2806]
Plugin = dfu
Flags = ignore-polltimeout
# LPC DFU bootloader
[DeviceInstanceId=USB\VID_1FC9&PID_000C]
Plugin = dfu
Flags = force-dfu-mode
# m-stack DFU
[DeviceInstanceId=USB\VID_273F&PID_1003]
Flags = attach-upload-download
[DeviceInstanceId=USB\VID_273F&PID_100A]
Flags = attach-upload-download
[DeviceInstanceId=USB\VID_273F&PID_1008]
Flags = attach-upload-download
# HydraBus
[DeviceInstanceId=USB\VID_1D50&PID_60A7]
Plugin = dfu
Flags = no-dfu-runtime,needs-bootloader
# Jabra 410 [appIDLE & dfuIDLE]
[DeviceInstanceId=USB\VID_0B0E&PID_0411]
Plugin = dfu
Flags = no-pid-change,ignore-upload,attach-extra-reset
# Jabra 510 [appIDLE & dfuIDLE]
[DeviceInstanceId=USB\VID_0B0E&PID_0421]
Plugin = dfu
Flags = no-pid-change,ignore-upload,attach-extra-reset
# Jabra 710 [appIDLE & dfuIDLE]
[DeviceInstanceId=USB\VID_0B0E&PID_0982]
Plugin = dfu
Flags = no-pid-change,ignore-upload,attach-extra-reset
# Jabra 810 [appIDLE & dfuIDLE]
[DeviceInstanceId=USB\VID_0B0E&PID_0971]
Plugin = dfu
Flags = no-pid-change,ignore-upload,attach-extra-reset
# Atmel AT90USB Bootloader
[DeviceInstanceId=USB\VID_03EB&PID_2FF7]
Plugin = dfu
Flags = use-any-interface,legacy-protocol,force-dfu-mode
[DeviceInstanceId=USB\VID_03EB&PID_2FF9]
Plugin = dfu
Flags = use-any-interface,legacy-protocol,force-dfu-mode
[DeviceInstanceId=USB\VID_03EB&PID_2FFA]
Plugin = dfu
Flags = use-any-interface,legacy-protocol,force-dfu-mode
[DeviceInstanceId=USB\VID_03EB&PID_2FFB]
Plugin = dfu
Flags = use-any-interface,legacy-protocol,force-dfu-mode
# Atmel ATMEGA Bootloader
[DeviceInstanceId=USB\VID_03EB&PID_2FEE]
Plugin = dfu
Flags = use-any-interface,legacy-protocol,force-dfu-mode
[DeviceInstanceId=USB\VID_03EB&PID_2FEF]
Plugin = dfu
Flags = use-any-interface,legacy-protocol,force-dfu-mode
[DeviceInstanceId=USB\VID_03EB&PID_2FF0]
Plugin = dfu
Flags = use-any-interface,legacy-protocol,force-dfu-mode
[DeviceInstanceId=USB\VID_03EB&PID_2FF2]
Plugin = dfu
Flags = use-any-interface,legacy-protocol,force-dfu-mode
[DeviceInstanceId=USB\VID_03EB&PID_2FF3]
Plugin = dfu
Flags = use-any-interface,legacy-protocol,force-dfu-mode
[DeviceInstanceId=USB\VID_03EB&PID_2FF4]
Plugin = dfu
Flags = use-any-interface,legacy-protocol,force-dfu-mode
# Atmel XMEGA Bootloader
[DeviceInstanceId=USB\VID_03EB&PID_2FE2]
Plugin = dfu
Flags = use-any-interface,force-dfu-mode
# Leaflabs Maple3
[DeviceInstanceId=USB\VID_1EAF&PID_0003&REV_0200]
Plugin = dfu
DfuForceVersion = 0110
# Atmel FLIP Bootloader
[DeviceInstanceId=USB\VID_03EB]
Plugin = dfu
DfuForceVersion = ff01
# AT32UC3B1256 [BLDR][USER] USER@0x2000, BLDR+USER=0x40000
[AvrChipId=0x58200203]
DfuAltName = @Flash/0x2000/1*248Kg
# AT32UC3A3256 [BLDR][USER] USER@0x2000, BLDR+USER=0x40000
[AvrChipId=0x58200204]
DfuAltName = @Flash/0x2000/1*248Kg
# AT90USB1287 [USER][BLDR] BLDR@0x1e000, BLDR+USER=0x20000
[AvrChipId=0x581e9782]
DfuAltName = @Flash/0x0/1*120Kg
# AT90USB647 [USER][BLDR] BLDR@0x0e000, BLDR+USER=0x10000
# AT90USB646 [USER][BLDR] BLDR@0x0e000, BLDR+USER=0x10000
[AvrChipId=0x581e9682]
DfuAltName = @Flash/0x0/1*56Kg
# ATmega32U4 [USER][BLDR] BLDR@0x07000, BLDR+USER=0x08000
[AvrChipId=0x581e9587]
DfuAltName = @Flash/0x0/1*28Kg
# ATmega16U4 [USER][BLDR] BLDR@0x03000, BLDR+USER=0x04000
[AvrChipId=0x581e9488]
DfuAltName = @Flash/0x0/1*12Kg
# ATmega32U2 [USER][BLDR] BLDR@0x07000, BLDR+USER=0x08000
[AvrChipId=0x581e958a]
DfuAltName = @Flash/0x0/1*28Kg
# ATmega16U2 [USER][BLDR] BLDR@0x03000, BLDR+USER=0x04000
[AvrChipId=0x581e9489]
DfuAltName = @Flash/0x0/1*12Kg
# AT90USB162 [USER][BLDR] BLDR@0x03000, BLDR+USER=0x04000
[AvrChipId=0x581e9482]
DfuAltName = @Flash/0x0/1*12Kg
# ATmega8U2 [USER][BLDR] BLDR@0x01000, BLDR+USER=0x02000
[AvrChipId=0x581e9389]
DfuAltName = @Flash/0x0/1*4Kg
# AT90USB82 [USER][BLDR] BLDR@0x01000, BLDR+USER=0x02000
[AvrChipId=0x581e9382]
DfuAltName = @Flash/0x0/1*4Kg
# ATxmega16A4 [USER] USER=0x4000
[AvrChipId=0x1e9441]
DfuAltName = @Flash/0x0/1*16Kg
# ATxmega16C4 [USER] USER=0x4000
[AvrChipId=0x1e9544]
DfuAltName = @Flash/0x0/1*16Kg
# ATxmega16D4 [USER] USER=0x4000
[AvrChipId=0x1e9442]
DfuAltName = @Flash/0x0/1*16Kg
# ATxmega32A4 [USER] USER=0x8000
[AvrChipId=0x1e9541]
DfuAltName = @Flash/0x0/1*32Kg
# ATxmega32C4 [USER] USER=0x8000
[AvrChipId=0x1e9443]
DfuAltName = @Flash/0x0/1*32Kg
# ATxmega32D4 [USER] USER=0x8000
[AvrChipId=0x1e9542]
DfuAltName = @Flash/0x0/1*32Kg
# ATxmega64A4 [USER] USER=0x10000
[AvrChipId=0x1e9646]
DfuAltName = @Flash/0x0/1*64Kg
# ATxmega64C3 [USER] USER=0x10000
[AvrChipId=0x1e9649]
DfuAltName = @Flash/0x0/1*64Kg
# ATxmega64D3 [USER] USER=0x10000
[AvrChipId=0x1e964a]
DfuAltName = @Flash/0x0/1*64Kg
# ATxmega64D4 [USER] USER=0x10000
[AvrChipId=0x1e9647]
DfuAltName = @Flash/0x0/1*64Kg
# ATxmega64A1 [USER] USER=0x10000
[AvrChipId=0x1e964e]
DfuAltName = @Flash/0x0/1*64Kg
# ATxmega64A3 [USER] USER=0x10000
[AvrChipId=0x1e9642]
DfuAltName = @Flash/0x0/1*64Kg
# ATxmega64B1 [USER] USER=0x10000
[AvrChipId=0x1e9652]
DfuAltName = @Flash/0x0/1*64Kg
# ATxmega64B3 [USER] USER=0x10000
[AvrChipId=0x1e9651]
DfuAltName = @Flash/0x0/1*64Kg
# ATxmega128C3 [USER] USER=0x20000
[AvrChipId=0x1e9752]
DfuAltName = @Flash/0x0/1*128Kg
# ATxmega128D3 [USER] USER=0x20000
[AvrChipId=0x1e9748]
DfuAltName = @Flash/0x0/1*128Kg
# ATxmega128D4 [USER] USER=0x20000
[AvrChipId=0x1e9747]
DfuAltName = @Flash/0x0/1*128Kg
# ATxmega128A1 [USER] USER=0x20000
[AvrChipId=0x1e974c]
DfuAltName = @Flash/0x0/1*128Kg
# ATxmega128A1D [USER] USER=0x20000
[AvrChipId=0x1e9741]
DfuAltName = @Flash/0x0/1*128Kg
# ATxmega128A3 [USER] USER=0x20000
[AvrChipId=0x1e9742]
DfuAltName = @Flash/0x0/1*128Kg
# ATxmega128A4 [USER] USER=0x20000
[AvrChipId=0x1e9746]
DfuAltName = @Flash/0x0/1*128Kg
# ATxmega128B1 [USER] USER=0x20000
[AvrChipId=0x1e974d]
DfuAltName = @Flash/0x0/1*128Kg
# ATxmega128B3 [USER] USER=0x20000
[AvrChipId=0x1e974b]
DfuAltName = @Flash/0x0/1*128Kg
# ATxmega192C3 [USER] USER=0x30000
[AvrChipId=0x1e9751]
DfuAltName = @Flash/0x0/1*192Kg
# ATxmega192D3 [USER] USER=0x30000
[AvrChipId=0x1e9749]
DfuAltName = @Flash/0x0/1*192Kg
# ATxmega192A1 [USER] USER=0x30000
[AvrChipId=0x1e974e]
DfuAltName = @Flash/0x0/1*192Kg
# ATxmega192A3 [USER] USER=0x30000
[AvrChipId=0x1e9744]
DfuAltName = @Flash/0x0/1*192Kg
# ATxmega256 [USER] USER=0x40000
[AvrChipId=0x1e9846]
DfuAltName = @Flash/0x0/1*256Kg
# ATxmega256D3 [USER] USER=0x40000
[AvrChipId=0x1e9844]
DfuAltName = @Flash/0x0/1*256Kg
# ATxmega256A3 [USER] USER=0x40000
[AvrChipId=0x1e9842]
DfuAltName = @Flash/0x0/1*256Kg
# ATxmega256A3B [USER] USER=0x40000
[AvrChipId=0x1e9843]
DfuAltName = @Flash/0x0/1*256Kg
# ATxmega384C3 [USER] USER=0x60000
[AvrChipId=0x1e9845]
DfuAltName = @Flash/0x0/1*384Kg
# ATxmega384D3 [USER] USER=0x60000
[AvrChipId=0x1e9847]
DfuAltName = @Flash/0x0/1*384Kg
# ATxmega8E5 [USER] USER=0x2000
[AvrChipId=0x1e9341]
DfuAltName = @Flash/0x0/1*8Kg
# ATxmega16E5 [USER] USER=0x4000
[AvrChipId=0x1e9445]
DfuAltName = @Flash/0x0/1*16Kg
# ATxmega32E5 [USER] USER=0x8000
[AvrChipId=0x1e954c]
DfuAltName = @Flash/0x0/1*32Kg
# STM32F745 dfuse bootloader
[DeviceInstanceId=USB\VID_0483&PID_DF11]
Flags = absent-sector-size
Plugin = dfu
DfuForceVersion = 011a
DfuForceTimeout = 5000