Skip to content

2. Firmware Uploading

Chad McCue edited this page Dec 26, 2019 · 78 revisions

McDebian Firmware Index

  1. WRT1200AC V1\V2
    • McDebian-Buster-WRT1200AC-V1-FW_VER1_kernel_4.19.91.img
  2. WRT1900AC V1
    • McDebian-WRT1900AC-V1-FW_VER1_kernel_4_4_16.img
    • McDebian-Buster-WRT1900AC-V1-FW_VER1_kernel_4.19.91.img
  3. WRT1900AC V2 and WRT1900ACS V1\V2
    • McDebian-Buster-WRT1900AC-V2-FW_VER1_kernel_4.19.91.img
  4. WRT3200ACM V1
    • McDebian-Buster-WRT3200ACM-V1-FW_VER1_kernel_4.19.91.img
  5. WRT32X V1
    • McDebian-Buster-WRT32X-V1-FW_VER1_kernel_4.19.91.img

Firmware:

wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/firmwares/McDebian-WRT1900AC-V1-FW_VER1_kernel_4_4_16.img

wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/firmwares/McDebian-Buster-WRT1900AC-V1-FW_VER1_kernel_4.19.91.img

wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/firmwares/McDebian-Buster-WRT1900AC-V2-FW_VER1_kernel_4.19.91.img

wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/firmwares/McDebian-Buster-WRT1200AC-V1-FW_VER1_kernel_4.19.91.img

wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/firmwares/McDebian-Buster-WRT3200ACM-V1-FW_VER1_kernel_4.19.91.img

wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/firmwares/McDebian-Buster-WRT32X-V1-FW_VER1_kernel_4.19.91.img

Website access for firmware:

  • Username: "mcdebian"
  • Password: "mcdebian123"

Flashing the firmware


Flashing McDebian from Linksys, OpenWRT or DD-WRT firmware additional requirements

The WRT1900AC V1 was designed for a smaller Linux kernel size. You must first load McDebian 4.4.16 firmware and use the McDebian 4.4.16 rootfs. Once you have access to the WRT1900AC V1 via SSH you can follow the instructions for Flashing firmware from McDebian for the WRT1900AC V1 to upgrade to McDebian 4.19.91 firmware and rootfs.

Linksys / DD-WRT WebUI

  1. Make a McDebian USB root file system.
  2. Plug the USB Key into the WRT router.
  3. Use the routers WebUI to install the McDebian firmware.
  4. Reboot the router.

OpenWRT CLI

WinSCP, SCP or SFTP the McDebian firmware to the OpenWRT /tmp directory. Then run the below command to flash the McDebian firmware:

sysupgrade -n -v -F /tmp/mcdebian-firmware.img


USB to TTL Method

  1. Make a McDebian USB root file system.
  2. Plug the USB Key into the WRT router.

Required software:

  1. Tera Term
  2. Putty
  3. TFTP Server
  4. McDebian Firmware

Serial Settings:

Port:             COM port of the USB Serial cable (Ex: COM13)
Baud rate:        115200
Data:             8 bit
Parity:           none
Stop:             1 bit
Flow control:     none

Computer LAN Adapter Static IP Configuration:

IP Address:  192.168.1.2
Subnet Mask: 255.255.255.0
Gateway and DNS Servers are blank
Connect Ethernet cable to LAN port on WRT router

U-Boot Commands:

  1. setenv ipaddr 192.168.1.1

  2. setenv serverip 192.168.1.2

  3. WRT Model specific commands:


WRT1900AC V1

setenv pri_kern_size 0x500000

setenv alt_kern_size 0x500000

setenv firmware_name McDebian-Buster-WRT1900AC-V1-FW_VER1_kernel_4.19.91.img


WRT1900ACS V1\V2 and WRT1900AC V2

setenv firmwareName McDebian-Buster-WRT1900AC-V2-FW_VER1_kernel_4.19.91.img


WRT1200 V1\V2

setenv firmwareName McDebian-Buster-WRT1200AC-V1-FW_VER1_kernel_4.19.91.img


WRT3200ACM V1

setenv firmwareName McDebian-Buster-WRT3200ACM-V1-FW_VER1_kernel_4.19.91.img


WRT32X V1

setenv firmwareName McDebian-Buster-WRT32X-V1-FW_VER1_kernel_4.19.91.img


  1. saveenv

  2. run update_both_images

  3. reset
    (A second power cycle might be required due to udev interfaces detection)

Notes:

After the firmware upload expect the router to fail to boot until you have your USB Drive with the root file system connected.

During the firmware upload a "T" indicates a communication failure and a "#" indicates successful communications with the TFTP Server.

If the U-Boot command ping 192.168.1.2 reports "alive" then U-Boot can at least connect to the computer. If the U-Boot ping doesn't report alive then check if the computer's firewall is blocking communications.

Flashing firmware from McDebian

You can flash any compatible firmware directly to the primary and alternate firmware image MTD partitions.

cd /
wget <website url of the firmware you want to flash>

WRT1900AC V1 one time commands required for upgrade from McDebian 4.4.16

sed -i 's/^\/dev\/mtd1.*/\/dev\/mtd1       0x0        0x40000      0x20000/' /etc/fw_env.config

fw_setenv pri_kern_size 0x500000

fw_setenv alt_kern_size 0x500000

Erase the primary and alternate firmware MTD partition

WRT1900AC\S V1\V2, WRT1200AC V1\V2

flash_erase /dev/mtd4 0 0
flash_erase /dev/mtd5 0 0
flash_erase /dev/mtd6 0 0
flash_erase /dev/mtd7 0 0

WRT3200ACM V1, WRT32X V1

flash_erase /dev/mtd5 0 0
flash_erase /dev/mtd6 0 0
flash_erase /dev/mtd7 0 0
flash_erase /dev/mtd8 0 0

Flash the firmware to the primary and alternate MTD partitions

WRT1900AC\S V1\V2, WRT1200AC V1\V2

nandwrite -p /dev/mtd4 firmware-filename

nandwrite -p /dev/mtd6 firmware-filename

WRT3200ACM V1, WRT32X V1

nandwrite -p /dev/mtd5 firmware-filename

nandwrite -p /dev/mtd7 firmware-filename

Don't worry if you make a mistake. The router will continue to operate normally until you reboot it. Just don't reboot the router without fixing the mistake first.

If you have different firmwares loaded in the primary and secondary image locations you can manually switch between them. To force u-boot to boot the other firmware image turn the WRT on and off three times in a row. The trick is don't power off each time until the LAN LED turns on and starts blinking.

I've seen when flashing Linksys firmware from McDebian that a factory reset was required by holding the recessed reset button down for 30 seconds to bring the Linksys firmware back into operation.

WRT32X V1 Flash back to stock Linksys firmware

To put Linksys firmware back onto the WRT32X you first have to load OpenWRT and then use the OpenWRT GUI to load the Linksys firmware because the Linksys firmware is a standard OpenWRT upgrade package not a u-boot loadable binary image.