aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm53xx/base-files
Commit message (Collapse)AuthorAgeFilesLines
* bcm53xx: only fixup seama on D-Link DIR-885LLinus Walleij2022-10-211-3/+20
| | | | | | | | | | | | Just one device builds seama images so let's just fix up seama on that one device. I guess the tool errors out but this feels cleaner. Cc: Hauke Mehrtens <hauke@hauke-m.de> Cc: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> [rmilecki: drop "fixtrx" from D-Link case] Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: add support for Meraki MR26Christian Lamparter2022-07-153-5/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Meraki MR26 is an EOL wireless access point featuring a PoE ethernet port and two dual-band 3x3 MIMO 802.11n radios and 1x1 dual-band WIFI dedicated to scanning. Thank you Amir for the unit and PSU. Hardware info: SOC : Broadcom BCM53015A1KFEBG (dual-core Cortex-A9 CPU at 800 MHz) RAM : SK hynix Inc. H5TQ1G63EFR, 1 Gbit DDR3 SDRAM = 128 MiB NAND : Spansion S34ML01G100TF100, 1 Gbit SLC NAND Flash = 128 MiB ETH : 1 GBit Ethernet Port - PoE WIFI1 : Broadcom BCM43431KMLG, BCM43431 802.11 abgn WIFI1 : Broadcom BCM43431KMLG, BCM43431 802.11 abgn WIFI3 : Broadcom BCM43428 abgn (1x1:1 - id: 43428) BUTTON: one reset button LEDS : RGB-LED MISC : Atmel AT24C64 8KiB EEPROM (i2c - seems empty) : Ti INA219 26V, 12-bit, i2c output current/voltage/power monitor : TPS23754, High Power/High Efficiency PoE Interface+DC/DC Controller SERIAL: WARNING: The serial port needs a TTL/RS-232 3V3 level converter! The Serial setting is 115200-8-N-1. The board has a populated right angle 1x4 0.1" pinheader. The pinout is: VCC (next to J3, has little white arrow), RX, TX, GND. This flashing procedure for the MR26 was tested with firmware: "22-143410M-gf25cbf5a-asa". U-Boot 2012.10-00063-g83f9fe4 (Jun 04 2014 - 21:22:39) A guide how to open up the device is available on the wiki: <https://openwrt.org/toh/meraki/mr26> Notes: - The WIFI do work to a degree. Limited to 802.11bg in the 2.4GHz band. - the WIFI macs are made up. 0. Create a separate Ethernet LAN which can't have access to the internet. Ideally use 192.168.1.2 for your PC. The new OpenWrt firmware will setup the network via DHCP Discovery, so make sure your PC is running a DHCP-Server (i.e.: dnsmasq) '# dnsmasq -i eth# -F 192.168.1.5,192.168.1.50 Download the openwrt-meraki-mr26 initramfs file from openwrt.org and rename it to something simple like mr26.bin. Then put it into the tftp's server directory. 1. Disassemble the MR26 device by removing all screws (4 screws are located under the 4 rubber feets!) and prying open the plastic covers without breaking the plastic retention clips. Once inside, remove the plastic back casing. Be careful, there some "hidden" retention clips on both sides of the LAN port, you need a light to see those. Next, you want to remove all the screws on the outer metal shielding to get to the PCB. It's not necessary to remove the antennas! 2. Connect the serial cable to the serial header and Ethernet patch cable to the device. 4. Before connecting the power, get ready flood the serial console program with the magic: xyzzy . This is necessary in order to get into the u-boot prompt. Once Ready: connect power cable. 5. If you don't get the "u-boot>" prompt within the first few seconds, you have to disconnect and reconnect the power cable and try again. 6. In the u-boot prompt enter: setenv ipaddr 192.168.1.4 setenv serverip 192.168.1.2 tftpboot ${meraki_loadaddr} mr26.bin; bootm this will boot a in-ram-only OpenWrt image. 7. Once it booted use sysupgrade to permanently install OpenWrt. To do this: Download the latest sysupgrade.bin file and move it to the device. Then use sysupgrade *sysupgrade.bin to install it. WARNING: DO NOT DELETE the "storage" ubi volume! Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* bcm53xx: enable & setup packet steeringRafał Miłecki2022-06-242-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Packet steering can improve NAT masquarade performance on Northstar by 40-50%. It makes reaching 940-942 Mb/s possible on BCM4708 (and obviously BCM47094 too). Add scripts setting up the most optimal Northstar setup. Below are testing results for running iperf TCP traffic from LAN to WAN. They were used to pick up golden values. ┌──────────┬──────────┬────────────────────┬────────────────────┐ │ eth0 │ br-lan │ flow_offloading=0 │ flow_offloading=1 │ │ │ ├─────────┬──────────┼─────────┬──────────┤ │ rps_cpus │ rps_cpus │ BCM4708 │ BCM47094 │ BCM4708 │ BCM47094 │ ├──────────┼──────────┼─────────┼──────────┼─────────┼──────────┤ │ 0 │ 0 │ 387 │ 671 │ 707 │ 941 │ │ 0 │ 1 │ 343 │ 576 │ 705 │ 941 │ │ 0 │ 2 │ ✓ 574 │ ✓ 941 │ 704 │ 940 │ │ 1 │ 0 │ 320 │ 549 │ 561 │ 941 │ │ 1 │ 1 │ 327 │ 551 │ 553 │ 941 │ │ 1 │ 2 │ 523 │ ✓ 940 │ 559 │ 940 │ │ 2 │ 0 │ 383 │ 652 │ ✓ 940 │ 941 │ │ 2 │ 1 │ 448 │ 754 │ ✓ 942 │ 941 │ │ 2 │ 2 │ 404 │ 655 │ ✓ 941 │ 941 │ └──────────┴──────────┴─────────┴──────────┴─────────┴──────────┘ Above tests were performed with all eth0 interrupts handled by CPU0. Setting "echo 2 > /proc/irq/38/smp_affinity" was tested on BCM4708 but it didn't increased speeds (just required different steering): ┌──────────┬──────────┬───────────┐ │ eth0 │ br-lan │ flow_offl │ │ rx-0 │ rx-0 │ oading=0 │ │ rps_cpus │ rps_cpus │ BCM4708 │ ├──────────┼──────────┼───────────┤ │ 0 │ 0 │ 384 │ │ 0 │ 1 │ ✓ 574 │ │ 0 │ 2 │ 348 │ │ 1 │ 0 │ 383 │ │ 1 │ 1 │ 412 │ │ 1 │ 2 │ 448 │ │ 2 │ 0 │ 321 │ │ 2 │ 1 │ 520 │ │ 2 │ 2 │ 327 │ └──────────┴──────────┴───────────┘ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: remove 07_set_preinit_iface_bcm53xxChristian Lamparter2022-06-191-14/+0
| | | | | | | | with the switch to DSA setup, the switch gets correctly programmed via the device-tree now. This hack is no longer necessary. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* bcm53xx: remove MR32's specific get_leds_dt codeChristian Lamparter2022-05-141-3/+0
| | | | | | | the existing diag.sh code will pick up the LED by itself. This is not/no longer needed. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* packages: nvram: add NVRAM quirks for bcm53xx targetArınç ÜNAL2022-05-041-13/+0
| | | | | | | | | | | Add NVRAM quirks script for the bcm53xx target. Split NVRAM quirks for the bcm47xx and bcm53xx targets. Move clear partialboot NVRAM quirk for Linksys EA9500 here. Add set wireless LED behaviour quirk for Asus RT-AC88U. Use boot() instead of start() as nvram commands are meant to be executed only once, at boot. Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
* bcm53xx: drop dead upgrade codeRafał Miłecki2022-03-291-8/+0
| | | | | | | platform_nand_pre_upgrade() is gone since commit 790692dde2b9 ("base-files: drop support for the platform_nand_pre_upgrade()"). Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: add support for Asus RT-AC88UArınç ÜNAL2022-03-291-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Asus RT-AC88U is an AC3100 router featuring 9 Ethernet ports over the integrated Broadcom and the external Realtek switch. Hardware info: * Processor: Broadcom BCM4709C0KFEBG dual-core @ 1.4 GHz * Switch: BCM53012 in BCM4709C0KFEBG & external RTL8365MB * DDR3 RAM: 512 MB * Flash: 128 MB (ESMT F59L1G81LA-25T) * 2.4GHz: BCM4366 4×4 2.4/5G single chip 802.11ac SoC * 5GHz: BCM4366 4×4 2.4/5G single chip 802.11ac SoC * Ports: 8 Ports, 1 WAN Ports Flashing instructions: * Boot to CFE Recovery Mode by holding the reset button while power-on. * Connect to the router with an ethernet cable. * Set IPv4 address of the computer to 192.168.1.2 subnet 255.255.255.0. * Head to http://192.168.1.1. * Reset NVRAM. * Upload the OpenWrt image. CFE bootloader may reject flashing the image due to image integrity check. In that case, follow the instructions below. * Rename the OpenWrt image as firmware.trx. * Run a TFTP server and make it serve the firmware.trx file. * Run the URL below on a browser or curl. http://192.168.1.1/do.htm?cmd=flash+-noheader+192.168.1.2:firmware.trx+flash0.trx Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com> [rmilecki: mark BROKEN until we sort out nvram & CFE recovery] Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: sysupgrade: fix support for Luxul's legacy firmware formatRafał Miłecki2021-12-131-1/+3
| | | | | Fixes: 80041dea7094 ("bcm53xx: sysupgrade: refactor handling different firmware formats") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: sysupgrade: refactor handling different firmware formatsRafał Miłecki2021-12-021-165/+123
| | | | | | | | | | | | | | | | | | List of supported formats grew over time and implementation got a bit messy. There are multiple functions with format-specific parameters and commands. Refactor it by making platform_identify() setup all required info right after detecting firmware format. This simplifies formats handling in platform_other_check_image() and platform_do_upgrade() a lot. This has been tested on: 1. SmartRG SR400ac (TRX): non-NAND sysupgrade 2. Netgear R8000 (CHK): NAND aware and standard sysupgrade-s 3. D-Link DIR-885L (Seama): NAND aware and standard sysupgrade-s 4. Luxul XWR-3150 (LXL): NAND aware and standard sysupgrade-s Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: sysupgrade: simplify extracting image from Seama sealRafał Miłecki2021-12-021-15/+3
| | | | | | Use "oseama extract" which supports now writing to stdout. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: bridge all LAN ports on Linksys EA9500Rafał Miłecki2021-10-221-1/+1
| | | | | | External switch ports need to be bridged too. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: switch to the upstream DSA-based b53 driverRafał Miłecki2021-10-212-71/+32
| | | | | | | | | | 1. Drop swconfig 2. Simplify network setup 3. Verify network config 4. Disable Buffalo WZR-900DHP for now - it misses ports definition Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Reviewed-By: Christian Lamparter <chunkeey@gmail.com>
* bcm53xx: MR32: read mac-address from eepromChristian Lamparter2021-09-231-4/+0
| | | | | | | | Meraki wrote the ethernet MAC-address of the device onto the eeprom (AT24C64) at the fixed location 0x66 to 0x6C. Let's fetch it from there. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* bcm53xx: fix Luxul XWR-3150 LAN ports numberingRafał Miłecki2021-04-211-1/+1
| | | | | | | Port numbers were reverted. Fixes: c459a6bf482f ("bcm53xx: add support for Luxul FullMAC WiFi devices") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: enhance support for Linksys EA9500Vivek Unune2021-04-012-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Add leds and configs 2. Add network configs 3. Add script to clear partial boot flag 4. Hack to use port 5 as cpu port as port 8 connected to eth2 wont pass any frames 5. Enable EA9500 image generation Hardware Info: - Processor - Broadcom BCM4709C0KFEBG dual-core @ 1.4 GHz - Switch - BCM53012 in BCM4709C0KFEBG & external BCM53125 - DDR3 RAM - 256 MB - Flash - 128 MB (Toshiba TC58BVG0S3HTA00) - 2.4GHz - BCM4366 4×4 2.4/5G single chip 802.11ac SoC - Power Amp - Skyworks SE2623L 2.4 GHz power amp (x4) - 5GHz x 2 - BCM4366 4×4 2.4/5G single chip 802.11ac SoC - Power Amp - PLX Technology PEX8603 3-lane, 3-port PCIe switch - Ports - 8 Ports, 1 WAN Ports - Antennas - 8 Antennas - Serial Port - @j6 [GND,TX,RX] (VCC NC) 115200 8n1 Flashing Instructions: 1. Connect a USB-TTL table to J6 on the router as well as a ethernet cable to a lan port and your PC. 2. Power-on the router. 3. Use putty or a serial port program to view the terminal. Hit Ctrl+C and interrupt the CFE terminal terminal. 4. Setup a TFTP server on your local machine at setup you local IP to 192.168.1.2 5. Start the TFTP Server 6. Run following commands at the CFE terminal flash -noheader 192.168.1.2:/openwrt.trx nflash0.trx flash -noheader 192.168.1.2:/openwrt.trx nflash0.trx2 nvram set bootpartition=0 && nvram set partialboots=0 && nvram commit 7. Reboot router to be presented by OpenWrt Note: Only installation method via serial cable is supported at the moment. The trx firmware has to be flashed to both the partitions using following commands from CFE prompt. This will cover US and Non-US variants. Signed-off-by: Vivek Unune <npcomplete13@gmail.com> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* treewide: remove execute bit and shebang from board.d filesAdrian Schmutzler2021-03-062-2/+0
| | | | | | | | | | | | | | | | So far, board.d files were having execute bit set and contained a shebang. However, they are just sourced in board_detect, with an apparantly unnecessary check for execute permission beforehand. Replace this check by one for existance and make the board.d files "normal" files, as would be expected in /etc anyway. Note: This removes an apparantly unused '#!/bin/sh /etc/rc.common' in target/linux/bcm47xx/base-files/etc/board.d/01_network Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm53xx: add Cisco Meraki MR32Christian Lamparter2020-09-254-3/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Cisco Meraki MR32. The unit was donated by Chris Blake. Thank you! WARNING: Only the 1x1:1 abgn Air Marshal WIPS wifi is currently supported by b43: b43-phy2: Found PHY: Analog 9, Type 4 (N), Revision 16 b43-phy2: Found Radio: Manuf 0x17F, ID 0x2057, Revision 9, Version 1 b43-phy2: Loading firmware version 784.2 (2012-08-15 21:35:19) and only as 802.11ABG! while WIFI1 and WIFI2 (both BCM4352) are not: b43-phy0: Broadcom 4352 WLAN found (core revision 42) b43-phy0 ERROR: FOUND UNSUPPORTED PHY (Analog 12, Type 11 (AC), Revision 1) Hardware Highlights: SoC: Broadcom BCM53016A1 (1 GHz, 2 cores) RAM: 128 MiB NAND: 128 MiB Spansion S34ML01G2 (~114 MiB useable) ETH: 1GBit Ethernet Port - PoE WIFI1: Broadcom BCM43520 an+ac (2x2:2 - id: 0x4352) WIFI2: Broadcom BCM43520 bgn (2x2:2 - id: 0x4352) WIFI3: Broadcom BCM43428 abgn (1x1:1 - id: 43428) BLE: Broadcom BCM20732 (ttyS1) LEDS: 1 x Programmable RGB Status LED (driven by a PWM) 1 x White LED (GPIO) 1 x Orange LED Fault Indicator (GPIO) 2 x LAN Activity / Speed LEDs (On the RJ45 Port) BUTTON: one Reset button MISC: AT24C64 8KiB EEPROM (i2c - stores Ethernet MAC + Serial#!) ina219 hardware monitor (i2c) Kensington Lock SERIAL: WARNING: The serial port needs a TTL/RS-232 3V3 level converter! The Serial setting is 115200-8-N-1. The board has a populated right angle 1x4 0.1" pinheader. The pinout is: VCC, RX, TX, GND. (Use a multimeter) Flashing needs a serial adaptor (due to the lack of a working dropbear on the original firmware). This flashing procedure for the MR32 was tested with firmware: "r23-149867:150252-aacharya". 0. Create a seperate Ethernet LAN which does not have access to the internet. Ideally use 192.168.1.2 for your PC. Make sure to reserve 192.168.1.1 it will be used later on by the OpenWrt firmware. The original Meraki firmware will likely try to setup the network via DHCP Discovery, so make sure your PC is running a DHCP-Server (i.e.: dnsmasq) '# dnsmasq -i eth# -F 192.168.1.5,192.168.1.50 Furthermore, the PC needs a supported ssh/http/ftp server in order to retrieve the initramfs + dtb file 1. Disassemble the MR32 device by removing all screws (4 screws are located under the 4 rubber feets!) and prying open the plastic covers without breaking the plastic retention clips. Once inside, remove all the screws on the outer metal shielding to get to the PCB. It's not necessary to remove the antennas! 2. Connect the serial cable to the serial header. 3. Partially reassemble the outer metal shielding to ensure that the SoC has a proper heat sink. 4. Connect the Ethernet patch cable to the device and the power cable. 5. Wait for the device to boot and enter the root shell. (rooting is not discussed in detail here please refer to Chris Blake - "pwning the meraki mr18" blog post: <https://servernetworktech.com/2016/02/pwning-the-meraki-mr18/> (The same method works with the MR32's r23-149867:150252-aacharya) Wait for the MR32 to enter the "<Meraki>" prompt and enter: <Meraki> odm serial_num read (Verify that it matches what's on the S/N Sticker on the back!) <Meraki> odm serial_num write Q2XX-XXXX-XXXV <Meraki> odm serial_num read (Verify that the S/N has changed - and the LED start to flash) now to flash the firmware: <Meraki> odm firmware part.safe "http://192.168.1.2/mr32-initramfs.bin" Once OpenWrt booted use sysupgrade to permanently install OpenWrt. To do this: Download the latest sysupgrade.bin file for the MR32 to the device and use sysupgrade *sysupgrade.bin to install it. WARNING: DO NOT DELETE the "storage" ubi volume! To flash later MR32 Firmwares like r25-201804051805-G885d6d78-dhow-rel requires in-circut-i2c tools to access the I2C EEPROM AT24C64 next to the SoC. The idea is pretty much the same as from Step 5 from above: Change the serial number to Q2XXXXXXXXXV (should be around 0x7c), then attach a serial cable, ethernet (but make sure the device can't reach the internet!) hit "s" (the small s!) during boot to enter the root-shell and add the following commands to the /storage/config there: serial_allow_odm true serial_access_enabled true serial_access_check false valid_config true and then hit exit to let it finish booting. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* Revert "bcm53xx: remove useless echo in 02_network"Adrian Schmutzler2020-08-181-2/+3
| | | | | | | | | | | | This reverts commit b1f6a5d9dffd8da30800e9e66ea772554bbba778. In this particular case, the echo command was _not_ useless, but converted the newlines back to spaces. Add a comment into the code to make that obvious for the next one looking at it like me. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm53xx: remove useless echo in 02_networkAdrian Schmutzler2020-08-171-2/+2
| | | | | | | The output is already produced in the inner $() brackets, no need to catch and echo it again. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: drop shebang from non-executable target filesAdrian Schmutzler2020-06-161-2/+0
| | | | | | | | | | | | | | 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>
* bcm53xx: add support for Luxul FullMAC WiFi devicesDan Haab2020-04-071-1/+18
| | | | | | | | | | 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>
* bcm53xx: refactor board.d code in 02_networkRafał Miłecki2020-04-031-94/+95
| | | | | | | | | | | 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>
* bcm53xx: sysupgrade: optimize building UBI imageRafał Miłecki2020-03-211-3/+3
| | | | | | | | | 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>
* bcm53xx: build images for Luxul ABR-4500 and XBR-4500 routersDan Haab2020-02-071-0/+7
| | | | | | | | 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>
* bcm53xx: sysupgrade: support Luxul NAND devicesDan Haab2019-10-151-0/+2
| | | | | | This adds support for UBI-aware sysupgrade using Luxul formats. Signed-off-by: Dan Haab <dan.haab@legrand.com>
* bcm53xx: fix sysupgrade for Luxul XWC-2000Rafał Miłecki2019-10-041-1/+1
| | | | | | Use a correct "compatible" value as in the upstream DTS file. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: sysupgrade: support Luxul firmware formatDan Haab2019-09-161-0/+84
| | | | | | | 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>
* bcm53xx: extend firmware validationRafał Miłecki2019-09-061-1/+11
| | | | | | | 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>
* bcm53xx: sysupgrade: call nand_do_upgrade() from platform_do_upgrade()Rafał Miłecki2019-07-081-17/+12
| | | | | | | | | | | Calling nand_do_upgrade() from platform_pre_upgrade() was obsoleted in the commit 30f61a34b4cf ("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>
* bcm53xx: add support for Phicomm K3Hao Dong2019-01-201-0/+6
| | | | | | | | | | | | | | | | | | | | | | | 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>
* bcm53xx: backport BCM5301X/BCM53573 dts commits from 4.19+Rafał Miłecki2018-07-281-1/+1
| | | | | | | 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>
* bcm53xx: exit if writing kernel during sysupgrade failsRafał Miłecki2018-06-181-2/+2
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: fix fallback code for picking status LEDRafał Miłecki2018-02-271-1/+1
| | | | | | | | 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: 3aaee1ba023ac ("bcm53xx: failsafe support") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: use iflag=skip_bytes for dd command during sysupgradeRafał Miłecki2017-12-291-2/+2
| | | | | | | | | | | 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>
* treewide: use only board_name function to get nameMathias Kresin2017-07-152-4/+2
| | | | | | | | | | | | 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>
* treewide: use the generic board_name functionMathias Kresin2017-07-151-5/+1
| | | | | | Use the generic function instead ot the target specific ones. Signed-off-by: Mathias Kresin <dev@kresin.me>
* base-files: automatically handle paths and symlinks for RAMFS_COPY_BINMatthias Schiffer2017-07-111-1/+1
| | | | | | | | | | | | 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>
* bcm53xx: upgrade: fix RAMFS_COPY_*Matthias Schiffer2017-07-111-2/+2
| | | | | Fixes: 30f61a34b4cf "base-files: always use staged sysupgrade" Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* bcm53xx: add missing system.sh includeRafał Miłecki2017-02-071-0/+1
| | | | | | | It's needed for macaddr_add. Fixes: 50efd403e67c ("bcm53xx: set WAN MAC address to don't share one with LAN interface") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: set Netgear R8000 USB LEDsRafał Miłecki2017-02-061-0/+18
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: set WAN MAC address to don't share one with LAN interfaceRafał Miłecki2017-02-031-1/+10
| | | | | | | | | 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>
* bcm53xx: fix LAN MAC address for devices that use eth2 originallyRafał Miłecki2017-02-011-0/+6
| | | | | | | | 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>
* bcm53xx: suppress osafeloader info error messages during flashingFelix Fietkau2017-01-301-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* bcm53xx: build image for TP-LINK Archer C9 v1Rafał Miłecki2016-11-191-0/+1
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: support SafeLoader format in sysupgradeRafał Miłecki2016-11-191-1/+34
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: add switch config for Buffalo WXR-1900DHP and WZR-1750DHPFelix Fietkau2016-11-141-0/+7
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* bcm53xx: generate proper network config for Tenda AC9Rafał Miłecki2016-08-181-0/+10
| | | | | | | 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>
* bcm53xx: drop target's preinit network support scriptRafał Miłecki2016-08-141-7/+0
| | | | | | We don't need it anymore since the rework of generic preinit script. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: calculate Seama MD5 using content of kernel partitionRafał Miłecki2016-07-041-1/+1
| | | | | | | 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>