openwrt/package/boot
Coia Prant b9382cb733 ramips: add support for Qding QC202
This is a smart door lock device equipped with OpenWrt 14.07 OEM
modified version Qdwrt

The OEM has closed down, This commit is intended to maximize the
remaining value of these devices. It can flash OpenWrt to become
an AP

Specification:
- SoC: MediaTek MT7628NN
- Flash: 8 MB
- RAM: 64 MB
- Power: DC 5V - 25V
- Ethernet: 1 x RJ45 (10/100 Mbps)
- Wireless radio: 802.11n 2.4g-only
- On-Board LED:
  Status 1: GPIO/43 active-low
  Status 2: GPIO/44 active-low
  Power: AlwaysOn
- Button:
  WPS / RESET: GPIO/14  active-low
- Bluetooth: CC2541 via UART1 (ttyS1) and GPIO/26-29
- RFID: MF RC522 on I2C@28
- RTC: DS1339 on I2C@68
- Shell (via CON1 cable)
  - LED (Swipe card area):
     -  Green  GPIO/3  active-high
     -  Red    GPIO/11 active-high
  - Matrix keypad: (active-low)
                 GPIO/20 GPIO/21 GPIO/19 (Rows)
        GPIO/24        1       2       3
        GPIO/25        4       5       6
        GPIO/22        7       8       9
        GPIO/23     BACK       0   ENTER
        (Cols)
- UART: 1 x UART on PCB - 57600 8N1
- GPIO Relay: GPIO/42 active-high
- GPIO Buzzer: GPIO/15 active-high

Warning:
The original firmware does not use the device tree.
This device tree is written based on the content of /sys/devices/platform
and has been tested

Note:
- On the device, matrix keypad rows actually are columns, and the columns actually are rows
- The key code of the CLEAR key of the matrix keypad is BACK in the original firmware.

Issue:
- No drivers in mainline kernel for RFID and Bluetooth.

Flash Instruction:
Using SSH/Telnet:
1. Connect the board to the computer via RJ45 Ethernet
2. Login 10.10.10.1 with root password "szqdingnet123" (SSH Port 22, Telnet Port 9900)
3. Download openwrt firmware on the computer.
4. Setup a http server on computer. And use wget download openwrt firmware from computer
5. Use command "mtd -r write openwrt-ramips-mt76x8-qding_qc202-squashfs-sysupgrade.bin firmware"
   to flash

Using U-Boot WebUI:
1. Configure PC with a static IP address 10.10.10.2/24.
2. Open http://10.10.10.1
3. Use "mkqdimg -B qc202 -f openwrt-ramips-mt76x8-qding_qc202-squashfs-sysupgrade.bin" to
   make image.
4. Upload factory.bin via U-Boot WebUI.

Original Firmware Dump / More details:
https://blog.gov.cooking/archives/research-qianding-smart-locker-and-flash.html

Original U-Boot firmware image tools:
https://gitlab.com/CoiaPrant/mkqdimg

