Commit graph

71 commits

Author SHA1 Message Date
Rafał Miłecki
93cc44c433 bcm53xx: exit if writing kernel during sysupgrade fails
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-06-18 13:47:08 +02:00
Rafał Miłecki
86e5a6d985 bcm53xx: fix fallback code for picking status LED
Looking for a wrong LED file name was stopping this code from find any
LED. This affects devices with only a red/amber power LED.

Fixes: 3aaee1ba02 ("bcm53xx: failsafe support")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-02-27 16:52:25 +01:00
Rafał Miłecki
3267ce750e bcm53xx: use iflag=skip_bytes for dd command during sysupgrade
Since BusyBox 1.25.0 dd command supports iflag=skip_bytes which allows
skipping requested amount of bytes without reducing blocksize. Thanks to
this we can leave default blocksize and let dd work more efficiently.

On Netgear R6250 "dd skip=58 iflag=skip_bytes" can be 5 times faster
than "dd bs=58 skip=1" when extracting TRX out of CHK.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-12-29 23:18:45 +01: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
Matthias Schiffer
438dcbfe74
base-files: automatically handle paths and symlinks for RAMFS_COPY_BIN
Depending on busybox applet selection, paths of basic utiilties may differ,
and may not work as symlinks to busybox. Simply using whatever binary is
found in PATH and detecting symlinks automatically is more robust and
easier to maintain.

The list of binaries is also slightly cleaned up and duplicates are
removed.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2017-07-11 17:26:32 +02:00
Matthias Schiffer
73f675415c
bcm53xx: upgrade: fix RAMFS_COPY_*
Fixes: 30f61a34b4 "base-files: always use staged sysupgrade"
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2017-07-11 17:19:23 +02:00
Rafał Miłecki
ec10bb18f5 bcm53xx: add missing system.sh include
It's needed for macaddr_add.

Fixes: 50efd403e6 ("bcm53xx: set WAN MAC address to don't share one with LAN interface")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-07 11:47:02 +01:00
Rafał Miłecki
6b01f0f196 bcm53xx: set Netgear R8000 USB LEDs
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-06 20:24:19 +01:00
Rafał Miłecki
50efd403e6 bcm53xx: set WAN MAC address to don't share one with LAN interface
After analyzing numerous NVRAMs and vendor firmwares it seems the base
MAC address is used for LAN interface. WAN interface has different one
which sometimes is set directly in NVRAM and sometines needs to be
calculated.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-03 07:50:59 +01:00
Rafał Miłecki
58221d79d9 bcm53xx: fix LAN MAC address for devices that use eth2 originally
We override default Ethernet interface with eth0 which often uses random
MAC due to missing proper NVRAM entry. Fix this by manually assigning
MAC in the config.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-01 15:26:40 +01:00
Felix Fietkau
727e244fae bcm53xx: suppress osafeloader info error messages during flashing
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-30 13:00:11 +01:00
Rafał Miłecki
5e339a48aa bcm53xx: build image for TP-LINK Archer C9 v1
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-11-19 07:58:26 +01:00
Rafał Miłecki
2d61c26f02 bcm53xx: support SafeLoader format in sysupgrade
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-11-19 07:58:26 +01:00
Felix Fietkau
1a1c3c690f bcm53xx: add switch config for Buffalo WXR-1900DHP and WZR-1750DHP
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-14 20:03:21 +01:00
Rafał Miłecki
31fada8bec bcm53xx: generate proper network config for Tenda AC9
It's a more complex device with 2 interfaces on the SoC, one we can use
for LAN and another for WAN.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-08-18 10:40:49 +02:00
Rafał Miłecki
857f00a9f7 bcm53xx: drop target's preinit network support script
We don't need it anymore since the rework of generic preinit script.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-08-14 23:14:15 +02:00
Rafał Miłecki
eaf0d22421 bcm53xx: calculate Seama MD5 using content of kernel partition
We don't want checksum to cover any part of UBI as even its part with
SquashFS may be changed due to e.g. flash wearing.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
2016-07-04 12:32:12 +02:00
Rafał Miłecki
776b24d9aa bcm53xx: properly support sysupgrade using Seama on NAND devices
It updates kernel and then formats UBI without loosing erase counters.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
2016-06-20 08:02:32 +02:00
Rafał Miłecki
cb0de9a68e bcm53xx: sysupgrade: move TRX specific code to separated function
This will allow adding support for other formats (e.g. Seama) in a clean
way.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
2016-06-13 22:52:04 +02:00
Rafał Miłecki
1f86257c2f bcm53xx: pass datasize to mtd in hexadecimal format
This avoids extra calculation in bash script.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
2016-06-11 01:38:00 +02:00
Rafał Miłecki
c40e96d133 bcm53xx: fix partition typos in 09_fix_crc
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
2016-06-11 01:37:41 +02:00
Rafał Miłecki
95d8568cb8 bcm53xx: calculate TRX CRC32 using whole kernel partition
This provides better protection of flash data.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
2016-06-10 12:58:19 +02:00
Rafał Miłecki
01714243b9 bcm53xx: drop Copyright header from two of my bash scripts
Both scripts modified by this patch were added by me. First of all I
incorrectly added OpenWrt as Copyright holder. It was wrong because:
1) I simply can't transfer my moral rights according to the Polish law
2) Transfering copyrights (economic rights) requires an agreement which
   I didn't sign with OpenWrt(.org).
