Commit Graph

96 Commits (1b310cff0f108cee59974f3c98dbd403da2960a0)

Author SHA1 Message Date
Walter Sonius 098cbc68ee brcm47xx: fix switch port order for Netgear WN2500RP V1
The Netgear WN2500RP V1 switch0 already works for LAN
however the port order for the LAN ports is inverted. Correct
physical port order watched from the back of the device is:
4 / 3 / 2 / 1
WAN port is absent on this device and therefore removed
from switch config.

Signed-off-by: Walter Sonius <walterav1984@gmail.com>
[move block to maintain alphabetic sorting]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years ago
Walter Sonius cf2f1fc687 brcm47xx: fix switch port order for Netgear WNR3500 V2
The Netgear WNR3500 V2 switch0 already works for WAN/LAN
however the port order for the LAN ports is inverted. Correct
physical port order watched from the back of the device is:
Internet / 4 / 3 / 2 / 1 this resembles the Linksys E3000 V1.

Verfied with imagebuilder edit FILES=/etc/board.d/01_network

Signed-off-by: Walter Sonius <walterav1984@gmail.com>
5 years ago
Olli Asikainen deb835849a brcm47xx: add switch configuration for WNR3500L
Netgear WNR3500L is an already supported device, but out of the
box, the device has no switch configuration and there is no wan.
The correct configuration for this specific model is similar to
some other models. This simple commit adds the correct switch
and the out-of-the-box experience is improved.

Experimentally determined:

Port 0 => WAN
Port 1..4 => LAN
Port 5..7 => unused
Port 8 => CPU

