Commit Graph

82 Commits

Author SHA1 Message Date
Dan Haab
c459a6bf48 bcm53xx: add support for Luxul FullMAC WiFi devices
This prepares support for models XAP-1610 and XWR-3150. Flashing
requires using Luxul firmware version:
1) 8.1.0 or newer for XAP-1610
2) 6.4.0 or newer for XWR-3150
and uploading firmware using "Firmware Update" web UI page.

Signed-off-by: Dan Haab <dan.haab@legrand.com>
2020-04-07 15:27:52 +02:00
Rafał Miłecki
b51ea43f90 bcm53xx: refactor board.d code in 02_network
1. Use functions for cleaner code
2. Always execute WAN interface generic code

Before this change WAN interface code wasn't executed on all devices due
to an early "exit 0".

Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2020-04-03 17:59:56 +02:00
Rafał Miłecki
8abefc8896 bcm53xx: sysupgrade: optimize building UBI image
Use "truncate" to adjust size of existing file instead of "dd" which
required creating a copy. This saves space on tmpfs. It may be as low
as 2.1 MiB when using OpenWrt default user space and way more (20+ MiB)
when flashing vendor firmware.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2020-03-21 22:31:35 +01:00
Dan Haab
1d47f81581 bcm53xx: build images for Luxul ABR-4500 and XBR-4500 routers
Luxul ABR-4500 and XBR-4500 devices are wired routers with 5 Ethernet
ports and 1 USB 3.0 port. Flashing requires using Luxul firmware 6.4.0
or newer and uploading firmware using "Firmware Update" web UI page.

Signed-off-by: Dan Haab <dan.haab@legrand.com>
2020-02-07 09:31:22 +01:00
Dan Haab
63c43e5674 bcm53xx: sysupgrade: support Luxul NAND devices
This adds support for UBI-aware sysupgrade using Luxul formats.

Signed-off-by: Dan Haab <dan.haab@legrand.com>
2019-10-15 20:23:04 +02:00
Rafał Miłecki
64b7dbb300 bcm53xx: fix sysupgrade for Luxul XWC-2000
Use a correct "compatible" value as in the upstream DTS file.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-10-04 11:41:32 +02:00
Dan Haab
bc5db7364d bcm53xx: sysupgrade: support Luxul firmware format
Allow flashing Luxul devices using vendor firmware format. The next step
will be building proper images once they are conirmed to work.

Signed-off-by: Dan Haab <dan.haab@legrand.com>
2019-09-16 16:01:42 +02:00
Rafał Miłecki
c19b9f9a26 bcm53xx: extend firmware validation
This provides TRX validation result to the validation JSON. It also
prevents users from installing broken firmware files.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-09-06 12:52:59 +02:00
Rafał Miłecki
ccf8a8e863 bcm53xx: sysupgrade: call nand_do_upgrade() from platform_do_upgrade()
Calling nand_do_upgrade() from platform_pre_upgrade() was obsoleted in
the commit 30f61a34b4 ("base-files: always use staged sysupgrade").

This change brings bcm53xx in sync with other targets and allows
dropping backward compatibility code. It shouldn't change any user
visible behavior.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-07-08 07:38:12 +02:00
Hao Dong
62dadcb86c bcm53xx: add support for Phicomm K3
Hardware specifications:

- CPU: Broadcom BCM4709C0 @1.4GHz (Dual-Core ARM)
- RAM: 512 MB (DDR3)
- Flash: 128 MB (NAND)
- LAN ports: 3, LAN speed: 10/100/1000
- WAN ports: 1, WAN speed: 10/100/1000
- 2.4G: BCM4366 4x4 MIMO 1000Mbps -- Skyworks SE2623L 2.4GHz Power Amplifier (x4)
- 5G: BCM4366 4x4 MIMO 2167Mbps -- RFMD RFPA5542 5GHz Power Amplifier Module (x4)
- USB: 1x USB 3.0 port
- 1x LED, 1x reset button, 1x power switch
- 1x system status touch screen

Flash:

- Enter CFE
- Upload the trx file
- Reboot

Signed-off-by: Hao Dong <halbertdong@gmail.com>
2019-01-20 23:34:44 +01:00
Rafał Miłecki
a07730472c bcm53xx: backport BCM5301X/BCM53573 dts commits from 4.19+
This includes Linksys EA9500 support, BCM53573 timer fix and
upstream-ready partitions patch that replaces two downstream hacks.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-07-28 21:48:10 +02:00
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