Skip to content

Merlin(A)uto(U)pdate is a Merlin router script which allows you to remotely identify a stable firmware update for an ASUS Merlin router, and automatically download and update via an unattended method directly from the router.

License

Notifications You must be signed in to change notification settings

ExtremeFiretop/MerlinAutoUpdate-Router

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MerlinAU - AsusWRT-Merlin Firmware Auto Updater

v1.3.4

2024-10-23

image image image image

SUPPORTED MERLIN MODELS (Multi-image models) - i.e. Any model that uses a .w or a .pkgtb file

  • GT-BE98_PRO (Tested)
  • GT-AX6000 (Tested)
  • GT-AXE16000 (Tested)
  • GT-AXE11000 (Tested)
  • GT-AX11000_PRO (Tested)
  • GT-AX11000 (Tested)
  • GT-AC2900 (Untested)
  • RT-BE96U (Untested)
  • RT-BE88U (Untested)
  • RT-BE86U (Untested)
  • RT-AX88U_PRO (Tested)
  • RT-AX88U (Tested)
  • RT-AC86U (Tested)
  • RT-AC2900 (Tested)
  • RT-AX86U (Tested)
  • RT-AX86U_PRO (Tested)
  • RT-AX86S (Tested)
  • RT-AX68U (Tested)
  • RT-AX58U V1 (Tested)
  • RT-AX56U (Tested)
  • RT-AX3000 V1 (Tested)
  • XT12 (Tested)

SUPPORTED GNUTON MODELS (Multi-image models) - i.e. Any model that uses a .w or a .pkgtb file

  • GT-BE98 Known issues due to missing from manifest2.txt file in Gnuton
  • DSL-AX82U (Untested)
  • TUF-AX3000 V1 (Untested)
  • TUF-AX3000 V2 (Tested)
  • TUF-AX5400 (Tested)
  • RT-AX5400 (Untested)
  • RT-AX82U V1 (Tested)
  • RT-AX82U V2 (Untested)
  • RT-AX58U V2 (Untested)
  • RT-AX92U (Tested)
  • RT-AX95Q (Untested)
  • RT-AXE95Q (Untested)

UNSUPPORTED MERLIN MODELS: (Single image models) - i.e. Any model that uses a .trx file

Blocked due to being single image models.

  • RT-AC87U (Blocked)
  • RT-AC56U (Blocked)
  • RT-AC66U (Blocked)
  • RT-AC3200 (Blocked)
  • RT-AC88U (Blocked)
  • RT-AC5300 (Blocked)
  • RT-AC3100 (Blocked)
  • RT-AC68U (Blocked)
  • RT-AC66U_B1 (Blocked)
  • RT-AC68UF (Blocked)
  • RT-AC68P (Blocked)
  • RT-AC1900 (Blocked)
  • RT-AC1900P (Blocked)
  • RT-N66U (Blocked)
  • RT-N16 (Blocked)

UNSUPPORTED GNUTON MODELS: (Single image models) - i.e. Any model that uses a .trx file

Blocked due to being single image models.

  • DSL-AC68U (Blocked)

Merlin(A)uto(U)pdate

MerlinAU.sh is a versatile shell script designed to automate the firmware update process for ASUS routers running Asuswrt-Merlin firmware. It streamlines the firmware update procedure, automatically detects your router model, fetches the latest firmware, and offers options for installation.

NOTE: It is highly recommended to configure backups using BACKUPMON

Features

  • Automatic router model detection and Automatic update detection.
  • Automatically install updates to your router with the latest firmware from the Asuswrt-Merlin repository.
  • Logic to customize scheduled cron jobs for automated firmware update checks.
  • Notifications for new script updates and download the latest version of MerlinAU
  • User configurable wait periods. Wait for a set duration after a new firmware release.
  • Menu switch to enable or disable automatic update checking within MerlinAU.
  • A routine to cleanly uninstall the script, removing all related files and settings.
  • Maintains logs for its update checks and flash operations which can be viewed from the logs menu
  • Includes functions for cleanup tasks pre-flash and post-flash.
  • A visual indicator before starting the firmware update.
  • Checks the changelogs for very obvious red flags and prompts for approval.
  • Menu option and notifications to pre-approve the changelog verification if enabled with risks before the flash.
  • Ability to download the latest changelog notes for manual review from the logs menu.
  • Functions to check and manage available memory for firmware update operations.
  • Compatible with ROG and non-ROG routers; select ROG or Pure Build for ROG routers.
  • Backup the new firmware version to the USB drive. (If USB is selected for storage)
  • Email notifications if you configured email options in AMTM. (With format selection in the advanced options)
  • Automatic backup with BACKUPMON if installed.
  • Allow or Block Alpha/Beta upgrades to Production versions of the same cycle. (388.6.alpha1 or 388.6.beta1 --> 388.6.0)
  • Automatically stops all Entware services, if installed, before the flash.
  • Automatically stops diversion, if installed, before the flash.
  • Unmounts any physically attached storage via USB as the last step before the flash.
  • AiMesh Node Update Check from Primary Router. (No Flashing from Primary, MerlinAU needs to be on each node for flashing)
  • Automatically remove any loaded cron jobs from third party scripts before flashing.
  • Menu switch to keep Tailscale or ZeroTier VPN access active while flashing over SSH in the advanced menu.

Installation

Before using MerlinAU, ensure the following prerequisites are met:

An ASUS router running Asuswrt-Merlin firmware. Access to the router's command line interface (SSH or Telnet). A working internet connection on the router.

To install MerlinAutoUpdate, follow these steps:

Enable SSH on your router if not already enabled. Use your preferred SSH client to connect to the router.

Download the script to your router: Copy and paste:

curl --retry 3 "https://raw.githubusercontent.com/ExtremeFiretop/MerlinAutoUpdate-Router/master/MerlinAU.sh" -o "/jffs/scripts/MerlinAU.sh" && chmod +x "/jffs/scripts/MerlinAU.sh"
  • The script is now ready for use!

Usage

The script can be run using the below options:

  • To update the firmware: (Run from Root of SSH location)
    /./jffs/scripts/MerlinAU.sh
    
  • Check desired cru (cron) schedule has been created:
    cru l
    
  • Result should look something like:
    0 0 * * 0 sh /jffs/scripts/MerlinAU.sh run_now
    
  • (Cron calculator here: https://crontab.guru/)

Contribution

  • Before any contributions, please review: CONTRIBUTING.md Guidelines.
  • Also please review the: CODE_OF_CONDUCT.md.
  • Feel free to contribute to this script by submitting issues or pull requests on GitHub. Your feedback and contributions are greatly appreciated!

Use this Automatic F/W Update script at your own discretion. By using this script you assume all risks associated with updating a router to a new firmware version.

About

Merlin(A)uto(U)pdate is a Merlin router script which allows you to remotely identify a stable firmware update for an ASUS Merlin router, and automatically download and update via an unattended method directly from the router.

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages