mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2025-12-10 08:44:39 +01:00
This pull request is based on - the discussions in https://forum.openwrt.org/t/adding-openwrt-support-for-linksys-mr6350 - https://github.com/openwrt/openwrt/pull/11405 which added support for similar devices. Device Specs: - IPQ4019 - Quad Core CPU - 256 MB RAM - 256 MB FLASH - 4 LAN ports, 1 WAN port - 2.4GHz (802.11n) and 5GHz (802.11c) wifi - 3 LEDs (Red, blue, green) which are routed to one indicator at the top of the case - 2 buttons (Reset, WPS) Disassembling the device: - There are 4 screws at the bottom of the device which must be removed - Two are under the fron rubber feets - Two are under the labels in the back (corner next to the rear rubber feets) Serial interface: - The serial interface is already populated on the device with a 6-pin header - Pin 1 is next to the heatsink - Pinout: 1: 3.3V, 2: TX, 3: RX, 4: unknown, 5: GND, 6: GND - Settings: 115200, 8N1 Migrating to OpenWrt requires multiple steps: - Load and boot the initramfs image - Adapt U-Boot settings to support bigger kernels - Flash the sysupgrade image Load and boot initramfs: - Connect serial interface - Set up a TFTP server on IP 192.168.1.254 - Copy openwrt-ipq40xx-generic-linksys_mr6350-initramfs-zImage.itb to TFTP server - Rename file to C0A80101.img - Boot up the device and stop in U-Boot - Run the following U-Boot commands after a link has been established: tftp bootm - Initramfs image is started now. Adapt U-Boot settings to support bigger kernels: - Run "fw_printenv" in the initramfs image after booting - There should be an entry kernsize=300000 which indicates the maximum size for the kernel is 3MB - Execute "fw_setenv kernsize 500000" to increase the max kernel size to 5MB - Check that the change are applied with "fw_printenv" Flash the sysupgrade image: - Default sysupgrade routine either with a initramfs image containing LuCI or via command line. Revert back to OEM firmware: - Only tested with FW_MR6350_1.1.3.210129_prod.img - Flash the OEM firmware via sysupgrade - Forced update is required Signed-off-by: Roland Reinl <reinlroland+github@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17977 Signed-off-by: Robert Marko <robimarko@gmail.com>
87 lines
2 KiB
Text
87 lines
2 KiB
Text
#
|
|
# Copyright (C) 2016 LEDE
|
|
#
|
|
|
|
[ -e /etc/config/ubootenv ] && exit 0
|
|
|
|
touch /etc/config/ubootenv
|
|
|
|
. /lib/uboot-envtools.sh
|
|
. /lib/functions.sh
|
|
|
|
board=$(board_name)
|
|
|
|
ubootenv_mtdinfo () {
|
|
UBOOTENV_PART=$(cat /proc/mtd | grep APPSBLENV)
|
|
mtd_dev=$(echo $UBOOTENV_PART | awk '{print $1}' | sed 's/:$//')
|
|
mtd_size=$(echo $UBOOTENV_PART | awk '{print "0x"$2}')
|
|
mtd_erase=$(echo $UBOOTENV_PART | awk '{print "0x"$3}')
|
|
nor_flash=$(find /sys/bus/spi/devices/*/mtd -name ${mtd_dev})
|
|
|
|
if [ -n "$nor_flash" ]; then
|
|
ubootenv_size=$mtd_size
|
|
else
|
|
# size is fixed to 0x40000 in u-boot
|
|
ubootenv_size=0x40000
|
|
fi
|
|
|
|
sectors=$(( $ubootenv_size / $mtd_erase ))
|
|
sectors=$(printf "0x%x" $sectors )
|
|
echo /dev/$mtd_dev 0x0 $ubootenv_size $mtd_erase $sectors
|
|
}
|
|
|
|
case "$board" in
|
|
alfa-network,ap120c-ac|\
|
|
devolo,magic-2-wifi-next|\
|
|
edgecore,ecw5211|\
|
|
glinet,gl-a1300 |\
|
|
glinet,gl-ap1300|\
|
|
glinet,gl-b1300|\
|
|
glinet,gl-b2200|\
|
|
luma,wrtq-329acn|\
|
|
netgear,wac510|\
|
|
openmesh,a42|\
|
|
openmesh,a62|\
|
|
pakedge,wr-1|\
|
|
plasmacloud,pa1200|\
|
|
plasmacloud,pa2200)
|
|
ubootenv_add_uci_config "/dev/mtd5" "0x0" "0x10000" "0x10000"
|
|
;;
|
|
aruba,ap-303)
|
|
ubootenv_add_uci_config "/dev/mtd13" "0x0" "0x10000" "0x10000"
|
|
;;
|
|
aruba,ap-365)
|
|
ubootenv_add_uci_config "/dev/mtd8" "0x0" "0x10000" "0x10000"
|
|
;;
|
|
buffalo,wtr-m2133hp|\
|
|
netgear,lbr20|\
|
|
netgear,rbr20|\
|
|
netgear,rbs20)
|
|
ubootenv_add_uci_config "/dev/mtd8" "0x0" "0x40000" "0x20000"
|
|
;;
|
|
linksys,ea6350v3)
|
|
ubootenv_add_uci_config "/dev/mtd7" "0x0" "0x20000" "0x20000"
|
|
;;
|
|
linksys,ea8300|\
|
|
linksys,mr6350|\
|
|
linksys,mr8300)
|
|
ubootenv_add_uci_config "/dev/mtd7" "0x0" "0x40000" "0x20000"
|
|
;;
|
|
linksys,whw01)
|
|
ubootenv_add_uci_config "/dev/mtd6" "0x0" "0x40000" "0x10000"
|
|
;;
|
|
linksys,whw03)
|
|
ubootenv_add_uci_config "/dev/mmcblk0p11" "0x0" "0x100000"
|
|
;;
|
|
linksys,whw03v2)
|
|
ubootenv_add_uci_config "/dev/mtd6" "0x0" "0x80000" "0x20000"
|
|
;;
|
|
zyxel,nbg6617)
|
|
ubootenv_add_uci_config "/dev/mtd6" "0x0" "0x10000" "0x10000"
|
|
;;
|
|
esac
|
|
|
|
config_load ubootenv
|
|
config_foreach ubootenv_add_app_config ubootenv
|
|
|
|
exit 0
|