summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mediatek: adapt kernel configuration for Linux 6.1Daniel Golle2023-07-074-56/+162
| | | | | | Update kernel configuration to build Linux 6.1 for all subtargets. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: copy config-5.15 to config-6.1 for all subtargetsDaniel Golle2023-07-074-0/+1798
| | | | | | | To ease review, first copy all subtargets' kernel config-5.15 to the to-be-adapted config-6.1. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: adapt files and patches for Linux 6.1Daniel Golle2023-07-07186-19588/+9033
| | | | | | | | | With Linux 6.1 many of our downstream patches and out-of-tree files can be removed or at least replaced by backported upstream commits. Signed-off-by: Daniel Golle <daniel@makrotopia.org> [fix CMDLINE_OVERRIDE for arm64] Signed-off-by: Bjørn Mork <bjorn@mork.no>
* mediatek: copy patches and files for Linux 6.1Daniel Golle2023-07-07183-0/+28585
| | | | | | | First step only copies patches-5.15 and files-5.15 to patches-6.1 and files-6.1 respectively. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: prepare old rtk switch driver for use with Linux 6.1Daniel Golle2023-07-071-9/+6
| | | | | | | | | | The old RealTek RTL8367S switch driver which is used for some MT7622 devices needs to be modified to no longer free the GPIO after reset has completed. This is due to Linux 5.19 removing devm_gpio_free via commit 2b038e786f83 ("gpiolib: devres: Get rid of unused devm_gpio_free()") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* generic: 6.1: fix uImage.FIT partitions on mtdblock and ubiblockDaniel Golle2023-07-071-0/+26
| | | | | | | | | | | When refreshing the hack patches for Linux 6.1 the part of the uImage.FIT partition parser patch which takes care of allowing mtdblock and ubiblock devices to have partitions has been dropped, supposedly by accident. Re-add a that part to the patch, so devices using a uImage.FIT filesystem sub-image as rootfs can work with Linux 6.1. Fixes: 19a246bb65 ("generic: 6.1: manually refresh hack patches") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: add support for tw686x frame grabbersKoen Vandeputte2023-07-071-0/+20
| | | | | | | | | | | | | Adds support for Intersil/Techwell tw686x frame grabbers. By default, this module uses MEMCPY to transfer data. Let's switch to "Contiguous DMA" which is the fastest performing method available. [ 10.074349] tw6869: PCI 0000:07:00.0, IRQ 33, MMIO 0x1200000 (contig mode) [ 10.081381] tw686x 0000:07:00.0: enabling device (0140 -> 0142) Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
* kernel: add support for imx pxpKoen Vandeputte2023-07-071-0/+17
| | | | | | | | | | | | | | This adds support for the i.MX Pixel Pipeline IP block which is available on some imx6 flavours [1] This allows to use hardware offloading for operations like: - Colour conversion - Scaling - Rotation [1] https://en.wikipedia.org/wiki/I.MX#i.MX_6_series Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
* kernel: add support for imx vpuKoen Vandeputte2023-07-071-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the Video Processing Unit IP block which is present in certain i.MX SOC's. The vpu used in imx6 is the coda960 which supports: - h264 enc - h264 dec - jpeg enc - jpeg dec Please note that the required firmware needs to be added by yourself as it's not available currently in linux-firmware upstream. The firmware package can be found on the internet and it will decompress itself exposing all binaries after accepting the EULA. The binaries should be placed at exactly these paths: - /lib/firmware/vpu_fw_imx6d.bin - /lib/firmware/vpu_fw_imx6q.bin Following output will be printed at boottime if all is well: [ 9.769638] coda 2040000.vpu: Firmware code revision: 46076 [ 9.775277] coda 2040000.vpu: Initialized CODA960. [ 9.780082] coda 2040000.vpu: Firmware version: 3.1.1 [ 9.785312] coda 2040000.vpu: coda-jpeg-encoder registered as video0 [ 9.791859] coda 2040000.vpu: coda-jpeg-decoder registered as video1 [ 9.798375] coda 2040000.vpu: coda-video-encoder registered as video2 [ 9.805013] coda 2040000.vpu: coda-video-decoder registered as video3 gstreamer will automatically detect and use all encoders/decoders. Please note that a FILES catch-all is required for the videobuf-dma objects as some modules enabling this could require (and thus generating) only 1 of them. Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
* kernel: add support for videobuf-dmaKoen Vandeputte2023-07-071-0/+18
| | | | | | | | | | | | | | | This adds support for videobuf2-dma driver. This module contains following flavors: - Contiguous - Scatter/Gather Drivers using this can enable 1 of the, or both, depending on their needs. Due to this, a FILES catch-all is required for the videobuf-dma objects as depending on requirements, only 1 of them could get generated. Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
* kernel: add support for mem2mem devicesKoen Vandeputte2023-07-071-0/+23
| | | | | | | | | | This allows addition of devices which use these kernel modules. This also adds a package for handling dma within video2buf. These are only build when selected by a caller Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
* kernel: add missing symbols in 6.1Koen Vandeputte2023-07-071-0/+13
| | | | | | Found these while playing with video pci media adapter support Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
* kernel: add missing symbols in 5.15Koen Vandeputte2023-07-071-0/+15
| | | | | | Found these while playing with video pci media adapter support Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
* kernel-headers: install isa-rev.h on mips to fix lzma-lader on linux 6.1Jonas Gorski2023-07-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Since kernel 5.17+ the mips asm.h includes isa-rev.h, which itself was added 4.17. Without it, lzma-loader will fail to build: make[3] -C target/linux compile make[5]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. In file included from head.S:22: .../staging_dir/toolchain-mips_mips32_gcc-12.3.0_musl/include/asm/asm.h:22:10: fatal error: asm/isa-rev.h: No such file or directory 22 | #include <asm/isa-rev.h> | ^~~~~~~~~~~~~~~ compilation terminated. make[6]: *** [Makefile:64: head.o] Error 1 make[5]: *** [Makefile:345: compile] Error 2 make[4]: *** [Makefile:24: compile] Error 2 make[3]: *** [Makefile:11: compile] Error 2 ERROR: target/linux failed to build. So add the file to the files to install. We can do that unconditionally, since the oldest supported kernel 5.15 already includes it, even it if does not need it. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* kernel: add CONFIG_LOCK_MM_AND_FIND_VMAJohn Audia2023-07-051-0/+1
| | | | | | | | 6.1.37 introduces a new symbol[1] 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/x86/Kconfig?id=v6.1.37&id2=v6.1.36 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 6.1 to 6.1.37John Audia2023-07-0510-16/+16
| | | | | | | | | | Manually rebased: generic/hack-6.1/220-arm-gc_sections.patch armsr/patches-6.1/221-armsr-disable_gc_sections_armv7.patch All other patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 6.1 to 6.1.36John Audia2023-07-0520-78/+85
| | | | | | | | | | | | | All patches automatically rebased. Acknowledgment to @john-tho for the changes to fs.mk to accommodate new paths introduced in https://github.com/gregkh/linux/commit/29429a1f5871dbe54ee0da81bb12db8567f15379 Build system: x86_64 Build-tested: bcm2711/RPi4B Run-tested: bcm2711/RPi4B Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: modules: add xdp-sockets-diag supportTianling Shen2023-07-054-0/+42
| | | | | | Support for PF_XDP sockets monitoring interface used by the ss tool. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* build: add support to use the mold linker for packagesAndre Heider2023-07-041-0/+5
| | | | | | | If CONFIG_USE_MOLD is set, all target packages will use the mold linker. Except the ones which opted-out via setting PKG_BUILD_FLAGS:=no-mold. Signed-off-by: Andre Heider <a.heider@gmail.com>
* treewide: opt-out of tree-wide mold usageAndre Heider2023-07-045-2/+5
| | | | | | These use linker scripts, which mold doesn't support. Signed-off-by: Andre Heider <a.heider@gmail.com>
* toolchain: add mold as additional linkerAndre Heider2023-07-042-1/+23
| | | | | | Install it as $tripple-ld.mold in order to use -fuse-ld=mold. Signed-off-by: Andre Heider <a.heider@gmail.com>
* tools: add mold, a modern linkerAndre Heider2023-07-042-0/+24
| | | | | | | | | | | | mold is a faster drop-in replacement for existing Unix linkers. A single binary is able to link various targets, which is why this lives in tools/. All toolchain builds then just need to copy the linker over, hence avoiding multiple builds with the same outcome. Signed-off-by: Andre Heider <a.heider@gmail.com>
* config: add a knob to use the mold linker for packagesAndre Heider2023-07-042-1/+26
| | | | | | | | | Building it requires gcc >= 10.2 or clang >= 12. Using sstrip with its -z argument can produce non-working binaries, like a segfaulting `getrandom`, so don't allow that combination. Signed-off-by: Andre Heider <a.heider@gmail.com>
* build: replace SSTRIP_ARGS with SSTRIP_DISCARD_TRAILING_ZEROESAndre Heider2023-07-042-7/+5
| | | | | | | | | sstrip only has one functional arg. Make that a bool option, which can easily depend on other knobs then. This is required to be disabled for the mold linker. Signed-off-by: Andre Heider <a.heider@gmail.com>
* meson: prepare to use different linkersAndre Heider2023-07-043-0/+4
| | | | | | | | This sets the default linker for cross compilation. No functional change intended. Signed-off-by: Andre Heider <a.heider@gmail.com>
* rules: prepare to use different linkersAndre Heider2023-07-041-1/+6
| | | | | | | | This explicitely adds the default linker to the target LDFLAGS. No functional change intended. Signed-off-by: Andre Heider <a.heider@gmail.com>
* mac80211: partly revert force-mac80211 loss detectionDavid Bauer2023-07-053-36/+56
| | | | | | | | | This patch will only force mac80211 loss detection upon ath10k by masking the driver-specific loss-detection bit. Ref: commit ed816f6ba8b5 ("mac80211: always use mac80211 loss detection") Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: add kmod-i2c-mux-reg supportChristian Svensson2023-07-041-0/+16
| | | | | | Add package for register-based I2C bus mux/switching devices. Signed-off-by: Christian Svensson <blue@cmd.nu>
* kernel: add kmod-hwmon-jc42 supportChristian Svensson2023-07-041-0/+15
| | | | | | Add package for Jedec JC42.4 compliant temperature sensor. Signed-off-by: Christian Svensson <blue@cmd.nu>
* kernel: add kmod-hwmon-max6697 supportChristian Svensson2023-07-041-0/+15
| | | | | | Add package for Maxim MAX6697 I2C based temperature sensor. Signed-off-by: Christian Svensson <blue@cmd.nu>
* ipq-wifi: fix upstream board-2.bin ZTE M289F snafuChristian Lamparter2023-07-042-2/+4
| | | | | | | | | | | | | | | | | | | | The upstream board-2.bin file in the linux-firmware.git repository for the QCA4019 contains a packed board-2.bin for this device for both 2.4G and 5G wifis. This isn't something that the ath10k driver supports. Until this feature either gets implemented - which is very unlikely -, or the upstream boardfile is mended (both, the original submitter and ath10k-firmware custodian have been notified). OpenWrt will go back and use its own bespoke boardfile. This unfortunately means that 2.4G and on some revisions the 5G WiFi is not available in the initramfs image for this device. Fixes: #12886 Reported-by: Christian Heuff <christian@heuff.at> Debugged-by: Georgios Kourachanis <geo.kourachanis@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* x86/64: set CONFIG_NVME_HWMON=yJohn Audia2023-07-041-1/+1
| | | | | | | CONFIG_NVME_HWMON exposes /sys/class/nvme/nvme0/device/hwmon to allow sensors (and others) to see NVMe drive health Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: fix KernelPackage when all KCONFIG are versionedJohn Thomson2023-07-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | If a kernel package was defined where all KCONFIG symbols were dynamic, and versioned, no FILES would be installed, as the foreach evaluation was providing the value of the variable defined by the KCONFIG symbol name including the version test Fix this by calling the version_filter function on the list of KCONFIG variable names run through by foreach Example, kernel 6.1: KCONFIG:=CONFIG_OLD@lt6.1 CONFIG_NEW@ge6.1 filter-out any KCONFIG settings forced by package: CONFIG_OLD@lt6.1 CONFIG_NEW@ge6.1 there are dynamic settings, so for each of them, get the value of the make variable defined by symbol name: CONFIG_OLD@lt6.1 is not set CONFIG_NEW@ge6.1 is not set versus CONFIG_OLD is not set CONFIG_NEW=m test if any of these are m, or y if yes, install files, otherwise, nothing to install Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
* kernel: introduce KERNEL_WERROR config optionPetr Štetiar2023-07-043-2/+18
| | | | | | | | | | | | | In commit b2d1eb717b65 ("generic: 5.15: enable Werror by default for kernel compile") CONFIG_WERROR=y was enabled and all warnings/errors reported with GCC 12 were fixed. Keeping this in sync with past/future GCC versions is going to be uphill battle, so lets introduce new KERNEL_WERROR config option, enable it by default only for tested/known working combinations and on buildbots. References: #12687 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* mt76: update to the latest versionFelix Fietkau2023-07-041-3/+3
| | | | | | f704e4f83c6f mt76: mt7915: fix copy&paste issue on capability check rework Signed-off-by: Felix Fietkau <nbd@nbd.name>
* x86: set CONFIG_X86_AMD_PLATFORM_DEVICEJohn Audia2023-07-032-2/+2
| | | | | | Needed by AMD processors using Carrizo and later chipsets Signed-off-by: John Audia <therealgraysky@proton.me>
* netifd: update to the latest versionFelix Fietkau2023-07-031-3/+3
| | | | | | e94f7a81a039 bridge: fix config reload on 32 bit systems Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: mt7621: add TP-Link EAP613 v1Sander Vanheule2023-07-024-0/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TP-Link EAP613 v1 is a ceiling-mount 802.11ax access point. It can be powered via PoE or a DC barrel connector (12V). Connecting to the UART requires fine soldering and careful manipulation of any soldered wires. Device details: * SoC: MT7621AT * Flash: 16 MiB SPI NOR * RAM: 256 MiB DDR3L * Wi-Fi: * MT7905DA + MT7975D: 2.4 GHz + 5 GHz (DBDC), 2x2:2 * Two stamped metal antennas (ANT1, ANT2) * One PCB antenna (ANT3) * One unpopulated antenna (ANT4) * Ethernet: * 1× 10/100/1000 Mbps port with PoE * LEDs: * Array of four blue LEDs with one control line * Buttons: * Reset * Board test points: * UART: next to CPU RF-shield and power circuits * JTAG: under CPU RF-shield (untested) * Watchdog: 3PEAK TPV706 (not implemented) Althought three antennas are populated, the MT7905DA does not support the additional Rx chain for background DFS detection (or Bluetooth) according to commit 6cbcc34f50a3 ("ramips: disable unsupported background radar detection"). MAC addresses: * LAN: 48:22:54:xx:xx:a2 (device label) * WLAN 2.4 GHz: 48:22:54:xx:xx:a2 * WLAN 5 GHz: 48:22:54:xx:xx:a3 The radio calibration blob stored in flash also contains valid MAC addresses for both radio bands (OUI 00:0c:43). Factory install: 1. Enable SSH on the device via web interface 2. Log in with SSH, and run `cliclientd stopcs` 3. Upload -factory.bin image via web interface. It may be necessary to shorten the filename of the image to e.g. 'factory.bin'. Recovery: 1. Open the device by unscrewing four screws from the backside 2. Carefully remove board from the housing 3. Connect to UART (3.3V): * Find test points labelled "VCC", "GND", "UART_TX", "UART_RX" * Solder wires to test points or connect otherwise. Be careful not to damage the PCB e.g. by pulling on soldered wires. * Open console with 115200n8 settings 4. Interrupt bootloader and use tftpboot to start an initramfs: setenv ipaddr $DEVICE_IP setenv serverip $SERVER_IP tftpboot 84000000 openwrt-initramfs-kernel.bin bootm DO NOT use saveenv to store modified u-boot environment variables. The environment is saved at flash offset 0x30000, which erases part of the (secondary) bootloader. The device uses two bootloader stages. The first stage will load the second stage from a uImage stored at flash offset 0x10000. In case of a damaged second stage, the first stage should allow uploading a new image via y-modem (untested). Signed-off-by: Sander Vanheule <sander@svanheule.net>
* firmware-utils: bump to git HEADSander Vanheule2023-07-021-3/+3
| | | | | | | | | | Add support for a number of new TP-Link devices. 9e2de8515be1 tplink-safeloader: add EAP610 v3 and EAP613 v1 bb12cf5c3fa9 tplink-safeloader: Add support for TP-Link Deco M5 a2d49fb1e188 tplink-safeloader: add RU support-list entry for Archer C6U v1 Signed-off-by: Sander Vanheule <sander@svanheule.net>
* mt76: fix download hashFelix Fietkau2023-07-021-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ath79: fix broken 02_network scriptWenli Looi2023-07-021-1/+1
| | | | | | Script was broken by an extraneous space. Signed-off-by: Wenli Looi <wlooi@ucalgary.ca>
* mediatek: define NMBM management region for WAX220David Bauer2023-07-021-0/+5
| | | | | | | | The NETGEAR WAX220 employs NMBM on SPI-NAND. In order to avoid dealing with invalid factory data, enable NMBM in the area preceding the UBI volume. Signed-off-by: David Bauer <mail@david-bauer.net>
* mt76: update to the latest versionFelix Fietkau2023-07-011-3/+3
| | | | | | | | c50be0b54cdd wifi: mt76: mt7915: fix capabilities in non-AP mode d7d7479b00e9 wifi: mt7915: fix beaconing in mesh mode 1377f586c6f5 wifi: mt7915: move capability check to start_ap Signed-off-by: Felix Fietkau <nbd@nbd.name>
* realtek: Use MDIO_* constants from <linux/mdio.h>Pascal Ernster2023-07-012-44/+40
| | | | | | | | | | | | | | | | | | | | To improve code readability in drivers/net/phy/rtl83xx-phy.c, replace constants MMD_AN and MMD_VEND2 from drivers/net/phy/rtl83xx-phy.h with MDIO_MMD_AN and MDIO_MMD_VEND2 from <linux/mdio.h>. Also, replace BIT(0) with MDIO_EEE_2_5GT, BIT(1) with MDIO_EEE_100TX, BIT(2) with MDIO_EEE_1000T, BIT(9) with MDIO_AN_CTRL1_RESTART, BIT(12) with MDIO_AN_CTRL1_ENABLE, 32 with MDIO_AN_10GBT_CTRL, 60 with MDIO_AN_EEE_ADV, and 62 with MDIO_AN_EEE_ADV2 from <linux/mdio.h>. Suggested-by: DENG Qingfang <dqfext@gmail.com> Signed-off-by: Pascal Ernster <git@hardfalcon.net>
* realtek: Use ADVERTISE_* and MII_PHYSID* from <linux/mii.h>Pascal Ernster2023-07-011-7/+7
| | | | | | | | | | Replace BIT(x) and numerical values in drivers/net/phy/rtl83xx-phy.c with constants from <linux/mii.h> to improve code readability. To make reviewing easier, this commit only addresses ADVERTISE_* and MII_PHYSID* constants. Signed-off-by: Pascal Ernster <git@hardfalcon.net>
* realtek: Use MII_BMCR and BMCR_* constants from <linux/mii.h>Pascal Ernster2023-07-011-38/+36
| | | | | | | | | | | | Replace numerical values, BIT(x) and (1 << x) in drivers/net/phy/rtl83xx-phy.c with constants from <linux/mii.h> to improve code readability. To make reviewing easier, this commit only addresses MII_BMCR and BMCR_* constants. Suggested-by: DENG Qingfang <dqfext@gmail.com> Signed-off-by: Pascal Ernster <git@hardfalcon.net>
* ramips: Add support for ComFast CF-E390AXUsama Nassir2023-07-014-0/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for ComFast CF-E390AX. It is a 802.11 wifi6 cieling AP, based on MediaTek MT7261AT. Specifications: SoC: MediaTek MT7621AT RAM: 128 MiB Flash: 16 MiB NOR (Macronix mx25l12805d) Wireless: MT7915E (2.4G) 802.11ax/b/g/n MT7915E (5G) 802.11ac/ax/n Ethernet: 2 x 1Gbs Button: 1 x "Reset" button LED: 1x Blue LED + 1x Red LED + 1x green LED Power: PoE Manufacturer Page: http://en.comfast.com.cn/index.php?m=content&c=index&a=show&catid=84&id=75 Flash Layout: 0x000000000000-0x000000030000 : "bootloader" 0x000000030000-0x000000040000 : "config" 0x000000050000-0x000000060000 : "factory" 0x000000090000-0x000001000000 : "firmware" First install: 1. Set device into http firmware fail safe upload mode by pressing the reset button for 10 seconds while powering it on. Once the LED stops flashing, safe mode will be running. 2. Set PC IP address to 192.168.1.2 3. Browse to 192.168.1.1 and upload the factory image using the web interface. Signed-off-by: Usama Nassir <usama.nassir@gmail.com>
* ath79: add support for COMFAST CF-E380AC v2Joao Henrique Albuquerque2023-07-015-0/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | COMFAST CF-E380AC v2 is a ceiling mount AP with PoE support, based on Qualcomm/Atheros QCA9558+QCA9880+AR8035. There are two versions of this model, with different RAM and U-Boot mtd partition sizes: - v1: 128 MB of RAM, 128 KB U-Boot image size - v2: 256 MB of RAM, 256 KB U-Boot image size Version number is available only inside vendor GUI, hardware and markings are the same. Short specification: - 720/600/200 MHz (CPU/DDR/AHB) - 1x 10/100/1000 Mbps Ethernet, with PoE support - 128 or 256 MB of RAM (DDR2) - 16 MB of FLASH - 3T3R 2.4 GHz, with external PA (SE2576L), up to 28 dBm - 3T3R 5 GHz, with external PA (SE5003L1), up to 30 dBm - 6x internal antennas - 1x RGB LED, 1x button - UART (T11), LEDs/GPIO (J7) and USB (T12) headers on PCB - external watchdog (Pericon Technology PT7A7514) COMFAST MAC addresses : Though the OEM firmware has four adresses in the usual locations, it appears that the assigned addresses are just incremented in a different way: Interface address location Lan *:00 0x0 2.4g *:0A n/a (0x0 + 10) 5g *:02 0x6 Unused Addresses found in ART hexdump address location *:01 0x1002 *:03 0x5006 To keep code consistency the MAC address assignments are made based on increments of the one found in 0x0; Signed-off-by: Joao Henrique Albuquerque <joaohccalbu@gmail.com>
* ramips: add support for Sercomm S1500 devicesMikhail Zhilkin2023-07-018-8/+568
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for following wireless routers: - Beeline SmartBox PRO (Serсomm S1500 AWI) - WiFire S1500.NBN (Serсomm S1500 BUC) This commit is based on this PR: - Link: https://github.com/openwrt/openwrt/pull/4770 - Author: Maximilian Weinmann <x1@disroot.org> The opening of this PR was agreed with author. My changes: - Sorting, minor changes and some movings between dts and dtsi - Move leds to dts when possible - Recipes for the factory image - Update of the installation/recovery/return to stock guides - Add reset GPIO for the pcie1 Common specification -------------------- SoC: MediaTek MT7621AT (880 MHz, 2 cores) Switch: MediaTek MT7530 (via SoC MT7621AT) Wireless: 2.4 GHz, MT7602EN, b/g/n, 2x2 Wireless: 5 GHz, MT7612EN, a/n/ac, 2x2 Ethernet: 5 ports - 5×GbE (WAN, LAN1-4) Mini PCIe: via J2 on PCB, not soldered on the board UART: J4 -> GND[], TX, VCC(3.3V), RX BootLoader: U-Boot SerComm/Mediatek Beeline SmartBox PRO specification ---------------------------------- RAM (Nanya NT5CB128M16FP): 256 MiB NAND-Flash (ESMT F59L2G81A): 256 MiB USB ports: 2xUSB2.0 LEDs: Status (white), WPS (blue), 2g (white), 5g (white) + 10 LED Ethernet Buttons: 2 button (reset, wps), 1 switch button (ROUT<->REP) Power: 12 VDC, 1.5 A PCB Sticker: 970AWI0QW00N256SMT Ver. 1.0 CSN: SG15******** MAC LAN: 94:4A:0C:**:**:** Manufacturer's code: 0AWI0500QW1 WiFire S1500.NBN specification ------------------------------ RAM (Nanya NT5CC64M16GP): 128 MiB NAND-Flash (ESMT F59L1G81MA): 128 MiB USB ports: 1xUSB2.0 LEDs: Status (white), WPS (white), 2g (white), 5g (white) + 10 LED Ethernet Buttons: 2 button (RESET, WPS) Power: 12 VDC, 1.0 A PCB Sticker: 970BUC0RW00N128SMT Ver. 1.0 CSN: MH16******** MAC WAN: E0:60:66:**:**:** Manufacturer's code: 0BUC0500RW1 MAC address table (PRO) ----------------------- use address source LAN *:23 factory 0x1000 (label) WAN *:24 factory $label +1 2g *:23 factory $label 5g *:25 factory $label +2 MAC addresses (NBN) ------------------- use address source LAN *:0e factory 0x1000 WAN *:0f LAN +1 (label) 2g *:0f LAN +1 5g *:10 LAN +2 OEM easy installation --------------------- 1. Remove all dots from the factory image filename (except the dot before file extension) 2. Upload and update the firmware via the original web interface 3. Two options are possible after the reboot: a. OpenWrt - that's OK, the mission accomplished b. Stock firmware - install Stock firmware (to switch booflag from Sercomm0 to Sercomm1) and then OpenWrt factory image. Return to Stock --------------- 1. Change the bootflag to Sercomm1 in OpenWrt CLI and then reboot: printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock2 reboot 2. Install stock firmware via the web OEM firmware interface Recovery -------- Use sercomm-recovery tool. Link: https://github.com/danitool/sercomm-recovery Tested-by: Pavel Ivanov <pi635v@gmail.com> Tested-by: Denis Myshaev <denis.myshaev@gmail.com> Tested-by: Oleg Galeev <olegingaleev@gmail.com> Tested-By: Ivan Pavlov <AuthorReflex@gmail.com> Co-authored-by: Maximilian Weinmann <x1@disroot.org> Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
* ramips: sercomm.mk: preparation for Sercomm s1500 devices supportMikhail Zhilkin2023-07-011-5/+9
| | | | | | | | | | | | | This commit moves a part of the code from the "sercomm-factory-cqr" recipe to the separate "sercomm-mkhash" recipe. This simplifies recipes and allows insert additional recipes between these code blocks (required for the future support for Beeline SmartBox PRO router). dd automatically fills the file by 0x00 if the filesize is less than offset where we start writing. We drop such dd command so we need to add --extra-padding-size 0x190 to the sercomm-pid.py call. Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>