Other than that I don't find these trivial scripts important enough to
put info about *my* copyrights in a header so this patch just drops them
completely.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
2016-05-18 08:35:00 +02:00
Rafał Miłecki
93550152ed bcm53xx: add switch config workaround for R8500 and DIR-885L
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 49160
2016-04-09 13:23:25 +00:00
Rafał Miłecki
e2893fa8c3 bcm53xx: fix regression in generating network config
Syntax error was added in r49122.

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

SVN-Revision: 49159
2016-04-09 13:20:19 +00:00
Rafał Miłecki
997a3cb41c bcm53xx: add basic support for Netgear R7900
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 49122
2016-04-09 09:59:21 +00:00
Rafał Miłecki
3b76c7cf0b bcm53xx: start working on Netgear R8500
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48625
2016-02-03 22:32:07 +00:00
Rafał Miłecki
9a69e00baa bcm53xx: support Netgear R8500 in sysupgrade
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48572
2016-01-30 16:57:35 +00:00
Rafał Miłecki
926c8dfc7b bcm53xx: specify magic expected in sysupgrade for D-Link DIR-885L
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48553
2016-01-29 22:31:43 +00:00
Rafał Miłecki
c0edf30bdc bcm53xx: basic support for Seama format in sysupgrade
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48535
2016-01-28 22:38:37 +00:00
Rafał Miłecki
518ad4763a bcm53xx: fix MD5 in Seama format on flash after installing OpenWrt
We need to fix Seama just like we fix TRX due to the rootfs mark.

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

SVN-Revision: 48522
2016-01-28 08:51:58 +00:00
Rafał Miłecki
1dfa8f37db bcm53xx: detect Seama sysupgrade format
It's used e.g. by D-Link devices. We don't support it yet.

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

SVN-Revision: 48509
2016-01-27 10:40:58 +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
527ec2af59 all: remove dummy ucidef_set_interface_loopback() from board.d
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47744
2015-12-03 23:13:00 +00:00
Jo-Philipp Wich
8f8b702f85 board.d: remove redundant ucidef_set_interfaces_lan_wan() calls
This removes calls to ucidef_set_interfaces_lan_wan() and
ucidef_set_interfaces_lan() on boards where all relevant info can be
inferred from the switch definition.

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

