aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
* bcm4908: use upstream accepted Ethernet driver patchesRafał Miłecki2021-02-1212-156/+1128
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* realtek: add support for Netgear GS108T v3Michael Mohr2021-02-122-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Netgear GS108T v3 is an 8 port gigabit switch with PoE-PD support on port 1. The two prior versions were built using eCos and are not currently compatible with OpenWRT. The GS108T v3 is quite similar to both the GS110TPP v1 and GS110TP v3, all of which use the same firmware image from Netgear. For this reason, the device tree is identical aside from the model and compatible values. All of the above feature a dual firmware layout, referred to as Image0 and Image1 in the Netgear firmware. Hardware specification ---------------------- * RTL8380M SoC, 1 MIPS 4KEc core @ 500MHz * 128MB DDR3-1600 DRAM (Winbond W631GG8MB-12) * 32MB 3v NOR SPI Flash (Macronix MX25L25635F or Winbond W25Q256JVFIQ) * RTL8231 GPIO extender to control the LEDs and the reset button * 8 x 10/100/1000BASE-T ports, internal PHY (RTL8218B) * UART (115200 8N1) via unpopulated standard 0.1" pin header marked J1 * Power is supplied via a 12V 1A barrel connector or 802.3af UART pinout ----------- J1 | [o]ooo ^ ||`------ GND | |`------- RX [TX out of the serial adapter] | `-------- TX [RX into the serial adapter] `---------- Vcc (3V3) [the square pin] The through holes are filled with PB-free solder which melts at 375C. They can also be drilled using a 0.9mm bit. Build configuration ------------------- * Target System: Realtek MIPS * Target Profile: Netgear GS108T v3 * Target Images -> ramdisk -> Compression: lzma * Disable other target images Boot initramfs image from U-Boot -------------------------------- 1. Press the Escape key at the `Hit Esc key to stop autoboot` prompt 2. Init network with `rtk network on` command 3. Load image with `tftpboot 0x8f000000 openwrt-realtek-generic-netgear_gs108t-v3-initramfs-kernel.bin` command 4. Boot the image with `bootm` command The switch defaults to IP 192.168.1.1 and tries to fetch the image via TFTP from 192.168.1.111. Updating the installed firmware ------------------------------- The OpenWRT ramdisk image can be flashed directly from the Netgear UI. The Image0 slot should be used in order to enable sysupgrade. As with similar switches, changing the active boot partition can be accomplished in U-Boot as follows: 1. Press the Escape key at the `Hit Esc key to stop autoboot` prompt 2. Run `setsys bootpartition {0|1}` to select the boot partition 3. Run `savesys` followed by `boota` to proceed with the boot process Signed-off-by: Michael Mohr <akihana@gmail.com>
* realtek: refactor the Netgear GS110TPP v1 device treeMichael Mohr2021-02-122-225/+139
| | | | | | | | | | | | | | | | | | | Move most of the GS110TPP v1 device tree into a dtsi so that it can be shared with the GS108T v3. Additionally: * Use macros to simplify the ethernet and switch definitions * Zero-pad the offsets and sizes in the partition map to 8 digits each The spi-max-frequency value has been changed from 10MHz to 50MHz based on an analysis of the relevant datasheets. The current driver doesn't use this property, as the clock speed is fixed. However, it's required for this type of DT node, so that's why it's present here. The firmware partition has been split in half, since this is how the stock firmware uses it. This can be used to easily revert to a stock firmware if one is written to the second image area. Signed-off-by: Michael Mohr <akihana@gmail.com>
* realtek: add and use netgear_nge for the GS110PP v1Michael Mohr2021-02-121-6/+12
| | | | | | | | The netgear_nge device will be shared between the GS108T v3 (to be added in a later commit) and the GS110PP v1. It also enables LZMA compression for the ramdisk image. Signed-off-by: Michael Mohr <akihana@gmail.com>
* ath79: fix USB power GPIO for TP-Link TL-WR810N v1Adrian Schmutzler2021-02-111-1/+1
| | | | | | | | | | | | | | | | | | The TP-Link TL-WR810N v1 is known to cause soft-brick on ath79 and work fine for ar71xx [1]. On closer inspection, the only apparent difference is the GPIO used for the USB regulator, which deviates between the two targets. This applies the value from ar71xx to ath79. Tested successfully by a forum user. [1] https://forum.openwrt.org/t/tp-link-tl-wr810n-v1-ath79/48267 Fixes: cdbf2de77768 ("ath79: Add support for TP-Link WR810N") Fixes: FS#3522 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for ELECOM WRC-1167FSINAGAKI Hiroshi2021-02-114-0/+200
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ELECOM WRC-1167FS is a 2.4/5 GHz band 11ac (WiFi-5) router, based on MT7628AN. Specification: - SoC : MediaTek MT7628AN - RAM : DDR2 64 MiB (NT5TU32M16FG-AC) - Flash : SPI-NOR 16 MiB (W25Q128JVSIQ) - WLAN : 2.4/5 GHz 2T2R - 2.4 GHz : MediaTek MT7628AN (SoC) - 5 GHz : MediaTek MT7612E - Ethernet : 10/100 Mbps x2 - Switch : MT7628AN (SoC) - LEDs/Keys : 6x, 3x (2x buttons, 1x slide-switch) - UART : through-hole on PCB - J1: 3.3V, GND, TX, RX from "J1" marking - 57600n8 - Power : 12 VDC, 1 A Flash instruction using factory image: 1. Boot WRC-1167FS normally 2. Access to "http://192.168.2.1/" and open firmware update page ("ファームウェア更新") 3. Select the OpenWrt factory image and click apply ("適用") button to perform firmware update 4. Wait ~120 seconds to complete flashing Notes: - Last 0x800000 (8 MiB) in SPI-NOR flash is not used on stock firmware - Additional padding in factory image is required to avoid incomplete flashing on stock firmware MAC addresses: - LAN : BC:5C:4C:xx:xx:68 (Config, ethaddr (text) / Factory, 0x28 (hex)) - WAN : BC:5C:4C:xx:xx:69 (Config, wanaddr (text) / Factory, 0x22 (hex)) - 2.4GHz: BC:5C:4C:xx:xx:6A (Config, rmac (text) / Factory, 0x4 (hex)) - 5GHz : BC:5C:4C:xx:xx:6B (Config, rmac2 (text) / Factory, 0x8004 (hex)) Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* kernel: bump 5.4 to 5.4.97John Audia2021-02-1115-33/+24
| | | | | | | | | | | | | | | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. Manually rebased: bcm27xx 950-0267-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch bcm53xx 180-usb-xhci-add-support-for-performing-fake-doorbell.patch layerscape 302-dts-0008-arm64-dts-ls1046a-accumulated-change-to-ls1046a-boar.patch 820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch 820-usb-0018-MLK-18794-1-usb-host-xhci-add-.bus_suspend-override.patch Build system: x86_64 Build-tested: bcm27xx/bcm2711, ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions/everything functional. Signed-off-by: John Audia <graysky@archlinux.us> [remove quilt comment, fix/adjust 820-usb-* layerscape patches] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* at91: use SPDX license identifiers on DTS filesAdrian Schmutzler2021-02-105-10/+10
| | | | | | Use SPDX license tags to allow machines to check licenses. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* target: use SPDX license identifiers on scriptsAdrian Schmutzler2021-02-1014-69/+14
| | | | | | Use SPDX license tags to allow machines to check licenses. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* target: use SPDX license identifiers on MakefilesAdrian Schmutzler2021-02-10139-555/+203
| | | | | | Use SPDX license tags to allow machines to check licenses. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm4908: update Ethernet driverRafał Miłecki2021-02-104-178/+179
| | | | | | Use the latest version sent upsteram. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* ramips: add support for Cudy WR1300Andrew Pikler2021-02-092-0/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: - SoC: MediaTek MT7621AT - RAM: 128 MB (DDR3) - Flash: 16 MB (SPI NOR) - WiFi: MediaTek MT7603E, MediaTek MT7612E - Switch: 1 WAN, 4 LAN (Gigabit) - Ports: 1 USB 3.0 - Buttons: Reset, WPS - LEDs: Power, System, Wan, Lan 1-4, WiFi 2.4G, WiFi 5G, WPS, USB - Power: DC 12V 1A tip positive UART Serial: 115200 baud Located on unpopulated 4 pin header near J4: J4 [o] Rx [o] Tx [o] GND [ ] Vcc - Do not connect Installation: Download and flash the manufacturer's built OpenWRT image available at http://www.cudytech.com/openwrt_software_download Install the new OpenWRT image via luci (System -> Backup/Flash firmware) Be sure to NOT keep settings. The force upgrade may need to be checked due to differences in router naming conventions. Recovery: - Loads only signed manufacture firmware due to bootloader RSA verification - serve tftp-recovery image as /recovery.bin on 192.168.1.88/24 - connect to any lan ethernet port - power on the device while holding the reset button - wait at least 8 seconds before releasing reset button for image to download - See http://www.cudytech.com/newsinfo/547425.html MAC addresses as verified by OEM firmware: use address source LAN *:f0 label WAN *:f1 label + 1 2g *:f0 label 5g *:f2 label + 2 The label MAC address is found in bdinfo 0xde00. Signed-off-by: Andrew Pikler <andrew.pikler@gmail.com>
* ath79: add support for D-Link DAP-3662 A1Sebastian Schaper2021-02-097-5/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: * QCA9557, 16 MiB Flash, 128 MiB RAM, 802.11n 2T2R * QCA9882, 802.11ac 2T2R * 2x Gigabit LAN (1x 802.11af PoE) * IP68 pole-mountable outdoor case Installation: * Factory Web UI is at 192.168.0.50 login with 'admin' and blank password, flash factory.bin * Recovery Web UI is at 192.168.0.50 connect network cable, hold reset button during power-on and keep it pressed until uploading has started (only required when checksum is ok, e.g. for reverting back to oem firmware), flash factory.bin After flashing factory.bin, additional free space can be reclaimed by flashing sysupgrade.bin, since the factory image requires some padding to be accepted for upgrading via OEM Web UI. Both ethernet ports are set to LAN by default, matching the labelling on the case. However, since both GMAC Interfaces eth0 and eth1 are connected to the switch (QCA8337), the user may create an additional 'wan' interface as desired and override the vlan id settings to map br-lan / wan to either the PoE or non-PoE port, depending on the individual scenario of use. So, the LAN and WAN ports would then be connected to different GMACs, e.g. config interface 'lan' option ifname 'eth0.1' ... config interface 'wan' option ifname 'eth1.2' ... config switch_vlan option device 'switch0' option vlan '1' option ports '1 0t' config switch_vlan option device 'switch0' option vlan '2' option ports '2 6t' Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net> [add configuration example] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for JCG Y2Chukun Pan2021-02-094-7/+152
| | | | | | | | | | | | | | | | | | | | | | | | JCG Y2 is an AC1300M router Hardware specs: SoC: MediaTek MT7621AT Flash: Winbond W25Q128JVSQ 16MiB RAM: Nanya NT5CB128M16 256MiB WLAN: 2.4/5 GHz 2T2R (1x MediaTek MT7615) Ethernet: 10/100/1000 Mbps x5 LED: POWER, INTERNET, 2.4G, 5G Button: Reset Power: DC 12V,1A Flash instructions: Upload factory.bin in stock firmware's upgrade page. MAC addresses map: 0x0004 *:c8 wlan2g/wlan5g/label 0xe000 *:c7 lan 0xe006 *:c6 wan Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* ath79: use internal switch for EAP300 v2Michael Pratt2021-02-083-21/+5
| | | | | | | | | | | | | | | | Have the port use GMAC1 with internal switch which fixes the issue of the ethernet LED not functioning The LED is triggered by the internal switch, not a GPIO. The GPIO for the ethernet LED was added in ath79 as it was defined in the ar71xx target but it was not functioning in ath79 for a previously unknown reason. It is unknown why that GPIO was defined as an LED in ar71xx. Signed-off-by: Michael Pratt <mcpratt@pm.me> [drop unrelated changes: model property and SPI max frequency] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: make all eth ports LAN for Engenius APsMichael Pratt2021-02-082-5/+4
| | | | | | | | | | | | | | | | | | for: - ENH202 v1 - ENS202EXT v1 - EnstationAC v1 - EWS511AP For EWS511AP, have default behavior as static ip to match the behavior of all other APs in ath79 These boards are sold as Client Bridge or Point to Point or Access Point so there is probably no benefit to have WAN by default for one of the ports, to prevent user confusion. Signed-off-by: Michael Pratt <mcpratt@pm.me>
* kernel: bump 5.4 to 5.4.96John Audia2021-02-083-5/+5
| | | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. Build system: x86_64 Build-tested: ipq806x/R7800, bcm27xx/bcm2711 Run-tested: ipq806x/R7800 Run-tested [*]: ramips/mt7621 (R6800, DIR-878 A1, EAP235-Wall) Signed-off-by: John Audia <graysky@archlinux.us> Tested-by: Stijn Segers <foss@volatilesystems.org> [*]
* bcm4908: add board.d network setupRafał Miłecki2021-02-081-0/+26
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: add Ethernet driverRafał Miłecki2021-02-085-0/+1020
| | | | | | This commit picks up pending netdev patches. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* ramips: disable default build for HooToo HT-TM02Szabolcs Hubai2021-02-071-0/+1
| | | | | | | | | | | | | | | | | | While the latest version of 19.07 release is usable, the current master is unbootable on the device in a normal way. "Normal way" installations includes: - sysupgrade (e.g. from 19.07) - RESET button recovery with Ron Curry's (Wingspinner) UBoot image (10.10.10.3 + "Kernal.bin") - RESET button recovery with original U-Boot (10.10.10.254 + "kernel") One could flash and boot the latest master sysupgrade image successfully with serial access to the device. But a sysupgrade from this state still breaks the U-Boot and soft-bricks the device. Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
* ramips: mt7621: use preferred logic in lib/upgrade/iodata.shAdrian Schmutzler2021-02-071-3/+3
| | | | | | | shellcheck recommends || and && over "-a" and "-o" because the latter are not well defined. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for I-O DATA WN-DX1200GRINAGAKI Hiroshi2021-02-074-4/+222
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I-O DATA WN-DX1200GR is a 2.4/5 GHz band 11ac (WiFi-5) router, based on MT7621A. Specification: - SoC : MediaTek MT7621A - RAM : DDR3 128 MiB - Flash : raw NAND 128 MiB - WLAN : 2.4/5 GHz 2T2R - 2.4 GHz : MediaTek MT7603E - 5 GHz : MediaTek MT7613BE - Ethernet : 10/100/1000 Mbps x5 - Switch : MediaTek MT7530 (SoC) - LEDs/keys : 2x/3x (2x buttons, 1x slide-switch) - UART : through-hole on PCB - J5: 3.3V, TX, RX, NC, GND from triangle-mark - 57600n8 - Power : 12 VDC, 1 A Flash instruction using initramfs image: 1. Boot WN-DX1200GR normally 2. Access to "http://192.168.0.1/" and open firmware update page ("ファームウェア") 3. Select the OpenWrt initramfs image and click update ("更新") button to perform firmware update 4. On the initramfs image, perform sysupgrade with the squashfs-sysupgrade image 5. Wait ~120 seconds to complete flashing Notes: - currently, mt7615e driver in mt76 doesn't fully support MT7613 (MT7663) wifi chip - the eeprom data in flash is not used by mt7615e driver and the driver reports the tx-power up to 3dBm - the correct MAC address for MT7613BE in eeprom data cannot be assigned to the phy - last 0x80000 (512 KiB) in NAND flash is not used on stock firmware - stock firmware requires "customized uImage header" (called as "combo image") by MSTC (MitraStar Technology Corp.), but U-Boot doesn't - uImage magic ( 0x0 - 0x3 ) : 0x434F4D43 ("COMC") - header crc32 ( 0x4 - 0x7 ) : with "data length" and "data crc32" - image name (0x20 - 0x37) : model ID and firmware versions - data length (0x38 - 0x3b) : kernel + rootfs - data crc32 (0x3c - 0x3f) : kernel + rootfs MAC addresses: LAN: 50:41:B9:xx:xx:08 (Ubootenv, ethaddr (text) / Factory, 0x1E000 (hex)) WAN: 50:41:B9:xx:xx:0A (Factory, 0x1E006 (hex)) 2.4GHz: 50:41:B9:xx:xx:08 (Factory, 0x4 (hex)) 5GHz: 50:41:B9:xx:xx:09 (Factory, 0x8004 (hex)) Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> [add check whether dflag_offset is set] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: kernel: reenable the TRNGDaniel González Cabanelas2021-02-071-53/+2
| | | | | | | | | | | The hardware random number generator driver for bcm63xx was merged with the one used by the Raspberry Pi. Now this driver is lost. Reenable the HW_RANDOM kernel config with the new driver. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com> [refresh kernel config] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* mpc85xx: refresh kernel configPawel Dembicki2021-02-061-68/+16
| | | | | | Simple "make kernel_oldconfig" was done. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* kirkwood: use 3 temperature sensors for Zyxel NSA310BThomas Beckler2021-02-051-4/+16
| | | | | | | | | | | | | | | | | | | | Instead of taking the input of one temperature sensor (temp1), the script takes into account three temperature sensors to control the PWM of the cooling fan. temp1 -> placed on main board temp2 -> placed on main board temp3 -> placed on or close to chipset All three temperatures give valid input for the PWM of the fan on NSA310 and are actually changing. Tested on two NSA310. Signed-off-by: Thomas Beckler <thomas.beckler@hotmail.com> Reviewed-by: Alberto Bursi <bobafetthotmail@gmail.com> [commit title/message facelift, code cleanup] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: wrap ucidef_add_switch in 02_networkAdrian Schmutzler2021-02-051-1/+2
| | | | | | Wrap line to be consistent with all other definitions. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* build: move elx-header into image-commands.mkYanase Yuki2021-02-051-20/+0
| | | | | | | ELECOM WAB-I1750-PS will need this in ath79, so move it to common Makefile. Signed-off-by: Yanase Yuki <dev@zpc.sakura.ne.jp>
* kirkwood: refresh kernel configSungbo Eo2021-02-051-63/+2
| | | | | | Refresh config with make kernel_oldconfig. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* lantiq: change phy-mode to mii for FRITZ!Box 7412Aleksander Jan Bajkowski2021-02-051-1/+1
| | | | | | | | | | | FRITZ!Box 7412 loads the firmware for fast ethernet PHY and mii is more accurate in this case. Gmii is used by Gigabit ethernet PHYs. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl> Reviewed-by: Mathias Kresin <dev@kresin.me> [minor commit title/message adjustments] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: replace full-text BSC license by SPDX identifierAdrian Schmutzler2021-02-051-27/+1
| | | | | | | | | | This replaces a full-text BSD clause by the corresponding SPDX identifier. This should make it easier to identify the license both by humans and machines. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: replace full-text licenses by SPDX identifierAdrian Schmutzler2021-02-0512-269/+12
| | | | | | | | | | This replaces several full-text and abbreviated licenses found in DTS files by the corresponding SPDX identifiers. This should make it easier to identify the license both by humans and machines. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for UniElec U7621-01David Bentham2021-02-053-0/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UniElec U7621-01 is a router platform board, the smaller model of the U7621-06. The device has the following specifications: - MT7621AT (880 MHz) - 256 of RAM (DDR3) - 16 MB of FLASH (SPI NOR) - 5x 1 Gbps Ethernet (MT7621 built-in switch) - 1x 2.4Ghz MT7603E - 1x 5Ghz MT7612 - 1x miniPCIe slots (PCIe bus only) - 1x miniSIM slot - 1x USB 2.0 (uses the usb 3.0 driver) - 8x LEDs (1x GPIO-controlled) - 1x reset button - 1x UART header (4-pins) - 1x GPIO header (30-pins) - 1x DC jack for main power (12 V) The following has been tested and is working: - Ethernet switch - 1x 2.4Ghz MT7603E (wifi) - 1x 5Ghz MT7612 (wifi) - miniPCIe slots (tested with Wi-Fi cards and LTE modem cards) - miniSIM slot (works with normal size simcard) - sysupgrade - reset button Installation: This board has no locked down bootloader. The seller can be asked to install openwrt v18.06, so upgrades are standard sysupgrade method. Recovery: This board contains a Chinese, closed-source bootloader called Breed (Boot and Recovery Environment for Embedded Devices). Breed supports web recovery and to enter it, you keep the reset button pressed for around 5 seconds during boot. Your machine will be assigned an IP through DHCP and the router will use IP address 192.168.1.1. The recovery website is in Chinese, but is easy to use. Click on the second item in the list to access the recovery page, then the second item on the next page is where you select the firmware. In order to start the recovery, you click the button at the bottom. LEDs list (left to right): - ESW_P0_LED_0 - ESW_P1_LED_0 - ESW_P2_LED_0 - ESW_P3_LED_0 - ESW_P4_LED_0 - CTS2_N (GPIO10, configured as "status" LED) - LED_WLAN# (connected with pin 44 in wifi1 slot) Signed-off-by: David Bentham <db260179@gmail.com> [add DEVICE_VARIANT, fix DEVICE_PACKAGES, remove &gpio] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Meraki MR12Martin Kennedy2021-02-057-9/+209
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Port device support for Meraki MR12 from the ar71xx target to ath79. Specifications: - SoC: AR7242-AH1A CPU - RAM: 64MiB (NANYA NT5DS32M16DS-5T) - NOR Flash: 16MiB (MXIC MX25L12845EMI-10G) - Ethernet: 1 x PoE Gigabit Ethernet Port (SoC MAC + AR8021-BL1E PHY) - Ethernet: 1 x 100Mbit port (SoC MAC+PHY) - Wi-Fi: Atheros AR9283-AL1A (2T2R, 11n) Installation: 1. Requires TFTP server at 192.168.1.101, w/ initramfs & sysupgrade .bins 2. Open shell case 3. Connect a USB->TTL cable to headers furthest from the RF shield 4. Power on the router; connect to U-boot over 115200-baud connection 5. Interrupt U-boot process to boot Openwrt by running: setenv bootcmd bootm 0xbf0a0000; saveenv; tftpboot 0c00000 <filename-of-initramfs-kernel>.bin; bootm 0c00000; 6. Copy sysupgrade image to /tmp on MR12 7. sysupgrade /tmp/<filename-of-sysupgrade>.bin Notes: - kmod-owl-loader is still required to load the ART partition into the driver. - The manner of storing MAC addresses is updated from ar71xx; it is at 0x66 of the 'config' partition, where it was discovered that the OEM firmware stores it. This is set as read-only. If you are migrating from ar71xx and used the method mentioned above to upgrade, use kmod-mtd-rw or UCI to add the MAC back in. One more method for doing this is described below. - Migrating directly from ar71xx has not been thoroughly tested, but one method has been used a couple of times with good success, migrating 18.06.2 to a full image produced as of this commit. Please note that these instructions are only for experienced users, and/or those still able to open their device up to flash it via the serial headers should anything go wrong. 1) Install kmod-mtd-rw and uboot-envtools 2) Run `insmod mtd-rw.ko i_want_a_brick=1` 3) Modify /etc/fw_env.config to point to the u-boot-env partition. The file /etc/fw_env.config should contain: # MTD device env offset env size sector size /dev/mtd1 0x00000 0x10000 0x10000 See https://openwrt.org/docs/techref/bootloader/uboot.config for more details. 4) Run `fw_printenv` to verify everything is correct, as per the link above. 5) Run `fw_setenv bootcmd bootm 0xbf0a0000` to set a new boot address. 6) Manually modify /lib/upgrade/common.sh's get_image function: Change ... cat "$from" 2>/dev/null | $cmd ... into ... ( dd if=/dev/zero bs=1 count=$((0x66)) ; # Pad the first 102 bytes echo -ne '\x00\x18\x0a\x12\x34\x56' ; # Add in MAC address dd if=/dev/zero bs=1 count=$((0x20000-0x66-0x6)) ; # Pad the rest cat "$from" 2>/dev/null ) | $cmd ... which, during the upgrade process, will pad the image by 128K of zeroes-plus-MAC-address, in order for the ar71xx's firmware partition -- which starts at 0xbf080000 -- to be instead aligned with the ath79 firmware partition, which starts 128K later at 0xbf0a0000. 7) Copy the sysupgrade image into /tmp, as above 8) Run `sysupgrade -F /tmp/<sysupgrade>.bin`, then wait Again, this may BRICK YOUR DEVICE, so make *sure* to have your serial cable handy. Signed-off-by: Martin Kennedy <hurricos@gmail.com> [add LED migration and extend compat message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for Hi-Link HLK-7688AEwan Parker2021-02-054-0/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: - SoC: MediaTek MT7688AN - RAM: 128 MB - Flash: 32 MB - Ethernet: 5x 10/100 (1x WAN, 4x LAN) - Wireless: built in 2.4GHz (bgn) - USB: 1x USB 2.0 port - Buttons: 1x Reset - LEDs: 1x (WiFi) Flash instructions: - Configure TFTP server with IP address 10.10.10.3 - Name the firmware file as firmware.bin - Connect any Ethernet port to the TFTP server's LAN - Choose option 2 in U-Boot - Alternatively choose option 7 to upload firmware to the built-in web server MAC addresses as verified by OEM firmware: use address source 2g *:XX factory 0x4 LAN *:XX+1 factory 0x28 WAN *:XX+1 factory 0x2e Notes: This board is ostensibly a module containing the MediaTek MT7688AN SoC, 128 MB DDR2 SDRAM and 32 MB flash storage. The SoC can be operated in IoT Gateway Mode or IoT Device Mode. From some vendors the U-Boot that comes installed operates on UART 2 which is inaccessible in gateway mode and operates unreliably in the Linux kernel when using more than 64 MB of RAM. For those, updating U-Boot is recommended. Signed-off-by: Ewan Parker <ewan@ewan.cc> [add WLAN to 01_leds] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.95John Audia2021-02-042-38/+1
| | | | | | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. Removed upstreamed patches: imx6: 303-ARM-dts-imx6qdl-gw52xx-fix-duplicate-regulator-namin.patch Build system: x86_64 Build-tested: ipq806x/R7800, bcm27xx/bcm2711 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
* bcm63xx: sprom: override the PCI device IDDaniel González Cabanelas2021-02-022-1/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PCI device ID detected by the wifi drivers on devices using a fallback SPROM is wrong. Currently the chipnum is used for this parameter. Most SSB based Broadcom wifi chips are 2.4 and 5GHz capable. But on devices without a physical SPROM, the only one way to detect if the device suports both bands or only the 5GHz band, is by reading the device ID from the fallback SPROM. In some devices, this may lead to a non working wifi on a 5GHz-only card, or in the best case a working 2.4GHz-only in a dual band wifi card. The offset for the deviceid in SSB SPROMs is 0x0008, whereas in BCMA is 0x0060. This is true for any SPROM version. Override the PCI device ID with the one defined at the fallback SPROM, to detect the correct wifi card model and allow using the 5GHz band if supported. The patch has been tested with the following wifi radios: BCM43222: b43: both 2.4/5GHz working brcm-wl: both 2.4/5GHz working BCM43225: b43: 2.4GHz, working brcmsmac: working brcm-wl: it lacks support BCM43217: b43: 2.4GHz, working brcmsmac: it lacks support brcm-wl: it lacks support Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com> [amend commit description, rework patch to avoid using a new global variable and keep ssb sprom extraction code as close to ssb/pci.c as possible] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: backport upstream SSB SPROM extractionÁlvaro Fernández Rojas2021-02-026-38/+102
| | | | | | | New upstream changes extract more SPROM values and fix the antenna gain. These changes can be found in linux drivers/ssb/pci.c. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: bump 5.4 to 5.4.94John Audia2021-02-018-29/+29
| | | | | | | | | | | | All modification made by update_kernel.sh in a fresh clone without existing toolchains. Build-tested: bcm27xx/bcm2711, ipq806x/R7800, Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
* ath79: ag71xx: add ethtool statistics supportLeon Leijssen2021-02-011-0/+86
| | | | | | | | | Add statistics to ethtool. The statistics can be useful to debug network issues. The code is backported from mainline ag71xx.c driver. Signed-off-by: Leon Leijssen <leon.git@leijssen.info>
* ath79: add support for Ubiquiti UniFi AP Outdoor+David Bauer2021-02-016-55/+180
| | | | | | | | | | | | | | | | | | | Hardware -------- Atheros AR7241 16M SPI-NOR 64M DDR2 Atheros AR9283 2T2R b/g/n 2x Fast Ethernet (built-in) Installation ------------ Transfer the Firmware update to the device using SCP. Install using fwupdate.real -m <openwrt.bin> -d Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: convert UniFi Outdoor+ HSR support to OFDavid Bauer2021-02-011-2/+0
| | | | | | | | Enable support for the Ubiquiti UniFi Outdoor+ RF filter via device-tree. The old way of using platform data is not required anymore, as it was only used on the now removed ar71xx target. Signed-off-by: David Bauer <mail@david-bauer.net>
* mvebu: omnia: make initramfs image usable out of the boxPetr Štetiar2021-01-311-2/+2
| | | | | | | | | | | | | | | Currently it's not possible to boot the device with just initramfs image without additional effort as the initramfs image doesn't contain device tree. Fix it by producing FIT based image which could be booted with following commands: setenv bootargs earlyprintk console=ttyS0,115200 tftpboot ${kernel_addr_r} openwrt-mvebu-cortexa9-cznic_turris-omnia-initramfs-kernel.bin bootm ${kernel_addr_r} Acked-by: Klaus Kudielka <klaus.kudielka@gmail.com> Reviewed-by: Tomasz Maciej Nowak <tmn505@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* mvebu: LS421DE: fix the thermal zonesDaniel González Cabanelas2021-01-301-13/+42
| | | | | | | | | | | | | | | | | | | | | | The thermal zones kernel documentation is misleading, we cannot use more than one sensor in a thermal zone node. Furthermore the drivetemp driver for some reason it only catches one sensor from the hard drives array (the first available). In the Buffalo Linkstation LS421DE board there is also a sensor at the ethernet phy chip that can also be monitored. Very useful to stop the fan when there are no hard drives in the bays. (It might be also possible to add the CPU sensor, but it requires kernel patching for registering the sensor via device tree, using the function: devm_thermal_zone_of_sensor_register) Fix the thermal zones to use only one sensor per node and add the ethernet phy sensor. Also adjust the hdd temperatures to be more conservative for a mechanical hard drive. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
* ramips: add support for ELECOM WRC-2533GHBK-IINAGAKI Hiroshi2021-01-293-0/+218
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ELECOM WRC-2533GHBK-I is a 2.4/5 GHz band 11ac (Wi-Fi 5) router, based on MT7621A. Specification: - SoC : MediaTek MT7621A - RAM : DDR3 128 MiB - Flash : SPI-NOR 16 MiB - WLAN : 2.4/5 GHz 4T4R (2x MediaTek MT7615) - Ethernet : 10/100/1000 Mbps x5 - Switch : MediaTek MT7530 (SoC) - LED/keys : 4x/3x (2x buttons, 1x slide-switch) - UART : through-hole on PCB - J4: 3.3V, RX, GND, TX from SoC side - 57600n8 - Power : 12VDC, 1.5A Flash instruction using factory image: 1. Boot WRC-2533GHBK-I normally 2. Access to "http://192.168.2.1/" and open firmware update page ("ファームウェア更新") 3. Select the OpenWrt factory image and click apply ("適用") button 4. Wait ~150 seconds to complete flashing MAC addresses: LAN : BC:5C:4C:xx:xx:89 (Config, ethaddr (text)) WAN : BC:5C:4C:xx:xx:88 (Config, wanaddr (text)) 2.4GHz : BC:5C:4C:xx:xx:8A (Factory, 0x4 (hex)) 5GHz : BC:5C:4C:xx:xx:8B (Factory, 0x8004 (hex)) Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Reviewed-by: Sungbo Eo <mans0n@gorani.run>
* build: add elecom-product-header for ELECOM devicesINAGAKI Hiroshi2021-01-291-7/+3
| | | | | | | | | A header used in ELECOM WRC-300GHBK2-I and WRC-1750GHBK2-I/C is also used in ELECOM WRC-2533GHBK-I, so split the code to generate the header and move it to image-commands.mk to use from ramips target. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Reviewed-by: Sungbo Eo <mans0n@gorani.run>
* treewide: drop shebang from non-executable lib filesAdrian Schmutzler2021-01-293-8/+0
| | | | | | | | | | | | This drops the shebang from another bunch of files in various /lib folders, as these are sourced and the shebang is useless. Fix execute bit in one case, too. This should cover almost all trivial cases now, i.e. where /lib is actually used for library files. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.93John Audia2021-01-2928-47/+47
| | | | | | | | | | | | | | | | | All modification made by update_kernel.sh in a fresh clone without existing toolchains. Build system: x86_64 Build-tested: ipq806x/R7800, bcm27xx/bcm2711 Run-tested: ipq806x/R7800 Compile-tested [*]: ath79/{tiny,generic}, ipq40xx, octeon, ramips/mt7621, realtek, x86/64 Run-tested [*]: ath79/generic, ipq40xx, octeon, ramips/mt7621 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-by: Stijn Segers <foss@volatilesystems.org> [*]
* bcm63xx: fix bcm63xx ethernet kernel panicsÁlvaro Fernández Rojas2021-01-287-17/+52
| | | | | | | | | | | | Calling netdev_reset_queue() from _stop() functions is causing sporadic kernel panics on bcm63xx, which happen mainly on BCM6318 and BCM6328. This reverts to the previous behaviour, which called netdev_reset_queue() from _open() functions. Tested on Comtrend AR-5315u (BCM6318). Fixes: 1d6f422e346b ("bcm63xx: sync ethernet driver with net-next") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* sunxi: add support for linksprite pcDuino3 nano boardJiang Yongquan2021-01-273-1/+9
| | | | | | | | | | | | | | | | | | Specifications: - SoC: Allwinner A20 @ 1Ghz - DRAM: 1GiB DDR3 @ 408MHz (K4B4G1646Q-HYK0) - NAND: 4GB MLC NAND (H27UBG8T2BTR-BC) - Ethernet: 10/100/1000Mbps Ethernet (Realtek RTL8211E) Flash instructions: dd if=openwrt-sunxi-cortexa7-linksprite_pcduino3-nano-ext4-sdcard.img of=/dev/sdX Signed-off-by: Jiang Yongquan <woxwchc@foxmail.com> [Remove CONFIG_REALTEK_PHY from sunxi/cortexa53 config] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* rockchip: fix SUPPORTED_DEVICES for Radxa ROCK Pi 4Marty Jones2021-01-271-1/+2
| | | | | | | | | | | This sets SUPPORTED_DEVICES to match the compatible in the DTS. While at it, synchronize the capitalization in DEVICE_MODEL and DTS model. Signed-off-by: Marty Jones <mj8263788@gmail.com> [commit title/message facelift, move variable in armv8.mk] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>