aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/base-files/lib/upgrade
Commit message (Collapse)AuthorAgeFilesLines
* lantiq: split base-files into subtargetsAdrian Schmutzler2020-01-141-27/+0
| | | | | | | | | | | | | | | | | | This splits the device-dependent base-files into subtarget directories, like done recently for ath79 and ramips. While this increases the overall lines of codes, it will make the code per subtarget smaller and easier to keep track of features and devices. While at it, several variables at the top of 02_network are removed, as they were never changed. The values are put directly into the function calls where they are used. Remove unneeded LED setup from 01_leds, and remove 01_leds entirely for falcon subtarget (as it is not used there). Applies alphabetic reordering to device cases in base-files. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: sysupgrade: don't use $ARGV in platform_do_upgrade()Rafał Miłecki2019-07-171-1/+1
| | | | | | | stage2 passes image path to platform_do_upgrade() as an argument so it can be simply accessed using $1 Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* lantiq: add support for AVM FRITZ!Box 7362 SLDanijel Tudek2019-03-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware: - SoC: Lantiq VRX288 - RAM: Winbond W971GG6JB 1 Gb (128 MiB) - Flash: - SPI: 8 Mb (1 MiB) for bootloader and tffs - NAND: 1 Gb (128 MiB) for OS - xDSL: Lantiq VRX208 - WLAN: Atheros AR9381 - DECT: Dialog Semiconductors SC14441 Everything except FXS/DECT works (no drivers for AVM's FXS implementation with SC14441). Installation via FTP: 1. Use scripts/flashing/eva_ramboot.py to send initramfs-kernel.bin to the device when powering on. Standard AVM procedures with finding the correct IP address and the right moment to open FTP apply here (approx. 4 seconds on 7362SL). IMPORTANT: set lzma compression in ramdisk options, bootloader stalls when receiving uncompressed images. 2. Transfer sysupgrade.bin image with scp to /tmp directory and run sysupgrade 3. First boot might take a bit longer if linux_fs_start was set to 1, in that case the device will reboot twice, first time it will fail to load second kernel (overwritten by ubifs), set linux_fs_start to 0 and reboot. OpenWrt uses the entire NAND flash. Kernel uses 4 MiB and rootfs uses the rest of 124 MiB, overwriting everything related to FRITZ!OS - both OS images, config and answering machine/media server data. To return to FRITZ!OS, use AVM's recovery image. Signed-off-by: Danijel Tudek <danijel.tudek@gmail.com>
* lantiq: add support for AVM FRITZ!Box 7412Andy Binder2019-03-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware: SoC: Lantiq VRX 220 CPU Cores: 2x MIPS 34Kc at 500 MHz RAM: 128 MiB 250 MHz Storage: 128 MiB NAND flash Ethernet: built-in Fast Ethernet switch, only port 2 is used Wireless: Atheros AR9287-BL1A b/g/n with 2 pcb antennas Modem: built-in A/VDSL2 modem DECT: Dialog SC14441 LEDs: 1 two-color, 4 one-color Buttons: 2 FXS: 1 port via TAE or RJ12 connector Everything except FXS/DECT works (no drivers for AVM's FXS implementation with SC14441). Installation: Use the eva_ramboot.py script to load an initramfs image on the device. Run it a few seconds after turning the device on. $ scripts/flashing eva_ramboot 192.168.178.1 bin/targets/lantiq/xrx200/openwrt-lantiq-xrx200-avm_fritz7412-initramfs-kernel.bin If it fails to find the device try the ip address 169.254.120.1. (Firmware updates or the recovery tool apparently change it.) IMPORTANT: set lzma compression in ramdisk options, bootloader stalls when receiving uncompressed images. The device will load it in ram and boot it. You can reach it under the openwrt default ip address 192.168.1.1. Check if the key linux_fs_start is not set to 1 in tffs: $ fritz_tffs_nand -d /dev/mtd1 -n linux_fs_start If it is set to 1, the bootloader will select the wrong set of partitions. Restart the box and install an FritzOS upgrade or do a recovery. Afterwards start again at step 1. Run sysupgrade to persistently install OpenWRT. Signed-off-by: Valentin Spreckels <Valentin.Spreckels@Informatik.Uni-Oldenburg.de> Signed-off-by: Andy Binder <AndyBinder@gmx.de>
* lantiq: complete AVM FRITZ!Box 3370 supportMathias Kresin2018-05-171-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename the image and use a compatible string which indicates that only hardware revision 2 and higher is supported. It allows to use the wireless LED, as HWRev 1 uses GPIO#39 for the wireless LED and starting with HWRev 2 GPIO#35 is used for the wireless LED and GPIO#39 for IFX_GPIO_MODULE_EXTPHY_MDIO. The HWREV can be checked by connecting to the fritzbox right after power on via ftp: ftp> quote GETENV HWSubRevision Within the same HW revision 5 of the Fritz!Box 3370 different NAND flash chips are used. Usually it isn't a big deal but depending on the used NAND flash chip, the ECC calculation is done different (and incompatible of course). Boards with a Micron MT29F1G08ABADA NAND flash chip are using the NAND chip to calculate the ECC (on-die). Boards with a Hynix HY27UF081G2M NAND flash chip are doing the ECC calculation in software. Supporting both with a single DTS isn't possible. It might be possible to add a patch selecting the ECC mode dynamicaly based on the found NAND flash chip. But such a patch has no chance to get accepted upstream and most likely need to be touched with every kernel update. Instead two images are created. One for Micron NAND flash chip and one for Hynix NAND flash chip. So far no pattern is known to identify the used flash chip without opening the box. Add the power off GPIO. At least EVA version 2186 sets/keeps the GPIO as input, which will cause a reboot 30sec after power on. For boards with EVA version 2186 the installation is tricky as it has to be finished within the 30sec time frame. The EVA version can be checked by connecting to the fritzbox right after power on via ftp: ftp> quote GETENV urlader-version The ath9k eeprom/caldata is at a different and offset and stored in reverse order (from the last byte to the beginning) on the flash. Reverse the bits to bring the data into the format expected by the ath9k driver. Since the ath9k eeprom is stored in reverse order on flash, we can not use the mac address from the on flash eeprom. Get the MAC address from the tffs instead. Within the same HW revision 5 of the Fritz!Box 3370 both version of the vr9 SoC are used. During preparation of kernel 4.14 support, all devicetree source files were changed to load the vr9 v1.1 and vr9 v1.2 gphy firmware, which fixed the embedded phys for boards using the version 1.2 of the vr9 SoC. While at it, add a trigger to make use of the LAN LED. Setup the build-in switch and add a hint for LuCI two show the ports in order matching the labels on the case Add support for the second USB port and provide the volatage GPIOs. Use GPIO#21 as PCIe reset pin. The lan led is connected to GPIO#38. Name the rootfs partition ubi and remove the mtd/rootfs related kernel bootargs to use the OpenWrt autoprobing based on the partition name. Enable sysupgrade support to allow an upgrade from a running system. Since sysupgrade wasn't supported till now, drop image build code which was added to allow a sysupgrade from earlier OpenWrt versions. Build images that allow an (initial) installation via EVA bootloader. To install OpenWrt via Eva bootloader, within the first seconds after power on a ftp connection need to be established to the FRITZ!Box at 192.168.178.1 and the the following ftp commands need to be run: ftp> quote USER adam2 ftp> quote PASS adam2 ftp> binary ftp> debug ftp> passive ftp> quote SETENV linux_fs_start 0 ftp> quote MEDIA FLSH ftp> put /path/to/openwrt-lantiq-xrx200-FRITZ3370-eva-kernel.bin mtd1 ftp> put /path/to/openwrt-lantiq-xrx200-FRITZ3370-eva-filesystem.bin mtd0 Signed-off-by: Andrea Merello <andrea.merello@gmail.com> Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: move nand_do_upgrade call to platform_do_upgradeMathias Kresin2018-02-161-3/+4
| | | | | | | | | | Calling nand_do_upgrade() from platform_pre_upgrade() was deprecated with 30f61a34b4cf ("base-files: always use staged sysupgrade"). Update the platform upgrade code to use platform_do_upgrade() for NAND images as well. Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: remove obsolete sysupgrade watchdog killMathias Kresin2018-02-161-9/+0
| | | | | | | | | The watchdog kill command was meant for busybox watchdog. Busybox watchdog was replaced by the procd watchdog mid 2013 with commit df7ce9301a25 ("busybox: disable the watchdog utility by default"), which makes the kill command obsolete since quite some time. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: use the compatible string as board nameMathias Kresin2017-12-161-1/+1
| | | | | | | | | | | Use the first compatible string as board name in userspace. Add the new board name as well as the former used board name to the image metadata to keep compatibilty with already deployed installations. Don't add the former used boardname for boards which exists only in master or evaluation boards. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: remove lantiq_board_name, use the generic function insteadFelix Fietkau2017-03-221-3/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: remove device specific sysupgrade image checksFelix Fietkau2016-11-201-22/+1
| | | | | | Replaced by image metadata Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: append metadata to imagesFelix Fietkau2016-11-191-0/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: add AVM image mageic to sysupgrade scriptJohn Crispin2016-06-131-0/+2
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* lantiq: update list on NAND devices in platform_pre_upgradeRafał Miłecki2015-09-151-1/+1
| | | | | | | | Meanwhile BTHOMEHUBV5A board was added. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> SVN-Revision: 46941
* lantiq: add platform_pre_upgrade for sysupgradeJohn Crispin2015-09-151-0/+10
| | | | | | | | | | | | | | | | | | | | As explained in recent sysupgrade/nand.sh commits, current NAND sysupgrade is a bit misleading because of nand_do_platform_check behavior. It leaves a special mark in /tmp/sysupgrade-nand-path triggering some diffent code path in nand_upgrade_stage1. The plan is to have the check function only check the image and nothing else. Then platform code (platform_pre_upgrade) should trigger NAND specific upgrade path. This is what this patch implements. Please note that because of current nand_upgrade_stage1 implementation this patch doesn't change any behaior yet. It only prepares lantiq target for changing nand_do_platform_check (it will be possible after preparing all other targets as well). Signed-off-by: Rafał Miłecki <zajec5@gmail.com> SVN-Revision: 46939
* lantiq: Add support for the BT Home Hub 5AJohn Crispin2015-07-071-1/+1
| | | | | | | | | | | | | | | u-boot support depends on the next "upstream" version ([0]) from Daniel Schwierzeck. Since the installation process is quite complicated a "how to" was added to the wiki: [1] [0] https://github.com/danielschwierzeck/u-boot-lantiq/tree/openwrt/v2014.01-next [1] http://wiki.openwrt.org/toh/bt/homehub_v5a V2: Use the correct PCI interrupt (fixes 2.4GHz wifi) Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> SVN-Revision: 46223
* Add profile and userspace for P2812HNUF1/3, switch from UBI_GLUEBI to UBI_BLOCKJohn Crispin2015-01-171-1/+1
| | | | | | | | Add profile and userspace for P2812HNUF1/3, switch from UBI_GLUEBI to UBI_BLOCK Signed-off-by: Sylwester Petela <sscapi@gmail.com> SVN-Revision: 43987
* lantiq: BT Home Hub 3A - userspaceJohn Crispin2015-01-081-1/+1
| | | | | | | | BT Home Hub 3A - userspace Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com> SVN-Revision: 43879
* lantiq: enable SysupgradeNAND for BTHOMEHUBV2BJohn Crispin2014-07-101-0/+10
| | | | | | | | | | | | | | | | | Enables SysupgradeNAND for BTHOMEHUBV2B. Depends on the following patches: http://patchwork.openwrt.org/patch/5817/ http://patchwork.openwrt.org/patch/5848/ http://patchwork.openwrt.org/patch/5851/ Many thanks everyone for your help the last couple of days. Ben Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com> SVN-Revision: 41566
* target/linux/*/base-files/lib/upgrade/platform.sh - wrong check for ARGCJohn Crispin2014-06-021-1/+1
| | | | | | | | | | | | | | | | | | | ARGC is a 'C-ism', but not known/valid in shell-syntax - insert the correct var $# (=number of args) here. under normal conditions this had no impact, but we should at least correct it. the error was observable like this: root@box:~ [ -e "/etc/functions.sh" ] && . /etc/functions.sh root@box:~ [ -e "/lib/functions.sh" ] && . /lib/functions.sh root@box:~ . /lib/upgrade/platform.sh root@box:~ . /lib/upgrade/common.sh root@box:~ platform_check_image /tmp/myfirmware.bin ash: bad number root@box:~ echo $? 0 Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com> SVN-Revision: 40915
* lantiq: add v3.10 patchesJohn Crispin2013-09-171-1/+1
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 38031
* lantiq: add tplink header id to sysupgrade and fix a commentJohn Crispin2013-08-061-1/+3
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 37719
* adds new lantiq kernel. once the codebase is fully tested and know to be ↵John Crispin2010-12-121-0/+25
working on all the devices previously supported by ifxmips, we will drop ifxmips support. SVN-Revision: 24526