Skip to content

X. McDebian Updates

Chad McCue edited this page Feb 25, 2017 · 52 revisions

#McDebian Updates must be applied in sequential order.


Update 4.7.5

Fixes:

  1. The updated wireless driver makes McDebian compatible with the WRT1900ACS V2 and WRT1200 V2 router models.

Additions:

Updates:

  1. Kernel 4.7.5 update
  2. MWLWIFI driver version to 10.3.0.18-20160823-1
  3. Fixed config in /etc/fw_env.config for fw_printenv and fw_setenv

Update instructions:


The router must be running McDebian V4.4.16 in order to apply the V4.7.5 update.

wget Notes

##Installation instructions for the WRT1900AC V1 from a live McDebian router:

  1. Download Kernel 4.7.5 McDebian firmware and it's corresponding rootfs modules.
cd /
wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/firmwares/McDebian-WRT1900AC-V1-FW_VER1_kernel_4_7_5.img
wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/rootfs-updates/mcdebian-rootfs-update-v4_7_5.gz
tar zxf mcdebian-rootfs-update-v4_7_5.gz
  1. Make sure that running fw_printenv command completes without a CRC error before proceeding.

fw_printenv

  1. Set the WRT1900AC V1 u-boot kernel envars so u-boot can properly calculate the larger kernels CRC value to avoid a CRC boot error.
fw_setenv pri_kern_size 0x405000
fw_setenv alt_kern_size 0x405000
  1. Erase and write the McDebian Kernel 4.7.5 firmware to both primary and secondary image locations in nand flash.
flash_erase /dev/mtd4 0 0
flash_erase /dev/mtd6 0 0
nandwrite -p /dev/mtd4 McDebian-WRT1900AC-V1-FW_VER1_kernel_4_7_5.img
nandwrite -p /dev/mtd6 McDebian-WRT1900AC-V1-FW_VER1_kernel_4_7_5.img
  1. Remove older McDebian kernel version modules.

rm -rf /lib/modules/4.4.16

  1. The new mwlwifi driver for the 5Ghz no longer supports setting "[MAX-MPDU-7991]" so it must be removed if used.

sed -i s/"\[MAX-MPDU-7991\]"//g /etc/hostapd/wlan0.conf


Installation instructions for WRT1900AC V2, WRT1900ACS and WRT1200AC from a live McDebian router.

  1. Download Kernel 4.7.5 McDebian firmware and it's corresponding rootfs modules.

cd /

###WRT1900AC V2 and WRT1900ACS V1\V2 Firmware:

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

###WRT1200AC V1\V2 Firmware:

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

###McDebian Root File System Update:

wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/rootfs-updates/mcdebian-rootfs-update-v4_7_5.gz
tar zxf mcdebian-rootfs-update-v4_7_5.gz
  1. Erase and write the McDebian Kernel 4.7.5 firmware to both primary and secondary image locations in nand flash.
flash_erase /dev/mtd4 0 0
flash_erase /dev/mtd6 0 0
nandwrite -p /dev/mtd4 McDebian-WRT1x00AC-Vx-FW_VER1_kernel_4_7_5.img
nandwrite -p /dev/mtd6 McDebian-WRT1x00AC-Vx-FW_VER1_kernel_4_7_5.img
  1. Remove older McDebian kernel version modules.

rm -rf /lib/modules/4.4.16

  1. The new mwlwifi driver for the 5Ghz no longer supports setting "[MAX-MPDU-7991]" so it must be removed if used.

sed -i s/"\[MAX-MPDU-7991\]"//g /etc/hostapd/wlan0.conf

  1. In Kernel 4.7.5 the Ethernet interfaces are not reversed like they were in previous Kernel releases but the wlan interfaces still are. Change the McDebian udev script to map the Ethernet interfaces correctly.
sed -i s/ifindex_eth0=2/ifindex_eth0=3/g /etc/systemd/udev-network-interface-rules
sed -i s/ifindex_eth1=3/ifindex_eth1=2/g /etc/systemd/udev-network-interface-rules
  1. I've discovered that models WRT1900ACS, WRT1900AC V2 and WRT1200AC have a different mtd mapping for u-boot envars. I'm not sure why but the below change make fw_printenv and fw_setenv work.

Exchanging values 0x20000 and 0x40000 in file /etc/fw_env.config solves the issue for whatever reason 😄

/dev/mtd1 0x0 0x20000 0x40000


Notes:

Increasing the u-boot kernel size envars is only required for the WRT1900AC V1. The rest of the WRT router models u-boot kernel size envars are large enough.


Notes on creating a clean rootfs USB Drive for a router that already has McDebian 4.7.5 firmware loaded