SVN-Revision: 47722
2015-12-03 17:30:56 +00:00
Jo-Philipp Wich
9b02e73188 board.d: merge ucidef_add_switch() and ucidef_add_switch_ports()
This changes uci-defaults-new.sh, config_generate and all relevant board.d
files in order combine ucidef_add_switch() and ucidef_add_switch_ports() into
a single function.

Also removes now superfluous enable and reset arguments.

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

SVN-Revision: 47721
2015-12-03 17:30:24 +00:00
Jo-Philipp Wich
c4ea02cc69 bcm53xx: switch to ucidef_add_switch_ports()
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47692
2015-12-02 18:51:12 +00:00
Rafał Miłecki
e6944a3490 bcm53xx: add workaround for Netgear R8000 network
According to the info from NVRAM we should use port 8 for the CPU (and
interface eth2). Unfortunately it doesn't work right now, so lets switch
to the port 5.

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

Forwardport of r46586 from 15.05

SVN-Revision: 47281
2015-10-30 12:55:37 +00:00
Rafał Miłecki
f87990840d bcm53xx: support sysupgrade with Netgear R7000 original firmware
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 46732
2015-08-26 15:21:14 +00:00
Rafał Miłecki
46a25c6e8a bcm53xx: fallback to default_do_upgrade if NAND upgrade fails
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45915
2015-06-06 17:52:53 +00:00
Rafał Miłecki
3d4f163df1 bcm53xx: sysupgrade: drop useless shift in platform.sh
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45914
2015-06-06 17:26:05 +00:00
Rafał Miłecki
54fb91f0cf bcm53xx: extract TRX from image on the fly
Extracting TRX to separated file in /tmp/ just wastes some RAM while we
can just pass a proper extracting command to the default_do_upgrade.

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

SVN-Revision: 45912
2015-06-06 17:23:03 +00:00
Rafał Miłecki
5e90144aec bcm53xx: sysupgrade: extract TRX partitions directly from vendor image
Extracting full TRX out of vendor format is not needed as otrx supports
passing TRX offset. This saves some RAM during sysupgrade.

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

SVN-Revision: 45911
2015-06-06 17:05:31 +00:00
Rafał Miłecki
75b8e247e3 bcm53xx: try to fix network on Asus RT-AC87U
This device seems to have switch port 7 connected to the CPU:
vlan1ports=1 2 3 5 7*
vlan2ports=0 7u
it should be handled by eth1 and NVRAM seems to confirm that (no
et0macaddr entry, existing et1macaddr & et1phyaddr entries).

One of the remaining ports (4/8?) may be connected to the Quantenna SoC.
Original firmware boot log contains following messages:
(0x00,0x5d)Port 5 States Override: 0xfb
(0x00,0x5f)Port 7 States Override: 0xfb
(0x00,0x0e)Port 8 States Override: 0x0a
(why does it force port 5 state?!)

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

SVN-Revision: 45692
2015-05-16 17:14:25 +00:00
Rafał Miłecki
2d3aaa2d2f bcm53xx: fix default network interface on Netgear R8000
It has 3 Ethernet interfaces, each of them connected to separated switch
port. Default NVRAM uses switch port 8 as CPU which is connected to the
3rd interface (eth2).

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

SVN-Revision: 45681
2015-05-13 13:11:04 +00:00
Rafał Miłecki
33e597b241 bcm53xx: sort ports from NVRAM entries before matching them
Some devices have unsorted ports which may lead to broken config.

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

SVN-Revision: 45575
2015-04-24 07:47:25 +00:00
Rafał Miłecki
866fe3895d bcm53xx: sysupgrade: check if new kernel fits partition size
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45547
2015-04-21 11:21:34 +00:00
Rafał Miłecki
457d9caf4d bcm53xx: sysupgrade: improve NAND warnings
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45546
2015-04-21 11:04:38 +00:00
Rafał Miłecki
a86e7330dc bcm53xx: sysupgrade: drop some debugging message
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45544
2015-04-21 08:34:25 +00:00