aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
* kernel: bump 5.4 to 5.4.58John Audia2020-08-1864-584/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR is a blend of several kernel bumps authored by ldir taken from his staging tree w/ some further adjustments made by me and update_kernel.sh Summary: Deleted upstreamed patches: generic: 742-v5.5-net-sfp-add-support-for-module-quirks.patch 743-v5.5-net-sfp-add-some-quirks-for-GPON-modules.patch bcm63xx: 022-v5.8-mtd-rawnand-brcmnand-correctly-verify-erased-pages.patch 024-v5.8-mtd-rawnand-brcmnand-fix-CS0-layout.patch mediatek: 0402-net-ethernet-mtk_eth_soc-Always-call-mtk_gmac0_rgmii.patch Deleted patches applied differently upstream: generic: 641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch Manually merged patches: generic: 395-v5.8-net-sch_cake-Take-advantage-of-skb-hash-where-appropriate.patch bcm27xx: 950-0132-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch layerscape: 701-net-0231-enetc-Use-DT-protocol-information-to-set-up-the-port.patch Build system: x86_64 Build-tested: ath79/generic, bcm27xx/bcm2708, bcm27xx/bcm2711, imx6, mvebu/cortexa9, sunxi/a53 Run-tested: Netgear R7800 (ipq806x) No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-By: Lucian Cristian <Lucian.cristian@gmail.com> [mvebu] Tested-By: Curtis Deptuck <curtdept@me.com> [x86/64] [do not remove 395-v5.8-net-sch_cake-Take-advantage-... patch, adjust and refresh patches, adjust commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-By: John Audia <graysky@archlinux.us> [ipq806x]
* ath79: mikrotik: erase firmware on SPI NOR before installThibaut VARÈNE2020-08-181-0/+3
| | | | | | | | | | | | | | On Mikrotik SPI NOR devices, the firmware partition must be erased when flashing from stock firmware, otherwise leftover bits (in particular a kernel signature) can trigger a boot loop. When booted from initramfs (the only way to install OpenWRT on these devices), this patch unconditionally erases the firmware partition in the do_upgrade() stage for all supported SPI NOR devices. This is forward-ported from ed49d0876 and 20452a8db Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: platform/mikrotik: fix incorrect testThibaut VARÈNE2020-08-181-1/+1
| | | | | | The test is meant to check the result of the preceding kmalloc() Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* 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>
* rockchip: remove useless echo in 40-net-smp-affinityAdrian Schmutzler2020-08-171-1/+1
| | | | | | The command in the $() brackets will already provide the same output. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* apm821xx: tidy up 10-fix-wifi-macAdrian Schmutzler2020-08-171-3/+3
| | | | | | | | | This applies some cosmetic style fixes: - remove useless echo - remove double equal sign (specific to bash) - add quotes for -n check Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix syntax error in ar7240_tplink_tl-wa.dtsiAdrian Schmutzler2020-08-171-1/+1
| | | | | | | | | The node needs to be terminated by a semicolon. Fixes: 8484a764df20 ("ath79: ar724x: make sure builtin-switch is enabled in DT") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: change WPS to Wifi button on TL-WPA8630P v2Adrian Schmutzler2020-08-173-19/+8
| | | | | | | | | | | | | | | | | | | Both TL-WPA8630(P) v1 and v2 feature a button labelled "WiFi". While this is implemented as KEY_RFKILL for v1 in ar71xx and ath79, the v2 sets it up as WPS button. According to the manual, the behavior in OEM firmware is: "Press and hold the button for 1 second to copy wireless settings from the main router to the extender. Go to Wi-Fi Clone for more information. Press and hold the button for at least 5 seconds to turn the wireless function on or off." Consequently, and since this is historic behavior on v1 in OpenWrt, we set this button to KEY_RFKILL on both revisions. Fixes: ab74def0db93 ("ath79: add support for TP-Link TL-WPA8630P v2") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: move further common nodes to the DTSI filesAdrian Schmutzler2020-08-1715-252/+53
| | | | | | | | | The moves a few additional common nodes to the common DTSI files for qcom-ipq8064-v2.0 and qcom-ipq8065 devices. Remove a few redundant definitions on the way. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: ar724x: make sure builtin-switch is enabled in DTAdrian Schmutzler2020-08-1713-22/+10
| | | | | | | | | | | | | | | | | | | On ar7240/ar7241 the mdioX node with the builtin-switch is enabled in the DTSI files, but the parent ethX node is left disabled. It only gets enabled per device or device family, and has not been enabled at all yet for the TP-Link WA devices with ar7240, making the switch unavailable there. This patch makes sure &eth0/&eth1 nodes are enabled together with the &mdio0/&mdio1 nodes containing the builtin-switch. For ar7240_tplink_tl-wa.dtsi, &eth0 is properly hidden again via compatible = "syscon", "simple-mfd"; This partially fixes FS#2887, however it seems dmesg still does not show cable (dis)connect in dmesg for ar7240 TP-Link WA devices. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: fix LED labels for Asus RT-AC65PAdrian Schmutzler2020-08-174-27/+59
| | | | | | | | | | | | | The leds block was copied over from the RT-AC85P DTS to the common DTSI while keeping the device-specific model name in the label. This moves the LEDs back to the DTS files and adjusts the names to properly resemble the model name of the devices used at, just like it is handled on most other devices. Fixes: 7c5f712e4fec ("ramips: add support for Asus RT-AC65P") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* at91: drop obsolete empty MakefilesAdrian Schmutzler2020-08-172-0/+0
| | | | | | | | | This files have been emptied during subtarget consolidation, but not removed. Remove them now. Fixes: aff084adf339 ("at91: Merge SAMA5 subtargets") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* octeon: add support for Itus Shield RouterDonald Hoskins2020-08-166-10/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Itus Networks Shield - 1Ghz dual-core mips64 / Cavium Octeon 3 SoC, 1Gb RAM, 4Gb eMMC,3 GbE 10/100/1000 ports Information regarding device can be found: https://deviwiki.com/wiki/Itus_Networks_Shield_Pro Installing OpenWrt on Itus Networks Shield: 1) Boot Shield 2) On device: mount /dev/mmcblk1p1 /mnt 3) scp openwrt-octeon-itus,shield-router-initramfs-kernel.bin to /mnt/ItusrouterImage 3a) Optionally: scp openwrt-octeon-itus,shield-router-initramfs-kernel.bin to /mnt/ItusgatewayImage to allow you to have an emergency recovery boot in the GATEWAY slot - this slot will have no permament storage and is used for emergency recovery only when booted in the (G)ateway position 4) On device: umount /mnt 5) reboot Once booted, run the sysupgrade via cli or luCi on the openwrt-octeon-itus,shield-router-squashfs-sysupgrade.tar file the mode you are running. Once rebooted, the system installation is complete. Your storage partition for the mode is inialized and set. Signed-off-by: Donald Hoskins <grommish@gmail.com> [cut out sysupgrade-* changes, move a few lines, drop case CVMX_BOARD_TYPE_ITUS_SHIELD] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* octeon: determine sysupgrade-* directory for upgrade automaticallyDonald Hoskins2020-08-161-5/+13
| | | | | | | | | | | | | | | | | | So far, the sysupgrade-* folder used during upgrade in octeon was hardcoded to contain the board name. Therefore, changing board name or BOARD_NAME variable in image/Makefile might have broken upgrade. Improve this by adding a step to determine the folder name via a wildcard, as it is done for generic nand_upgrade_tar() in lib/upgrade/nand.sh. While this still does not remove the problem for existing devices (which still have the old script), it will entirely remove the issue on newly added devices on this platform. Signed-off-by: Donald Hoskins <grommish@gmail.com> [split into separate patch, add commit message, add return values] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: reorganize board patchesAdrian Schmutzler2020-08-1669-245/+245
| | | | | | | | | | This renames board patches to make finding devices easier and reorders them based on their board. The devices are grouped based on the board/cpu_id. New device patches should be numbered based on their group. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for ALLNET ALL-WAP02860ACTomasz Maciej Nowak2020-08-154-4/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALLNET ALL-WAP02860AC is a dual-band wireless access point. Specification SoC: Qualcomm Atheros QCA9558 RAM: 128 MB DDR2 Flash: 16 MB SPI NOR WIFI: 2.4 GHz 3T3R integrated 5 GHz 3T3R QCA9880 Mini PCIe card Ethernet: 1x 10/100/1000 Mbps AR8035-A, PoE capable (802.3at) LEDS: 5x, which four are GPIO controlled Buttons: 1x GPIO controlled UART: 4 pin header near Mini PCIe card, starting count from white triangle on PCB 1. VCC 3.3V, 2. GND, 3. TX, 4. RX baud: 115200, parity: none, flow control: none MAC addresses Calibration data does not contain valid MAC addresses. The calculated MAC addresses are chosen in accordance with OEM firmware. Because of: a) constrained environment (SNMP) when connecting through Telnet or SSH, b) hard-coded kernel and rootfs sizes, c) checksum verification of kerenel and rootfs images in bootloder, creating factory image accepted by OEM web interface is difficult, therefore, to install OpenWrt on this device UART connection is needed. The teardown is simple, unscrew four screws to disassemble the casing, plus two screws to separate mainboard from the casing. Before flashing, be sure to have a copy of factory firmware, in case You wish to revert to original firmware. Installation 1. Prepare TFTP server with OpenWrt initramfs-kernel image. 2. Connect to LAN port. 3. Connect to UART port. 4. Power on the device and when prompted to stop autoboot, hit any key. 5. Alter U-Boot environment with following commands: setenv failsafe_boot bootm 0x9f0a0000 saveenv 6. Adjust "ipaddr" and "serverip" addresses in U-Boot environment, use 'setenv' to do that, then run following commands: tftpboot 0x81000000 <openwrt_initramfs-kernel_image_name> bootm 0x81000000 7. Wait about 1 minute for OpenWrt to boot. 8. Transfer OpenWrt sysupgrade image to /tmp directory and flash it with: sysupgrade -n /tmp/<openwrt_sysupgrade_image_name> 9. After flashing, the access point will reboot to OpenWrt. Wait few minutes, until the Power LED stops blinking, then it's ready for configuration. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl> [add MAC address comment to commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: mips: fix init crash/bootloop on 64-bit systemsTony Ambardar2020-08-151-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The malta subtargets for mips64 and mips64el fail to start the init process at boot, resulting in a boot loop. The issue was raised and analyzed within FS#3277. Investigation suggested code near the [vdso] memory area of the process was long jumping into a region inaccessible to the process, e.g. init: - preinit - init: Launched preinit instance, pid=522 do_page_fault(): sending SIGSEGV to init for invalid read access from 0000000000000360 epc = 0000000000000360 in init[aaab42b000+4000] ra = 000000fffee385e0 in Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b Rebooting in 1 seconds.. Note the low-memory read access and epc are the same. Upstream kernel 5.6 included a relevant patch and discussion: * d3f703c4359f ("mips: vdso: fix 'jalr t9' crash in vdso code") Disassembly of the failing kernel's vdso.so confirmed presence of the telltale long jumps, e.g.: 00000000000007c0 <__vdso_clock_getres@@LINUX_2.6>: [...] 7dc: 0320f809 jalr t9 [...] Restore booting mips64/mips64el malta by backporting the above commit: * 310-v5.6-mips-vdso-fix-jalr-t9-crash-in-vdso-code.patch Fixes: 54310a3aa02f ("malta: add kernel 5.4 config") Fixes: FS#3277 Ref: https://bugs.openwrt.org/index.php?do=details&task_id=3277 Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* ath79: add support for TP-Link TL-WPA8630 v1Adrian Schmutzler2020-08-138-131/+226
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ports the TP-Link TL-WPA8630 v1 from ar71xx to ath79. Specifications: SoC: QCA9563 CPU: 750 MHz Flash/RAM: 8 / 128 MiB Ethernet: 3x 1G ports (QCA8337 switch) WLAN: 2.4 GHz b/g/n, 5 GHz a/n/ac (ath10k) Buttons, LEDs and network setup appear to be almost identical to the v2 revision. Powerline interface is connected to switch port 5 (Label LAN4). Installation: No "fresh" device was available for testing the factory image. It is not known whether flashing via OEM firmware GUI is possible or not. A discussion from 2018 [1] about that indicates a few adjustments are necessary, but it is not clear whether those are already implemented with the TPLINK_HEADER_VERSION = 2 or not. Note that for the TL-WPA8630P v1, the TPLINK_HWID needs to be changed to 0x86310001 to allow factory flashing. [1] https://forum.openwrt.org/t/solved-tl-wpa8630p-lede-does-not-install/8161/27 Recovery: Recovery is only possible via serial. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mpc85xx: tidy up 10-fix-wifi-macAdrian Schmutzler2020-08-131-9/+5
| | | | | | | This applies some cosmetic style fixes, mostly by removing useless echo commands. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79/mikrotik: add function for loading ath9k caldataAdrian Schmutzler2020-08-131-8/+13
| | | | | | | | | | | | | The commands to read ath9k caldata on mikrotik subtarget are mostly repetitive, so let's put them into a function to make writing and reading them easier. This function will only be required when patching the MAC address. For cases where it is put correctly into the calibration data by the vendor, caldata_sysfsload_from_file can be used directly as done for ath10k at the moment. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for MikroTik RouterBOARD 760iGS (hEX S)John Thomson2020-08-138-70/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the MikroTik RouterBOARD 760iGS router. It is similar to the already supported RouterBOARD 750Gr3. The 760iGS device features an added SFP cage, and passive PoE out on port 5 compared to the RB750Gr3. https://mikrotik.com/product/hex_s Specifications: - SoC: MediaTek MT7621A - CPU: 880MHz - Flash: 16 MB - RAM: 256 MB - Ethernet: 5x 10/100/1000 Mbps - SFP cage - USB port - microSD slot Unsupported: - Beeper (requires PWM driver) - ZT2046Q (ADS7846 compatible) on SPI as slave 1 (CS1) The linux driver requires an interrupt, and pendown GPIO These are unknown, and not needed with the touchscreen only used for temperature and voltage monitoring. ads7846 hwmon: temp0 is degrees Celsius temp1 is voltage * 32 GPIOs: - 07: input passive PoE out (lan5) compatible (Mikrotik) device connected - 17: output passive PoE out (lan5) switch Installation through RouterBoot follows the usual MikroTik method https://openwrt.org/toh/mikrotik/common To boot to intramfs image in RAM: 1. Setup TFTP server to serve intramfs image. 2. Plug Ethernet cable into WAN port. 3. Unplug power, hold reset button and plug power in. Wait (~25 seconds) for beep and then release reset button. The SFP LED will be lit in RouterBoot, but will not be lit in OpenWRT. 4. Wait for a minute. Router should be running OpenWrt, check by plugging in to port 2-5 and going to 192.168.1.1. To install OpenWrt to flash: 1. Follow steps above to boot intramfs image in RAM. 2. Flash the sysupgrade.bin image with web interface or sysupgrade. 3. Once the router reboots you will be running OpenWrt from flash. OEM firmware differences: - RouterOS assigns a different MAC address for each port - The first address (E01 on the sticker) is used for wan (ether1 in OEM). - The next address is used for lan2. - The last address (E06 on the sticker) is used for sfp. [Initial port work, shared dtsi] Signed-off-by: Vince Grassia <vincenzo.grassia@zionark.com> [SFP support and GPIO identification] Signed-off-by: Luka Logar <luka.logar@iname.com> [Misc. fixes and submission] Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au> [rebase, drop uart3 from state_default on 750gr3, minor commit title/message facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips/mt7621: create common DTSI for Mikrotik devicesAdrian Schmutzler2020-08-134-214/+93
| | | | | | | | | This moves some common definitions for Mikrotik devices, mainly routerboot partitions and reset key, to a common DTSI file. While at it, remove unused hard_config DT label. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: use gpio-export for Mikrotik RouterBOARD 750Gr3 beeperJohn Thomson2020-08-132-6/+8
| | | | | | | | | | | | | This beeper hardware requires a PWM driver for frequency selection. Since the GPIO driver does not provide that, revert the beeper support to a simple gpio-export. This effectively reverts the corresponding changes from 6ba58b7b020c ("ramips: cleanup the RB750Gr3 support") Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au> [commit title/message facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: usb: move phy-qcom-ipq806x-usb to ipq806x modules.mkAnsuel Smith2020-08-131-0/+16
| | | | | | | | | | This driver is only used by ipq806x SoCs. Move it there and drop dependency from ipq40xx since it's not used anywere. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> [rebase on changes to previous patches] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Paul Blazejowski <paulb@blazebox.homeip.net> [R7800]
* ipq806x: replace nvmem qcom patch with upstream versionAnsuel Smith2020-08-133-86/+123
| | | | | | | | | | - Replace nvmem qcom patch with upstream version - Update compatible Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> [refresh patches, minor commit message rewording] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Paul Blazejowski <paulb@blazebox.homeip.net> [R7800]
* ipq806x: replace phy dwc3 patch with upstream versionAnsuel Smith2020-08-138-664/+673
| | | | | | | | | | | | - Replace dwc3 phy patch with upstream version - Rework the dts to use the upstream bindings - Update changed config flags - Rename module to reflect config name Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> [fix qcom,tx-deamp_3_5db typo, refresh patches, rename kmod] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Paul Blazejowski <paulb@blazebox.homeip.net> [R7800]
* ath79: routerboard-92x: ensure explicit bios size in DTSIAdrian Schmutzler2020-08-121-0/+1
| | | | | | | | | | | | | | The missing "size" property was acceptable in the context of a single DTS as the underlying device is known to have a 64KB flash, and thus the bios partition fit exactly between the preceding and following ones. However as this block has moved in a DTSI, for the sake of clarity and explicitness the size property is added to ensure that if the flash happens to be larger than expected, the bios partition remains properly sized. Suggested-by: Thibaut VARÈNE <hacks@slashdirt.org> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: harmonize appearance of ethX nodes in qca953x DTSesAdrian Schmutzler2020-08-1224-81/+90
| | | | | | | | | | | This harmonizes the appearance of ethX nodes in qca953x DTSes by: - having the same order of nodes and properties - removing redundant status property on eth1 (set in qca953x.dtsi) This is meant to help both copy-pasters and reviewers, since deviations and errors can be spotted easier. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: add CGROUPS and IOSCHED_BFQ back to configAdrian Schmutzler2020-08-125-2/+6
| | | | | | | | | | | | After those symbols have been removed from generic kernel config, they were added to the target config during every kernel config refresh. As that's not desirable, add them back to the generic config. Fixes: d1a8217d87bf ("kernel: clean-up build-configurable kernel config symbols") Fixes: cfe235c43686 ("kernel: modules: add package kmod-iosched-bfq") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for MikroTik SXT 5nD r2 (SXT Lite5)Roger Pueyo Centelles2020-08-127-2/+225
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MikroTik SXT Lite5 (product code RBSXT5nDr2, also SXT 5nD r2) is an outdoor 5GHz CPE with a 16 dBi integrated antenna built around the Atheros AR9344 SoC. It is based on the "sxt5n" board platform. Specifications: - SoC: Atheros AR9344 - RAM: 64 MB - Storage: 128 MB NAND - Wireless: Atheros AR9340 (SoC) 802.11a/n 2x2:2 - Ethernet: Atheros AR8229 switch (SoC), 1x 10/100 port, 8-32 Vdc PoE in - 6 user-controllable LEDs: · 1x power (blue) · 1x wlan (green) · 4x rssi (green) - 1 GPIO-controlled buzzer See https://mikrotik.com/product/RBSXT5nDr2 for more details. Notes: The device was already supported in the ar71xx target. There, the Ethernet port was handled by GMAC1. Here in ath79 it is handled by GMAC0, which allows to get link information (loss, speed, duplex) on the eth0 interface. Flashing: TFTP boot initramfs image and then perform sysupgrade. Follow common MikroTik procedure as in https://openwrt.org/toh/mikrotik/common. Acknowledgments: Michael Pratt (@mpratt14) for helping on the network settings. Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> [rebase, use mikrotik LED label prefix, make names consistent, add reg for bootloader2, use led_user for boot indication etc., minor cosmetic changes] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for MikroTik RouterBOARD 921GS-5HPacD-15sSven Roederer2020-08-127-125/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MikroTik RouterBOARD 921GS-5HPacD-15s (mANTBox 15s) is an outdoor antenna for 5 GHz with an built-in router. This ports the board from ar71xx. See https://mikrotik.com/product/RB921GS-5HPacD-15S for more info. Specifications: - SoC: Qualcomm Atheros QCA9558 (720 MHz) - RAM: 128 MB - Storage: 128 MB NAND - Wireless: external QCA9892 802.11a/ac 2x2:2 - Ethernet: 1x 1000/100/10 Mbps, integrated, via AR8031 PHY, passive PoE in - SFP: 1x host Working: - NAND storage detection - Ethernet - Wireless - 1x user LED (blinks during boot, sysupgrade) - Reset button - Sysupgrade Untested: - SFP cage (probably not working) Installation (untested): - Boot initramfs image via TFTP and then flash sysupgrade image As the embedded RB921-pcb is a stripped down version of the RB922 this patch adds a common dtsi for this series and includes this to the final dts-files. Signed-off-by: Sven Roederer <devel-sven@geroedel.de> [move ath10k-leds closer to ath10k definition in DTS files] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for MikroTik RouterBOARD LHG 2nDRoger Pueyo Centelles2020-08-127-0/+218
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MikroTik RouterBOARD LHG 2nD (sold as LHG 2) is a 2.4 GHz 802.11b/g/n outdoor device with a feed and an integrated dual polarization grid dish antenna based on the LHG-HB platform. See https://mikrotik.com/product/lhg_2 for more info. Specifications: - SoC: Qualcomm Atheros QCA9533 - RAM: 64 MB - Storage: 16 MB NOR - Wireless: Atheros AR9531 (SoC) 802.11b/g/n 2x2:2, 18 dBi antenna - Ethernet: Atheros AR8229 (SoC), 1x 10/100 port, 12-28 Vdc PoE in - 8 user-controllable LEDs: · 1x power (blue) · 1x user (green) · 1x lan (green) · 1x wlan (green) · 4x rssi (green) Note: The rssihigh LED is disabled, as it shares GPIO 16 with the reset button. Flashing: TFTP boot initramfs image and then perform sysupgrade. Follow common MikroTik procedure as in https://openwrt.org/toh/mikrotik/common. Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> [rebase, remove rssiled setup, adjust commit message, add DTSIs] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mediatek: disable btif in device tree to make the WMAC work againFelix Fietkau2020-08-121-1/+1
| | | | | | | btif and wmac access the same resources and at the moment enabling one breaks the other Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mediatek: fix PCI device tree node for elecom wrc-2533gentFelix Fietkau2020-08-121-2/+5
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* bcm47xx: use vendor_model scheme for device/image namesAdrian Schmutzler2020-08-123-180/+180
| | | | | | | | | | | Most targets have been updated to consistently use the vendor_model scheme for device definitions and thus, image names. Apply this to bcm47xx as well. This does _not_ apply any other specific naming changes. Cc: Rafał Miłecki <rafal@milecki.pl> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm53xx: use vendor_model scheme for device/image namesAdrian Schmutzler2020-08-121-57/+57
| | | | | | | | | | | Most targets have been updated to consistently use the vendor_model scheme for device definitions and thus, image names. Apply this to bcm53xx as well. This does _not_ apply any other specific naming changes. Cc: Rafał Miłecki <rafal@milecki.pl> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: Fix cake patch for kernel 4.19.138Hauke Mehrtens2020-08-111-2/+2
| | | | | | | | | | | | | This fixes the following build problem with cake: net/sched/act_ctinfo.c: In function 'tcf_ctinfo_act': net/sched/act_ctinfo.c:99:6: error: implicit declaration of function 'tc_skb_protocol'; did you mean 'skb_protocol'? [-Werror=implicit-function-declaration] if (tc_skb_protocol(skb) == htons(ETH_P_IP)) { ^~~~~~~~~~~~~~~ skb_protocol CC [M] net/sched/sch_hfsc.o Fixes: fdac05b7416b ("kernel: Update kernel 4.19 to version 4.19.138") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Create UBIFS v5 volumeHauke Mehrtens2020-08-116-195/+0
| | | | | | | | | | | | | In commit 87b35c16adcf ("kernel: ubifs: create use file system format 4 by default") we changed the default UBIFS version used when the kernel creates a new volume from 5 to 4. UBIFS v5 was added in kernel 4.10 and only kernel 4.10 and later can read it. We changed the kernel to create version 4 volumes also on more recent kernel versions to make it possible to downgrade to an OpenWrt version with kernel 4.9, the upgrade still works. This is probably not needed any more and we can remove this patch. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* bcm63xx: switch to upstream CFE detection patchÁlvaro Fernández Rojas2020-08-113-71/+78
| | | | | | This patch has been merged in linux 5.9. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* malta: disable unnecessary built-in CDROM supportTony Ambardar2020-08-112-6/+0
| | | | | | | | | | | | | The CDROM is not needed for booting and can be included by selecting the loadable module as a package instead. This also avoids triggering a memory allocation failure during probing of the CDROM due to lack of low 16MB DMA memory, as decribed in FS#3278: https://bugs.openwrt.org/index.php?do=details&task_id=3278 Signed-off-by: Tony Ambardar <itugrok@yahoo.com> Link: https://github.com/openwrt/openwrt/pull/3289 Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* oxnas: reduce size of ATA DMA descriptor spaceDaniel Golle2020-08-112-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After years of trying to find the reason for random kernel crashes while both CPU and SATA are under load it has been found. Some odd commented-out #defines in kref's single-port driver [1] which were copied from the vendor driver made me develop a theory: The IO-mapped memory area for DMA descriptors apparetly got some holes just before the alignment boundaries. This feels like an off-by-one bug in the hardware or maybe those fields are used internally by the SATA controller's firmware. Whatever the cause is: they cannot be used and trying to use them results in reading back unexpected stuff and ends up with oopsing Unable to handle kernel paging request at virtual address d085c004 Work around the issue by reducing the area used for bmdma descriptors. This reduces SATA performance (iops) quite a bit, but finally makes things work reliably. Possibly one could optimize this much more by really just skipping the holes in that memory area -- however, that seems to be non-trivial with the driver and libata in it's current form (suggestions are welcome). The 'proper' way to have good SATA performance would be to make use of the hardware RAID features (one can use the JBOD mode to access even just a single disc transparently through the RAID controller integrated in the SATA host instead of accessing the SATA ports 'raw' as we do now). [1]: https://github.com/kref/linux-oxnas/blob/master/drivers/ata/sata_oxnas.c#L25 Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ar71xx: fix ZyXEL NBG6616 wifi switchChristoph Krapp2020-08-111-2/+2
| | | | | | | The device uses a rf-kill switch instead of a button. Furthermore the GPIO is active high. Signed-off-by: Christoph Krapp <achterin@googlemail.com>
* kernel: Move CONFIG_IONIC to generic kernel configHauke Mehrtens2020-08-1013-12/+1
| | | | | | | It is deactivated everywhere, just set this in the generic config. Acked-by: Yousong Zhou <yszhou4tech@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* malta: Refresh kernel configurationHauke Mehrtens2020-08-105-18/+23
| | | | | | | | | | | This refreshes the kernel configuration on top of kernel 5.4. It now builds without asking to select some kernel options on all 4 subtargets. It still does not boot up, there is a different problem. Tested-By: Yousong Zhou <yszhou4tech@gmail.com> Acked-By: Yousong Zhou <yszhou4tech@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Update kernel 4.14 to version 4.14.193Hauke Mehrtens2020-08-108-15/+15
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Update kernel 4.19 to version 4.19.138Hauke Mehrtens2020-08-1017-258/+34
| | | | | | Compile and run tested on lantiq/xrx200 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: add support for ZyXEL NBG6616Christoph Krapp2020-08-108-145/+313
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: SoC: Qualcomm Atheros QCA9557 RAM: 128 MB (Nanya NT5TU32M16EG-AC) Flash: 16 MB (Macronix MX25L12845EMI-10G) Ethernet: 5x 10/100/1000 (1x WAN, 4x LAN) Wireless: QCA9557 2.4GHz (nbg), QCA9882 5GHz (ac) USB: 2x USB 2.0 port Buttons: 1x Reset Switches: 1x Wifi LEDs: 11 (Pwr, WAN, 4x LAN, 2x Wifi, 2x USB, WPS) MAC addresses: WAN *:3f uboot-env ethaddr + 3 LAN *:3e uboot-env ethaddr + 2 2.4GHz *:3c uboot-env ethaddr 5GHz *:3d uboot-env ethaddr + 1 The label contains all four MAC addresses, however the one without increment is first, so this one is taken for label MAC address. Notes: The Wifi is controlled by an on/off button, i.e. has to be implemented by a switch (EV_SW). Despite, it appears that GPIO_ACTIVE_HIGH needs to be used, just like recently fixed for the NBG6716. Both parameters have been wrong at ar71xx. Flash Instructions: At first the U-Boot variables need to be changed in order to boot the new combined image format. ZyXEL uses a split kernel + root setup and the current kernel is too large to fit into the partition. As resizing didnt do the trick, I've decided to use the prefered combined image approach to be future-kernel-enlargement-proof (thanks to blocktrron for the assistance). First add a new variable called boot_openwrt: setenv boot_openwrt bootm 0x9F120000 After that overwrite the bootcmd and save the environment: setenv bootcmd run boot_openwrt saveenv After that you can flash the openwrt factory image via TFTP. The servers IP has to be 192.168.1.33. Connect to one of the LAN ports and hold the WPS Button while booting. After a few seconds the NBG6616 will look for a image file called 'ras.bin' and flash it. Return to vendor firmware is possible by resetting the bootcmd: setenv bootcmd run boot_flash saveenv and flashing the vendor image via the TFTP method as described above. Accessing the U-Boot Shell: ZyXEL uses a proprietary loader/shell on top of u-boot: "ZyXEL zloader v2.02" When the device is starting up, the user can enter the the loader shell by simply pressing a key within the 3 seconds once the following string appears on the serial console: | Hit any key to stop autoboot: 3 The user is then dropped to a locked shell. | NBG6616> ? | ATEN x,(y) set BootExtension Debug Flag (y=password) | ATSE x show the seed of password generator | ATSH dump manufacturer related data in ROM | ATRT (x,y,z,u) ATRT RAM read/write test (x=level, y=start addr, z=end addr, u=iterations | ATGO boot up whole system | ATUR x upgrade RAS image (filename) In order to escape/unlock a password challenge has to be passed. Note: the value is dynamic! you have to calculate your own! First use ATSE $MODELNAME (MODELNAME is the hostname in u-boot env) to get the challange value/seed. | NBG6616> ATSE NBG6616 | 00C91D7EAC3C This seed/value can be converted to the password with the help of this bash script (Thanks to http://www.adslayuda.com/Zyxel650-9.html authors): - tool.sh - ror32() { echo $(( ($1 >> $2) | (($1 << (32 - $2) & (2**32-1)) ) )) } v="0x$1" a="0x${v:2:6}" b=$(( $a + 0x10F0A563)) c=$(( 0x${v:12:14} & 7 )) p=$(( $(ror32 $b $c) ^ $a )) printf "ATEN 1,%X\n" $p - end of tool.sh - | # bash ./tool.sh 00C91D7EAC3C | ATEN 1,10FDFF5 Copy and paste the result into the shell to unlock zloader. | NBG6616> ATEN 1,10FDFF5 If the entered code was correct the shell will change to use the ATGU command to enter the real u-boot shell. | NBG6616> ATGU | NBG6616# Signed-off-by: Christoph Krapp <achterin@googlemail.com> [move keys to DTSI, adjust usb_power DT label, remove kernel config change, extend commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: make dependency on kmod-usb-net selectiveAdrian Schmutzler2020-08-109-10/+9
| | | | | | | | A bunch of kernel modules depends on kmod-usb-net, but does not select it. Make AddDepends/usb-net selective, so we can drop some redundant +kmod-usb-net definitions for DEVICE_PACKAGES. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Telco T1Nicholas Smith2020-08-104-2/+159
| | | | | | | | | | | | | | | | | | | | | | Description: 2x 100Mbps Etherent ports 24V passive PoE 64MB RAM 16MB Flash 2.4GHz WiFi 1x WiFi antenna (RP-SMA connector) 1x LTE antenna (SMA connector) Sierra Wireless MC7430 LTE modem Flash instructions: Original firmware is based on OpenWrt. Flash using sysupgrade -n SUPPORTED_DEVICES is added to support factory firmware. Signed-off-by: Nicholas Smith <nicholas.smith@telcoantennas.com.au> [add missing led_rssi0 DT label, add SUPPORTED_DEVICES] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>