mkfs.ext4 /dev/sdb1
mount /dev/sdb1 /mnt/usbkey

cd /root/McDebian/McDebian-rootfs-baselines

wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/rootfs/mcdebian-router-WRT-1900-1200-Kernel_4_4_16-base.gz
tar zxf /root/McDebian/McDebian-rootfs-baselines/mcdebian-router-WRT-1900-1200-Kernel_4_4_16-base.gz -C /mnt/usbkey

wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/rootfs-updates/mcdebian-rootfs-update-v4_7_5.gz
tar zxf /root/McDebian/McDebian-rootfs-baselines/mcdebian-rootfs-update-v4_7_5.gz -C /mnt/usbkey

rm -rf /mnt/usbkey/lib/modules/4.4.16

sed -i s/"\[MAX-MPDU-7991\]"//g /mnt/usbkey/etc/hostapd/wlan0.conf
 
sed -i s/ifindex_eth0=2/ifindex_eth0=3/g /mnt/usbkey/etc/systemd/udev-network-interface-rules
sed -i s/ifindex_eth1=3/ifindex_eth1=2/g /mnt/usbkey/etc/systemd/udev-network-interface-rules

Update 4.8.15

Fixes:

Additions:

Updates:

  1. Linux 4.8.15 update
  2. MWLWIFI driver version to 10.3.2.0-20161124
  3. WRT3200ACM V1 support added

##Installation instructions for the WRT1900AC V1 from a live McDebian router:

  1. Download Kernel 4.8.15 McDebian firmware and it's corresponding rootfs modules.
cd /
wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/firmwares/McDebian-WRT1900AC-V1-FW_VER1_kernel_4_8_15.img
wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/rootfs-updates/mcdebian-rootfs-update-v4_8_15.gz
tar zxf mcdebian-rootfs-update-v4_8_15.gz
  1. Erase and write the McDebian Kernel 4.8.15 firmware to both primary and secondary image locations in nand flash.
flash_erase /dev/mtd4 0 0
flash_erase /dev/mtd6 0 0
nandwrite -p /dev/mtd4 McDebian-WRT1900AC-V1-FW_VER1_kernel_4_8_15.img
nandwrite -p /dev/mtd6 McDebian-WRT1900AC-V1-FW_VER1_kernel_4_8_15.img
  1. Remove older McDebian kernel version modules.

rm -rf /lib/modules/4.7.5


Installation instructions for WRT1900AC V2, WRT1900ACS and WRT1200AC from a live McDebian router.

  1. Download Kernel 4.8.15 McDebian firmware and it's corresponding rootfs modules.

cd /

###WRT1900AC V2 and WRT1900ACS V1\V2 Firmware:

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

###WRT1200AC V1\V2 Firmware:

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

###McDebian Root File System Update:

wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/rootfs-updates/mcdebian-rootfs-update-v4_8_15.gz
tar zxf mcdebian-rootfs-update-v4_8_15.gz
  1. Erase and write the McDebian Kernel 4.8.15 firmware to both primary and secondary image locations in nand flash.
flash_erase /dev/mtd4 0 0
flash_erase /dev/mtd6 0 0
nandwrite -p /dev/mtd4 McDebian-WRT1x00AC-Vx-FW_VER1_kernel_4_8_15.img
nandwrite -p /dev/mtd6 McDebian-WRT1x00AC-Vx-FW_VER1_kernel_4_8_15.img
  1. Remove older McDebian kernel version modules.

rm -rf /lib/modules/4.7.5


Update 4.8.15-VER3

Fixes:

  1. Hostapd would fail to start with new mwlwifi driver in McDebian 4.7.5\4.8.15 on routers that don't get the power table update from the dts file. This was due to the country code "EU" being hardcoded in mwlwifi and it not being a valid entry in the CRDA database. I've added "EU" to the CRDA database to resolve this issue.

Additions:

New Kernel Modules and Firmware:

CONFIG_USB_SERIAL
CONFIG_USB_SERIAL_GENERIC
CONFIG_USB_SERIAL_OPTION
CONFIG_USB_NET_RNDIS_HOST
CONFIG_USB_NET_CDCETHER
CONFIG_USB_USBNET
CONFIG_BONDING
MWIFIEX
MWIFIEX_SDIO

Updates:

  1. WRT3200ACM V1 support for the third radio MWIFIEX which is interface mlan0. You will need to add this to /etc/network/interfaces, /etc/default/hostapd and create /etc/hostapd/mlan0.conf file to put this radio into operation.
  2. Updated /etc/systemd/udev-network-interface-rules to work with WRT3200ACM's additional wireless interface.

