Commit graph

82 commits

Author SHA1 Message Date
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>
2017-07-21 08:09:45 +02:00
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>
2017-07-15 23:13:34 +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
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>
2017-07-15 23:13:34 +02:00
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>
2017-07-02 22:44:06 +02:00
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>
2017-05-27 12:17:40 +02:00
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>
2016-09-24 14:38:20 +02:00
Russell Senior
c3cf3c4ec4 brcm47xx: fix wgt634u port assignment, broken since openwrt r47866
Signed-off-by: Russell Senior <russell@personaltelco.net>
2016-05-10 10:43:17 +02:00
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
2016-01-27 20:47:44 +00:00
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
2015-12-18 15:27:16 +00:00
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
2015-12-11 15:26:06 +00:00
Jo-Philipp Wich
b0b8293b7e brcm47xx: migrate network config to board detection framework
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47866
2015-12-11 15:19:43 +00: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
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
2014-12-15 10:37:00 +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
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
2014-10-14 12:21:11 +00:00
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
2014-07-26 12:33:48 +00:00
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
2014-07-14 22:16:19 +00:00
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
2014-07-05 12:15:03 +00:00
Hauke Mehrtens
9467896172 brcm47xx: migrate basic network settings from old releases
Old OpenWrt releases were using network configs that are not valid
anymore. They were specifying ports tagging in a different way (or were
not tagging CPU at all) and were using VID 0 which is a reserved value.

Modifying network configuration to apply all needed changes would be
pretty tricky. Script /etc/init.d/netconfig that generates new config is
quite complex itself.
So instead let's save the most important settings, regenerate config
from the scratch and restore values. This should work for 99% of users.

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

SVN-Revision: 41500
2014-07-03 21:40:59 +00:00
Hauke Mehrtens
9dc5fb9103 bcm47xx: use eth0 for switch name
This fixes some strange problems with tg3. I assume that the Ethernet
driver was not brought up if the switch was named switch0.

This was reported and tested by ernesto (Faulp3lz).

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

SVN-Revision: 41042
2014-06-07 15:41:41 +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
f912b47931 brcm47xx: parse model from cpuinfo
Instead of looking into the proc entry provided by broadcom-diag use
the board info from /proc/cpuinfo to get the board we are on.

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

SVN-Revision: 39256
2014-01-12 18:56:57 +00:00
Hauke Mehrtens
bcdea80b0b brcm47xx: fix led indication
Use the new led api also on brcm47xx.
The led for failsafe indication is searched for.

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

SVN-Revision: 39255
2014-01-12 18:56:36 +00:00
Hauke Mehrtens
edab966e45 brcm47xx: fix network failsafe indication
Remove the code used on the old switch driver.
The Ethernet drive is loaded as a module and needs some time to get up
therefor we added some wait function.

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

SVN-Revision: 39254
2014-01-12 18:56:15 +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
Hauke Mehrtens
32cbc948a1 brcm47xx: fix netconfig for inverted vlan?ports in nvram
This was observed on the Belkin Share F7D7302.

SVN-Revision: 38769
2013-11-11 23:04:47 +00:00
Hauke Mehrtens
97b15fc45b brcm47xx: add support for ipv6 in default network config
Modify /etc/init.d/netconfig to use UCI defaults for building the
default network config, which includes appropriate defaults for IPV6.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38294
2013-10-02 23:22:18 +00:00
Hauke Mehrtens
e2b2e3886b brcm47xx: run mtd fixtrx linux every time
With this patch it is possible to boot a device with kernel 3.10 a second time.

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

SVN-Revision: 37625
2013-07-31 17:41:52 +00:00
Hauke Mehrtens
f8d55e7541 brcm47xx: use b53 phy driver for the switch in kernel 3.10
This makes it possible to use swconfig to controll the switch.

This was tested with devices using b43 and bgmac.
This was not tested on devices using tg3.
This does not support the adm switch used in some very old devices.

SVN-Revision: 37304
2013-07-14 14:11:17 +00:00
Hauke Mehrtens
3bc90a4d23 brcm47xx: fix switch handling
This fixes some problems with the switch handling

 * It now send the messages again to indicate a button for failsafe mode should be pressed
 * it does not leak packages between wan and lan any more
 * the switch works again in normal mode

The Ethernet connection has to be up when the switch driver switch-robo
is insmoded therefor we just do it again.
Explicitly set enable_vlan to prevent leaking packages.

This should close #13869, #13868 and #13716

SVN-Revision: 37286
2013-07-14 13:19:58 +00:00
Hauke Mehrtens
ef0b9be95e brcm47xx: do not load the kernel modules needed for Ethernet manually
add the boot flag to make the kernel modules needed for Ethernet and
diag load on startup.

SVN-Revision: 37284
2013-07-14 12:59:00 +00:00
Hauke Mehrtens
e800436de3 brcm47xx: do not change nvram without user interaction
SVN-Revision: 37281
2013-07-14 12:56:42 +00:00