Commit Graph

83 Commits (fbd4214bb0727268aa535af5b600d38939ec8dbc)

Author SHA1 Message Date
Adrian Schmutzler 48c1fdd046 treewide: drop shebang from non-executable target files
This drops the shebang from all target files for /lib and
/etc/uci-defaults folders, as these are sourced and the shebang
is useless.

While at it, fix the executable flag on a few of these files.

This does not touch ar71xx, as this target is just used for
backporting now and applying cosmetic changes would just complicate
things.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years ago
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>
4 years ago
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>
4 years ago
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>
4 years ago
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>
4 years ago
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>
5 years ago
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>
5 years ago
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>
5 years ago
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>
5 years ago
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>
5 years ago
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>
5 years ago
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>
6 years ago
Rafał Miłecki 93cc44c433 bcm53xx: exit if writing kernel during sysupgrade fails
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years ago
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>
6 years ago
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>
6 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
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>
7 years ago
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>
7 years ago
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>
7 years ago
Rafał Miłecki 6b01f0f196 bcm53xx: set Netgear R8000 USB LEDs
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
7 years ago
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>
7 years ago
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>
7 years ago
Felix Fietkau 727e244fae bcm53xx: suppress osafeloader info error messages during flashing
Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years ago
Rafał Miłecki 5e339a48aa bcm53xx: build image for TP-LINK Archer C9 v1
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
8 years ago
Rafał Miłecki 2d61c26f02 bcm53xx: support SafeLoader format in sysupgrade
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
8 years ago
Felix Fietkau 1a1c3c690f bcm53xx: add switch config for Buffalo WXR-1900DHP and WZR-1750DHP
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
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>
8 years ago
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>
8 years ago
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>
8 years ago
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>
8 years ago
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>
8 years ago
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>
8 years ago
Rafał Miłecki c40e96d133 bcm53xx: fix partition typos in 09_fix_crc
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
8 years ago
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>
8 years ago
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>
8 years ago
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
8 years ago
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
8 years ago
Rafał Miłecki 997a3cb41c bcm53xx: add basic support for Netgear R7900
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 49122
8 years ago
Rafał Miłecki 3b76c7cf0b bcm53xx: start working on Netgear R8500
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48625
8 years ago
Rafał Miłecki 9a69e00baa bcm53xx: support Netgear R8500 in sysupgrade
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48572
8 years ago
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
8 years ago
Rafał Miłecki c0edf30bdc bcm53xx: basic support for Seama format in sysupgrade
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48535
8 years ago
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
8 years ago
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
8 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 527ec2af59 all: remove dummy ucidef_set_interface_loopback() from board.d
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47744
9 years ago
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
9 years ago
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
9 years ago
Jo-Philipp Wich c4ea02cc69 bcm53xx: switch to ucidef_add_switch_ports()
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47692
9 years ago