Signed-off-by: Coia Prant <coiaprant@gmail.com>
Tested-by: Coia Prant <coiaprant@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17471
(cherry picked from commit b2f814fed4)
Link: https://github.com/openwrt/openwrt/pull/20159
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-05 18:49:46 +02:00
..
apex treewide: package: update missed hashes after switch to ZSTD 2024-04-07 14:56:04 +02:00
arm-trusted-firmware-bcm63xx treewide: package: update missed hashes after switch to ZSTD 2024-04-07 14:56:04 +02:00
arm-trusted-firmware-mediatek mediatek: add ubootmod layout for cudy tr3000 v1 2025-07-06 17:17:39 +02:00
arm-trusted-firmware-mvebu arm-trusted-firmware-mvebu: refresh cryptopp hash 2024-04-29 13:02:23 +02:00
arm-trusted-firmware-rockchip treewide: update contact information 2024-09-11 00:37:34 +02:00
arm-trusted-firmware-stm32 arm-trusted-firmware-stm32: bump to v2.10.17 2025-06-16 15:35:49 +02:00
arm-trusted-firmware-sunxi arm-trusted-firmware-sunxi: Update to 2.10 2023-12-20 10:53:48 +08:00
arm-trusted-firmware-tools arm-trusted-firmware-tools: fix build on macOS/Darwin 2023-08-12 16:45:47 +02:00
at91bootstrap at91bootstrap: update PKG_MIRROR_HASH to zstd for v3 at91bootstrap 2024-04-07 17:10:30 +02:00
fconfig treewide: unify OpenWrt hosted source via @OPENWRT 2021-02-05 12:00:24 -10:00
grub2 grub2: add EFI support for loongarch64 2024-05-04 14:14:24 +08:00
imx-bootlets imx-bootlets: Mark as nonshared to build in step 1 2024-07-30 21:42:33 +02:00
kexec-tools kexec-tools: fix multiple compile errors 2024-06-08 14:08:38 +02:00
kobs-ng kobs-ng: Mark as nonshared to build in step 1 2024-07-30 21:42:33 +02:00
mt7623n-preloader mt7623n-preloader: remove mt7622-preloader 2021-02-28 04:12:23 +00:00
opensbi opensbi: bump to 1.4 2024-05-03 11:09:22 +02:00
optee-os-stm32 optee-os-stm32: add OP-TEE for stm32 boards 2024-11-28 18:48:24 +00:00
rkbin rkbin: add rk3588 support 2024-08-11 18:56:27 +02:00
tfa-layerscape tfa-layerscape: fix fiptool's build 2024-09-24 12:29:06 +02:00
uboot-armsr uboot-armsr: add support for QEMU armv7/armv8 2023-06-10 21:50:22 +02:00
uboot-at91 treewide: package: update missed hashes after switch to ZSTD 2024-04-07 14:56:04 +02:00
uboot-ath79 uboot-ath79: refresh patches 2024-10-19 17:56:46 +02:00
uboot-bcm53xx uboot-bcm53xx: bump to 2024.01 2024-01-20 19:38:20 +01:00
uboot-bcm4908 packages: refresh patches 2024-05-31 11:30:06 +02:00
uboot-bmips uboot-bmips: Add U-Boot for the BMIPS target 2024-05-01 21:30:32 +02:00
uboot-d1 uboot-d1: Adapt BUILD_DEVICES to renamed boards 2024-12-23 01:55:35 +01:00
uboot-envtools ramips: add support for Qding QC202 2025-10-05 18:49:46 +02:00
uboot-fritz4040 treewide: package: update missed hashes after switch to ZSTD 2024-04-07 14:56:04 +02:00
uboot-imx treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-kirkwood uboot-kirkwood: fix compilation with GCC14 2024-09-25 22:50:09 +02:00
uboot-lantiq uboot-laniq: fix compilation with GCC14 2024-09-08 11:49:20 +02:00
uboot-layerscape uboot-layerscape: bump to lf-6.6.23-2.0.0 2024-09-22 16:21:02 +02:00
uboot-mediatek uboot-mediatek: update Airoha EN8811H driver 2025-09-24 13:31:49 +02:00
uboot-mvebu uboot-mvebu: update to version 2024.10 2024-10-19 22:54:12 +02:00
uboot-mxs packages: refresh patches 2024-05-31 11:30:06 +02:00
uboot-omap treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-rockchip rockchip: Add support for Radxa ROCK 4SE 2025-09-04 23:55:53 +02:00
uboot-sifiveu packages: refresh patches 2024-05-31 11:30:06 +02:00
uboot-stm32 uboot-stm32: add U-Boot for stm32 boards 2024-11-28 18:48:26 +00:00
uboot-sunxi sunxi: add support for Lichee Pi Zero Dock (V3s) board 2024-05-04 00:41:02 +02:00
uboot-tegra uboot-tegra: Set UBOOT_USE_INTREE_DTC 2024-06-02 18:06:39 +02:00
uboot-zynq packages: refresh patches 2024-05-31 11:30:06 +02:00