Commit Graph

28 Commits

Author SHA1 Message Date
Rafał Miłecki
9d95d5e799 brcm47xx: sysupgrade: fix device model detection
$(board_name) was providing content on "boardtype" (and optionally
"boardnum") NVRAM values. That function requires & expects more specific
and detailed model name extracted from the /proc/cpuinfo.

Fixes: f12a32630f ("treewide: use the generic board_name function")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-09-26 06:51:16 +02:00
Dan Haab
95240c4933 brcm47xx: sysupgrade: support Luxul firmware format
Allow flashing Luxul devices using vendor firmware format.

Signed-off-by: Dan Haab <dan.haab@legrand.com>
2019-09-16 21:37:33 +02:00
Rafał Miłecki
e68c1cebd1 brcm47xx: extend firmware validation
This provides TRX validation result, so final JSON may look like:
{
	"tests": {
		"fwtool_signature": true,
		"fwtool_device_match": true,
		"trx_valid": true
	},
	"valid": true,
	"forceable": true
}

It also prevents users from installing broken firmware files, e.g.:

root@OpenWrt:/# sysupgrade -F -n /tmp/TZ
Image metadata not found
Invalid image type. Please use firmware specific for this device.
Image check failed but --force given - will update anyway!
Commencing upgrade. Closing all shell sessions.
Firmware image is broken and cannot be installed

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-09-04 06:37:17 +02:00
Hauke Mehrtens
253a299604 Revert "brcm47xx: Fix sysupgrade with E1200v1"
This reverts commit 31e9445b7e.

"Linksys E1200 V1" is not a valid board name, as the brcm47xx arch code
can not detect this device. Stefan Lippers-Hollmann also found a typo in
this patch "cybetran" instead of "cybertan".

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-09-25 23:09:33 +02:00
Rosen Penev
31e9445b7e brcm47xx: Fix sysupgrade with E1200v1
Entry was missing for some reason.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2017-09-24 16:28:28 +02:00
Mathias Kresin
f12a32630f treewide: use the generic board_name function
Use the generic function instead ot the target specific ones.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-07-15 23:13:34 +02:00
Rafał Miłecki
db7f2d9531 brcm47xx: add Netgear WN2500RP support
We generate V1 image only for now. We lack buttons support for V2.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 47682
2015-12-02 09:24:52 +00:00
Rafał Miłecki
46bc3ed25a brcm47xx: sysupgrade: drop useless shift in platform.sh
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45913
2015-06-06 17:25:57 +00:00
John Crispin
0da6f8a52b brcm47xx: extract TRX from image on the fly
Extracting TRX to separated file in /tmp/ requires extra RAM which may
not be available on some chepaer devices. Instead of that lets pass a
proper extracting command to the default_do_upgrade.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45901
2015-06-05 14:12:15 +00:00
Rafał Miłecki
b12e85a451 brcm47xx: fix handling absolute paths in sysupgrade (for vendor formats)
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45472
2015-04-17 05:45:46 +00:00
Rafał Miłecki
e85294a957 brcm47xx: rework vendor fw handling to don't duplicate upgrade calls
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45470
2015-04-16 21:43:27 +00:00
Rafał Miłecki
3cb8bf44e6 otrx: change command line API to start with a mode
This will allow adding more modes without options conflict.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45443
2015-04-14 20:50:46 +00:00
Rafał Miłecki
a8b0e75291 brcm47xx: verify also standard TRX images during sysupgrade
It allows detecting data corruption for plain TRX as well.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45318
2015-04-09 05:36:16 +00:00
Rafał Miłecki
3fad95446a brcm47xx: fix WRT300N devices magics for sysupgrade check
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45317
2015-04-09 05:22:10 +00:00
Rafał Miłecki
44b128b0aa brcm47xx: switch to the otrx for verifying TRX images
This adds checking CRC32 of provided firmware image.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45316
2015-04-09 05:22:04 +00:00
Rafał Miłecki
9c5aa7c528 brcm47xx: image: share function checking TRX in provided firmware
This will allow us to calculate crc32 in a shared code.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45202
2015-03-31 21:16:19 +00:00
Rafał Miłecki
8ec31f25e3 brcm47xx: fix checking cross-vendors firmware images
This change won't allow installing e.g. Netgear firmware on Linksys
device.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45174
2015-03-31 07:26:30 +00:00
Rafał Miłecki
a445846305 brcm47xx: display all errors (not just the 1st one) when checking image
This way people forcing upgrade will know what may go wrong.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45172
2015-03-31 06:05:35 +00:00
Rafał Miłecki
44dfe17576 brcm47xx: recognize more device specific firmwares
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45171
2015-03-31 05:39:33 +00:00
Rafał Miłecki
b34040f990 brcm47xx: compare provided firmware magic with device magic
This makes sysupgrade reject firmware images for different devices.
Right now only support for 2 sample devices is implemented.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45170
2015-03-30 22:06:11 +00:00
Rafał Miłecki
81b8d95f2c brcm47xx: support for flashing CHK and CyberTAN images
This will allow simple sysupgrade-s including simpler reverting to the
original firmware.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 43799
2014-12-30 17:19:36 +00:00
Rafał Miłecki
cca3990b16 brcm47xx: verify if CHK/CyberTAN contains valid TRX
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 43798
2014-12-30 17:19:02 +00:00
Rafał Miłecki
c3e9796cd5 brcm47xx: extract magics from specific upgrade images (and still reject them)
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 43718
2014-12-15 11:09:14 +00:00
Rafał Miłecki
a5b6b7e419 brcm47xx: detect (and still reject for now) CyberTAN fw format
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 43714
2014-12-15 09:59:44 +00:00
Rafał Miłecki
b5b4bdc066 brcm47xx: use separated function in upgrade to detect file type
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 43708
2014-12-15 08:51:14 +00:00
John Crispin
f933a741a9 target/linux/*/base-files/lib/upgrade/platform.sh - wrong check for ARGC
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
2014-06-02 12:43:22 +00:00
Hauke Mehrtens
d7ebbd0ac7 brcm47xx: use "firmware" partition name
Some time ago, after switching to the mainline bcm47xxpart driver
following patch has been applied:

commit 03cef8725d2062335ffc3de50fc037b294fd458c
Author: hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date:   Sat Apr 6 22:22:26 2013 +0000

    brcm47xx: use old partition names again for kernel 3.8

    This fixes sysupgrade. The partition names are used all over the Internet in various howtos.

    Thank you russell for spotting this problem.

I propose to revert this change and make sysupgrade use "firmware"
instead. This makes brcm47xx compatible with widely used ar71xx and
after all "firmware" sounds like a much better name for... the firmware.

This change doesn't affect "sysupgrade" usage, because it never takes a
partition name as a parameter. This change only affects users using mtd
tool directly. Hopefully there are not many howtos using "mtd" command.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 38973
2013-12-01 16:32:32 +00:00
Felix Fietkau
812f026323 add back the base-files/image code from brcm-2.4 to brcm47xx
SVN-Revision: 21945
2010-06-26 20:41:49 +00:00