aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* firmware-utils: fix coverity zytrx.c resource leakKevin Darbyshire-Bryant2021-06-101-1/+3
| | | | | | | | | | | | | | | | fix coverity resource leak warning: *len = stat.st_size; mapped = mmap(NULL, stat.st_size, PROT_READ, MAP_SHARED, fd, 0); if (close(fd) < 0) CID 1484880: Resource leaks (RESOURCE_LEAK) Variable "mapped" going out of scope leaks the storage it points to. return NULL; return mapped; } Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> (cherry picked from commit baf2a50ef3cf34574e12d2ab1b23578310f0d527)
* firmware-utils: zytrx: Add util for ZyXEL specific headerBjørn Mork2021-06-102-0/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ZyXEL NR7101 prepend an additional header to U-Boot images. This header use the TRX magic 0x30524448 (HDR0), but is incompatible with TRX images. This code is reverse-engineered based on matching 32 bit numbers found in the header with lengths and different checksum calculations of the vendor images found on the device. The result was matched against the validation output produced by the bootloader to name the associated header fields. Example bootloader validation output: Zyxel TRX Image 1 --> Found! Header Checksum OK ============ZyXEL header information================== chipId : MT7621A boardId : NR7101 modelId : 07 01 00 01 kernel_len : (14177560) kernelChksum : (0x8DD31F69) swVersionInt : 1.00(ABUV.0)D1 swVersionExt : 1.00(ABUV.0)D1 Zyxel TRX Image 2 --> Found! Header Checksum OK ============ZyXEL header information================== chipId : MT7621A boardId : NR7101 modelId : 07 01 00 01 kernel_len : (14176660) kernelChksum : (0x951A7637) swVersionInt : 1.00(ABUV.0)D0 swVersionExt : 1.00(ABUV.0)D0 ================================================= Check image validation: Image1 Header Magic Number --> OK Image2 Header Magic Number --> OK Image1 Header Checksum --> OK Image2 Header Checksum --> OK Image1 Data Checksum --> OK Image2 Data Checksum --> OK Image1 Stable Flag --> Stable Image1 Try Counter --> 0 Image1: OK Image2: OK The coverage and algorithm for the kernelChksum field is unknown. This field is not validated by the bootloader or the OEM firmware upgrade tool. It is therefore set to a static value for now. The swVersion fields contain free form string values. The OEM firmware use ZyXEL structured version numbers as shown above. The strings are not interpreted or validated on boot, so they can be repurposed for anything we want the bootloader to display to the user. But the OEM web GUI fails to flash images with freeform strings. The purpose of the other strings in the header is not known. The values appear to be static. We assume they are fixed for now, until we have other examples. One of these strings is the platform name, which is taken as an input parameter for support other members of the device family. Signed-off-by: Bjørn Mork <bjorn@mork.no> Tested-by: Bjørn Mork <bjorn@mork.no> (cherry picked from commit 48cad07a55246317d66fee4ced25cb62a2bae3d3)
* treewide: make AddDepends/usb-serial selectiveAdrian Schmutzler2021-06-087-12/+12
| | | | | | | | Make packages depending on usb-serial selective, so we do not have to add kmod-usb-serial manually for every device. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit 9397b22df1473f315552578b58322db7f7750361)
* wireless-regdb: update to version 2021.04.21Felix Fietkau2021-06-081-2/+2
| | | | | Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry picked from commit d76535c45e6e970b212744781431e152e90c1ce6)
* glibc: update to latest 2.33 HEAD (BZ #27892)Hans Dedecker2021-06-081-2/+2
| | | | | | | 0ef0e6de7f powerpc: Fix handling of scv return error codes [BZ #27892] Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> (cherry picked from commit 507257778c733749816a8ca611f072d07916a918)
* umbim: fix return value of proto_mbim_setup()Adrian Schmutzler2021-06-081-1/+1
| | | | | | | | The variable name appears to be mistyped. Suggested-by: Howard Chu <hyc@symas.com> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit 6bc4c0ae3eb3dff6e410b5b012ab0bec267adb5a)
* x86: kernel: enable Fusion-MPT SAS driverMark Carroll2021-06-081-0/+1
| | | | | | | | Compile in MPT SAS driver required to mount rootfs on some VMWare systems (e.g. required for 1&1 IONOS). Signed-off-by: Mark Carroll <git@markcarroll.net> (cherry picked from commit 8716dda0743454e3949b815613542a4d00fc2a09)
* ipq40xx: add uboot-envtools to default packagesTomasz Maciej Nowak2021-06-082-17/+14
| | | | | | | | | | | | | | | | | | | | When support for Luma WRTQ-329ACN was added, the instructions for flashing this device include using tools from uboot-envtools package. Unfortunately the OpenWrt buildroot system omits packages from DEVICE_PACKAGES when CONFIG_TARGET_MULTI_PROFILE, CONFIG_TARGET_PER_DEVICE_ROOTFS, CONFIG_TARGET_ALL_PROFILES are set. In result the official images are without tools mentioned in the instruction. The workoround for the fashing would be installing uboot-envtools when booted with initramfs image, but not always the access to internet is available. The other method would be to issue the necesary command in U-Boot environment but some serial terminals default configuration don't work well with pasting lines longer than 80 chars. Therefore add uboot-envtools to default packages, which adds really small flash footprint to rootfs, where increased size usually is not an issue. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com> (cherry picked from commit 1984a6bbcaac95c439dd4a6eba2f78c54e9be215)
* ipq806x: fix LAN and WAN port assignments on TP-Link AD7200Alex Henrie2021-06-081-1/+4
| | | | | | | | | LAN port 4 was swapped with the WAN port and the remaining three LAN ports were numbered in reverse order from their labels on the case. Fixes: 1a775a4fd033 ("ipq806x: add support for TP-Link Talon AD7200") Signed-off-by: Alex Henrie <alexhenrie24@gmail.com> (cherry picked from commit 6fb27e8e6d05ed426f200242fdc1710f6f849127)
* mac80211: Update to backports-5.10.42Hauke Mehrtens2021-06-0633-1532/+63
| | | | | | | | | | | | | The removed patches were integrated upstream. The brcmf_driver_work workqueue was removed in brcmfmac with kernel 5.10.42, the asynchronous call was covered to a synchronous call. There is no need to wait any more. This part was removed manually from this patch: brcm/860-brcmfmac-register-wiphy-s-during-module_init.patch Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 04a260911ca0f10a0e37c487c220e1aae3623dda)
* kernel: bump 5.4 to 5.4.124Hauke Mehrtens2021-06-0645-167/+168
| | | | | | | | | | | | | Manually rebased generic/hack-5.4/662-remove_pfifo_fast.patch ramips/patches-5.4/0048-asoc-add-mt7620-support.patch All others updated automatically. Compile-tested on: armvirt/64, x86/generic, ath79/generic, ramips/mt7621 Runtime-tested on: armvirt/64, x86/generic, ath79/generic Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ubus: update to version 2021-06-03Petr Štetiar2021-06-031-3/+3
| | | | | | | | | | | | This update contains following changes: * ubusd: protect against too-short messages * ubusd: add per-client tx queue limit * ubusd: convert tx_queue to linked list Fixes: FS#1525 Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit 4f2243d40a400aa1ce6ae5d06325f93b4d9463a5)
* build/json: fix IMAGE_PREFIX and DEVICE_PACKAGESPaul Spooren2021-06-021-1/+1
| | | | | | | | | | | | These two variables were missing in the definition of DEFAULT_DEVICE_VARS which caused them to contain wrong values, messing up the resulting JSON files. This patch adds the two variables IMAGE_PREFIX and DEVICE_PACKAGES to DEFAULT_DEVICE_VARS. Suggested-by: Baptiste Jonglez <git@bitsofnetworks.org> Signed-off-by: Paul Spooren <mail@aparcar.org>
* rampis: use lzma-loader for ZTE MF283+Lech Perczak2021-06-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Without that, after merging support to master, the device fails to boot due to LZMA decompression error: 3: System Boot system code via Flash. raspi_read: from:80000 len:40 . Image Name: MIPS OpenWrt Linux-5.4.99 Created: 2021-02-25 23:35:00 UTC Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 1786664 Bytes = 1.7 MB Load Address: 80000000 Entry Point: 80000000 raspi_read: from:80040 len:1b4328 ............................ Verifying Checksum ... OK Uncompressing Kernel Image ... LZMA ERROR 1 - must RESET board to recover Use lzma-loader to fix it. Fixes: 59d065c9f81c ("ramips: add support for ZTE MF283+") Signed-off-by: Lech Perczak <lech.perczak@gmail.com> (cherry picked from commit 410fb05b445c89a147029d1471e184a5594602db) Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ramips: add support for ZTE MF283+Lech Perczak2021-06-025-1/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ZTE MF283+ is a dual-antenna LTE category 4 router, based on Ralink RT3352 SoC, and built-in ZTE P685M PCIe MiniCard LTE modem. Hardware highlighs: - CPU: MIPS24KEc at 400MHz, - RAM: 64MB DDR2, - Flash: 16MB SPI, - Ethernet: 4 10/100M port switch with VLAN support, - Wireless: Dual-stream 802.11n (RT2860), with two internal antennas, - WWAN: Built-in ZTE P685M modem, with two internal antennas and two switching SMA connectors for external antennas, - FXS: Single ATA, with two connectors marked PHONE1 and PHONE2, internally wired in parallel by 0-Ohm resistors, handled entirely by internal WWAN modem. - USB: internal miniPCIe slot for modem, unpopulated USB A connector on PCB. - SIM slot for the WWAN modem. - UART connector for the console (unpopulated) at 3.3V, pinout: 1: VCC, 2: TXD, 3: RXD, 4: GND, settings: 57600-8-N-1. - LEDs: Power (fixed), WLAN, WWAN (RGB), phone (bicolor, controlled by modem), Signal, 4 link/act LEDs for LAN1-4. - Buttons: WPS, reset. Installation: As the modem is, for most of the time, provided by carriers, there is no possibility to flash through web interface, only built-in FOTA update and TFTP recovery are supported. There are two installation methods: (1) Using serial console and initramfs-kernel - recommended, as it allows you to back up original firmware, or (2) Using TFTP recovery - does not require disassembly. (1) Using serial console: To install OpenWrt, one needs to disassemble the router and flash it via TFTP by using serial console: - Locate unpopulated 4-pin header on the top of the board, near buttons. - Connect UART adapter to the connector. Use 3.3V voltage level only, omit VCC connection. Pin 1 (VCC) is marked by square pad. - Put your initramfs-kernel image in TFTP server directory. - Power-up the device. - Press "1" to load initramfs image to RAM. - Enter IP address chosen for the device (defaults to 192.168.0.1). - Enter TFTP server IP address (defaults to 192.168.0.22). - Enter image filename as put inside TFTP server - something short, like firmware.bin is recommended. - Hit enter to load the image. U-boot will store above values in persistent environment for next installation. - If you ever might want to return to vendor firmware, BACK UP CONTENTS OF YOUR FLASH NOW. For this router, commonly used by mobile networks, plain vendor images are not officially available. To do so, copy contents of each /dev/mtd[0-3], "firmware" - mtd3 being the most important, and copy them over network to your PC. But in case anything goes wrong, PLEASE do back up ALL OF THEM. - From under OpenWrt just booted, load the sysupgrade image to tmpfs, and execute sysupgrade. (2) Using TFTP recovery - Set your host IP to 192.168.0.22 - for example using: sudo ip addr add 192.168.0.22/24 dev <interface> - Set up a TFTP server on your machine - Put the sysupgrade image in TFTP server root named as 'root_uImage' (no quotes), for example using tftpd: cp openwrt-ramips-rt305x-zte_mf283plus-squashfs-sysupgrade.bin /srv/tftp/root_uImage - Power on the router holding BOTH Reset and WPS buttons held for around 5 seconds, until after WWAN and Signal LEDs blink. - Wait for OpenWrt to start booting up, this should take around a minute. Return to original firmware: Here, again there are two possibilities are possible, just like for installation: (1) Using initramfs-kernel image and serial console (2) Using TFTP recovery (1) Using initramfs-kernel image and serial console - Boot OpenWrt initramfs-kernel image via TFTP the same as for installation. - Copy over the backed up "firmware.bin" image of "mtd3" to /tmp/ - Use "mtd write /tmp/firmware.bin /dev/mtd3", where firmware.bin is your backup taken before OpenWrt installation, and /dev/mtd3 is the "firmware" partition. (2) Using TFTP recovery - Follow the same steps as for installation, but replacing 'root_uImage' with firmware backup you took during installation, or by vendor firmware obtained elsewhere. A few quirks of the device, noted from my instance: - Wired and wireless MAC addresses written in flash are the same, despite being in separate locations. - Power LED is hardwired to 3.3V, so there is no status LED per se, and WLAN LED is controlled by WLAN driver, so I had to hijack 3G/4G LED for status - original firmware also does this in bootup. - FXS subsystem and its LED is controlled by the modem, so it work independently of OpenWrt. Tested to work even before OpenWrt booted. I managed to open up modem's shell via ADB, and found from its kernel logs, that FXS and its LED is indeed controlled by modem. - While finding LEDs, I had no GPL source drop from ZTE, so I had to probe for each and every one of them manually, so this might not be complete - it looks like bicolor LED is used for FXS, possibly to support dual-ported variant in other device sharing the PCB. - Flash performance is very low, despite enabling 50MHz clock and fast read command, due to using 4k sectors throughout the target. I decided to keep it at the moment, to avoid breaking existing devices - I identified one potentially affected, should this be limited to under 4MB of Flash. The difference between sysupgrade durations is whopping 3min vs 8min, so this is worth pursuing. In vendor firmware, WWAN LED behaviour is as follows, citing the manual: - red - no registration, - green - 3G, - blue - 4G. Blinking indicates activity, so netdev trigger mapped from wwan0 to blue:wwan looks reasonable at the moment, for full replacement, a script similar to "rssileds" would need to be developed. Behaviour of "Signal LED" in vendor firmware is as follows: - Off - no signal, - Blinking - poor coverage - Solid - good coverage. A few more details on the built-in LTE modem: Modem is not fully supported upstream in Linux - only two CDC ports (DIAG and one for QMI) probe. I sent patches upstream to add required device IDs for full support. The mapping of USB functions is as follows: - CDC (QCDM) - dedicated to comunicating with proprietary Qualcomm tools. - CDC (PCUI) - not supported by upstream 'option' driver yet. Patch submitted upstream. - CDC (Modem) - Exactly the same as above - QMI - A patch is sent upstream to add device ID, with that in place, uqmi did connect successfully, once I selected correct PDP context type for my SIM (IPv4-only, not default IPv4v6). - ADB - self-explanatory, one can access the ADB shell with a device ID added to 51-android.rules like so: SUBSYSTEM!="usb", GOTO="android_usb_rules_end" LABEL="android_usb_rules_begin" SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", ATTR{idProduct}=="1275", ENV{adb_user}="yes" ENV{adb_user}=="yes", MODE="0660", GROUP="plugdev", TAG+="uaccess" LABEL="android_usb_rules_end" While not really needed in OpenWrt, it might come useful if one decides to move the modem to their PC to hack it further, insides seem to be pretty interesting. ADB also works well from within OpenWrt without that. O course it isn't needed for normal operation, so I left it out of DEVICE_PACKAGES. Signed-off-by: Lech Perczak <lech.perczak@gmail.com> [remove kmod-usb-ledtrig-usbport, take merged upstream patches] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit 59d065c9f81c4d1a89464d071134a50529449f34) [Manually remove no longer needed patches for modem] Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* kernel: bump 5.4 to 5.4.123Kuan-Yi Li2021-05-3014-65/+34
| | | | | | | | | | | | Removed because in upstream generic/pending-5.4/770-02-net-ethernet-mtk_eth_soc-fix-rx-vlan-offload.patch All others updated automatically. Runtime-tested on bcm27xx/bcm2711. Fixes: FS#3085 Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
* build: kernel2minor: work around path length limitFrançois Chavant2021-05-301-2/+5
| | | | | | | | | | | | | | | When building for MikroTik devices the kernel2minor tool will sometimes fail with: Can't get lstat from kernel file!: No such file or directory. This is because kernel2minor expects paths no longer than 250 chars. To work around this the include/image-commands.mk has been modified to copy the kernel to a temporary file (/tmp/tmp.XXXXXXXXXX) before calling kernel2minor. Signed-off-by: François Chavant <francois@chavant.info> (cherry picked from commit 5a9608102b3c444d0c963255f9d016a1d5469d5d)
* OpenWrt v21.02.0-rc2: revert to branch defaultsHauke Mehrtens2021-05-295-11/+10
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* OpenWrt v21.02.0-rc2: adjust config defaultsv21.02.0-rc2Hauke Mehrtens2021-05-295-10/+11
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* base-files: simplify setting device MACRafał Miłecki2021-05-281-11/+8
| | | | | | | | | | | | | | | 1. Move code above interface generation It results in more logical order. Device gets its config section above interface section. 2. Drop the loop We have separated code handling bridges now so $device should be guaranteed to contain a single device name. 3. Drop section name It's not required by netifd or LuCI & it's not needed by this script as $device contains a single device name now. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit e002179a6d2eea8640e262160030336bea54ec26)
* ubox: fix init script validation of log_ip optionJo-Philipp Wich2021-05-282-2/+2
| | | | | | | | | The underlying logread process uses usock() to handle remote connections which is able to handle both hostnames and IP addresses. Ref: https://github.com/openwrt/luci/issues/5077 Signed-off-by: Jo-Philipp Wich <jo@mein.io> (cherry picked from commit ec83fb9ced138b7945135adffb9ff0ba63b695ec)
* base-files: generate network config with "device" optionsRafał Miłecki2021-05-274-22/+22
| | | | | | | | Replace "ifname" with "device" as netifd has been recently patches to used the later one. It's more clear and accurate. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 4b9a67362d70c544b85078b8d5c661f43f7472d9)
* base-files: fix configuration generation of network if "bridge" existsINAGAKI Hiroshi2021-05-271-2/+3
| | | | | | | | | | | | | | | | | After the commit 43fc720657c6e3b30c6ed89d7227ee6e646c158b ("base-files: generate "device UCI type section for bridge"), the wrong network configuration is generated for the devices that already have the bridge device section for VLAN, such as the devices in realtek target. As a result, the bridge device by additional "device" section is specified to the "ports" option in the "bridge-vlan" section and netifd shuts down the switch and the ethernet when the network service started. Fixes: 43fc720657 ("base-files: generate "device" UCI type section for bridge") Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> [rmilecki: use $ports for generate_bridge_vlan argument] Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 8cc4e87a2f81df02dbe481759ae6c36cf056c13b)
* base-files: support setting bridge MAC addressRafał Miłecki2021-05-271-0/+2
| | | | | | Fixes: 43fc720657c6 ("base-files: generate "device" UCI type section for bridge") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 7a90ad3c431031191afe51b163bf97d3ec820d54)
* base-files: generate bridge device sections with br- name prefixRafał Miłecki2021-05-271-2/+2
| | | | | | | | | | | | Missing br- prefix could result in name conflict between DSA port interface and bridge interface. Some devices with just one LAN port use "lan" interface name for DSA port. Trying to create bridge with the same "lan" name was failing. Reported-by: David Bauer <mail@david-bauer.net> Fixes: 43fc720657c6 ("base-files: generate "device" UCI type section for bridge") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 0e459668c5b3b158991803204f628b1b7dce9034)
* base-files: generate "device" UCI type section for bridgeRafał Miłecki2021-05-271-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This switches from the old way of defining bridges in an "interface" UCI section type (that should be used for layer 3 only). From now a defualt board switch will have its own "device" UCI section type. It's a new & preferred way of defining L2 devices. Before: config interface 'lan' option type 'bridge' option ifname 'lan1 lan2 lan3 lan4' option proto 'static' option ipaddr '192.168.1.1' option netmask '255.255.255.0' After: config device option name 'lan' option type 'bridge' list ports 'lan1' list ports 'lan2' list ports 'lan3' list ports 'lan4' config interface 'lan' option ifname 'lan' option proto 'static' option ipaddr '192.168.1.1' option netmask '255.255.255.0' Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 43fc720657c6e3b30c6ed89d7227ee6e646c158b)
* busybox: show reproducible timestampPaul Spooren2021-05-272-4/+80
| | | | | | | | | | | | | | | | | | | | | On login busybox shows a timestamp per default contianing the build date. Since the build date isn't reproducible per default this behaviour was disabled by default via 34df4d40 "busybox: disable timestamp in version". This commit modifies busybox so that the printed timestamp reproducible using SOURCE_DATE_EPOCH and therefore shouldn't be disabled anymore. Before: BusyBox v1.33.1 () built-in shell (ash) After: BusyBox v1.33.1 (2021-05-13 09:34:34 UTC) built-in shell (ash) Signed-off-by: Paul Spooren <mail@aparcar.org> (cherry picked from commit a725382978515abfb2eb7be3bafef735dca97dbd)
* busybox: use $(AUTORELEASE) and SPDXPaul Spooren2021-05-271-6/+3
| | | | | | | | | use AUTORELEASE since BusyBox is often updaten and PKG_RELEASE is not consistently bumped. Also use SPDX license headers to be machine readable and bump the copyright year to 2021. Signed-off-by: Paul Spooren <mail@aparcar.org> (cherry picked from commit 25fdb42249aef7b5eb53675f82f0091c532bf90c)
* ipq806x: improve system latencyAnsuel Smith2021-05-261-0/+17
| | | | | | | | | | | | | | | Various report and data show that the freq 384000 is too low and cause some extra latency to the entire system. OEM qsdk code also set the min frequency for this target to 800 mhz. Also some user notice some instability with this idle frequency, solved by setting the min frequency to 600mhz. Fix all these kind of problem by introducing a boot init.d script that set the min frequency to 600mhz and set the ondemand governor to be more aggressive. The script set these value only if the ondemand governor is detected. 384 mhz freq is still available and user can decide to restore the old behavior by disabling this script. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> (cherry picked from commit 861b82d36ae43efec8d16e61b82482e38996af92)
* archs38: set device vendor and model variablesMoritz Warning2021-05-261-0/+2
| | | | | | | This fixes the profiles.json output. Signed-off-by: Moritz Warning <moritzwarning@web.de> (cherry picked from commit cc54f65daa6101721c068cd00fdead1815db0bbf)
* arc770: set device vendor and model variablesMoritz Warning2021-05-261-0/+2
| | | | | | | This fixes the profiles.json output. Signed-off-by: Moritz Warning <moritzwarning@web.de> (cherry picked from commit d00bbd9de0719eededc7ee6a7cb2d8f4de6e4540)
* build: avoid generating JSON info on missing imageDavid Bauer2021-05-261-2/+2
| | | | | | | | | | | | Previously, build would fail for targets containing devices with not initramfs image (such as mpc85xx-p1010). Only generate the JSON image info for the initramfs image when we have one to avoid breaking the builds. Fixes commit d3140d052964 ("build/json: generate json file for initramfs") Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit 512229ce4967814a09ce202855e6b632d2e97a3c)
* build/json: generate json file for initramfsMoritz Warning2021-05-261-1/+34
| | | | | | | | | The initramfs images are missing from the profiles.json files. Signed-off-by: Moritz Warning <moritzwarning@web.de> [fix code by exporting device variables] Signed-off-by: Paul Spooren <mail@aparcar.org> (cherry picked from commit d3140d05296461deddaaa8ca2ce4a4a97a320eff)
* netifd: update to the latest masterRafał Miłecki2021-05-261-3/+3
| | | | | | | | 899c2a4 interface: support "device" attribute and deprecate "ifname" 62e3cb5 scripts/netifd-wireless.sh: add support for specifying the operating band Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 5fe549836fefea5ed656d73a0040dd0451f84705)
* netifd: update to the latest masterRafał Miłecki2021-05-261-3/+3
| | | | | | | | config: fix ifname->ports compat rename Fixes: 829b5c2ba32f ("netifd: update to the latest version") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit cea6631cdf09c577ae87a21bc3b03273a233c17e)
* netifd: update to the latest versionFelix Fietkau2021-05-261-4/+4
| | | | | | | | | | | 02dd2f2df7cb fix unannotated fall-through warnings 3052f2f67686 extdev: remove unused function 2a97fd006c3b device: add support for configuring devices with external auth handler 87e469be0c08 wireless: fix memory corruption bug when using vlans/station entries in the config 7277764bf817 bridge: rename "ifname" attribute to "ports" Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry picked from commit 829b5c2ba32f5ec821eab6762deecdf3522470a9)
* libubox: update to the latest versionFelix Fietkau2021-05-261-3/+3
| | | | | | | | | | | | | 870acee325fe tests: cram: test_base64: fix failing tests 4d8995e91d56 tests: cram: test_base64: really fix failing tests 551d75b5662c libubox: tests: add more blobmsg/json test cases a0dbcf8b8f96 tests: add blob-buffer overflow test b36a3a90098d blob: fix exceeding maximum buffer length b8abed749423 utils.h: add fallthrough macro b14c4688612c json_script: fix unannotated fall-through warning Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry picked from commit 04d21604fd72f337c8a0410d13b3d878914b7e7e)
* netifd: read udhcpc user scripts from directoryLeon M. George2021-05-262-1/+6
| | | | | | | | | | | | | | | Placeholder DHCP user scripts were added recently. These files make package-based installations of such scripts more difficult. Pull user callbacks from directories instead to allow packages and users to install co-existing scripts more easily. References: 130118f7a netifd: add a udhcpc.user placeholder script Signed-off-by: Leon M. George <leon@georgemail.eu> Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase] (cherry picked from commit 467c32600cc575fcb67c5f01ad32e02141220ceb)
* netifd: update to Git version 2021-04-03Hauke Mehrtens2021-05-261-3/+3
| | | | | | | | f8899b9 netifd: bridge: set default value for igmp_snoop 327da98 netifd: add possibility to switch off route config Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit b974293efa24b8e1bf859b1ed253ca0042ab273e)
* netifd: update to git HEADDaniel Golle2021-05-261-3/+3
| | | | | | | | | | | 09632d4 device: remove left-over comment b22f83d handler: add mechanism to generate external device handler stubs 80bf9d7 extdev: add support for external device handlers 44c0f40 system-linux: reorder sysctl functions c84f3b0 system-linux: add device options used by wpad Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit e62ace0ecf228f3a8bc86cea2252539ac7fd988c)
* netifd: add a udhcpc.user placeholder scriptRui Salvaterra2021-05-262-1/+6
| | | | | | | | | Document the existence of this feature. This allows the user to execute a script at each DHCPv4 event. This is useful, for example, as an ad-hoc way to update a DDNS entry when (and only when) required. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com> (cherry picked from commit 130118f7aa3191a2afd244d49e3057d4c5688676)
* libubox: update to git HEADDaniel Golle2021-05-261-3/+3
| | | | | | | 2e52c7e libubox: fix BLOBMSG_CAST_INT64 (do not override BLOBMSG_TYPE_DOUBLE) Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit c82cc4407adebd683593d8f0b71d10e694ff8804)
* base-files: use "ports" array in board.json network for bridgesRafał Miłecki2021-05-242-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | Bridge aggregates multiple ports so use a more accurate name ("ports") and format (array) for storing them in board.json. Example: "network": { "lan": { "ports": [ "lan1", "lan2", "lan3", "lan4" ], "protocol": "static" }, "wan": { "ifname": "wan", "protocol": "dhcp" } } Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit d42640e389a8b22a31fb0061c12cd9dfbddb87b8)
* treewide: Mark packages nonshared if they depend on @TARGET_Hauke Mehrtens2021-05-2412-0/+24
| | | | | | | | | | | | | | | This marks all packages which depend on a target with @TARGET nonshared. If they are not marked nonshared they would be build by the SDK build and if this happens with a different SDK, then the SDK from the target the package depends on, the package would not be added to the index. This should fix the image builder for some of these packages. This should fix the image builder at least for bcm27xx/bcm2710 and bcm4908/generic. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 1903233f2b312caf87aa369cd325d9689c45a1c6)
* fakeroot: Alpine linux libc.musl build error fixRuslan Isaev2021-05-231-0/+34
| | | | | | | | | Prevent build error on Alpine Linux host: libfakeroot.c error: conflicting types for 'id_t' Error relocating openwrt/staging_dir/host/lib/libfakeroot.so: SEND_GET_XATTR: symbol not found Signed-off-by: Ruslan Isaev <legale.legale@gmail.com> (cherry picked from commit 7a70f78fb7da4dc3e8c58e7662f4dc623274a78b)
* kernel-defaults: fix external kernel build when user_headers is missingMatt Merhar2021-05-231-1/+3
| | | | | | | | Use an 'if' so the absence of $(LINUX_DIR)/user_headers doesn't make the line evaluate to false and cause the build to fail. Signed-off-by: Matt Merhar <mattmerhar@protonmail.com> (cherry picked from commit cc76e34c10e57cb1a4f7971268a77aad2f24c8ca)
* mvebu: 5.4 fix DVFS caused random boot crashesRobert Marko2021-05-231-0/+107
| | | | | | | | | | | | | | | | | | 5.10.37 and 5.4.119 introduced a lot of DVFS changes for Armada 37xx from 5.13 kernel. Unfortunately commit: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/cpufreq/armada-37xx-cpufreq.c?h=v5.10.37&id=a13b110e7c9e0dc2edcc7a19d4255fc88abd83cc This patch actually corrects the things so that 1 or 1.2GHz models would actually get scaled to their native frequency. However, due to a AVS setting voltages too low this will cause random crashes on 1.2GHz models. So, until a new safe for everybody voltage is agreed on lets revert the patch. Fixes: 9d21ecc ("kernel: bump 5.4 to 5.4.119") Signed-off-by: Robert Marko <robert.marko@sartura.hr> (cherry picked from commit 080a0b74e39d159eecf69c468debec42f28bf4d8)
* ccache: Build with ENABLE_DOCUMENTATION=OFFDavid Adair2021-05-231-0/+3
| | | | | | | | | | | | | | This adjusts the Makefile to use the new option to turn off the doc builds. It will not cause any problems except a warning about unused options if combined with a ccache source missing the upstream patch. Since a config setting is required to re-enable the doc build this is equivalent to unconditionally disabling the docs if the config setting is not created. Signed-off-by: David Adair <djabhead@aol.com> (cherry picked from commit 2d1546832357a3a8bd18680bd31dd92050e739b2)
* generic: mt7530: fix EEE patchDENG Qingfang2021-05-231-1/+1
| | | | | | | | The higher 16-bit of EEE register was overwritten by mistake, fix that. Fixes: 5b9ba4a93e83 ("generic: mt7530: support adjusting EEE") Signed-off-by: DENG Qingfang <dqfext@gmail.com> (cherry picked from commit 8d1567ba6177f24969e76733d0cee30a830b5f7e)
* kernel: backport "mvmdio avoid error message for optional IRQ"Daniel González Cabanelas2021-05-231-0/+33
| | | | | | | | | | Rid of kernel error message: [ 0.780828] orion-mdio d0072004.mdio: IRQ index 0 not found on Marvell targets backporting the kernel commit fa2632f74e57 Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com> (cherry picked from commit d6831752367722e916bd15e5d1af79993c637a67)