-
Notifications
You must be signed in to change notification settings - Fork 14
X. McDebian Updates
#McDebian Updates must be applied in sequential order.
- The updated wireless driver makes McDebian compatible with the WRT1900ACS V2 and WRT1200 V2 router models.
- Kernel 4.7.5 update
- MWLWIFI driver version to 10.3.0.18-20160823-1
- Fixed config in /etc/fw_env.config for fw_printenv and fw_setenv
##Installation instructions for the WRT1900AC V1 from a live McDebian router:
- 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
- Make sure that running fw_printenv command completes without a CRC error before proceeding.
fw_printenv
- 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
- 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
- Remove older McDebian kernel version modules.
rm -rf /lib/modules/4.4.16
- 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
- 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
- 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
- Remove older McDebian kernel version modules.
rm -rf /lib/modules/4.4.16
- 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
- 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
- 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
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
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