Signed-off-by: Olli Asikainen <olli.asikainen@gmail.com>
Tested-by: Fabian Zaremba <fabian@youremail.eu>
[added port mapping to commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years ago
Michael Heimpold e56e5a454e brcm47xx: fix switch port labels for Asus WL500GP V2
The switch port naming in LuCI does not fit the physical numbers
on the front of this device. Since this is confusing, fix it.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
5 years ago
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>
5 years ago
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>
5 years ago
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>
5 years ago
Paul Wassi 2276bc0082 brcm47xx: cosmetic fix in model detection
In "brcm47xx: rework model detection" the file 01_detect was moved
to 01_network, therefore also update the warning message in case
everything fails.

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
6 years ago
Jo-Philipp Wich d7d10f2c1e brcm47xx: rework model detection
On brcm47xx boards, the model ID is the combination of the "boardtype" nvram
variable and an optional supplemental "boardnum" variable while the human
readable model name is usually exposed in the "machine" field of the
/proc/cpuinfo file.

Move the extraction of the board nvram variables and model name string into
the 01_sysinfo file and rework the 01_detect board configuration script to
solely use the prepared sysinfo values without performing own detection
logic.

As a consequence, we can drop the ucidef_set_board_id() and
ucidef_set_model_name() invocations in favor to the generic behaviour
which copies the /tmp/sysinfo/{board_name,model} values into the board.json
"id" and "name" fields respectively.

Since "01_detect" only contains network configuration logic after this
change, move it to "01_network" and rename the contained "detect_by_xxx"
functions to "configure_by_xxx" instead, to avoid potential confusion.

Fixes FS#1576
Acked-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years ago
Mirko Parthey 7ac238fc98 brcm47xx: add switch port mapping to Asus WL-500W
Switch ports 0..3 are connected to external ports LAN{1..4} in sequence,
switch port 4 is not used, and switch port 5 is connected to the CPU.
The WAN port is attached to the CPU's second network interface; it has no
connection to the internal switch.

Reuse the "Dell TrueMobile 2300" entry, which describes the same mapping.

Signed-off-by: Mirko Parthey <mirko.parthey@web.de>
6 years ago
Antony Black d44a6307c9 brcm47xx: fix switch port mapping on D-Link DIR-330
D-Link DIR-330 is clone of ASUS WL500GP2, by default conf the WAN port is
eth1, it's not working cus eth1 not soldered and wan port function
performs 5th port of the switch.

Signed-off-by: Antony Black <gtrtfm@gmail.com>
7 years ago
Tim Thorpe bddffc5e7b brcm47xx: fix switch port mapping on Asus RT-N16
On the Asus RT-N16, the ports are not mapped the in the same way as
the RT-N12.  It is, however, the same as the Linksys E3000v1.

Signed-off-by: Tim Thorpe <timfthorpe@gmail.com>
7 years ago
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>
7 years ago
Rosen Penev 31e9445b7e brcm47xx: Fix sysupgrade with E1200v1
Entry was missing for some reason.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
7 years ago
Jo-Philipp Wich f2fdd68664 brcm47xx: fix switch port mapping on Asus RT-N12 and RT-N16 models
On Asus RT-N12 and RT-N16 models, the WAN and LAN4 ports are swapped in the
initial switch configuration since the presets present in nvram appear to be
wrong.

Add special casing for these models to detect_by_model() in order to ensure
a proper switch configuration.

Fixes FS#502.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
7 years ago
Mathias Kresin e4e984f2a0 treewide: use only board_name function to get name
Do not parse /tmp/sysinfo/board_name, /proc/cpuinfo or the device tree
compatible string directly. Always use the board_name function to get
the board name.

The admswconfig package still reads /proc/cpuinfo directly. The code
looks somehow broken and the whole adm5120 which uses this package
looks unmaintained. Leave it as it is for now.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years ago
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>
7 years ago
Mathias Kresin 78cf5eed6e treewide: do board detection during preinit
Do the board detection during preinit to unify it across all targets.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years ago
Mirko Parthey e3b339e2ea brcm47xx: use DMZ LED as status indicator
On the Linksys WRT54GSv1, the Power LED flickers in the "off" state.
Indicate status using the DMZ LED if available, since it has solid "on" and
"off" states.

This change was tested on the WRT54GSv1, but may also affect other brcm47xx
devices.

Fixes FS#793.

Signed-off-by: Mirko Parthey <mirko.parthey@web.de>
7 years ago
Jo-Philipp Wich 833c500cb2 brcm47xx: remove target specific network preinit config
The generic preinit code is now able to setup network and switch vlan settings
from the /etc/board.json file, therefor drop the target specific code.

Fixes FS#790.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
7 years ago
Jo-Philipp Wich 1c09849f6c treewide: remove bad local shell variable declarations
Local variable declarations outside of functions are illegal since the Busybox
update to v1.25.0, therfore remove them from the appropriate places.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
8 years ago
Russell Senior c3cf3c4ec4 brcm47xx: fix wgt634u port assignment, broken since openwrt r47866
Signed-off-by: Russell Senior <russell@personaltelco.net>
8 years ago
Jo-Philipp Wich 54de773f2b brcm47xx: add proper switch port mapping for WRT610Nv2 / Linksys E3000v1
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 48511
9 years ago
Rafał Miłecki 0e8ba8ffcd brcm47xx: fix switch config for devices with WAN port 0
Commit r47866 dropped default values which were handling WAN interface
at port 0. Fix it by handling 2 more cases on NVRAM values.

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

SVN-Revision: 47932
9 years ago
Jo-Philipp Wich 67e1c87012 all: drop old uci-defaults.sh
Replace former uci-defaults.sh implementation with the uci-defaults-new.sh one
and update all users accordingly.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47867
9 years ago
Jo-Philipp Wich b0b8293b7e brcm47xx: migrate network config to board detection framework
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47866
9 years ago
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
9 years ago
Rafał Miłecki 46bc3ed25a brcm47xx: sysupgrade: drop useless shift in platform.sh
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45913
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
Rafał Miłecki 3fad95446a brcm47xx: fix WRT300N devices magics for sysupgrade check
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45317
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
Rafał Miłecki 44dfe17576 brcm47xx: recognize more device specific firmwares
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45171
9 years ago
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
9 years ago
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
10 years ago
Rafał Miłecki cca3990b16 brcm47xx: verify if CHK/CyberTAN contains valid TRX
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 43798
10 years ago
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
10 years ago
John Crispin 019ea725aa add "preinit_regular" diag.sh set_state argument
This new argument is used right after starting regular preinit (which
happens if failsafe wasn't triggered). The main purpose of "preinit"
argument is to indicate that failsafe can be triggered, however we were
missing a way to inform user that we don't wait for a trigger anymore.
With this change it's clear when failsafe mode can be triggered.

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

SVN-Revision: 43715
10 years ago
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
10 years ago
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
10 years ago
John Crispin 20940138ac scripts: fix wrong usage of '==' operator
[base-files] shell-scripting: fix wrong usage of '==' operator

normally the '==' is used for invoking a regex parser and is a bashism.
all of the fixes just want to compare a string. the used busybox-ash
will silently "ignore" this mistake, but make it portable/clean at least.

this patch does not change the behavior/logic of the scripts.

Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>

SVN-Revision: 42911
10 years ago
Hauke Mehrtens 7a3b3b9d73 brcm47xx: don't create named switch_vlan sections
It doesn't seem to be used anywhere, it's incompatible with other
targets and can be confusing. People may think they need to update
section name every time they change VLAN ID (well, even I was doing
that).

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

SVN-Revision: 41835
10 years ago
Hauke Mehrtens 6f417d5b4b brcm47xx: fix special board handling for some devices
Some devices were renamed when converted from diag to in kernel board detection and it was not changed in netconfig. Devices not in the
kernel board detection are removed now.

This should close: #17111, #16968, #13202

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 41663
10 years ago
Hauke Mehrtens 163fe41c75 brcm47xx: get switch name from swconfig first
Without this patch the switch config for the adm switch did not worked,
because hey are not names eth0.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 41512
10 years ago