summaryrefslogtreecommitdiffstats
path: root/package/base-files
Commit message (Collapse)AuthorAgeFilesLines
...
* base-files: upgrade: nand.sh: mute umount errorDaniel Golle2024-02-011-1/+1
| | | | | | | | | | Send error output of umount to /dev/null to mute error in case ubiblock device has already been unmounted (which is usually the case). Gets rid of bogus error message: umount: can't unmount /dev/ubiblock0_4: Invalid argument Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* base-files: functions.sh: prepend() always adds separatorPhilip Prindeville2024-01-151-1/+1
| | | | | | | | | | It shouldn't gate on the value, since the value will ostensibly always be set; instead it should depend on the variable being prepended to being non-empty. Fixes #14403 Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* base-files: add support for rootfs mount options from cmdlineChristian Marangi2024-01-151-1/+20
| | | | | | | | | | | | | | | | | | | Add support for configuring rootfs mount options from cmdline. Rootfs mount options can be passed by declaring in the kernel cmdline as much options as needed prefixed with "rootfs_mount_options." An example usage is with rootfs with F2FS filesystem to enable compress_algorithm to reduce flash wear by compressing the files before writing to flash. Example usage: "... rootfs_mount_options.compress_algorithm=zstd ..." To pass multiple options: "... rootfs_mount_options.compress_algorithm=zstd rootfs_mount_options.noinline_data ..." Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* base-files: execute package's "postinst" after executing uci-defaultsRafał Miłecki2023-12-271-5/+5
| | | | | | | | | | | | | | | | Allow "postinst" scripts to perform extra actions after applying all kind of fixups implemented using uci-defaults. This is needed e.g. by uhttpd-mod-ubus which after installation in a running systems needs to: 1. Update uhttpd config using its uci-defaults script 2. Reload uhttpd While this approach makes sense there is a risk it'll blow up some corner case postinst usages. There is only 1 way to find out. Cc: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* base-files: ipcalc.sh: Add tests for unroutable, etcPhilip Prindeville2023-12-121-0/+70
| | | | | | See RFC-1918, RFC-3927, and RFC-1122. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* base-files: ipcalc.sh: Add netmask2prefix functionPhilip Prindeville2023-12-122-5/+41
| | | | | | Also add is_contiguous to check if it's a valid netmask. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* base-files: ipcalc.sh: Add prefix-to-netmask conversionPhilip Prindeville2023-12-122-1/+14
| | | | | | | Seems like it might be used in other places, so factor it into the library. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* base-files: ipcalc.sh: Add some commentary, etc.Philip Prindeville2023-12-122-0/+16
| | | | | | | | Explain some of the more obscure logic, or where we deviate from what the original awk code did. Also, give a count of the usable addresses on the subnet. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* base-files: ipcalc.sh: Add support for decimal outputPhilip Prindeville2023-12-121-7/+31
| | | | | | | | This is useful if you later need to perform numeric range-checking on addresses, i.e. to see if an address falls inside a CIDR range, etc. and what interface it corresponds to. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* base-files: ipcalc.sh: Rewrite in pure shellPhilip Prindeville2023-12-122-95/+244
| | | | | | Also add better error checking on input. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* base-files: add mmc_get_mac_ascii functionDaniel Golle2023-12-091-5/+25
| | | | | | | | Similar to the *_get_mac_binary function, also split the common parts off mtd_get_mac_ascii into new get_mac_ascii function and introduce mmc_get_mac_ascii which uses it. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* base-files: support parse DT LED color and functionShiji Yang2023-12-021-0/+31
| | | | | | | | | The 'label' property in led node has been deprecated and we'd better to avoid using it. This patch allows us to extract DT OF LED name from the newly introduced LED properties "color", "function" and "function-enumerator". Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* base-files: ipcalc.sh: Should take netmask or prefix after slashPhilip Prindeville2023-11-191-10/+10
| | | | | | | | | | | | | | | | dnmasq.init now invokes ipcalc.sh as either: ipcalc.sh address/netmask ... or: ipcalc.sh address/prefix but the existing version doesn't accept the 2nd notation. We're trying to rationalize the usage of ipcalc.sh, and here we add support for the 2nd format. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* base-files: Create /root w/ appropriate permissionsPhilip Prindeville2023-11-121-1/+2
| | | | | | | If /root is created with too permissive permissions, then sshd won't trust the contents of /root/.ssh as being adequately protected. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* base-files: add additional uci-defaults function for GRO and conduitChristian Marangi2023-11-101-0/+8
| | | | | | | | | | | | | | Add additional uci-defaults function for configuring GRO settings and conduit for network devices. Tweaking the GRO values might increase performance on some low spec device that lack some offload feature on gmac. Tweaking conduit interface is specific to DSA based devices and is useful for multi-CPU scenario where one CPU is dedicated to one single port. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* base-files: generalize ucidef_set_network_deviceChristian Marangi2023-11-101-7/+7
| | | | | | | | | | | Generalize ucidef_set_network_device functions to use a more generic _ucidef_set_network_device_common that takes as args the option and the value to apply instead of hardcoding. This is to reduce duplicated code in preparation for addition of additional option for board.d usage. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* base-files: functions.sh: Add prepend() homologue to append()Philip Prindeville2023-10-231-0/+8
| | | | | | | | | | | | | Sometimes it's useful to be able to prepend to a variable as well, such as when dealing with domain names, e.g. prepend fdqn "$subdomain" "." will result in: fqdn="$subdomain.$fqdn" Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* treewide: disable QUILT refresh for unsupported packagesChristian Marangi2023-10-201-0/+3
| | | | | | | | | Some packages won't ever have something to patch as they normally install files or are meta-packages. For these special packages, disable QUILT refresh. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* base-files: fix wrong ucidef_set_network_device_mac network-device entryMichael 'ASAP' Weinrich2023-10-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The ucidef_set_network_device_* functions in uci-defaults.sh disagree on whether to use "network-device" or "network_device" in board.json. With the additional caveat that jshn will translate hyphens (-) into underscores (_). This casues problems in netifd which expected "network_device" causing boards which depend on assigning MACs in board.json via uci-defaults.sh (or jshn in general) to fail. This commit addresses the issue by using network_device in uci-defaults.sh. The bug was uncovered in the forums here: https://forum.openwrt.org/t/support-for-rtl838x-based-managed-switches/57875/2596 This was exposed by commit 4ebba8a05d09 ("realtek: add support for HPE 1920-8g-poe+") where the board_config_load call from 03_gpio introduced the key normalization by jshn. Fixes: 9290539ca9c7 ("base-files: allow setting device and bridge macs") Tested-by: Stijn Segers <foss@volatilesystems.org> Signed-off-by: Michael 'ASAP' Weinrich <michael@a5ap.net> [ improve commit title, description and fix wrong Tested-by tag ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* base-files: ipcalc.sh: make check slightly more future-proofLeon M. Busch-George2023-09-251-1/+1
| | | | | | | The previous code handling the equal-condition might be removed or altered in the future and the case might be overlooked. Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
* base-files: ipcalc.sh: turn error into warningLeon M. Busch-George2023-09-251-2/+3
| | | | | | | | | | | | | | Some users have their routers configured to supply a DHCP range that includes the local interface address. That worked with dnsmasq because it automatically skips the local address. Re-enable those existing configurations for the release and hint at possible future problems. Signed-off-by: Leon M. Busch-George <leon@georgemail.eu> [ wrap commit description and remove unecessary text ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* base-files: ipcalc.sh clarify range parameters in commentLeon M. Busch-George2023-09-251-1/+1
| | | | | | | | To avoid confusion when working with ipcalc.sh, clarify that the last two parameters belong to the range calculation and rename 'num' to the slightly less ambiguous 'size'. Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
* package: avoid the use of eval to parse ipcalc.sh outputLeon M. Busch-George2023-09-251-0/+5
| | | | | | | | | | | Add a function 'ipcalc' to /lib/functions.sh that sets variables more safely using export. With this new function, dnsmasq also handles the return value of ipcalc correctly. Fixes: e4bd3de1be8e ("dnsmasq: refuse to add empty DHCP range") Co-Authored-By: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
* base-files: ipcalc.sh: don't print broadcast addr for prefix > 30Leon M. Busch-George2023-09-251-2/+4
| | | | | | | | | | Printing a broadcast address doesn't make any sense for /31 and /32 prefixes. Strictly speaking, the same goes for the network address but it is useful to get the first address in the prefix, e.g. to create a canonical CIDR notation "$NETWORK/$PREFIX". Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
* base-files: ipcalc.sh: correctly set limit for prefix > 30Leon M. Busch-George2023-09-251-2/+10
| | | | | | | | For /31 and /32 prefixes, there are only host addresses - no network and broadcast address with all-zero and all-one bits. Reflect this when setting the limit. Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
* base-files: ipcalc.sh: correctly interpret num parameterLeon M. Busch-George2023-09-251-1/+1
| | | | | | | | The start and end addresses are inclusive. Thus, adding num without substracting one results in num + 1 addresses. Add the substraction and to implement the documented behaviour. Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
* base-files: sysupgrade: Add 2 sec sleep into process KILL loopHannu Nyman2023-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add 2 seconds sleep after each forcibly killed/tried-to-kill process in the final process termination loop in sysupgrade stage2. This is needed especially for qualcommax/ipq807x, where ath11k wireless driver may have a long 10-20 seconds delay after termination before actually getting killed. This often breaks sysupgrade. The current KILL loop in kill_remaining does all 10 kill attempts consecutively without any delay, as evidenced here in a failing sysupgrade. It does not allow any time for the process to finalize its internal termination. Sat Sep 2 19:05:56 EEST 2023 upgrade: Sending TERM to remaining processes ... Sat Sep 2 19:05:56 EEST 2023 upgrade: Sending signal TERM to hostapd (2122) Sat Sep 2 19:05:56 EEST 2023 upgrade: Sending signal TERM to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending KILL to remaining processes ... Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2122) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Failed to kill all processes. sysupgrade aborted with return code: 256 The change in this commit adds a 2 seconds delay after each kill attempt in order to allow some processes to more gracefully handle their internal termination. The result is like this: Sun Sep 3 11:15:10 EEST 2023 upgrade: Sending TERM to remaining processes ... Sun Sep 3 11:15:10 EEST 2023 upgrade: Sending signal TERM to hostapd (2309) Sun Sep 3 11:15:10 EEST 2023 upgrade: Sending signal TERM to hostapd (2324) Sun Sep 3 11:15:14 EEST 2023 upgrade: Sending KILL to remaining processes ... Sun Sep 3 11:15:14 EEST 2023 upgrade: Sending signal KILL to hostapd (2309) [ 699.827521] br-lan: port 7(hn5wpa2r) entered disabled state [ 699.908673] device hn5wpa2r left promiscuous mode [ 699.908721] br-lan: port 7(hn5wpa2r) entered disabled state [ 701.038029] br-lan: port 6(hn5wpa3) entered disabled state Sun Sep 3 11:15:16 EEST 2023 upgrade: Sending signal KILL to hostapd (2324) [ 702.058256] br-lan: port 5(hn2wlan) entered disabled state [ 709.250063] stage2 (8237): drop_caches: 3 Sun Sep 3 11:15:25 EEST 2023 upgrade: Switching to ramdisk... The delay introduced here only kicks in if there is some process that does not get terminated by the first TERM call. Then there is at least one 2 sec wait after the first KILL loop round. This commit is related to discussion in PRs #12235 and #12632 Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi> Reviewed-by: Robert Marko <robimarko@gmail.com>
* base-files: fix duplicate wifi radio sections when using phy renamingFelix Fietkau2023-07-172-0/+4
| | | | | | | | | | The duplicate sections are caused by a race condition at boot, when board.json is not available. In that case, the final phy name cannot be resolved, and extra sections referring to the path are created. Fix this by making sure that wifi config is not being run before board.json is created. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* base-files: upgrade: nand: add JFFS2 cleanmarkers supportÁlvaro Fernández Rojas2023-06-151-2/+10
| | | | | | | | Some Broadcom MIPS devices require JFFS2 cleanmarkers to be present on the kernel partition or the bootloader will identify the partition as corrupt and won't boot the kernel. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* base-files: enable BPF JIT kallsyms by defaultTony Ambardar2023-06-021-0/+1
| | | | | | | | | | Set net.core.bpf_jit_kallsyms=1 in /etc/sysctl.d/10-default.conf. For privileged users, this exports addresses of JIT-compiled programs to appear in /proc/kallsyms when present, allowing their use for debugging and in traces. Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* base-files: add protocol ncm support for ucidef_set_interface()Arınç ÜNAL2023-05-181-0/+1
| | | | | | | Make it possible to set up a default network (interface) for devices with cellular modems using NCM. Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
* base-files: Do not break on non-eth portsOlliver Schinagl2023-05-091-2/+0
| | | | | | | | | | | | | | When using OpenWRT with DSA and 'lan' ports, we could get an empty `next_eth`. This is of course not desirable, as this causes `sh: out of range` errors when trying to determine which one would be greater. It turns out, that we don't even need this check at all because, when looking for all existin eth*s on a system, and take the highest index and then iterate a set of devices and rename to eth${highest_index+n}, it is guaranteed that there will be no conflict. Fixes: b688bf83f9d6 ("base-files: rename ethernet devs on known boards") Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
* base-files: add 'isup' to the wifi scriptAndre Heider2023-04-121-1/+18
| | | | | | | | | | | | | | This is a silent command that allows easy wifi up/down automation for scripts. It takes one or multiple devices as arguments (or all if none are passed), and the exit code indicates if any of those is not up. E.g.: wifi isup && echo "all wifi devices are up" wifi isup radio0 || echo "this wifi is down" Signed-off-by: Andre Heider <a.heider@gmail.com>
* base-files: use named variables in the wifi scriptAndre Heider2023-04-121-2/+2
| | | | | | | Use the already present but unused $cmd and $dev variables instead of positional parameters in ubus_wifi_cmd() to improve readability. Signed-off-by: Andre Heider <a.heider@gmail.com>
* base-files: fix nand_upgrade_ubinized()Rafał Miłecki2023-04-111-1/+3
| | | | | | | | | | | | | | | | | | When using "ubiformat" with stdin it requires passing image size using the -S argument. Provide it just like we do for "ubiupdatevol". This fixes: ubiformat: error!: must use '-S' with non-zero value when reading from stdin This change fixes sysupgrade for bcm53xx and bcm4908 NAND devices possibly some other targets too. Cc: Rodrigo Balerdi <lanchon@gmail.com> Cc: Daniel Golle <daniel@makrotopia.org> Fixes: 971071212052 ("base-files: accept gzipped nand sysupgrade images") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Acked-by: Daniel Golle <daniel@makrotopia.org> Tested-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
* base-files: add support for retrieving IPv6 assignmentsMark Baker2023-02-241-0/+14
| | | | | | | In DHCPv6-PD enabled environments, addresses are assigned to interfaces. These new functions retrieve the IPv6 assigned prefix(es). Signed-off-by: Mark Baker <mark@vpost.net>
* base-files: sysfixtime: Fix time on the fake RTCYuan Tao2023-02-191-6/+16
| | | | | | | | | | | | | | | On some devices the chip has RTC but no battery save time. This leads back to getting the wrong time and skipping the check of the last file modification date. This commit ensures that the file time is checked even if the RTC exists. which would ordinarily return an approbiate system time used for e.g. certificate generation. Tested-on: NanoPi R2S Signed-off-by: Yuan Tao <ty@wevs.org>
* build: add option to use preinit IP as LAN IPStijn Tintel2023-02-172-0/+20
| | | | | | | | | | | We currently have build options to customize the IP address used in the preinit phase of the boot process, but not to set the default LAN IP. Introduce a boolean build option that, when enabled, results in the IP address configured for the preinit phase, to be also used as the default LAN IP address. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* treewide: replace /sys/devices/virtual/ubi by /sys/class/ubiDaniel Golle2023-02-151-5/+4
| | | | | | | | | | Starting from Linux Kernel version 6.3 UBI devices will no longer be considered virtual, but rather have an MTD device parent. Hence they will no longer be listed under /sys/devices/virtual/ubi which is used in multiple places in OpenWrt. Prepare for future kernels by using /sys/class/ubi instead of /sys/devuces/virtual/ubi. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* base-files: ipcalc.sh: fix awk regex syntaxLeon M. George2023-02-071-1/+1
| | | | | | It worked fine before but gawk warns about it. Signed-off-by: Leon M. George <leon@georgemail.eu>
* base-files: ipcalc.sh: trim for statementLeon M. George2023-02-071-2/+8
| | | | | | For gawk compatibility. Signed-off-by: Leon M. George <leon@georgemail.eu>
* base-files: ipcalc.sh: use shebang to invoke awkLeon M. George2023-02-071-3/+1
| | | | | | | | | | | There's hardly an shell logic in ipcalc.sh and a $* that would garble parameter positions. Move the awk invokation to the shebang. A rename from "ipcalc.sh" to "ipcalc" is desirable but could prove tricky with packages in other repositories depending on the filename. Signed-off-by: Leon M. George <leon@georgemail.eu>
* base-files: ipcalc.sh: fail when network is too smallLeon M. George2023-02-071-1/+7
| | | | | | | | It's possible to move range boundaries in a way that the start address lies behind the end address. Detect this condition and exit with an error message. Signed-off-by: Leon M. George <leon@georgemail.eu>
* base-files: ipcalc.sh: don't include own address in rangeLeon M. George2023-02-071-0/+7
| | | | | | Make sure our own address doesn't lie in the calculated range. Signed-off-by: Leon M. George <leon@georgemail.eu>
* base-files: ipcalc.sh: check for params before calculating start/endLeon M. George2023-02-071-12/+13
| | | | | | | With this patch, ipcalc only calculates range boundaries if the corresponding parameters are supplied. Signed-off-by: Leon M. George <leon@georgemail.eu>
* base-files: upgrade: Fix export_partdevice() quotingBrian Norris2023-02-031-1/+1
| | | | | | | | | | $BOOTDEV_MAJOR may be empty for many of the uevents parsed in this function. This condition thus tends to fail benignly (we just skip to the next device), but it can really clutter the stage2 sysupgrade stderr, since it looks like the "=" operand doesn't have an appropriate left-hand argument. Signed-off-by: Brian Norris <computersforpeace@gmail.com>
* base-files: fix nand_do_platform_check failChen Minqiang2023-01-291-1/+5
| | | | | | | | | | | | This change ensures compatibility with both types of sysupgrade-tar files. 1. For some boards like xiaomi,redmi-router-ax6s, sysupgrade-tar is pack in directory `vendor,name/` 2. For some boards like xiaomi,mi-router-3g, sysupgrade-tar is pack in directory `vendor_name/` Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
* base-files: Remove nand.sh dependency from emmc upgradeBrian Norris2023-01-213-31/+30
| | | | | | | | | | | | emmc_do_upgrade() relies on identify() from the nand.sh upgrade helper. This only works because FEATURES=emmc targets also tend to include FEATURES=nand. Rename identify_magic() to identify_magic_long() to match the common.sh style and make it clear it pairs with other *_long() variants (and not, say *_word()). Signed-off-by: Brian Norris <computersforpeace@gmail.com>
* base-files: rework mtd_get_mac_text()Michael Pratt2023-01-061-11/+5
| | | | | | | | | | | | | | It's necessary to be able to specify the length for MAC addresses that are stored in flash, for example, in a case where it is stored without any delimiter. Let both offset and length have default values. Add a sanity check related to partition size. Also, clean up syntax and unnecessary lines. Signed-off-by: Michael Pratt <mcpratt@pm.me>
* ramips: add basic support for tp-link er605-v2Nikolay Martynov2023-01-041-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a MT7621-based device with 128MB NAND flash, 256MB RAM, and a USB port. The board has headers to attach console. In order for them to work two solder bridges near those pads need to be made. The defice has the following partition table: ``` 0x000000000000-0x000000080000 : "u-boot" 0x000000080000-0x000000100000 : "u-boot-env" 0x000000100000-0x000000140000 : "factory" 0x000000140000-0x000007e00000 : "firmware" 0x000007e00000-0x000008000000 : "panic-ops" ``` `firmware` partition contains UBI volumes. Unfortunately I accidentally wiped partition and I no longer have access to it. `firmware` partition contains 'secondary' U-Boot which is run by 'first' u-boot. It also contains various configuration partitions that include device info and MAC address. There also seems to be 'primary' and 'backup' set of 'main' volumes. U-boot has `mtkupgrade` command that just overrides data on firmware partitions. Firmware file provided by TP-Link cannot be used with that command. U-boot also has 'recovery' http server. Unfortunately I was not able to make it work with manufacturer's firmware. Manufacturer's firmware essentially contains multiple UBI volumes along with 'partition table'. Unfortunately I no longer can properly run manufacturer's firmware so I cannot at the moment try to a support for building 'factory' images. This patch adds support for initramfs image as well as sysupgrade image. This seems to be pretty standard MT7621 board otherwise. Things that work: * network * leds * usb * factory MAC detection Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>