aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ramips: move dts-v1 statement to top-level DTSI filesAdrian Schmutzler2020-09-25414-695/+33
| | | | | | | | | | | | | | | | | The "/dts-v1/;" identifier is supposed to be present once at the top of a device tree file after the includes have been processed. In ramips, we therefore requested to have in the DTS files so far, and omit it in the DTSI files. However, essentially the syntax of the parent mtxxxx/rtxxxx DTSI files already determines the DTS version, so putting it into the DTS files is just a useless repetition. Consequently, this patch puts the dts-v1 statement into the top-level SoC-based DTSI files, and removes all other occurences. Since the dts-v1 statement needs to be before any other definitions, this also moves the includes accordingly where necessary. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: move dts-v1 statement to ath79.dtsiAdrian Schmutzler2020-09-25349-629/+333
| | | | | | | | | | | | | | | | | | | The "/dts-v1/;" identifier is supposed to be present once at the top of a device tree file after the includes have been processed. In ath79, we therefore requested to have in the DTS files so far, and omit it in the DTSI files. However, essentially the syntax of the parent ath79.dtsi file already determines the DTS version, so putting it into the DTS files is just a useless repetition. Consequently, this patch puts the dts-v1 statement into the parent ath79.dtsi, which is (indirectly) included by all DTS files. All other occurences are removed. Since the dts-v1 statement needs to be before any other definitions, this also moves the includes to make sure the ath79.dtsi or its descendants are always included first. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: move ath79-clk.h include to ath79.dtsiAdrian Schmutzler2020-09-259-9/+10
| | | | | | | | | | ath79.dtsi uses ATH79_CLK_MDIO, so the include <dt-bindings/clock/ath79-clk.h> needs to be moved there. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq40xx: tidy up dts-v1 statementsAdrian Schmutzler2020-09-258-16/+1
| | | | | | | | | | | | | | | | | | | | | The "/dts-v1/;" identifier is supposed to be present once at the top of a device tree file after the includes have been processed. Therefore, adding it to a DTS _and_ a DTSI file is actually wrong, as it will be present twice then (though the compiler does not complain about it). In ipq40xx, the dts-v1 statement is already included in qcom-ipq4019.dtsi, so we don't have to add it anywhere at all. However, based on the conditions stated above, this requires qcom-ipq4019.dtsi to be included as the first file in any DTS(I). Consequently, this patch removes all cases of dts-v1 for the ipq40xx target, and moves the includes accordingly where necessary. While at it, remove a few obviously unneeded includes on the way. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: move engenius_loader_okli recipe before devicesAdrian Schmutzler2020-09-251-14/+15
| | | | | | | | Move engenius_loader_okli image recipe in front of all Engenius devices, so adding new device entries will not have them sorted before the shared recipe. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* gemini: Bring up DSA switchesLinus Walleij2020-09-251-0/+27
| | | | | | | | | | | | | | | | | | First group the interfaces on the DSA switch into the right LAN/WAN groups. Tested successfully on the D-Link DIR-685 with the RTL8366RB DSA switch. The RTL8366RB is DSA custom tagged and now handled by the kernel tag parser. (Backported.) The Vitesse switches are not capable of supporting DSA per-port tagging. We suspect they must be handled using some custom VLAN set-up. Cc: Pawel Dembicki <paweldembicki@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> [sorted devices alphabetically] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: fix DTS warning in qcom-ipq4029-gl-s1300.dtsChristian Lamparter2020-09-251-1/+1
| | | | | | | .dts:226.17-230.4: Warning (spi_bus_reg): /soc/spi@78b6000/spi@1: SPI bus unit address format error, expected "0" Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: fix DTS warning in qcom-ipq4019-cm520-79f.dtsChristian Lamparter2020-09-251-1/+1
| | | | | | | | | | | | .dts:121.4-14: Warning (reg_format): /led_spi/led_gpio@0:reg: \ property has invalid length (4 bytes) (#address-cells == 1, #size-cells == 1) .dtb: Warning (pci_device_bus_num): Failed prerequisite 'reg_format' .dtb: Warning (i2c_bus_reg): Failed prerequisite 'reg_format' .dtb: Warning (spi_bus_reg): Failed prerequisite 'reg_format' .dts:119.24-126.5: Warning (avoid_default_addr_size): /led_spi/led_gpio@0: \ Relying on default #size-cells value Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* bcm53xx: add Cisco Meraki MR32Christian Lamparter2020-09-257-3/+380
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Cisco Meraki MR32. The unit was donated by Chris Blake. Thank you! WARNING: Only the 1x1:1 abgn Air Marshal WIPS wifi is currently supported by b43: b43-phy2: Found PHY: Analog 9, Type 4 (N), Revision 16 b43-phy2: Found Radio: Manuf 0x17F, ID 0x2057, Revision 9, Version 1 b43-phy2: Loading firmware version 784.2 (2012-08-15 21:35:19) and only as 802.11ABG! while WIFI1 and WIFI2 (both BCM4352) are not: b43-phy0: Broadcom 4352 WLAN found (core revision 42) b43-phy0 ERROR: FOUND UNSUPPORTED PHY (Analog 12, Type 11 (AC), Revision 1) Hardware Highlights: SoC: Broadcom BCM53016A1 (1 GHz, 2 cores) RAM: 128 MiB NAND: 128 MiB Spansion S34ML01G2 (~114 MiB useable) ETH: 1GBit Ethernet Port - PoE WIFI1: Broadcom BCM43520 an+ac (2x2:2 - id: 0x4352) WIFI2: Broadcom BCM43520 bgn (2x2:2 - id: 0x4352) WIFI3: Broadcom BCM43428 abgn (1x1:1 - id: 43428) BLE: Broadcom BCM20732 (ttyS1) LEDS: 1 x Programmable RGB Status LED (driven by a PWM) 1 x White LED (GPIO) 1 x Orange LED Fault Indicator (GPIO) 2 x LAN Activity / Speed LEDs (On the RJ45 Port) BUTTON: one Reset button MISC: AT24C64 8KiB EEPROM (i2c - stores Ethernet MAC + Serial#!) ina219 hardware monitor (i2c) Kensington Lock SERIAL: WARNING: The serial port needs a TTL/RS-232 3V3 level converter! The Serial setting is 115200-8-N-1. The board has a populated right angle 1x4 0.1" pinheader. The pinout is: VCC, RX, TX, GND. (Use a multimeter) Flashing needs a serial adaptor (due to the lack of a working dropbear on the original firmware). This flashing procedure for the MR32 was tested with firmware: "r23-149867:150252-aacharya". 0. Create a seperate Ethernet LAN which does not have access to the internet. Ideally use 192.168.1.2 for your PC. Make sure to reserve 192.168.1.1 it will be used later on by the OpenWrt firmware. The original Meraki firmware will likely try to setup the network via DHCP Discovery, so make sure your PC is running a DHCP-Server (i.e.: dnsmasq) '# dnsmasq -i eth# -F 192.168.1.5,192.168.1.50 Furthermore, the PC needs a supported ssh/http/ftp server in order to retrieve the initramfs + dtb file 1. Disassemble the MR32 device by removing all screws (4 screws are located under the 4 rubber feets!) and prying open the plastic covers without breaking the plastic retention clips. Once inside, remove all the screws on the outer metal shielding to get to the PCB. It's not necessary to remove the antennas! 2. Connect the serial cable to the serial header. 3. Partially reassemble the outer metal shielding to ensure that the SoC has a proper heat sink. 4. Connect the Ethernet patch cable to the device and the power cable. 5. Wait for the device to boot and enter the root shell. (rooting is not discussed in detail here please refer to Chris Blake - "pwning the meraki mr18" blog post: <https://servernetworktech.com/2016/02/pwning-the-meraki-mr18/> (The same method works with the MR32's r23-149867:150252-aacharya) Wait for the MR32 to enter the "<Meraki>" prompt and enter: <Meraki> odm serial_num read (Verify that it matches what's on the S/N Sticker on the back!) <Meraki> odm serial_num write Q2XX-XXXX-XXXV <Meraki> odm serial_num read (Verify that the S/N has changed - and the LED start to flash) now to flash the firmware: <Meraki> odm firmware part.safe "http://192.168.1.2/mr32-initramfs.bin" Once OpenWrt booted use sysupgrade to permanently install OpenWrt. To do this: Download the latest sysupgrade.bin file for the MR32 to the device and use sysupgrade *sysupgrade.bin to install it. WARNING: DO NOT DELETE the "storage" ubi volume! To flash later MR32 Firmwares like r25-201804051805-G885d6d78-dhow-rel requires in-circut-i2c tools to access the I2C EEPROM AT24C64 next to the SoC. The idea is pretty much the same as from Step 5 from above: Change the serial number to Q2XXXXXXXXXV (should be around 0x7c), then attach a serial cable, ethernet (but make sure the device can't reach the internet!) hit "s" (the small s!) during boot to enter the root-shell and add the following commands to the /storage/config there: serial_allow_odm true serial_access_enabled true serial_access_check false valid_config true and then hit exit to let it finish booting. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* kernel: package bcm53xx i2c moduleChristian Lamparter2020-09-251-0/+15
| | | | | | | | The BCM5301x SoCs do have i2c. Since this is only being used by the Meraki MR32, this will be packaged as a module. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* kernel: add default for new config symbolsChristian Lamparter2020-09-251-0/+2
| | | | | | Provide disabled defaults for I2C_SLAVE_EEPROM and IPMB_DEVICE_INTERFACE. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* bcm53xx: backport uart2 and pcie2 device-nodesChristian Lamparter2020-09-253-1/+57
| | | | | | | | | | These have made their way into -next. This patch also includes the portion of the bcm53xx kernel patch refreshes as the hunks in 302-ARM-dts-BCM5301X-Update-Northstar-pinctrl-binding.patch moved slightly due to the added nodes. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* bcm53xx: enable PWM for bcm53xxChristian Lamparter2020-09-253-1/+52
| | | | | | | | | The Meraki MR32 (BCM53016A1) uses the pwm to drive the tricolor LED. The driver has been available in upstream for a long time. Only the Device-Tree definition was missing, but it has been queued recently. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* build: define PWM_SUPPORT arch feature flagChristian Lamparter2020-09-253-0/+20
| | | | | | | | | | As the PWM has its own sub-system in the Linux kernel, I think it should be handled in the same way as GPIO, RTC, PCI... This patch introduces a specific feature flag "pwm" and the "leds-pwm" kernel module as the first customer. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* scripts: mkits.sh make it possible to specify fdt@#Christian Lamparter2020-09-253-6/+13
| | | | | | | | | | | | | | Some bootloaders are really keen on just one special fdt in a multi-image fit image. This is a problem, because currently this is fixed to "fdt@1". This patch introduces a new device variable: DEVICE_FDT_NUM that allows to specify the right fdt number. If the value is absent "1" will be chosen. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: Add support for Linksys MR8300 (Dallas)Hans Geiblinger2020-09-2516-315/+425
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Linksys MR8300 is based on QCA4019 and QCA9888 and provides three, independent radios. NAND provides two, alternate kernel/firmware images with fail-over provided by the OEM U-Boot. Hardware Highlights: SoC: IPQ4019 at 717 MHz (4 CPUs) RAM: 512MB RAM SoC: Qualcomm IPQ4019 at 717 MHz (4 CPUs) RAM: 512M DDR3 FLASH: 256 MB NAND (Winbond W29N02GV, 8-bit parallel) ETH: Qualcomm QCA8075 (4x GigE LAN, 1x GigE Internet Ethernet Jacks) BTN: Reset and WPS USB: USB3.0, single port on rear with LED SERIAL: Serial pads internal (unpopulated) LED: Four status lights on top + USB LED WIFI1: 2x2:2 QCA4019 2.4 GHz radio on ch. 1-14 WIFI2: 2x2:2 QCA4019 5 GHz radio on ch. 36-64 WIFI3: 2x2:2 QCA9888 5 GHz radio on ch. 100-165 Support is based on the already supported EA8300. Key differences: EA8300 has 256MB RAM where MR8300 has 512MB RAM. MR8300 has a revised top panel LED setup. Installation: "Factory" images may be installed directly through the OEM GUI using URL: https://ip-of-router/fwupdate.html (Typically 192.168.1.1) Signed-off-by: Hans Geiblinger <cybrnook2002@yahoo.com> [copied Hardware-highlights from EA8300. Fixed alphabetical order. fixed commit subject, removed bogus unit-address of keys, fixed author (used Signed-off-By to From:) ] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: add support for Luma Home WRTQ-329ACNTomasz Maciej Nowak2020-09-259-2/+299
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Luma Home WRTQ-329ACN, also known as Luma WiFi System, is a dual-band wireless access point. Specification SoC: Qualcomm Atheros IPQ4018 RAM: 256 MB DDR3 Flash: 2 MB SPI NOR 128 MB SPI NAND WIFI: 2.4 GHz 2T2R integrated 5 GHz 2T2R integrated Ethernet: 2x 10/100/1000 Mbps QCA8075 USB: 1x 2.0 Bluetooth: 1x 4.0 CSR8510 A10, connected to USB bus LEDS: 16x multicolor LEDs ring, controlled by MSP430G2403 MCU Buttons: 1x GPIO controlled EEPROM: 16 Kbit, compatible with AT24C16 UART: row of 4 holes marked on PCB as J19, starting count from the side of J19 marking on PCB 1. GND, 2. RX, 3. TX, 4. 3.3V baud: 115200, parity: none, flow control: none The device supports OTA or USB flash drive updates, unfotunately they are signed. Until the signing key is known, the UART access is mandatory for installation. The difficult part is disassembling the casing, there are a lot of latches holding it together. Teardown Prepare three thin, but sturdy, prying tools. Place the device with back of it facing upwards. Start with the wall having a small notch. Insert first tool, until You'll feel resistance and keep it there. Repeat the procedure for neighbouring walls. With applying a pressure, one edge of the back cover should pop up. Now carefully slide one of the tools to free the rest of the latches. There's no need to solder pins to the UART holes, You can use hook clips, but wiring them outside the casing, will ease debuging and recovery if problems occur. Installation 1. Prepare TFTP server with OpenWrt initramfs image. 2. Connect to UART port (don't connect the voltage pin). 3. Connect to LAN port. 4. Power on the device, carefully observe the console output and when asked quickly enter the failsafe mode. 5. Invoke 'mount_root'. 6. After the overlayfs is mounted run: fw_setenv bootdelay 3 This will allow to access U-Boot shell. 7. Reboot the device and when prompted to stop autoboot, hit any key. 8. Adjust "ipaddr" and "serverip" addresses in U-Boot environment, use 'setenv' to do that, then run following commands: tftpboot 0x84000000 <openwrt_initramfs_image_name> bootm 0x84000000 and wait till OpenWrt boots. 9. In OpenWrt command line run following commands: fw_setenv openwrt "setenv mtdids nand1=spi_nand; setenv mtdparts mtdparts=spi_nand:-(ubi); ubi part ubi; ubi read 0x84000000 kernel; bootm 0x84000000" fw_setenv bootcmd "run openwrt" 10. Transfer OpenWrt sysupgrade image to /tmp directory and flash it with: ubirmvol /dev/ubi0 -N ubi_rootfs sysupgrade -v -n /tmp/<openwrt_sysupgrade_image_name> 11. After flashing, the access point will reboot to OpenWrt, then it's ready for configuration. Reverting to OEM firmware 1. Execute installation guide steps: 1, 2, 3, 7, 8. 2. In OpenWrt command line run following commands: ubirmvol /dev/ubi0 -N rootfs_data ubirmvol /dev/ubi0 -N rootfs ubirmvol /dev/ubi0 -N kernel ubirename /dev/ubi0 kernel1 kernel ubi_rootfs1 ubi_rootfs ubimkvol /dev/ubi0 -S 34 -N kernel1 ubimkvol /dev/ubi0 -S 320 -N ubi_rootfs1 ubimkvol /dev/ubi0 -S 264 -N rootfs_data fw_setenv bootcmd bootipq 3. Reboot. Known issues The LEDs ring doesn't have any dedicated driver or application to control it, the only available option atm is to manipulate it with 'i2cset' command. The default action after applying power to device is spinning blue light. This light will stay active at all time. To disable it install 'i2c-tools' with opkg and run: i2cset -y 2 0x48 3 1 0 0 i The light will stay off until next cold boot. Additional information After completing 5. step from installation guide, one can disable asking for root password on OEM firmware by running: sed -e 's/root:x:/root::/' -i /etc/passwd This is useful for investigating the OEM firmware. One can look at the communication between the stock firmware and the vendor's cloud servers or as a way of making a backup of both flash chips. The root password seems to be constant across all sold devices. This is output of 'led_ctl' from OEM firmware to illustrate possibilities of LEDs ring: Usage: led_ctl [status | upgrade | force_upgrade | version] led_ctl solid COLOR <brightness> led_ctl single COLOR INDEX <brightness 0 - 15> led_ctl spinning COLOR <period 1 - 16 (lower = faster)> led_ctl fill COLOR <period 1 - 16 (lower = faster)> ( default is 5 ) led_ctl flashing COLOR <on dur 1 - 128> <off dur 1 - 128> (default is 34) ( default is 34 ) led_ctl pulsing COLOR COLOR: red, green, blue, yellow, purple, cyan, white Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl> [squash "ipq-wifi: add BDFs for Luma Home WRTQ-329ACN" into commit, changed ubi volumes for easier integration, slightly reworded commit message, changed ubi volume layout to use standard names all around] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: add open-drain support to pinctrl-msmBrian Norris2020-09-251-0/+81
| | | | | | | | | | | | | | Submitted upstream. Shouldn't affect existing devices, but enables new device support. https://lore.kernel.org/linux-gpio/20200703080646.23233-1-computersforpeace@gmail.com/ Currently queued for-next: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git/commit/?h=for-next&id=13355ca35cd16f5024655ac06e228b3c199e52a9 Signed-off-by: Brian Norris <computersforpeace@gmail.com> [refresh patch] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* dnsmasq: fix handling ignore condition for dnssecYousong Zhou2020-09-252-1/+2
| | | | | | | | | | It should return false to indicate that the option should not be ignored Fixes 064dc1e8 ("dnsmasq: abort when dnssec requested but not available") Reported-by: Sami Olmari <sami@olmari.fi> Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* dnsmasq: support tftp_unique_root in /etc/config/dhcpW. Michael Petullo2020-09-242-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The TFTP server provided by dnsmasq supports serving a select boot image based on the client's MAC or IP address. This allows an administrator to activate this feature in /etc/config/dhcp. Here is an example /etc/config/dhcp that configures dnsmasq with --tftp-unique-root=mac: ... config dnsmasq option enable_tftp 1 option tftp_root /usr/libexec/tftpboot option tftp_unique_root mac config boot router option serveraddress 192.168.1.1 option servername tftp.example.com option filename openwrt-initramfs-kernel.bin ... With this configuration, dnsmasq will serve /usr/libexec/tftpboot/00-11-22-33-44-55/openwrt-initramfs-kernel.bin to the client with MAC address 00:11:22:33:44:55. Signed-off-by: W. Michael Petullo <mike@flyn.org>
* vxlan: fix rsc config optionHans Dedecker2020-09-242-3/+3
| | | | | | Fix route short circuit config option; fixes commit 036221ce5a899eb99ef1c1623fc9460af00a69e7 Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* kernel: bump 5.4 to 5.4.67John Audia2020-09-2415-25/+21
| | | | | | | | | | | | | | All modifications made by update_kernel.sh Build system: x86_64 Build-tested: ipq806x, lantiq/xrx200 and ath79/generic Run-tested: ipq806x (R7800), lantiq (Easybox 904 xDSL) No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> [add test on lantiq] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* vxlan: add extra config optionsHans Dedecker2020-09-232-3/+25
| | | | | | | | | | | | | | | | | Add config options: srcportmin/srcportmax : range of port numbers to use as UDP source ports to communicate to the remote VXLAN tunnel endpoint ageing : lifetime in seconds of FDB entries learnt by the kernel maxaddress : maximum number of FDB entries learning : enable/disable entering unknown source link layer addresses and IP addresses into the VXLAN device FDB. rsc : enable/disable route short circuit proxy : enable/disable ARP proxy l2miss : enable/disable netlink LLADDR miss notifications l3miss : enable/disable netlink IP ADDR miss notifications gbp : enable/disable the Group Policy extension Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* ramips: add support for Linksys EA7300 v2J. Scott Heppler2020-09-238-0/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This submission relied heavily on the work of Santiago Rodriguez-Papa <contact at rodsan.dev> Specifications: * SoC: MediaTek MT7621A (880 MHz 2c/4t) * RAM: Winbond W632GG6MB-12 (256M DDR3-1600) * Flash: Winbond W29N01HVSINA (128M NAND) * Eth: MediaTek MT7621A (10/100/1000 Mbps x5) * Radio: MT7603E/MT7615N (2.4 GHz & 5 GHz) 4 antennae: 1 internal and 3 non-deatachable * USB: 3.0 (x1) * LEDs: White (x1 logo) Green (x6 eth + wps) Orange (x5, hardware-bound) * Buttons: Reset (x1) WPS (x1) Installation: Flash factory image through GUI. This might fail due to the A/B nature of this device. When flashing, OEM firmware writes over the non-booted partition. If booted from 'A', flashing over 'B' won't work. To get around this, you should flash the OEM image over itself. This will then boot the router from 'B' and allow you to flash OpenWRT without problems. Reverting to factory firmware: Hard-reset the router three times to force it to boot from 'B.' This is where the stock firmware resides. To remove any traces of OpenWRT from your router simply flash the OEM image at this point. Signed-off-by: J. Scott Heppler <shep971@centurylink.net>
* mt76: update to the latest versionFelix Fietkau2020-09-231-3/+3
| | | | | | | | | 73301065ac32 mt76: mt7615: reduce maximum VHT MPDU length to 7991 8c47ed12c2be mt76: mt7915: add offchannel condition in switch channel command 1449e602fa10 mt76: Convert to DEFINE_SHOW_ATTRIBUTE b22977c2727d mt76: mt7663s: remove max_tx_fragments limitation Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: update sta connection monitor regression fixFelix Fietkau2020-09-231-15/+27
| | | | | | Reset the connection monitor on all acked frames Signed-off-by: Felix Fietkau <nbd@nbd.name>
* target: update SPDX license namesAdrian Schmutzler2020-09-22101-101/+101
| | | | | | | SPDX moved from GPL-2.0 to GPL-2.0-only and from GPL-2.0+ to GPL-2.0-or-later. Reflect that in the SPDX license headers. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* scripts: update SPDX license namesPaul Spooren2020-09-2233-33/+33
| | | | | | | | | SPDX moved from GPL-2.0 to GPL-2.0-only and from GPL-2.0+ to GPL-2.0-or-later. Reflect that in the SPDX license headers. Signed-off-by: Paul Spooren <mail@aparcar.org> [adjust commit title, update remaining files] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: remove DTS from ATH79 target namePaul Spooren2020-09-221-1/+1
| | | | | | | The legacy ar71xx target is removed and multiple targets use DTS now, so there is no need to point that out for ATH79 specifically. Signed-off-by: Paul Spooren <mail@aparcar.org>
* hostapd: ubus: make (B)SSID optional for neighbor reportDavid Bauer2020-09-222-10/+25
| | | | | | | | | | | Make the BSSID and SSID fields optional when configuring a neighbor report into hostapd. Both options can now be an empty string. For the BSSID, the first 6 byte are copied from the neighbor report. For the SSID, the SSID for the affected hostapd BSS is used. Signed-off-by: David Bauer <mail@david-bauer.net>
* hostapd: ubus: send notification instead of eventDavid Bauer2020-09-222-12/+13
| | | | | | | | | | | Rafal Milecki pointed out that ubus events are meant for low-level ubus events only (e.g. addition or removal of an object). Higher level events should happen as notifications on the ubus object itself. Dispatch BSS events on the main hostapd ubus object instead of publishing them as ubus events. Signed-off-by: David Bauer <mail@david-bauer.net>
* mediatek: mt7622: select bluetooth module instead of firmwareChuanhong Guo2020-09-221-1/+1
| | | | Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* mediatek: build btmtkuart as a kernel moduleChuanhong Guo2020-09-222-15/+12
| | | | | | | | bluetooth on mt7622 needs a firmware to start. It can't be built-in or it tries to load firmware before rootfs is mounted, and then fails. build it as a kernel module to fix that. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* hostapd: ubus: fix infinite loop when configuring RRM NRDavid Bauer2020-09-212-3/+2
| | | | | | | The return-code was set, however it was never returned, nor was the loop interrupted. Signed-off-by: David Bauer <mail@david-bauer.net>
* hostapd: send procd event on BSS updateDavid Bauer2020-09-212-4/+36
| | | | | | | Dispatch ubus events also to procd in order to trigger service reloads on hostapd updates. Signed-off-by: David Bauer <mail@david-bauer.net>
* hostapd: send ubus event on BSS updateDavid Bauer2020-09-212-2/+24
| | | | | | | | | | | hostapd will emit a ubus event with the eventname hostapd.<ifname>.<event> when adding, removing or reloading a BSS. This way, services which install state (for example the RMM neighbor list) can on-demand reinstall this information for the BSS without polling this state. Signed-off-by: David Bauer <mail@david-bauer.net>
* odhcpd: number UCI defaults scriptStijn Segers2020-09-211-1/+1
| | | | | | | | | UCI defaults scripts are supposed to be numbered, but odhcpd's lacked numbering, which turned out to mess up my custom scripts numbered 9[0-9]_*. The idea is to have high number (custom) scripts executed last. Jow confirmed numbering is the default case, not the exception (thanks). Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* policycoreutils: fix ALTERNATIVES install locationDaniel Golle2020-09-211-1/+1
| | | | | Fixes: 7817c831ef ("policycoreutils: break into smaller packages") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* policycoreutils: break into smaller packagesDaniel Golle2020-09-211-45/+110
| | | | | | | | Instead of vaguely describing dependencies in the package description actually split-up into individual packages, each with their dependencies expressed accurately. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* libselinux: split utility packages and add PKG_LICENSEDaniel Golle2020-09-211-14/+73
| | | | | | | | Split utility packages similar to coreutils in packages feed, adding ALTERNATIVES for those which are also provided by busybox-selinux. Also add missing license information. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: fix regression in station connection monitor optimizationFelix Fietkau2020-09-211-0/+26
| | | | | | | | | When the nulldata frame was acked, the probe send count needs to be reset, otherwise it will keep increasing until the connection is considered dead, even though it fine. Reported-by: Georgi Valkov <gvalkov@abv.bg> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* zram-swap: explicitly use mkswap/swapon/swapoff from /sbinRui Salvaterra2020-09-202-11/+11
| | | | | | | | | | | | | The required BusyBox applets are enabled by default, so we can rely on them being present in the system. This way, we make sure there are no conflicts with less featured variants of these same applets which might also be present in the system. Fixes: 0bd7dfa3ed60 ("zram-swap: enable swap discard") Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com> [wrap commit description] Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: select the first available channel for 5GHz interfacesDavide Fioravanti2020-09-201-2/+2
| | | | | | | | | | Some 5GHz wifi interfaces, especially in Tri-band routers, can't use channel 36. In these cases, the default configuration for 5GHz interfaces, once enabled, doesn't work. This patch selects the first non-disabled channel for 5GHz interfaces. Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
* mediatek: mt7623: use bash for generating bootable imagesDavid Woodhouse2020-09-191-1/+1
| | | | | | | | | | | | | | | | | It turns out that 'echo -e' isn't portable; it doesn't work in the dash builtin echo and Ubuntu users are complaining. I can't even get octal (specified by POSIX) to work consistently because those variants of 'echo' which *do* support -e don't seem to interpret octalwithout it. I could switch to /bin/echo but using -e with that isn't actually portable *either* even though it works today. For now just stick with bash, and use its builtin. We may end up using something else entirely; perhaps perl. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: fix missing pause on switch port for Banana Pi R2David Woodhouse2020-09-191-0/+27
| | | | | | This causes rx drops when running iperf. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: mt7623n-preloader: add preloader for Banana Pi R64David Woodhouse2020-09-191-0/+22
| | | | | | | | | | | | We want to be able to make full system images for this system too, just as we now can for the MT7623 platforms. The package directory (mt7623n) is now a bit misnamed as it's overly specific, but the precise set of platforms which we support this way is evolving and we'll fix it up when the dust settles and we know what nomenclature makes most sense. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* ipq806x: fix support of Edgecore ECW5410 supportAdrian Schmutzler2020-09-193-81/+21
| | | | | | | | | | | | | | | | This fixes several stylistic and functional errors of the recently added Edgecore ECW5410: - fix call in 11-ath10k-caldata - use hex notation in 11-ath10k-caldata - remove redundant definitions from DTS that are already in DTSI - use proper sorting in image/Makefile - use DEVICE_VENDOR/DEVICE_MODEL instead of DEVICE_TITLE - use SOC instead of DEVICE_DTS Fixes: 59f0a0fd839e ("ipq806x: add Edgecore ECW5410 support") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.66John Audia2020-09-1921-54/+46
| | | | | | | | | | | | All modifications made by update_kernel.sh/no manual intervention needed Run-tested: ipq806x (R7800), ath79 (Archer C7v5), x86/64 No dmesg regressions, everything appears functional Signed-off-by: John Audia <graysky@archlinux.us> [add run test from PR] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: fix mtd partition erase < parent_erasesize writesJohn Thomson2020-09-194-16/+14
| | | | | | | | | | | | | | | | | | This bug applied where mtd partition end address, or erase start address, was not cleanly divisible by parent mtd erasesize. This error would cause the bits following the end of the partition to the next erasesize block boundary to be erased, and this partition-overflow data to be written to the partition erase address (missing additional partition offset address) of the mtd (top) parent device. Fixes: FS#2428 Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au> Tested-by: Tomasz Maciej Nowak <tomek_n@o2.pl> [shorten commit title, add Fixes, fix kernel 4.19 as well] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* arm-trusted-firmware-mvebu: add support for espressobinAndre Heider2020-09-181-21/+145
| | | | | | | | | | | | | | | | | | | | | | | | | Use build variants to cover all 11 hardware options [0]: espressobin-512mb espressobin-v3-v5-1gb-1cs espressobin-v3-v5-1gb-1cs-emmc espressobin-v3-v5-1gb-2cs espressobin-v3-v5-1gb-2cs-emmc espressobin-v3-v5-2gb espressobin-v3-v5-2gb-emmc espressobin-v7-1gb espressobin-v7-1gb-emmc espressobin-v7-2gb espressobin-v7-2gb-emmc CLOCKSPRESET is set to CPU_800_DDR_800 for all builds, which is the only stable configuration. That actually matches what Globalscale shipped as CPU_1000_DDR_800 combined with kernel versions < v4.19.42. [1][2]. [0] https://github.com/ARM-software/arm-trusted-firmware/blob/master/docs/plat/marvell/armada/build.rst [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8db82563451f976597ab7b282ec655e4390a4088 [2] https://forum.armbian.com/topic/10335-espressobin-update-to-585-results-in-kernel-panic/?tab=comments#comment-79916 Signed-off-by: Andre Heider <a.heider@gmail.com>