Skip to content

Instantly share code, notes, and snippets.

@Tahutipai
Last active January 4, 2026 22:00
Show Gist options
  • Select an option

  • Save Tahutipai/d21090f4309f58bdc93f0779646a20e4 to your computer and use it in GitHub Desktop.

Select an option

Save Tahutipai/d21090f4309f58bdc93f0779646a20e4 to your computer and use it in GitHub Desktop.
Creates patched OpenWrt firmware for TP-Link EAP610-Outdoor v1.2 (adds TS1 suffix + hwver 2)
#!/bin/bash
# Creates patched OpenWrt firmware for TP-Link EAP610-Outdoor v1.2
# Author: [email protected] script ver 1.0
# Fixes two issues that prevent stock OpenWrt from flashing:
# 1. Adds |TS1 suffix to support-list (required by TSLS=TS1 devices)
# 2. Sets AddiHardwareVer=2 (required by hardware revision 2 devices)
set -e
command -v curl &>/dev/null || { echo "Please install curl first"; exit 1; }
command -v python3 &>/dev/null || { echo "Please install python3 first"; exit 1; }
PATCH="tplink-mkimage-2026.py"
MKIMAGE_URL="https://gist.githubusercontent.com/Tahutipai/b4ebb4fcb4e04134d8999678e616f084/raw/$PATCH"
OPENWRT_URL="https://downloads.openwrt.org/snapshots/targets/qualcommax/ipq60xx/openwrt-qualcommax-ipq60xx-tplink_eap610-outdoor-squashfs-factory.ubi"
echo "Downloading $PATCH..."
[ -f "$PATCH" ] && echo " already on disk" || curl -sLO "$MKIMAGE_URL"
echo "Downloading OpenWrt factory.ubi (~13MB)..."
[ -f factory.ubi ] && echo " already on disk" || curl -L --progress-bar -o factory.ubi "$OPENWRT_URL"
SUPPORT="SupportList:"
for region in UN US EU AU CA JP KR EG; do SUPPORT+=" EAP610-Outdoor(TP-Link|${region}|AX1800-D|TS1):1.0"; done
echo "Creating patched firmware..."
python3 "$PATCH" --create patchedfirmware.bin --rootfs factory.ubi --support "$SUPPORT" --hwver 2
echo "Finished! You can now flash your EAP610-Outdoor v1.2 with: patchedfirmware.bin"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment