aboutsummaryrefslogtreecommitdiffstats
path: root/target
Commit message (Collapse)AuthorAgeFilesLines
* kernel: properly condition EM919x patchKoen Vandeputte2022-08-091-4/+23
| | | | | | | | Properly format and refresh patch Fixes: d03977faf4 ("kernel: backport support for Sierra Wireless EM919x modems") Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* Revert "nftables: fix parsing date expressions"Jo-Philipp Wich2022-08-091-0/+3
| | | | | | | | This reverts commit eada8925776aafa3ec47d66fb89bf7eae730edf7. The commit contained unrelated target changes. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* nftables: fix parsing date expressionsJo-Philipp Wich2022-08-091-3/+0
| | | | | | | | Musl libc does not support the non-POSIX "%F" format for strptime() so replace all occurrences of it with an equivalent "%Y-%m-%d" format. Fixes: #10419 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* kernel: add missing 5.15 symbolsKoen Vandeputte2022-08-081-0/+6
| | | | | | Found while testing various platforms Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: backport support for Sierra Wireless EM919x modemsKoen Vandeputte2022-08-081-0/+61
| | | | | | | Adds support for Sierra Wireless EM919x modem (X55 5G) Backported from kernel 5.16 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ramips: add support for ZyXEL LTE3301-PlusAndré Valentin2022-08-067-1/+251
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ZyXEL LTE3301-PLUS is an 4G indoor CPE with 2 external LTE antennas. Specifications: - SoC: MediaTek MT7621AT - RAM: 256 MB - Flash: 128 MB MB NAND (MX30LF1G18AC) - WiFi: MediaTek MT7615E - Switch: 4 LAN ports (Gigabit) - LTE: Quectel EG506 connected by USB3 to SoC - SIM: 1 micro-SIM slot - USB: USB3 port - Buttons: Reset, WPS - LEDs: Multicolour power, internet, LTE, signal, Wifi, USB - Power: 12V, 1.5A The device is built as an indoor ethernet to LTE bridge or router with Wifi. UART Serial: 57600N1 Located on populated 5 pin header J5: [o] GND [ ] key - no pin [o] RX [o] TX [o] 3.3V Vcc MAC assignment: lan: 98:0d:67:ee:85:54 (base, on the device back) wlan: 98:0d:67:ee:85:55 Installation from web GUI: - Log in as "admin" on http://192.168.1.1/ - Upload OpenWrt initramfs-recovery.bin image on the Maintenance -> Firmware page - Wait for OpenWrt to boot and ssh to root@192.168.1.1 - format ubi device: ubiformat /dev/mtd6 - attach ubi device: ubiattach -m6 - create rootfs volume: ubimkvol /dev/ubi0 -n0 -N rootfs -s 1MiB - rootfs_data volume: ubimkvol /dev/ubi0 -n1 -N rootfs_data -s 1MiB - run sysupgrade with sysupgrade image For more details about flashing see commit 2449a632084b ("ramips: mt7621: Add support for ZyXEL NR7101"). Please note that this commit is needed: firmware-utils: add marcant changes for ZyXEL NBG6716 and LTE3301-PLUS Signed-off-by: André Valentin <avalentin@marcant.net>
* ath79: add support for Sophos AP15Manuel Niekamp2022-08-064-0/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Sophos AP15 seems to be very close to Sophos AP55/AP100. Based on: commit 6f1efb289837 ("ath79: add support for Sophos AP100/AP55 family") author Andrew Powers-Holmes <andrew@omnom.net> Fri, 3 Sep 2021 15:53:57 +0200 (23:53 +1000) committer Hauke Mehrtens <hauke@hauke-m.de> Sat, 16 Apr 2022 16:59:29 +0200 (16:59 +0200) Unique to AP15: - Green and yellow LED - 2T2R 2.4GHz 802.11b/g/n via SoC WMAC - No buttons - No piezo beeper - No 5.8GHz Flashing instructions: - Derived from UART method described in referenced commit, methods described there should work too. - Set up a TFTP server; IP address has to be 192.168.99.8/24 - Copy the firmware (initramfs-kernel) to your TFTP server directory renaming it to e.g. boot.bin - Open AP's enclosure and locate UART header (there is a video online) - Terminal connection parameters are 115200 8/N/1 - Connect TFTP server and AP via ethernet - Power up AP and cancel autoboot when prompted - Prompt shows 'ath> ' - Commands used to boot: ath> tftpboot 0x81000000 boot.bin ath> bootm 0x81000000 - Device should boot OpenWRT - IP address after boot is 192.168.1.1/24 - Connect to device via browser - Permanently flash using the web ui (flashing sysupgrade image) - (BTW: the AP55 images seem to work too, only LEDs are not working) Testing done: - To be honest: Currently not so much testing done. - Flashed onto two devices - Devices are booting - MAC addresses are correct - LEDs are working - Scanning for WLANs is working Big thanks to all the people working on this great project! (Sorry about my english, it is not my native language) Signed-off-by: Manuel Niekamp <m.niekamp@richter-leiterplatten.de>
* ath79: add variant UniFi AP LRJan-Niklas Burfeind2022-08-062-0/+16
| | | | | | | | | The hardware difference is the antenna which has a higher gain compared to the original UniFi AP. The variant was supported before in ar71xx. Signed-off-by: Jan-Niklas Burfeind <git@aiyionpri.me>
* ath79: rename references of UniFi to UniFi APJan-Niklas Burfeind2022-08-063-6/+11
| | | | | | | | | extract the compatible and model to make room for other variants follow-up of commit dc23df8a8ca7 ("ath79: change Ubiquiti UniFi AP model name to include "AP"") Signed-off-by: Jan-Niklas Burfeind <git@aiyionpri.me>
* ramips: mt7628: fix memory controller reset bitReto Schneider2022-08-061-1/+1
| | | | | | | | | | | According to MediaTek MT7688 Datasheet v1.4, as well as the MT7628 counterpart, the memory controller reset bit (MC_RST) is 10, not 20. Reset bit 20 is used for for UART 2 (UART2_RST). Please note: Due to the lack of hardware, I was not able to test this change. Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
* ramips: add support for Netcore NW5212David Yang2022-08-064-7/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Netcore NW5212, provided by some carrier in China. Specifications: -------------- * SoC: Mediatek MT7620A * RAM: 128MB DDR2 * Flash: 16MB SPI NOR flash (Winbond W25Q128BV) * WiFi 2.4GHz: builtin * Ethernet: builtin * LED: Power, WAN, LAN 1-4, WiFi * Buttons: Reset (GPIO 13) * UART: Serial console (57600 8n1) * USB: 1 x USB2 Installation: ------------ The router comes with OpenWrt 14.07 built with MTK SDK. However, as the modem is provided by carriers, so the web interface is highly minimized and only contains a static page with no interaction options. There are two possible ways to gain the access. 1) Open the shell and use a UART2USB convert to gain TTY access. Please notice you have to remove resistance R54 at the back of the board otherwise you won't be able to input anything. 2) Use built-in backdoor. Access http://192.168.1.1/cgi-bin/_/testxst to start dropbear service at port 9122. Be warned the software is super old and only diffie-hellman-group1-sha1, diffie-hellman-group14-sha1, kexguess2@matt.ucc.asn.au is support, you may not be able to connect it with an up-to-date ssh client. After you can control the device, flash the firmware as usual. Here are some hints for that. Option 1 (via original firmware): 1) Setup HTTP server on your computer, for example: python3 -m http.server 2) Connect to the route and flash: cd /tmp wget http://<your-computer-host>/<your-firmware-name> mtd -r write <your-firmware-name> firmware Option 2 (replacing u-boot via breed): 1) Download breed-mt7620-reset13.bin from https://breed.hackpascal.net/ 2) Setup HTTP server on your computer, for example: python3 -m http.server You can skip this step if your breed is already accessible from HTTP, since the original wget does not support HTTPS. 3) Connect to the route and flash breed: cd /tmp wget http://<your-computer-host>/breed-mt7620-reset13.bin mtd write breed-mt7620-reset13.bin Bootloader 4) Reboot. Hold reset key or press any key in TTY to enter breed. 5) Access breed web interface (http://192.168.1.1/). Choose the flash layout to be 0x50000 and flash new firmware. MAC addresses: ------------- There are three MACs stored in factory, as in MT7620A reference design: source address usage 0x4 label WLAN 0x28 label MAC 1 0x2e label + 1 MAC 2 However, the OEM firmware only uses one single MAC (label) for all interfaces, probably a misconfiguration. Signed-off-by: David Yang <mmyangfl@gmail.com>
* ramips: add support for Netgear PR2000David Yang2022-08-064-0/+210
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Netgear PR2000, sold as "Travel Router and Range Extender". Specifications: -------------- * SoC: Mediatek MT7620N * RAM: 64MB DDR2 * Flash: 16MB SPI NOR flash (Macronix MX25L12805D) * WiFi 2.4GHz: builtin * Ethernet: builtin * LED: Power, Internet, WiFi, USB * Buttons: Reset (GPIO 1/2) * UART: Serial console (57600 8n1) * USB: 1 x USB2 SPECIAL NOTES: ------------- Problem: WiFi is super weak, but SSID beacons seems to be right. Solve: Change 36h in factory partition (namely 0xf60036) to be 0x0. Explain: Clearly Netgear have different ideas on how EEPROM is used. Bit 2 of 36h indicates the presence of External LNA for 11g (2.4 GHz) band, which seems to be incorrectly set by Netgear (originally 0x04). Lifting it solves the problem of weak RX signal. Installation: ------------ There are two possible ways to install the firmware. Flashing via web interface of original firmware is not tested due to a broken firmware. 1) Open the shell and use a UART2USB convert to gain TTY access (TP7: RXD, TP9: TXD, TP10: GND). Please notice you have to remove resistance R54 next to TP7 otherwise you won't be able to input anything. 2) Use well-known Netgear debug switch. Access http://192.168.168.1/setup.cgi?todo=debug to start telnet service (username: root, password: <none>). Please back up firmware if you want to go back to the original. After you can control the device, flash the firmware as usual. Here are some hints for that. Option 1 (via nmrpflash): 1) Download nmrpflash from https://github.com/jclehner/nmrpflash 2) Use *-factory.img and flash: nmrpflash -L nmrpflash -i net* -f <your-firmware-name> 3) Turn off then turn on the device, wait it finishing flash. Option 2 (replacing u-boot via breed): 1) Download breed-mt7620-reset1.bin from https://breed.hackpascal.net/ 2) Setup HTTP server on your computer, for example: python3 -m http.server You can skip this step if your breed is already accessible from HTTP, since the original wget does not support HTTPS. 3) Connect to the route and flash breed: cd /tmp wget http://<your-computer-host>/breed-mt7620-reset1.bin dd if=breed-mt7620-reset1.bin of=/dev/mtdblock0 bs=64k 4) Reboot. Hold reset key or press any key in TTY to enter breed. 5) Access breed web interface (http://192.168.1.1/). Choose memory layout to be 0x40000 and flash new firmware. Remark: ------ As a "Range Extender", it has a switch to switch between Wired mode (GPIO 21 low) and Wireless mode (GPIO 20 low), which is not implemented in this patch. However, the router will be turned off when it switches to the middle, which makes this switch much less useful. MAC addresses: ------------- The OEM firmware uses one single MAC for all interfaces, located at 0xf700b0. Signed-off-by: David Yang <mmyangfl@gmail.com>
* ramips: adding support for Asus RP-AC56Lea Teuberth2022-08-063-0/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: CPU: MT7621A dual-core 880MHz RAM: 64MB DDR2 FLASH: 16MB MX25L12805D NOR SPI WIFI: 2.4GHz 2x2 MT7603 b/g/n PCI WIFI: 5GHz 2x2 MT7662 a/b/ac PCI ETH: 1xLAN 1000base-T integrated SWITCH: MT7530 Port 0: LAN, Port 6: CPU LED: Power, 2.4GHz WiFi, 5GHz WiFi BTN: WPS, Reset UART: Near ETH port, from ETH: 3V3-TxD-GND-RxD 57600 8n1 MISC: Audio support Installation: 1. Update using recovery mode - while holdig "reset" button, power on the device - keep holding "reset" until power led is flashing yellow - set own IP to 192.168.1.75, subnet mask: 255.255.255.0 - push firmware image (can be factory.bin or sysupgrade.bin) using tftp client in binary mode to 192.168.1.1 Notes: This board has only two MAC addresses programmed in the "factory" partition: - MAC for wlan0 (2.4GHz) at offset 0x0004 - MAC for wlan1 (5GHz) at offset 0x8004 - stock firmware re-uses wlan0 MAC for ethernet - no valid addresses found in 0x28, 0x2e, 0xe000 and 0xe006 Signed-off-by: Lea Teuberth <lea.teuberth@outlook.com>
* kernel: bump 5.10 to 5.10.135John Audia2022-08-062-5/+5
| | | | | | All patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.15 to 5.15.59John Audia2022-08-064-8/+8
| | | | | | | | | | Patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <therealgraysky@proton.me>
* generic: 5.15: disable CONFIG_DEBUG_INFO_REDUCED symbolPetr Štetiar2022-08-061-0/+1
| | | | | | | This came up during build testing of mvebu/cortexa9 target with 5.15 kernel. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* realtek: add support for Panasonic Switch-M48eG PN28480KINAGAKI Hiroshi2022-08-062-0/+391
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Panasonic Switch-M48eG PN28480K is a 48 + 4 port gigabit switch, based on RTL8393M. Specification: - SoC : Realtek RTL8393M - RAM : DDR3 128 MiB (Winbond W631GG8KB-15) - Flash : SPI-NOR 32 MiB (Macronix MX25L25635FMI-10G) - Ethernet : 10/100/1000 Mbps x48 + 2 - port 1-40 : TP, RTL8218B x5 - port 41-48 : RTL8218FB - port 41-44: TP - port 45-48: TP/SFP (Combo) - LEDs/Keys : 7x / 1x - UART : RS-232 port on the front panel (connector: RJ-45) - 3:TX, 4:GND, 5:GND, 6:RX (pin number: RJ-45) - 9600n8 - Power : 100-240 VAC, 50/60 Hz, 0.5 A - Plug : IEC 60320-C13 - Stock OS : VxWorks based Flash instruction using initramfs image: 1. Prepare the TFTP server with the IP address 192.168.1.111 2. Rename the OpenWrt initramfs image to "0101A8C0.img" and place it to the TFTP directory 3. Download the official upgrading firmware (ex: pn28480k_v30000.rom) and place it to the TFTP directory 4. Boot M48eG and interrupt the U-Boot with Ctrl + C keys 5. Execute the following commands and boot with the OpenWrt initramfs image rtk network on tftpboot 0x81000000 bootm 6. Backup mtdblock files to the computer by scp or anything and reboot 7. Interrupt the U-Boot and execute the following commands to re-create filesystem in the flash ffsmount c:/ ffsfmt c:/ this step takes a long time, about ~ 4 mins 8. Execute the following commands to put the official images to the filesystem updatert <official image> example: updatert pn28480k_v30000.rom this step takes about ~ 40 secs 9. Set the environment variables of the U-Boot by the following commands setenv loadaddr 0xb4e00000 setenv bootcmd 'sleep 10; bootm;' saveenv 'sleep 10;' is required as dummy to execute 'bootm' command correctly 10: Download the OpenWrt initramfs image and boot with it tftpboot 0x81000000 0101A8C0.img bootm 11: On the initramfs image, download the sysupgrade image and perform sysupgrade with it sysupgrade <imagename> 12: Wait ~ 120 seconds to complete flashing Known Issues: - 4x SFP ports are provided as combo ports by the RTL8218FB chip, but the phy driver has no support for it. Currently, only TP ports work by the RTL8218B support. Note: - "Switch-M48eG" is a model name, and "PN28480K" is a model number. Switch-M48eG has an another (old) model number ("PN28480"), it's not a Realtek based hardware. - Switch-M48eG has a "POWER" LED (Green), but it's not connected to any GPIO pin. - U-Boot checks the runtime images in the flash when booting and fails to execute "bootcmd" variable if the images are not existing. - A filesystem is formed in the flash (0x100000-0x1DFFFFF) on the stock firmware and it includes the stock images, configuration files and checksum files. It's unknown format, can't be managed on the OpenWrt. To get the enough space for OpenWrt, move the filesystem to the head of "fs_reserved" partition by execution of "ffsfmt" and "updatert". - A GPIO pin on PCA9539 is used for resetting external RTL8218B phys and RTL8218FB phy. This should be specified as "reset-gpios" property in MDIO node, but the current configuration of RTL8218B phy in the driver seems to be incomplete and RTL8218FB won't be configured on RTL8218D support. So, ethernet ports on these phys will be broken after hard-resetting. At the moment, configure this pin as gpio-hog to avoid breaking by resetting. - This model has 2x Microchip TCN75A thermal sensors. Linux Kernel supports TCN75 chip on lm75 driver, but no support for TCN75'A' variant. At the moment, use TCN75 support for the chips instead. Back to the stock firmware: 1. Delete "loadaddr" variable and set "bootcmd" to the original value on U-Boot: setenv loadaddr setenv bootcmd 'ffsrdm c:/runtime.had 0x81000000;alphadec c:/runtime.had 0x81000240 0x80010000;' on OpenWrt: fw_setenv loadaddr fw_setenv bootcmd 'ffsrdm c:/runtime.had 0x81000000;alphadec c:/runtime.had 0x81000240 0x80010000;' 2. Perform reset or reboot on U-Boot: reset on OpenWrt: reboot Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* realtek: enable pca953x GPIO driver for rtl839x subtargetINAGAKI Hiroshi2022-08-061-0/+3
| | | | | | | | | The system status LED on Panasonic Switch-M48eG PN28480K is connected to a PCA9539PW. To use the LED as a status LED of OpenWrt while booting, enable the pca953x driver and built-in to the kernel. Also enable CONFIG_GPIO_PCA953X_IRQ to use interrupt via RTL83xx GPIO. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* realtek: add support for Panasonic Switch-M24eG PN28240KINAGAKI Hiroshi2022-08-062-0/+200
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Panasonic Switch-M24eG PN28240K is a 24 + 2 port gigabit switch, based on RTL8382M. Specification: - SoC : Realtek RTL8382M - RAM : DDR3 128 MiB (Winbond W631GG8KB-15) - Flash : SPI-NOR 32 MiB (Macronix MX25L25635FMI-10G) - Ethernet : 10/100/1000 Mbps x24 + 2 - port 1-8 : TP, RTL8218B - port 9-16 : TP, RTL8218B (SoC) - port 17-24 : RTL8218FB - port 17-22: TP - port 23-24: TP/SFP (Combo) - LEDs/Keys : 7x / 1x - UART : RS-232 port on the front panel (connector: RJ-45) - 3:TX, 4:GND, 5:GND, 6:RX (pin number: RJ-45) - 9600n8 - Power : 100-240 VAC, 50/60 Hz, 0.5 A - Plug : IEC 60320-C13 - Stock OS : VxWorks based Flash instruction using initramfs image: 1. Prepare the TFTP server with the IP address 192.168.1.111 2. Rename the OpenWrt initramfs image to "0101A8C0.img" and place it to the TFTP directory 3. Download the official upgrading firmware (ex: pn28240k_v30000.rom) and place it to the TFTP directory 4. Boot M24eG and interrupt the U-Boot with Ctrl + C keys 5. Execute the following commands and boot with the OpenWrt initramfs image rtk network on tftpboot 0x81000000 bootm 6. Backup mtdblock files to the computer by scp or anything and reboot 7. Interrupt the U-Boot and execute the following commands to re-create filesystem in the flash ffsmount c:/ ffsfmt c:/ this step takes a long time, about ~ 4 mins 8. Execute the following commands to put the official images to the filesystem updatert <official image> example: updatert pn28240k_v30000.rom this step takes about ~ 40 secs 9. Set the environment variables of the U-Boot by the following commands setenv loadaddr 0xb4e00000 setenv bootcmd bootm saveenv 10: Download the OpenWrt initramfs image and boot with it tftpboot 0x81000000 0101A8C0.img bootm 11: On the initramfs image, download the sysupgrade image and perform sysupgrade with it sysupgrade <imagename> 12: Wait ~ 120 seconds to complete flashing Known Issues: - 2x SFP ports are provided as combo ports by the RTL8218FB chip, but the phy driver has no support for it. Currently, only TP ports work by the RTL8218D support. Note: - "Switch-M24eG" is a model name, and "PN28240K" is a model number. Switch-M24eG has an another (old) model number ("PN28240"), it's not a Realtek based hardware. - Switch-M24eG has a "POWER" LED (Green), but it's not connected to any GPIO pin. - U-Boot checks the runtime images in the flash when booting and fails to execute "bootcmd" variable if the images are not existing. - A filesystem is formed in the flash (0x100000-0x1DFFFFF) on the stock firmware and it includes the stock images, configuration files and checksum files. It's unknown format, can't be managed on the OpenWrt. To get the enough space for OpenWrt, move the filesystem to the head of "fs_reserved" partition by execution of "ffsfmt" and "updatert". - A GPIO pin on PCA9539 is used for resetting external RTL8218B phy and RTL8218FB phy. This should be specified as "reset-gpios" property in MDIO node, but the current configuration of RTL8218B phy in the phy driver seems to be incomplete and RTL8218FB won't be configured on RTL8218D support. So, ethernet ports on these phys will be broken after hard-resetting. At the moment, configure this pin as gpio-hog to avoid breaking by resetting. Back to the stock firmware: 1. Delete "loadaddr" variable and set "bootcmd" to the original value on U-Boot: setenv loadaddr setenv bootcmd 'bootm 0x81000000' on OpenWrt: fw_setenv loadaddr fw_setenv bootcmd 'bootm 0x81000000' 2. Perform reset or reboot on U-Boot: reset on OpenWrt: reboot Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* realtek: add support for Panasonic Switch-M16eG PN28160KINAGAKI Hiroshi2022-08-063-0/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Panasonic Switch-M16eG PN28160K is a 16 + 2 port gigabit switch, based on RTL8382M. Specification: - SoC : Realtek RTL8382M - RAM : DDR3 128 MiB (Winbond W631GG8KB-15) - Flash : SPI-NOR 32 MiB (Macronix MX25L25635FMI-10G) - Ethernet : 10/100/1000 Mbps x16 + 2 - port 1-8 : TP, RTL8218B (SoC) - port 9-16 : RTL8218FB - port 9-14: TP - port 15-16: TP/SFP (Combo) - LEDs/Keys : 7x / 1x - UART : RS-232 port on the front panel (connector: RJ-45) - 3:TX, 4:GND, 5:GND, 6:RX (pin number: RJ-45) - 9600n8 - Power : 100-240 VAC, 50/60 Hz, 0.5 A - Plug : IEC 60320-C13 - Stock OS : VxWorks based Flash instruction using initramfs image: 1. Prepare the TFTP server with the IP address 192.168.1.111 2. Rename the OpenWrt initramfs image to "0101A8C0.img" and place it to the TFTP directory 3. Download the official upgrading firmware (ex: pn28160k_v30003.rom) and place it to the TFTP directory 4. Boot M16eG and interrupt the U-Boot with Ctrl + C keys 5. Execute the following commands and boot with the OpenWrt initramfs image rtk network on tftpboot 0x81000000 bootm 6. Backup mtdblock files to the computer by scp or anything and reboot 7. Interrupt the U-Boot and execute the following commands to re-create filesystem in the flash ffsmount c:/ ffsfmt c:/ this step takes a long time, about ~ 4 mins 8. Execute the following commands to put the official images to the filesystem updatert <official image> example: updatert pn28160k_v30003.rom this step takes about ~ 40 secs 9. Set the environment variables of the U-Boot by the following commands setenv loadaddr 0xb4e00000 setenv bootcmd bootm saveenv 10: Download the OpenWrt initramfs image and boot with it tftpboot 0x81000000 0101A8C0.img bootm 11: On the initramfs image, download the sysupgrade image and perform sysupgrade with it sysupgrade <imagename> 12: Wait ~ 120 seconds to complete flashing Known Issues: - 2x SFP ports are provided as combo ports by the RTL8218FB chip, but the phy driver has no support for it. Currently, only TP ports work by the RTL8218D support. Note: - "Switch-M16eG" is a model name, and "PN28160K" is a model number. Switch-M16eG has an another (old) model number ("PN28160"), it's not a Realtek based hardware. - Switch-M16eG has a "POWER" LED (Green), but it's not connected to any GPIO pin. - U-Boot checks the runtime images in the flash when booting and fails to execute "bootcmd" variable if the images are not existing. - A filesystem is formed in the flash (0x100000-0x1DFFFFF) on the stock firmware and it includes the stock images, configuration files and checksum files. It's unknown format, can't be managed on the OpenWrt. To get the enough space for OpenWrt, move the filesystem to the head of "fs_reserved" partition by execution of "ffsfmt" and "updatert". - A GPIO pin on PCA9539 is used for resetting external RTL8218FB phy. This should be specified as "reset-gpios" property in MDIO node, but RTL8218FB won't be configured on RTL8218D support in the phy driver. So, ethernet ports on the phy will be broken after hard-resetting. At the moment, configure this pin as gpio-hog to avoid breaking by resetting. Back to the stock firmware: 1. Delete "loadaddr" variable and set "bootcmd" to the original value on U-Boot: setenv loadaddr setenv bootcmd 'bootm 0x81000000' on OpenWrt: fw_setenv loadaddr fw_setenv bootcmd 'bootm 0x81000000' 2. Perform reset or reboot on U-Boot: reset on OpenWrt: reboot Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* kernel: silence refresh warningChristian Lamparter2022-08-052-2/+2
| | | | | | |Warning: trailing whitespace in line 66 of drivers/mtd/parsers/Kconfig Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* lantiq: fix lan port 3+4 phy-mode settings for Fritzbox 3390Daniel Kestrel2022-08-051-2/+2
| | | | | | | | There are forum reports that 2 LAN ports are still not working, the phy-mode settings are adjusted to fix the problem. Fixes: #10371 Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* realtek: Fix typo in Kconfig promptOlliver Schinagl2022-08-051-1/+1
| | | | | | | | | As the symbol RTL930x shows, the bool enables the RTL930x platform, not the RTL839x one. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl> (slightly changed commit subject) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: add LTE led for GL.iNet GL-XE300Leo Soares2022-08-051-0/+1
| | | | | | | This commit adds the LTE led for GL.iNet GL-XE300 to the default leds config. Signed-off-by: Leo Soares <leo@hyper.ag>
* x86: add missing Lex 3I380NX network detectionPaul Spooren2022-08-052-0/+104
| | | | | | | | | | | | | | | | | | | The Lex 3I380NX industrial PC has 4 ethernet controllers on board which need pmc_plt_clk0 - 3 to function, add it to the critclk_systems DMI table, so that drivers/clk/x86/clk-pmc-atom.c will mark the clocks as CLK_CRITICAL and they will not get turned off. This commit is nearly redundant to 3d0818f5eba8 ("platform/x86: pmc_atom: Add Lex 3I380D industrial PC to critclk_systems DMI table") but for all Lex Baytrail devices. The original vendor firmware is only available using the WaybackMachine: http://www.lex.com.tw/products/3I380NX.html Signed-off-by: Michael Schöne <michael.schoene@rhebo.com> Signed-off-by: Paul Spooren <paul.spooren@rhebo.com> (Hans broader version for more Lex Baytrail systems, v5.15) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ramips: add support for H3C TX1800 Plus / TX1801 Plus / TX1806Shiji Yang2022-07-318-0/+249
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | H3C TX180x series WiFi6 routers are customized by different carrier. While these three devices look different, they use the same motherboard inside. Another minor difference comes from the model name definition in the u-boot environment variable. Specifications: SOC: MT7621 + MT7915 ROM: 128 MiB RAM: 256 MiB LED: status *2 Button: reset *1 + wps/mesh *1 Ethernet: lan *3 + wan *1 (10/100/1000Mbps) TTL Baudrate: 115200 TFTP server IP: 192.168.124.99 MAC Address: use address(sample 1) address(sample 2) source label 88:xx:xx:98:xx:12 88:xx:xx:a2:xx:a5 u-boot-env@ethaddr lan 88:xx:xx:98:xx:13 88:xx:xx:a2:xx:a6 $label +1 wan 88:xx:xx:98:xx:12 88:xx:xx:a2:xx:a5 $label WiFi4_2G 8a:xx:xx:58:xx:14 8a:xx:xx:52:xx:a7 (Compatibility mode) WiFi5_5G 8a:xx:xx:b8:xx:14 8a:xx:xx:b2:xx:a7 (Compatibility mode) WiFi6_2G 8a:xx:xx:18:xx:14 8a:xx:xx:12:xx:a7 WiFi6_5G 8a:xx:xx:78:xx:14 8a:xx:xx:72:xx:a7 Compatibility mode is used to guarantee the connection of old devices that only support WiFi4 or WiFi5. TFTP + TTL Installation: Although a TTL connection is required for installation, we do not need to tear down it. We can find the TTL port from the cooling hole at the bottom. It is located below LAN3 and the pins are defined as follows: |LAN1|LAN2|LAN3|----|WAN| -------------------- |GND|TX|RX|VCC| 1. Set tftp server IP to 192.168.124.99 and put initramfs firmware in server's root directory, rename it to a simple name "initramfs.bin". 2. Plug in the power supply and wait for power on, connect the TTL cable and open a TTL session, enter "reboot", then enter "Y" to confirm. Finally push "0" to interruput boot while booting. 3. Execute command to install a initramfs system: # tftp 0x80010000 192.168.124.99:initramfs.bin # bootm 0x80010000 4. Backup nand flash by OpenWrt LuCI or dd instruction. We need those partitions if we want to back to stock firmwre due to official website does not provide download link. # dd if=/dev/mtd1 of=/tmp/u-boot-env.bin # dd if=/dev/mtd4 of=/tmp/firmware.bin 5. Edit u-boot env to ensure use default bootargs and first image slot: # fw_setenv bootargs # fw_setenv bootflag 0 6. Upgrade sysupgrade firmware. 7. About restore stock firmware: flash the "firmware" and "u-boot-env" partitions that we backed up in step 4. # mtd write /tmp/u-boot-env.bin u-boot-env # mtd write /tmp/firmware.bin firmware Additional Info: The H3C stock firmware has a 160-byte firmware header that appears to use a non-standard CRC32 verification algorithm. For this part of the data, the u-boot does not check it so we can just directly replace it with a placeholder. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* kernel: bump 5.15 to 5.15.58John Audia2022-07-318-19/+19
| | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <therealgraysky@proton.me>
* x86: update defconfig for 5.15.57John Audia2022-07-311-0/+7
| | | | | | | | Add some new/missing symbols relating to speculative execution mitigations[1]. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/x86/Kconfig?id=v5.15.57&id2=v5.15.56 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.15 to 5.15.57John Audia2022-07-312-2/+2
| | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.15 to 5.15.56John Audia2022-07-3113-88/+27
| | | | | | | | | | | | | | | | | | Manually rebased: bcm27xx/patches-5.15/950-0470-sound-usb-add-device-quirks-for-A4Tech-FHD-1080p-web.patch Remove upstreamed: bcm27xx/patches-5.15/950-0060-tty-amba-pl011-Add-un-throttle-support.patch[1] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.56&id=2db3b95166f72e6481a79b82b1d6f94f4b18fcc1 Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.15 to 5.15.55John Audia2022-07-3118-183/+45
| | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.15 to 5.15.54John Audia2022-07-3125-43/+43
| | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.10 to 5.10.134John Audia2022-07-295-6/+6
| | | | | | All patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me>
* x86: update defconfig for 5.10.133John Audia2022-07-291-1/+7
| | | | | | | | Add some new/missing symbols relating to speculative execution mitigations[1]. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/x86/Kconfig?id=v5.10.133&id2=v5.10.132 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.10 to 5.10.133John Audia2022-07-292-2/+2
| | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.10 to 5.10.132John Audia2022-07-295-8/+8
| | | | | | All patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me>
* bcm4908: enable & setup packet steeringRafał Miłecki2022-07-282-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without packet steering NAT masquarade speed on BCM4908 /jumps/ between two speeds: 1. 826 Mb/s (±3 Mb/s) 2. 909 Mb/s (±8 Mb/s) and it never reaches ~940 Mb/s. Proper packet steering can improve it. Below are testing results for running iperf TCP traffic from LAN to WAN. They were used to pick up golden values. ┌──────────┬──────────┬───────────┐ │ eth0 │ br-lan │ speed │ │ rps_cpus │ rps_cpus │ [Mbps] │ ├──────────┼──────────┼───────────┤ │ 0 │ 0 │ 743 / 804 │ │ 0 │ 1 │ 738 / 821 │ │ 0 │ 2 │ ✓ 940 │ │ 0 │ 4 │ ✓ 938 │ │ 0 │ 8 │ ✓ 941 │ ├──────────┼──────────┼───────────┤ │ 1 │ 0 │ 829 │ │ 1 │ 1 │ 829 │ │ 1 │ 2 │ ✓ 942 │ │ 1 │ 4 │ ✓ 941 │ │ 1 │ 8 │ ✓ 941 │ ├──────────┼──────────┼───────────┤ │ 2 │ 0 │ ✓ 942 │ │ 2 │ 1 │ 926 │ │ 2 │ 2 │ ✓ 942 │ │ 2 │ 4 │ ✓ 942 │ │ 2 │ 8 │ ✓ 941 │ ├──────────┼──────────┼───────────┤ │ 4 │ 0 │ ✓ 941 │ │ 4 │ 1 │ 925 │ │ 4 │ 2 │ ✓ 941 │ │ 4 │ 4 │ ✓ 941 │ │ 4 │ 8 │ ✓ 941 │ ├──────────┼──────────┼───────────┤ │ 8 │ 0 │ ✓ 942 │ │ 8 │ 1 │ 925 │ │ 8 │ 2 │ ✓ 941 │ │ 8 │ 4 │ ✓ 942 │ │ 8 │ 8 │ ✓ 942 │ └──────────┴──────────┴───────────┘ Ref: fcbd39689ebfe ("bcm53xx: enable & setup packet steering") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* Revert "realtek: remove support for HPE 1920 series"Daniel Golle2022-07-2810-3/+540
| | | | | | This reverts commit a63aeaecf1f3387df020854c9b22a365207399ce. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* realtek: remove support for HPE 1920 seriesSander Vanheule2022-07-2810-540/+3
| | | | | | | | | Support for HPE 1920 images depends on two non-existent tools (mkh3cimg and mkh3cvfs) from the in the firmware-utils package. Revert commit f2f09bc00280 ("realtek: add support for HPE 1920 series") until support for these tools is merged and made available in OpenWrt. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: add support for HPE 1920 seriesJan Hoffmann2022-07-2810-3/+540
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware information: --------------------- - HPE 1920-8G: - RTL8380 SoC - 8 Gigabit RJ45 ports (built-in RTL8218B) - 2 SFP ports (built-in SerDes) - HPE 1920-16G / HPE 1920-24G (same board): - RTL8382 SoC - 16/24 Gigabit RJ45 ports (built-in RTL8218B, 1/2 external RTL8218D) - 4 SFP ports (external RTL8214FC) - Common: - RJ45 RS232 port on front panel - 32 MiB NOR Flash - 128 MiB DDR3 DRAM - PT7A7514 watchdog Booting initramfs image: ------------------------ - Prepare a FTP or TFTP server serving the OpenWrt initramfs image and connect the server to a switch port. - Connect to the console port of the device and enter the extended boot menu by typing Ctrl+B when prompted. - Choose the menu option "<3> Enter Ethernet SubMenu". - Set network parameters via the option "<5> Modify Ethernet Parameter". Enter the FTP/TFTP filename as "Load File Name" ("Target File Name" can be left blank, it is not required for booting from RAM). Note that the configuration is saved on flash, so it only needs to be done once. - Select "<1> Download Application Program To SDRAM And Run". Initial installation: --------------------- - Boot an initramfs image as described above, then use sysupgrade to install OpenWrt permanently. After initial installation, the bootloader needs to be configured to load the correct image file - Enter the extended boot menu again and choose "<4> File Control", then select "<2> Set Application File type". - Enter the number of the file "openwrt-kernel.bin" (should be 1), and use the option "<1> +Main" to select it as boot image. - Choose "<0> Exit To Main Menu" and then "<1> Boot System". NOTE: The bootloader on these devices can only boot from the VFS filesystem which normally spans most of the flash. With OpenWrt, only the first part of the firmware partition contains a valid filesystem, the rest is used for rootfs. As the bootloader does not know about this, you must not do any file operations in the bootloader, as this may corrupt the OpenWrt installation (selecting the boot image is an exception, as it only stores a flag in the bootloader data, but doesn't write to the filesystem). Signed-off-by: Jan Hoffmann <jan@3e8.eu>
* kernel: mtdsplit: add support for H3C VFS filesystemJan Hoffmann2022-07-285-0/+178
| | | | | | | | | | | | | | | | The bootloader on some H3C devices (for example HPE 1920 switches) only supports booting from flash by reading an image from an "VFS" filesystem which spans most of the available flash. The filesystem size is hard- coded in the bootloader. However, as long as no write operations are performed in the bootloader menu, it is sufficient if the start of the partition contains a valid filesystem with the kernel image. This mtdsplit parser reads the size and location of the kernel image and finds the location of the rootfs stored after it. It assumes that the filesystem image matches the layout of one generated by mkh3cvfs, with a filename of "openwrt-kernel.bin" for the kernel image. Signed-off-by: Jan Hoffmann <jan@3e8.eu>
* realtek: clean up rtl838x MDIO busy wait loopJan Hoffmann2022-07-281-15/+22
| | | | | | | | | | | | | Don't use udelay to allow other kernel tasks to execute if the kernel has been built without preemption. Also determine the timeout based on jiffies instead of loop iterations. This is especially important on devices containing a watchdog with a short timeout. Without this change, the watchdog is not serviced during PHY patching which can take multiple seconds. Tested-by: Birger Koblitz <mail@birger-koblitz.de> Signed-off-by: Jan Hoffmann <jan@3e8.eu>
* realtek: add SFP support for RTL8214FC PHYJan Hoffmann2022-07-281-1/+25
| | | | | | | | | | Probe the SFP module during PHY initialization and implement insertion/removal handlers to automatically configure the media type of the respective port. Suggested-by: Birger Koblitz <git@birger-koblitz.de> Tested-by: Birger Koblitz <mail@birger-koblitz.de> Signed-off-by: Jan Hoffmann <jan@3e8.eu>
* realtek: rtl83xx-phy: decouple RTL8214FC media change and power configJan Hoffmann2022-07-281-52/+70
| | | | | | | | | | | | | Move RTL8214FC power configuration to newly created suspend and resume methods. A media change now only results in power configuration if the PHY is not suspended, to avoid powering up a port when the interface is currently not up. While at it, remove the rtl8380 prefix from function names, as this is actually not SoC-specific. Tested-by: Birger Koblitz <mail@birger-koblitz.de> Signed-off-by: Jan Hoffmann <jan@3e8.eu>
* realtek: rtl83xx-phy: fix RTL8214FC media changeJan Hoffmann2022-07-281-16/+16
| | | | | | | | Toggle power on the individual PHY instead of the package. Otherwise a media change always toggles power on the first port, and not the one that is being configured. Signed-off-by: Jan Hoffmann <jan@3e8.eu>
* realtek: make DGS-1210 u-boot-env partition writeableMarkus Stockhausen2022-07-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | We are close to provide enduser friendly OpenWrt images for DGS-1210 switches that do not need serial console. Nevertheless a small bit is missing. We cannot switch back to the vendor partition or initiate a download of a vendor firmware image. To issue this from inside OpenWrt we need write access to U-Boot environment. Case 1: Switch back to secondary (vendor) image > fw_setenv bootcmd run addargs\; bootm 0xb4e80000 > fw_setenv image /dev/mtdblock7 > reboot Case 2: Issue D-Link Network Assistant based download on next reboot. This is a combination of some vendor specific protocol (DDP) and a TFTP download afterwards. > fw_setenv bootstop on > reboot Allow these commands by opening up u-boot-env for write access. Tested on DGS-1210-20. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
* uboot-bcm4908: include SoC in output filesRafał Miłecki2022-07-252-4/+4
| | | | | | | | This fixes problem of overwriting BCM4908 U-Boot and DTB files by BCM4912 ones. That bug didn't allow booting BCM4908 devices. Fixes: f4c2dab544ec2 ("uboot-bcm4908: add BCM4912 build") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: build bootfs image per-SoCRafał Miłecki2022-07-254-59/+92
| | | | | | | | | | | | | | | | In theory we could have just 1 bootfs image for all devices as each device has its own entry in the "configurations" node. It doesn't work well with default configuration though. If something goes wrong U-Boot SPL can be interrupted (by pressing A) to enter its minimalistic menu. It allows ignoring boardid. In such case bootfs default configuration is used. For above reason each SoC family (BCM4908, BCM4912) should have its own bootfs built. It allows each of them to have working default configuration. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* lantiq: fix network port GPIO settings for Fritzbox 3390Daniel Kestrel2022-07-221-2/+2
| | | | | | | There are forum reports that 2 LAN ports are not working, the GPIO settings are adjusted to fix the problem. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ipq806x: Archer VR2600: fix switch ports numberingChristian Lamparter2022-07-221-3/+3
| | | | | | | | The order of LAN ports shown in Luci is reversed compared to what is written on the case of the device. Fix the order so that they match. Fixes: #10275 Signed-off-by: Christian Lamparter <chunkeey@gmail.com>