Installation instructions for WRT1900AC, WRT1900ACS and WRT1200AC from a live McDebian router.

  1. Download Kernel 4.8.15-VER3 McDebian firmware and it's corresponding rootfs modules.

cd /

###WRT1900AC V1 Firmware:

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

###WRT1900AC V2 and WRT1900ACS V1\V2 Firmware:

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

###WRT1200AC V1\V2 Firmware:

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

###McDebian Root File System Update:

wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/rootfs-updates/mcdebian-rootfs-update-v4_8_15-VER3.gz
tar zxf mcdebian-rootfs-update-v4_8_15-VER3.gz
  1. Erase and write the McDebian Kernel 4.8.15-VER3 firmware to both primary and secondary image locations in nand flash.
flash_erase /dev/mtd4 0 0
flash_erase /dev/mtd6 0 0
nandwrite -p /dev/mtd4 McDebian-WRTxx00ACx-Vx-FW_VER3_kernel_4_8_15.img
nandwrite -p /dev/mtd6 McDebian-WRTxx00ACx-Vx-FW_VER3_kernel_4_8_15.img

Installation instructions for WRT3200ACM V1 from a live McDebian router.

  1. Download Kernel 4.8.15-VER3 McDebian firmware and it's corresponding rootfs modules.

cd /

###WRT3200AC V1 Firmware:

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

###McDebian Root File System Update:

wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/rootfs-updates/mcdebian-rootfs-update-v4_8_15-VER3.gz
tar zxf mcdebian-rootfs-update-v4_8_15-VER3.gz
  1. Erase and write the McDebian Kernel 4.8.15-VER3 firmware to both primary and secondary image locations in nand flash.
flash_erase /dev/mtd5 0 0
flash_erase /dev/mtd7 0 0
nandwrite -p /dev/mtd5 McDebian-WRT3200ACM-V1-FW_VER3_kernel_4_8_15.img
nandwrite -p /dev/mtd7 McDebian-WRT3200ACM-V1-FW_VER3_kernel_4_8_15.img

Update 4.9.12

Fixes:

  1. EU country code no longer required for mwlwifi in the driver version.

Additions:

Updates:

  1. Linux 4.9.12 updates
  2. MWLWIFI driver version to 10.3.2.0-20170110
  3. Changes to udev-network-interface-rules to better handle the WRT3200ACM third dual band radio

Installation instructions for WRT1900AC, WRT1900ACS and WRT1200AC from a live McDebian router.

  1. Download Kernel 4.9.12 McDebian firmware and it's corresponding rootfs modules.

cd /

###WRT1900AC V1 Firmware:

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

###WRT1900AC V2 and WRT1900ACS V1\V2 Firmware:

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

###WRT1200AC V1\V2 Firmware:

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

###McDebian Root File System Update:

wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/rootfs-updates/mcdebian-rootfs-update-v4.9.12-VER1.gz
tar zxf mcdebian-rootfs-update-v4.9.12-VER1.gz
  1. Erase and write the McDebian Kernel 4.9.12 firmware to both primary and secondary image locations in nand flash.
flash_erase /dev/mtd4 0 0
flash_erase /dev/mtd6 0 0
nandwrite -p /dev/mtd4 McDebian-WRTxx00ACx-Vx-FW_VER1_kernel_4.9.12.img
nandwrite -p /dev/mtd6 McDebian-WRTxx00ACx-Vx-FW_VE13_kernel_4.9.12.img

Installation instructions for WRT3200ACM V1 from a live McDebian router.

  1. Download Kernel 4.9.12 McDebian firmware and it's corresponding rootfs modules.

cd /

###WRT3200AC V1 Firmware:

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

###McDebian Root File System Update:

wget --user=mcdebian --password=mcdebian123 http://www.protechs-online.com/downloads/McDebian/rootfs-updates/mcdebian-rootfs-update-v4_9_12-VER1.gz
tar zxf mcdebian-rootfs-update-v4_9_12-VER1.gz
  1. Erase and write the McDebian Kernel 4.9.12 firmware to both primary and secondary image locations in nand flash.
flash_erase /dev/mtd5 0 0
flash_erase /dev/mtd7 0 0
nandwrite -p /dev/mtd5 McDebian-WRT3200ACM-V1-FW_VER1_kernel_4.9.12.img
nandwrite -p /dev/mtd7 McDebian-WRT3200ACM-V1-FW_VER1_kernel_4.9.12.img

wget Notes:

If you see this wget error:

wget: error while loading shared libraries: /usr/lib/arm-linux-gnueabihf/libicudata.so.52: Unable to run arch-specific checks

Run this command to resolve it:

apt-get install --reinstall libicu52