aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* elfutils: Ignore wrong use-after-free errorHauke Mehrtens2023-01-091-1/+1
| | | | | | | | | | | | | | | | | | | GCC 12.2.0 shows this false positive error message: ```` In function 'bigger_buffer', inlined from '__libdw_gunzip' at gzip.c:374:12: gzip.c:96:9: error: pointer may be used after 'realloc' [-Werror=use-after-free] 96 | b = realloc (state->buffer, more -= 1024); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gzip.c:94:13: note: call to 'realloc' here 94 | char *b = realloc (state->buffer, more); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors ```` GCC bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104069 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* layerscape: Add CONFIG_NVMEM_LAYERSCAPE_SFP kernel configuration optionHauke Mehrtens2023-01-081-0/+1
| | | | | | | | The kernel configuration option is now available on kernel 5.10 and 5.15, add it to the config for 5.15 too. Fixes: 8dfe69cdfc5c ("kernel: update nvmem subsystem to the latest upstream") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* at91: Add CONFIG_NVMEM_MICROCHIP_OTPC kernel configuration optionHauke Mehrtens2023-01-083-0/+3
| | | | | | | | The kernel configuration option is now available on kernel 5.10 and 5.15, add it to the config for 5.15 too. Fixes: 8dfe69cdfc5c ("kernel: update nvmem subsystem to the latest upstream") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Refresh kernel patchesHauke Mehrtens2023-01-081-1/+1
| | | | | | | Make the patches apply cleanly again. Fixes: 8dfe69cdfc5c ("kernel: update nvmem subsystem to the latest upstream") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* realtek: dgs-1210-10mp: add full sfp descriptionDaniel Groth2023-01-082-4/+108
| | | | | | | | Added the full SFP description for both SFP ports (lan9, 10) on D-Link DGS-1210-10MP, which enables hot-plug detection of SFP modules. Added the patch to both kernel 5.10 and 5.15 dts files. Signed-off-by: Daniel Groth <flygarn12@gmail.com>
* ramips: do not use GPIO function on switch pins on certain devicesArınç ÜNAL2023-01-084-109/+0
| | | | | | | | | | | | | | | | | | | | | The pins of the MT7530 switch that translate to GPIO 0, 3, 6, 9 and 12 has got a function, by default, which does the same thing as the netdev trigger. Because of bridge offloading on DSA, the netdev trigger won't see the frames between the switch ports whilst the default function will. Do not use the GPIO function on switch pins on devices that fall under this category. Keep it for: mt7621_belkin_rt1800.dts: There's only one LED which is for the wan interface and there's no bridge offloading between the "wan" interface and other interfaces. mt7621_yuncore_ax820.dts: There's no bridge offloading between the "wan" and "lan" interfaces. Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
* ramips: add support for D-Link DAP-X1860 A1Sebastian Schaper2023-01-076-0/+234
| | | | | | | | | | | | | | | | | | | | | | | | | | | The DAP-X1860 is a wall-plug AX1800 repeater. Specifications: - MT7621, 256 MiB RAM, 128 MiB SPI NAND - MT7915 + MT7975 2x2 802.11ax (DBDC) - Ethernet: 1 port 10/100/1000 - LED RSSI bargraph (2x green, 1x red/orange), status and RSSI LEDs are incorrectly populated red/orange (should be red/green according to documentation) Installation: - Keep reset button pressed during plug-in - Web Recovery Updater is at 192.168.0.50 - Upload factory.bin, confirm flashing (seems to work best with Chromium-based browsers) Revert to OEM firmware: - tar -xvf DAP-X1860_RevA_Firmware_101b94.bin - openssl enc -d -md md5 -aes-256-cbc -in FWImage.st2 \ -out FWImage.st1 -k MB0dBx62oXJXDvt12lETWQ== - tar -xvf FWImage.st1 - flash kernel_DAP-X1860.bin via Recovery Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
* kernel: backport of changes & helpersRafał Miłecki2023-01-0718-5/+2407
| | | | | | This code is required for upcoming NVMEM changes. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* busybox: update to 1.36.0Hannu Nyman2023-01-078-54/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update busybox to version 1.36.0 * refresh patches (remove the backported upstream fix) * refresh config Config refresh: Refresh commands, run after busybox is first built once: cd package/utils/busybox/config/ ../convert_menuconfig.pl ../../../../build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/busybox-default/busybox-1.36.0 cd .. ./convert_defaults.pl ../../../build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/busybox-default/busybox-1.36.0/.config > Config-defaults.in Manual edits needed after config refresh: * Config-defaults.in: OpenWrt config symbol IPV6 logic applied to BUSYBOX_DEFAULT_FEATURE_IPV6 * Config-defaults.in: OpenWrt config TARGET_bcm53xx logic applied to BUSYBOX_DEFAULT_TRUNCATE (commit 547f1ec) * Config-defaults.in: OpenWrt logic applied to BUSYBOX_DEFAULT_LOGIN_SESSION_AS_CHILD (commit dc92917) * Config-defaults.in: correct the default ports that get reset BUSYBOX_DEFAULT_FEATURE_HTTPD_PORT_DEFAULT 80 BUSYBOX_DEFAULT_FEATURE_TELNETD_PORT_DEFAULT 23 * config/editors/Config.in: Add USE_GLIBC dependency to BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH (commit f141090) * config/shell/Config.in: change at "Options common to all shells" the conditional symbol SHELL_ASH --> BUSYBOX_CONFIG_SHELL_ASH (discussion in http://lists.openwrt.org/pipermail/openwrt-devel/2021-January/033140.html Apparently our script does not see the hidden option while prepending config options with "BUSYBOX_CONFIG_" which leads to a missed dependency when the options are later evaluated.) * Edit a few Config.in files by adding quotes to sourced items in config/Config.in, config/networking/Config.in and config/util-linux/Config.in (commit 1da014f) Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* util-linux: update to 2.38.1Linhui Liu2023-01-074-66/+3
| | | | | | | | | | | | Release Notes: https://cdn.kernel.org/pub/linux/utils/util-linux/v2.38/v2.38.1-ReleaseNotes Remove upstreamed: - 010-meson-typo.patch - 020-meson-fix-compilation-without-systemd.patch - 110-meson-fix-when-HAVE_CLOCK_GETTIME-is-set.patch Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
* tools/mpfr: update to 4.2.0Linhui Liu2023-01-073-80/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes from versions 4.1.* to version 4.2.0: - The "fondue savoyarde" release. - Binary compatible with MPFR 4.0.* and 4.1.*, though some minor changes in the behavior of the formatted output functions may be visible, regarded as underspecified behavior or bug fixes (see below). - New functions mpfr_cosu, mpfr_sinu, mpfr_tanu, mpfr_acosu, mpfr_asinu, mpfr_atanu and mpfr_atan2u. - New functions mpfr_cospi, mpfr_sinpi, mpfr_tanpi, mpfr_acospi, mpfr_asinpi, mpfr_atanpi and mpfr_atan2pi. - New functions mpfr_log2p1, mpfr_log10p1, mpfr_exp2m1, mpfr_exp10m1 and mpfr_compound_si. - New functions mpfr_fmod_ui, mpfr_powr, mpfr_pown, mpfr_pow_uj, mpfr_pow_sj and mpfr_rootn_si (mpfr_pown is actually a macro defined as an alias for mpfr_pow_sj). - Bug fixes. In particular, for the formatted output functions (mpfr_printf, etc.), the case where the precision consists only of a period has been fixed to be like ".0" as specified in the ISO C standard, and the manual has been corrected and clarified. The macros of the custom interface have also been fixed: they now behave like functions (except a minor limitation for mpfr_custom_init_set). Remove upstreamed: - 002-Fix-mpfr_custom_get_kind-macro-bug.patch Refresh patches: - 001-only_src.patch Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
* tools/xz: update to 5.4.0Linhui Liu2023-01-071-2/+2
| | | | | | | Release notes: https://git.tukaani.org/?p=xz.git;a=blob;f=NEWS;hb=HEAD Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
* mt76: add stand-alone MT7622 firmware packageShiji Yang2023-01-074-69/+81
| | | | | | | | | Add a separate firmware package to avoid installing the MT7615 firmware on all MT7622 target devices by default. Now we only add MT7615 firmware packages for devices that use MT7615E. This commit also removes the explicit dependency on kmod-mt7615e to refine the package dependency. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* mt76: add stand-alone MT7915 firmware packageShiji Yang2023-01-073-29/+36
| | | | | | | | | The mt7915e driver supports MT7915, MT7916 and MT7986 chips. And Only MT7915 series chips need the MT7915 firmware. To save storage, extract them from the common code package and create a new package to provide the firmware. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* mt76: remove unnecessary dependency from mt7915eShiji Yang2023-01-071-1/+1
| | | | | | | | | The kmod-mt7615-common package does not contain any code that related to mt7915e Wi-Fi6 driver, so remove it. Tested on ramips/mt7621: SIM SIMAX1800T Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ramips: use default lzma dictionary size for better performanceShiji Yang2023-01-071-1/+0
| | | | | | | | | | | | limit dictionary size patch was introduced to solve the well known "LZMA ERROR 1 - must RESET board to recover" error. 09b6755946409d8fd8 "ramips: limit dictionary size for lzma compression" It seems that it has failed recently and we can use lzma loader to fix this error by adding "$(Device/uimage-lzma-loader)". So just remove it to use the default parameter -d24 for a higher compression ratio. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* kernel: Refresh kernel patchesHauke Mehrtens2023-01-074-4/+4
| | | | | | | Make the patches apply cleanly again. Fixes: 8dfe69cdfc5c ("kernel: update nvmem subsystem to the latest upstream") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: fix bugs added with mac-address-ascii supportRafał Miłecki2023-01-072-40/+38
| | | | | | | | | | | | | | | | | | | | 1. Check for -EPROBE_DEFER If it occurs we have to return immediately. Trying other properties could result in another error and ignoring -EPROBE_DEFER which has a special meaning. 2. Check for read result Assuming property->read() success can result in NULL pointer dereference. It happens e.g. for "mac-address" with NVMEM cell containing invalid MAC. 3. Simplify code Don't move cell reading & nvmem_cell_put() into a loop. Simplify loop code. Fixes: ecd81de7a5ab ("ath79: add nvmem cell mac-address-ascii support") Cc: Yousong Zhou <yszhou4tech@gmail.com> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* realtek: don't relocate kernel on HPE 1920 seriesJan Hoffmann2023-01-072-16/+0
| | | | | | | This is no longer needed now that the kernel is built with a load address that matches the one hard-coded in the bootloader. Signed-off-by: Jan Hoffmann <jan@3e8.eu>
* scripts: add Apache fastly mirrorDavid Bauer2023-01-071-0/+1
| | | | | | | Add the Apache fastly mirror as preferred download source. This service is using a dual-stacked CDN. Signed-off-by: David Bauer <mail@david-bauer.net>
* zyxel-bootconfig: clean up scriptDavid Bauer2023-01-071-3/+1
| | | | | | Drop unused variable and fix identation. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: combine UniFi AC dual firmware-partitionsDavid Bauer2023-01-072-8/+3
| | | | | | | | | | | | | | | In order to maximize the available space on UniFi AC boards using a dual-image partition layout, combine the two OS partitions into a single partition. This allows users to access more usable space for additional packages. Don't limit the usable image size to the size of a single OS partition. The initial installation has to be done with an older version of OpenWrt in case the generated image exceeds the space of a single kernel partition in the future. Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: combine USW-Flex dual firmware-partitionsDavid Bauer2023-01-072-7/+3
| | | | | | | | | | | | | | | In order to maximize the available space on USW-Flex boards using a dual-image partition layout, combine the two OS partitions into a single partition. This allows users to access more usable space for additional packages. Don't limit the usable image size to the size of a single OS partition. The initial installation has to be done with an older version of OpenWrt in case the generated image exceeds the space of a single kernel partition in the future. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: combine OCEDO dual firmware-partitionsDavid Bauer2023-01-074-24/+9
| | | | | | | | | | | | | | | In order to maximize the available space on OCEDO boards using a dual-image partition layout, combine the two OS partitions into a single partition. This allows users to access more usable space for additional packages. Don't limit the usable image size to the size of a single OS partition. The initial installation has to be done with an older version of OpenWrt in case the generated image exceeds the space of a single OS partition in the future. Signed-off-by: David Bauer <mail@david-bauer.net>
* treewide: update NVMEM symbolsRafał Miłecki2023-01-079-11/+11
| | | | | Fixes: 8dfe69cdfc5c ("kernel: update nvmem subsystem to the latest upstream") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: update nvmem subsystem to the latest upstreamRafał Miłecki2023-01-0695-40/+7448
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mvebu: harmonize GL.iNet GL-MV1000 MTD partitions layout with vendorEnrico Mioso2023-01-061-1/+19
| | | | | | | The GL-MV1000 ships with a 16MB spi-nor flash, containing a copy of the stock GL.iNet firmware. Add the corresponding flash areas, so our view matches the one of the in-flash stock firmware. Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
* octeontx: add sqaushfs and ramdisk to featuresTim Harvey2023-01-061-1/+1
| | | | | | | Add squashfs and ramdisk to features as these are commonly used images for the octeontx. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* ramips: add support for Cudy M1800Leon M. Busch-George2023-01-063-4/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications SoC: MT7621 CPU: 880 MHz Flash: 32 MiB RAM: 256 MiB WLAN: MT7915 WiFi 6 (2.4/5 GHz) Ethernet: 2x Gbit ports MAC LAN b4:4b:d6:2e:c7:b0 (label) WAN b4:4b:d6:2e:c7:b1 WiFi 2.4 00:0c:43:26:46:08 WiFi 5 00:0c:43:26:59:97 Installation There are two known options: 1) The Luci-based UI. 2) Press and hold the reset button during power up. The router will request 'recovery.bin' from a TFTP server at 192.168.1.88. Both options require a signed firmware binary. The openwrt image supplied by cudy is signed and can be used to install unsigned images. Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
* kernel: add patch to support en25qh256aLeon M. Busch-George2023-01-066-4/+102
| | | | | | | | | | | | | The EN25QH256A variant of the EN25QH256 doesn't initialize correctly from SFDP alone and only accesses memory below 8m (addr_width is 4 but read_opcode takes only 3 bytes). Set SNOR_F_4B_OPCODES if the flash chip variant was detected using hwcaps. The fix submitted upstream uses the PARSE_SFDP initializer that is not available in the kernel used with Openwrt. Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
* ath79: tiny: Do not build TPLink WPA8630Pv2 by defaultJoe Mullally2023-01-061-0/+1
| | | | | | | | | | 22.03.1+ and snapshot builds no longer fit the 6M flash space available for these models. This disables failing buildbot image builds for these devices. Images can still be built manually with ImageBuilder. Signed-off-by: Joe Mullally <jwmullally@gmail.com>
* target/imagebuilder: add help text and rename whatdepends to package_whatdepensFlorian Eckert2023-01-061-2/+10
| | | | | | | Add the command `package_whatdepends` to show all package that have a dependency to this packages. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* target/imagebuilder: update help text for manifest targetFlorian Eckert2023-01-061-1/+2
| | | | | | | - Add a help text for the manifest command. - Unify command detail help text to use `manifest`. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* target/imagebuilder: change help text for image buildFlorian Eckert2023-01-061-1/+1
| | | | | | Using command `image` to unify help text. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* target/imagebuilder: add depends target to show all package that gets installedFlorian Eckert2023-01-061-1/+17
| | | | | | | | This commits adds the makefile targets `depends` this wrapper is a call to `opkg depends`. This command shows which runtime dependencies exist if this package is installed into the image. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* ath79: convert UBNT Aircube AC WiFis to nvmem-cellsStefan Kalscheuer2023-01-062-13/+26
| | | | | | | | | Pull the calibration data from the nvmem subsystem. This allows us to move userspace caldata extraction into the device-tree definition. Merge art into partition node. Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
* tools/llvm: update to 15.0.6Linhui Liu2023-01-061-4/+2
| | | | | | | | | | | | | | | Release Notes: https://discourse.llvm.org/t/llvm-15-0-0-release/65099 https://discourse.llvm.org/t/llvm-15-0-1-released/65380 https://discourse.llvm.org/t/llvm-15-0-2-released/65695 https://discourse.llvm.org/t/llvm-15-0-3-released/66036 https://discourse.llvm.org/t/llvm-15-0-4-released/66337 https://discourse.llvm.org/t/llvm-15-0-5-release/66616 https://discourse.llvm.org/t/llvm-15-0-6-released/66899 Remove HOST_BUILD_PARALLEL as it's default now. Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
* ramips: add support for Keenetic KN-1613Maxim Anisimov2023-01-064-4/+246
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Keenetic KN-1613 is a 2.4/5 Ghz band 11ac (Wi-Fi 5) router, based on MT7628AN. Specification: - System-On-Chip: MT7628AN - CPU/Speed: 580 MHz - Flash-Chip: Winbond w25q256 - Flash size: 32768 KiB - RAM: 128 MiB - 4x 10/100 Mbps Ethernet - 2x external, non-detachable antennas - UART (J1) header on PCB (115200 8n1) - Wireless No1 (2T2R): SoC Built-in 2.4 GHz 802.11bgn - Wireless No2 (2T2R): MT7613BE 5 GHz 802.11ac - 4x LED, 2x button, 1x mode switch Notes: - The device supports dual boot mode - The firmware partitions were concatinated into one - The FN button led indicator has been reassigned as the 2.4GHz wifi indicator. Flash instruction: The only way to flash OpenWrt image is to use tftp recovery mode in U-Boot: 1. Configure PC with static IP 192.168.1.2/24 and tftp server. 2. Rename "openwrt-ramips-mt76x8-keenetic_kn-1613-squashfs-factory.bin" to "KN-1613_recovery.bin" and place it in tftp server directory. 3. Connect PC with one of LAN ports, press the reset button, power up the router and keep button pressed until power led start blinking. 4. Router will download file from server, write it to flash and reboot. Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
* ramips: enable mtd virtual concat support for mt76x8 subtargetMaxim Anisimov2023-01-062-0/+2
| | | | | | This is required for upcoming Keenetic KN-1613 support Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
* tcpdump: update to 4.99.2Nick Hainke2023-01-063-36/+37
| | | | | | | | | | | | | | | | | | | | | | | Update to latest version. For release information look into CHANGES file [0]. Automatically refreshed: - 001-remove_pcap_debug.patch Manually refreshed: - 100-tcpdump_mini.patch old ipkg sizes: 316554 bin/packages/mips_24kc/base/tcpdump_4.99.1-1_mips_24kc.ipk 141457 bin/packages/mips_24kc/base/tcpdump-mini_4.99.1-1_mips_24kc.ipk new ipkg sizes: 318089 bin/packages/mips_24kc/base/tcpdump_4.99.2-1_mips_24kc.ipk 141941 bin/packages/mips_24kc/base/tcpdump-mini_4.99.2-1_mips_24kc.ipk [0] - https://github.com/the-tcpdump-group/tcpdump/blob/master/CHANGES Signed-off-by: Nick Hainke <vincent@systemli.org>
* libpcap: update to 1.20.2Nick Hainke2023-01-065-46/+20
| | | | | | | | | | | | | | | | | | | | | | | | | A huge rewrite in libpcap was introduced by dc14a7babca1 ("rpcap: have the server tell the client its byte order.") [0]. The patch "201-space_optimization.patch" does not apply at all anymore. So remove it. Refresh: - 100-no-openssl.patch - 102-skip-manpages.patch Update the "300-Add-support-for-B.A.T.M.A.N.-Advanced.patch" with latest PR [1]. old ipkg size: 90964 bin/packages/mips_24kc/base/libpcap1_1.10.1-5_mips_24kc.ipk new ipkg size: 93340 bin/packages/mips_24kc/base/libpcap1_1.10.2-1_mips_24kc.ipk [0] - https://github.com/the-tcpdump-group/libpcap/commit/dc14a7babca1471809bee6872539ff836937840e [1] - https://github.com/the-tcpdump-group/libpcap/pull/980 Signed-off-by: Nick Hainke <vincent@systemli.org>
* nftables: update to 1.0.6Nick Hainke2023-01-062-27/+4
| | | | | | | | | | | | | | | | | | Remove upstreamed patches: - 0001-fix-nft.patch Upstream switched to "tar.xz" archives. old ipkg size: 273678 bin/packages/mips_24kc/base/nftables-json_1.0.5-2_mips_24kc.ipk new ipkg size: 271624 bin/packages/mips_24kc/base/nftables-json_1.0.6-1_mips_24kc.ipk Release Information: https://netfilter.org/projects/nftables/files/changes-nftables-1.0.6.txt Signed-off-by: Nick Hainke <vincent@systemli.org>
* generic: fix silicon labs spidev bindingsVincent Tremblay2023-01-0610-40/+111
| | | | | | | | | | | | | | | Fix Silicon Labs bindings in the spidev driver Some bindings for Silicon Labs chips already exists upstream. These bindings can be found in trivial-devices.yaml. The existing bindings are using "silabs" instead of "siliconlabs" to identify the manufacturer. This commit add two submitted patches for silabs chips and rename the manufacturer in the different DTS for more coherence. Signed-off-by: Vincent Tremblay <vincent@vtremblay.dev>
* ath79: add support for Fortinet FAP-221-BMichael Pratt2023-01-068-0/+252
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FCC ID: U2M-CAP4100AG Fortinet FAP-221-B is an indoor access point with 1 Gb ethernet port, dual-band wireless, internal antenna plates, and 802.3at PoE+ Hardware and board design from Senao **Specification:** - AR9344 SOC 2G 2x2, 5G 2x2, 25 MHz CLK - AR9382 WLAN 2G 2x2 PCIe, 40 MHz CLK - AR8035-A PHY RGMII, PoE+ IN, 25 MHz CLK - 16 MB FLASH MX25L12845EMI-10G - 2x 32 MB RAM W9725G6JB-25 - UART at J11 populated, 9600 baud - 6 LEDs, 1 button power, ethernet, wlan, reset Note: ethernet LEDs are not enabled because a new netifd hotplug is required in order to operate like OEM. Board has 1 amber and 1 green for each of the 3 case viewports. **MAC addresses:** 1 MAC Address in flash at end of uboot ASCII encoded, no delimiters Labeled as "MAC Address" on case OEM firmware sets offsets 1 and 8 for wlan eth0 *:1e uboot 0x3ff80 phy0 *:1f uboot 0x3ff80 +1 phy1 *:26 uboot 0x3ff80 +8 **Serial Access:** Pinout: (arrow) VCC GND RX TX Pins are populated with a header and traces not blocked. Bootloader is set to 9600 baud, 8 data, 1 stop. **Console Access:** Bootloader: Interrupt boot with Ctrl+C Press "k" and enter password "1" OR Hold reset button for 5 sec during power on Interrupt the TFTP transfer with Ctrl+C to print commands available, enter "help" OEM: default username is "admin", password blank telnet is available at default address 192.168.1.2 serial is available with baud 9600 to print commands available, enter "help" or tab-tab (busybox list of commands) **Installation:** Use factory.bin with OEM upgrade procedures OR Use initramfs.bin with uboot TFTP commands. Then perform a sysupgrade with sysupgrade.bin **TFTP Recovery:** Using serial console, load initramfs.bin using TFTP to boot openwrt without touching the flash. TFTP is not reliable due to bugged bootloader, set MTU to 600 and try many times. If your TFTP server supports setting block size, higher block size is better. Splitting the file into 1 MB parts may be necessary example: $ tftpboot 0x80100000 image1.bin $ tftpboot 0x80200000 image2.bin $ tftpboot 0x80300000 image3.bin $ tftpboot 0x80400000 image4.bin $ tftpboot 0x80500000 image5.bin $ tftpboot 0x80600000 image6.bin $ bootm 0x80100000 **Return to OEM:** The best way to return to OEM firmware is to have a copy of the MTD partitions before flashing Openwrt. Backup copies should be made of partitions "fwconcat0", "loader", and "fwconcat1" which together is the same flash range as OEM's "rootfs" and "uimage" by loading an initramfs.bin and using LuCI to download the mtdblocks. It is also possible to extract from the OEM firmware upgrade image by splitting it up in parts of lengths that correspond to the partitions in openwrt and write them to flash, after gzip decompression. After writing to the firmware partitions, erase the "reserved" partition and reboot. **OEM firmware image format:** Images from Fortinet for this device ending with the suffix .out are actually a .gz file The gzip metadata stores the original filename before compression, which is a special string used to verify the image during OEM upgrade. After gzip decompression, the resulting file is an exact copy of the MTD partitions "rootfs" and "uimage" combined in the same order and size that they appear in /proc/mtd and as they are on flash. OEM upgrade is performed by a customized busybox with the command "upgrade". Another binary, "restore" is a wrapper for busybox's "tftp" and "upgrade". Signed-off-by: Michael Pratt <mcpratt@pm.me>
* image: add gzip-filename build recipeMichael Pratt2023-01-062-0/+11
| | | | | | | | | | Some vendors use basic gzip metadata (original filename and timestamp) to verify valid images, along with the size of it's contents. Also, add a new device profile variable FACTORY_IMG_NAME which would be ideal to use with this new recipe. Signed-off-by: Michael Pratt <mcpratt@pm.me>
* 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>
* ath79: allow skipping hash for Senao sysupgradeMichael Pratt2023-01-064-28/+30
| | | | | | | | | | | | | | Some vendors of Senao boards have a similar flash layout situation that causes the need to split the firmware partition and use the lzma-loader, but do not store checksums of the partitions or otherwise do not even have a uboot environment partition. This adds simple shell logic to skip that part. Also, simplify some lines and variable usage. Signed-off-by: Michael Pratt <mcpratt@pm.me>
* ath79: use lzma-loader for Senao initramfs imagesMichael Pratt2023-01-061-0/+1
| | | | | | | | | Some vendors of Senao boards have put a bootloader that cannot handle both large gzip or large lzma files. There is no disadvantage by doing this for all of them. Signed-off-by: Michael Pratt <mcpratt@pm.me>
* github: add command for deviceChristian Schmidbauer2023-01-061-1/+3
| | | | | | This adds a command to the issue template to simplify the "device" name reporting. Signed-off-by: Christian Schmidbauer <github@grische.xyz>
* kernel: 5.10: update nvmem subsystem to the 5.15 stateRafał Miłecki2023-01-0631-15/+1733
| | | | | | | This allows cleanly backporting more recent stuff that's important for OpenWrt. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>