aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* kernel: kmod-input-polldev: Depend on kernel 5.10Hauke Mehrtens2022-08-101-2/+2
| | | | | | | The input-polldev.ko kernel module was removed from kernel 5.11. The normal input implementation now supports polling. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: kmod-iio-sps30: Add I2C driverHauke Mehrtens2022-08-101-3/+7
| | | | | | | | The sps30.ko driver was split into a main sps30.ko driver and a sps30_i2c.ko driver for the I2C interface with kernel 5.14. Add the sps30_i2c.ko module to the package too. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: kmod-isdn4linux: Remove packageHauke Mehrtens2022-08-101-32/+0
| | | | | | | The isdn4linux drivers and subsystem was removed in kernel 5.3, remove the kernel package also from OpenWrt. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: kmod-mdio-gpio: kmod-switch-rtl8366-smi: Add kmod-of-mdio dependency ↵Hauke Mehrtens2022-08-101-2/+2
| | | | | | | | for malta These two modules also need a depend to kmod-of-mdio on malta. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kenrel: kmod-rtc-pt7c4338: Remove packageHauke Mehrtens2022-08-101-16/+0
| | | | | | | | | The rtc-pt7c4338.ko was never upstream under this name, the driver was removed from OpenWrt some years ago, remove the kmod-rtc-pt7c4338 package too. Fixes: 74d00a8c3849 ("kernel: split patches folder up into backport, pending and hack folders") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: kmod-wwan: Add packageHauke Mehrtens2022-08-102-6/+23
| | | | | | | | | | | This adds the kmod-wwan package. This provides the generic wwan driver core which is needed for some existing packages. Currently the drivers/net/wwan/wwan.ko driver is compiled into the kernel when one of the wwan module is activated, better build it as a kernel module. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: kmod-ipt-ulog: Remove packageHauke Mehrtens2022-08-103-38/+0
| | | | | | | The ulog iptables target was removed with kernel 3.17, remove the kernel and also the iptables package in OpenWrt too. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: kmod-nft-nat6: Remove packageHauke Mehrtens2022-08-105-23/+1
| | | | | | | | | | | The nft NAT packages for IPv4 and IPv6 were merged into the common packages with kernel 5.1. The kmod-nft-nat6 package was empty in our build, remove it. Multiple kernel configuration options were also removed, remove them from our generic kernel configuration too. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: kmod-w1-slave-ds2760: Remove packageHauke Mehrtens2022-08-101-17/+0
| | | | | | | | | | The w1_ds2760.ko driver was merged into the ds2760_battery.ko driver. The driver was removed and this package was never build any more. This happened with kernel 4.19. Remove this unused package. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: kmod-net-rtl8192su: Remove packageHauke Mehrtens2022-08-102-32/+0
| | | | | | | | | | | | The R8712U driver depends on cfg80211. cfg80211 is provided by mac80211 backports, we can not build any in kernel drivers which depend on cfg80211 which is an out of tree module in OpenWrt. The cfg80211 dependency was added with kernel 5.9. We could add rtl8192su to backports and build it from there. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Activate CONFIG_GPIOLIB in generic configurationHauke Mehrtens2022-08-1077-77/+2
| | | | | | | | All targets expect the malta target already activate the CONFIG_GPIOLIB option. Move it to generic kernel configuration and also activate it for malta. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Activate CONFIG_INPUT_MISC on all targetsHauke Mehrtens2022-08-107-7/+0
| | | | | | | | | CONFIG_INPUT_MISC does not do any changes to the kernel image, it only shows some extra kernel configuration options. Activate it on all targets. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: kmod-mdio-devres: Add kmod-of-mdio dependency for maltaHauke Mehrtens2022-08-101-1/+1
| | | | | | | The malta target does not compile CONFIG_OF_MDIO into the kernel. On malta the kmod-mdio-devres package depends on kmod-of-mdio. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: kmod-fs-fscache: Add cachefiles.koHauke Mehrtens2022-08-101-4/+6
| | | | | | | | | The CONFIG_CACHEFILES configuration option makes the kernel build cachefiles.ko, also package it. Build CONFIG_CACHEFILES as module and do not try to build it into the kernel. This did not work because it depended on CONFIG_FSCACHE which was already build as module. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: kmod-nls-cp932: Add nls_euc-jp.ko tooHauke Mehrtens2022-08-101-2/+4
| | | | | | | The CONFIG_NLS_CODEPAGE_932 Config option builds the nls_cp932.ko and the nls_euc-jp.ko kernel module, package both of them. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: kmod-usb-dwc2-pci: Add new packageHauke Mehrtens2022-08-101-3/+20
| | | | | | | | | | | | Add dwc2_pci kernel module into own kernel package. The dwc2_pci.ko kernel module was always build when kmod-usb-dwc2 was selected, but it was not packaged. Add the missing kmod-usb-phy-nop dependency to the kmod-usb-dwc2-pci package too. The CONFIG_USB_DWC2_PLATFORM option is already gone for some time. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: kmod-switch-ar8xxx: Add kmod-mdio-devres dependencyHauke Mehrtens2022-08-101-1/+1
| | | | | | | The ar8xxx.ko kernel module uses the devm_mdiobus_alloc() function provided by kmod-mdio-devres, add the missing dependency. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: kmod-crypto-authenc: Add authencesn.koHauke Mehrtens2022-08-101-2/+4
| | | | | | | The kernel configuration option CONFIG_CRYPTO_AUTHENC builds authenc.ko and authencesn.ko, pack both kernel modules. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* CI: kernel: Build all kernel modulesHauke Mehrtens2022-08-101-0/+3
| | | | | | | | Activate building all kernel modules. This builds all kernel modules from the core packages and the feeds. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* CI: kernel: Checkout feeds from githubHauke Mehrtens2022-08-101-0/+24
| | | | | | | | | | | | | | Instead of cloning the feeds from the default location at git.openwrt.org use the github action to clone them directly from github. We saw some error messages when cloning from git.openwrt.org, probably related to some rate limiting applied. Cloning from github within a github action should work more stable. The "./scripts/feeds update -a" script will use the already checked out feed repositories and not clone them again from git.openwrt.org, but it will also not change the branch name. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* CI: kernel: Show used OpenWrt configurationHauke Mehrtens2022-08-101-0/+5
| | | | | | | | Show the configuration used to build OpenWrt before starting the build. This should make it easier for people to reproduce problems when it fails. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* CI: kernel: Use downloads.cdn.openwrt.orgHauke Mehrtens2022-08-101-2/+2
| | | | | | | Use downloads.cdn.openwrt.org to download the toolchain. This should reduce the load on the servers. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* CI: kernel: Trigger workflow for more directoriesHauke Mehrtens2022-08-101-0/+2
| | | | | | Trigger the kernel build workflow also for more directories. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: properly condition EM919x patchKoen Vandeputte2022-08-091-4/+23
| | | | | | | | Properly format and refresh patch Fixes: d03977faf4 ("kernel: backport support for Sierra Wireless EM919x modems") Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* nftables: fix parsing date expressionsJo-Philipp Wich2022-08-092-1/+50
| | | | | | | | Musl libc does not support the non-POSIX "%F" format for strptime() so replace all occurrences of it with an equivalent "%Y-%m-%d" format. Fixes: #10419 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* Revert "nftables: fix parsing date expressions"Jo-Philipp Wich2022-08-093-50/+4
| | | | | | | | This reverts commit eada8925776aafa3ec47d66fb89bf7eae730edf7. The commit contained unrelated target changes. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* zlib: backport null dereference fixPetr Štetiar2022-08-091-0/+29
| | | | | | | | | | | | The curl developers found test case that crashed in their testing when using zlib patched against CVE-2022-37434, same patch we've backported in commit 7df6795d4c25 ("zlib: backport fix for heap-based buffer over-read (CVE-2022-37434)"). So we need to backport following patch in order to fix issue introduced in that previous CVE-2022-37434 fix. References: https://github.com/curl/curl/issues/9271 Fixes: 7df6795d4c25 ("zlib: backport fix for heap-based buffer over-read (CVE-2022-37434)") Signed-off-by: Petr Štetiar <ynezz@true.cz>
* nftables: fix parsing date expressionsJo-Philipp Wich2022-08-093-4/+50
| | | | | | | | Musl libc does not support the non-POSIX "%F" format for strptime() so replace all occurrences of it with an equivalent "%Y-%m-%d" format. Fixes: #10419 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* jansson: revert ABI version bumpJo-Philipp Wich2022-08-091-3/+3
| | | | | | | | | | | The soversion of the shipped libjansson.so library didn't change, so the ABI version change is unwarranted and leads to opkg file clashes. Also stop shipping an unversioned library symlink while we're at it as it only needed at compile/link time and leading to file level clashes between packages on future ABI bumps. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* kernel: add missing 5.15 symbolsKoen Vandeputte2022-08-081-0/+6
| | | | | | Found while testing various platforms Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: backport support for Sierra Wireless EM919x modemsKoen Vandeputte2022-08-081-0/+61
| | | | | | | Adds support for Sierra Wireless EM919x modem (X55 5G) Backported from kernel 5.16 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: fix missing mhi control devicesKoen Vandeputte2022-08-081-4/+6
| | | | | | | | | | | | | | Both of these packages depend on CONFIG_WWAN in the kernel. Also fix the missing "wwan" subfolder in the path. This fixes the missing devices in /dev after booting an MHI capable modem. Fixes: 2519190fec ("kernel: package mhi wwan ctrl driver") Fixes: 6af46796fa ("kernel: package mhi mbim driver") Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* mac80211: backport upstream fix for unitialized lock usageKoen Vandeputte2022-08-081-0/+46
| | | | | | | | | | | | | | | Backports upstream fix from 5.19 lockdep complains use of uninitialized spinlock at ieee80211_do_stop() [1], for commit f856373e2f31ffd3 ("wifi: mac80211: do not wake queues on a vif that is being stopped") guards clear_bit() using fq.lock even before fq_init() from ieee80211_txq_setup_flows() initializes this spinlock. According to discussion [2], Toke was not happy with expanding usage of fq.lock. Since __ieee80211_wake_txqs() is called under RCU read lock, we can instead use synchronize_rcu() for flushing ieee80211_wake_txqs(). Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* trace-cmd: import patch to fix autodetection of libzstdNick Hainke2022-08-072-1/+40
| | | | | | | libzstd from the packages feed gets picked up. Add patch adding NO_LIBZSTD option like in perf and enable it. Signed-off-by: Nick Hainke <vincent@systemli.org>
* kernel: netsupport: Extract act_policeHauke Mehrtens2022-08-061-2/+13
| | | | | | | This extracts kmod-sched-act-police to allow using it without adding all the packages from the big kmod-sched package. Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
* kernel: ipt-ipset: Add ipset/ip_set_hash_ipmac.koHauke Mehrtens2022-08-061-0/+1
| | | | | | | Add the ipset/ip_set_hash_ipmac.ko file. The CONFIG_IP_SET_HASH_IPMAC KConfig option is already set by the package. Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
* kernel: netsupport: Add kmod-sched-act-sampleThomas Langer2022-08-061-0/+20
| | | | | | | | This adds the act_sample.ko and psample.ko kernel module which allows traffic sampling. Signed-off-by: Thomas Langer <tlanger@maxlinear.com> Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
* kernel: netsupport: Extract sched-prio and sched-redThomas Langer2022-08-061-3/+33
| | | | | | | | | Extract the kmod-sched-prio and kmod-sched-red kernel modules from the big kmod-sched package. This allows adding the two kernel modules to OpenWrt without adding the kmod-sched and all its depdnecy. Signed-off-by: Thomas Langer <tlanger@maxlinear.com> Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
* kernel: netsupport: Add kmod-sched-drrHauke Mehrtens2022-08-061-0/+16
| | | | | | This adds a package with the DRR scheduler. Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
* kernel: netsupport: kmod-sched: Reorder packagesHauke Mehrtens2022-08-061-49/+53
| | | | | | | | This puts the kmod-sched packages into an alphabetical order. I kept the kmod-sched-core at the top as this is the main package. No changes other than reordering were done. Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
* kernel: netsupport: kmod-sched: explicitly define included modulesThomas Langer2022-08-061-6/+5
| | | | | | | | | | Change SCHED_MODULES_EXTRA to an explicit list of modules instead of taking everything that is not filtered out. This removes the need of updating the filter each time an extra sch_*, act_* or similar is added with an own kmod definition. Signed-off-by: Thomas Langer <tlanger@maxlinear.com> Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
* kernel: netsupport: kmod-sched: Add kmod-lib-textsearch dependencyHauke Mehrtens2022-08-061-1/+1
| | | | | | | The CONFIG_NET_EMATCH_TEXT configuration option depends on the kmod-lib-textsearch package. Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
* kernel: netsupport: kmod-sched: Remove sch_fq_codel and sch_fifoHauke Mehrtens2022-08-061-3/+1
| | | | | | | | | The sch_fq_codel.ko and the sch_fifo.ko are always compiled into the kernel, they are activated in the generic kernel configuration. There is no need to activate the build of these kernel modules in the kmod-sched* packages. Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
* ramips: add support for ZyXEL LTE3301-PlusAndré Valentin2022-08-068-1/+254
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ZyXEL LTE3301-PLUS is an 4G indoor CPE with 2 external LTE antennas. Specifications: - SoC: MediaTek MT7621AT - RAM: 256 MB - Flash: 128 MB MB NAND (MX30LF1G18AC) - WiFi: MediaTek MT7615E - Switch: 4 LAN ports (Gigabit) - LTE: Quectel EG506 connected by USB3 to SoC - SIM: 1 micro-SIM slot - USB: USB3 port - Buttons: Reset, WPS - LEDs: Multicolour power, internet, LTE, signal, Wifi, USB - Power: 12V, 1.5A The device is built as an indoor ethernet to LTE bridge or router with Wifi. UART Serial: 57600N1 Located on populated 5 pin header J5: [o] GND [ ] key - no pin [o] RX [o] TX [o] 3.3V Vcc MAC assignment: lan: 98:0d:67:ee:85:54 (base, on the device back) wlan: 98:0d:67:ee:85:55 Installation from web GUI: - Log in as "admin" on http://192.168.1.1/ - Upload OpenWrt initramfs-recovery.bin image on the Maintenance -> Firmware page - Wait for OpenWrt to boot and ssh to root@192.168.1.1 - format ubi device: ubiformat /dev/mtd6 - attach ubi device: ubiattach -m6 - create rootfs volume: ubimkvol /dev/ubi0 -n0 -N rootfs -s 1MiB - rootfs_data volume: ubimkvol /dev/ubi0 -n1 -N rootfs_data -s 1MiB - run sysupgrade with sysupgrade image For more details about flashing see commit 2449a632084b ("ramips: mt7621: Add support for ZyXEL NR7101"). Please note that this commit is needed: firmware-utils: add marcant changes for ZyXEL NBG6716 and LTE3301-PLUS Signed-off-by: André Valentin <avalentin@marcant.net>
* ath79: add support for Sophos AP15Manuel Niekamp2022-08-065-0/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Sophos AP15 seems to be very close to Sophos AP55/AP100. Based on: commit 6f1efb289837 ("ath79: add support for Sophos AP100/AP55 family") author Andrew Powers-Holmes <andrew@omnom.net> Fri, 3 Sep 2021 15:53:57 +0200 (23:53 +1000) committer Hauke Mehrtens <hauke@hauke-m.de> Sat, 16 Apr 2022 16:59:29 +0200 (16:59 +0200) Unique to AP15: - Green and yellow LED - 2T2R 2.4GHz 802.11b/g/n via SoC WMAC - No buttons - No piezo beeper - No 5.8GHz Flashing instructions: - Derived from UART method described in referenced commit, methods described there should work too. - Set up a TFTP server; IP address has to be 192.168.99.8/24 - Copy the firmware (initramfs-kernel) to your TFTP server directory renaming it to e.g. boot.bin - Open AP's enclosure and locate UART header (there is a video online) - Terminal connection parameters are 115200 8/N/1 - Connect TFTP server and AP via ethernet - Power up AP and cancel autoboot when prompted - Prompt shows 'ath> ' - Commands used to boot: ath> tftpboot 0x81000000 boot.bin ath> bootm 0x81000000 - Device should boot OpenWRT - IP address after boot is 192.168.1.1/24 - Connect to device via browser - Permanently flash using the web ui (flashing sysupgrade image) - (BTW: the AP55 images seem to work too, only LEDs are not working) Testing done: - To be honest: Currently not so much testing done. - Flashed onto two devices - Devices are booting - MAC addresses are correct - LEDs are working - Scanning for WLANs is working Big thanks to all the people working on this great project! (Sorry about my english, it is not my native language) Signed-off-by: Manuel Niekamp <m.niekamp@richter-leiterplatten.de>
* ath79: add variant UniFi AP LRJan-Niklas Burfeind2022-08-062-0/+16
| | | | | | | | | The hardware difference is the antenna which has a higher gain compared to the original UniFi AP. The variant was supported before in ar71xx. Signed-off-by: Jan-Niklas Burfeind <git@aiyionpri.me>
* ath79: rename references of UniFi to UniFi APJan-Niklas Burfeind2022-08-063-6/+11
| | | | | | | | | extract the compatible and model to make room for other variants follow-up of commit dc23df8a8ca7 ("ath79: change Ubiquiti UniFi AP model name to include "AP"") Signed-off-by: Jan-Niklas Burfeind <git@aiyionpri.me>
* ramips: mt7628: fix memory controller reset bitReto Schneider2022-08-061-1/+1
| | | | | | | | | | | According to MediaTek MT7688 Datasheet v1.4, as well as the MT7628 counterpart, the memory controller reset bit (MC_RST) is 10, not 20. Reset bit 20 is used for for UART 2 (UART2_RST). Please note: Due to the lack of hardware, I was not able to test this change. Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
* ramips: add support for Netcore NW5212David Yang2022-08-064-7/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Netcore NW5212, provided by some carrier in China. Specifications: -------------- * SoC: Mediatek MT7620A * RAM: 128MB DDR2 * Flash: 16MB SPI NOR flash (Winbond W25Q128BV) * WiFi 2.4GHz: builtin * Ethernet: builtin * LED: Power, WAN, LAN 1-4, WiFi * Buttons: Reset (GPIO 13) * UART: Serial console (57600 8n1) * USB: 1 x USB2 Installation: ------------ The router comes with OpenWrt 14.07 built with MTK SDK. However, as the modem is provided by carriers, so the web interface is highly minimized and only contains a static page with no interaction options. There are two possible ways to gain the access. 1) Open the shell and use a UART2USB convert to gain TTY access. Please notice you have to remove resistance R54 at the back of the board otherwise you won't be able to input anything. 2) Use built-in backdoor. Access http://192.168.1.1/cgi-bin/_/testxst to start dropbear service at port 9122. Be warned the software is super old and only diffie-hellman-group1-sha1, diffie-hellman-group14-sha1, kexguess2@matt.ucc.asn.au is support, you may not be able to connect it with an up-to-date ssh client. After you can control the device, flash the firmware as usual. Here are some hints for that. Option 1 (via original firmware): 1) Setup HTTP server on your computer, for example: python3 -m http.server 2) Connect to the route and flash: cd /tmp wget http://<your-computer-host>/<your-firmware-name> mtd -r write <your-firmware-name> firmware Option 2 (replacing u-boot via breed): 1) Download breed-mt7620-reset13.bin from https://breed.hackpascal.net/ 2) Setup HTTP server on your computer, for example: python3 -m http.server You can skip this step if your breed is already accessible from HTTP, since the original wget does not support HTTPS. 3) Connect to the route and flash breed: cd /tmp wget http://<your-computer-host>/breed-mt7620-reset13.bin mtd write breed-mt7620-reset13.bin Bootloader 4) Reboot. Hold reset key or press any key in TTY to enter breed. 5) Access breed web interface (http://192.168.1.1/). Choose the flash layout to be 0x50000 and flash new firmware. MAC addresses: ------------- There are three MACs stored in factory, as in MT7620A reference design: source address usage 0x4 label WLAN 0x28 label MAC 1 0x2e label + 1 MAC 2 However, the OEM firmware only uses one single MAC (label) for all interfaces, probably a misconfiguration. Signed-off-by: David Yang <mmyangfl@gmail.com>
* ramips: add support for Netgear PR2000David Yang2022-08-064-0/+210
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Netgear PR2000, sold as "Travel Router and Range Extender". Specifications: -------------- * SoC: Mediatek MT7620N * RAM: 64MB DDR2 * Flash: 16MB SPI NOR flash (Macronix MX25L12805D) * WiFi 2.4GHz: builtin * Ethernet: builtin * LED: Power, Internet, WiFi, USB * Buttons: Reset (GPIO 1/2) * UART: Serial console (57600 8n1) * USB: 1 x USB2 SPECIAL NOTES: ------------- Problem: WiFi is super weak, but SSID beacons seems to be right. Solve: Change 36h in factory partition (namely 0xf60036) to be 0x0. Explain: Clearly Netgear have different ideas on how EEPROM is used. Bit 2 of 36h indicates the presence of External LNA for 11g (2.4 GHz) band, which seems to be incorrectly set by Netgear (originally 0x04). Lifting it solves the problem of weak RX signal. Installation: ------------ There are two possible ways to install the firmware. Flashing via web interface of original firmware is not tested due to a broken firmware. 1) Open the shell and use a UART2USB convert to gain TTY access (TP7: RXD, TP9: TXD, TP10: GND). Please notice you have to remove resistance R54 next to TP7 otherwise you won't be able to input anything. 2) Use well-known Netgear debug switch. Access http://192.168.168.1/setup.cgi?todo=debug to start telnet service (username: root, password: <none>). Please back up firmware if you want to go back to the original. After you can control the device, flash the firmware as usual. Here are some hints for that. Option 1 (via nmrpflash): 1) Download nmrpflash from https://github.com/jclehner/nmrpflash 2) Use *-factory.img and flash: nmrpflash -L nmrpflash -i net* -f <your-firmware-name> 3) Turn off then turn on the device, wait it finishing flash. Option 2 (replacing u-boot via breed): 1) Download breed-mt7620-reset1.bin from https://breed.hackpascal.net/ 2) Setup HTTP server on your computer, for example: python3 -m http.server You can skip this step if your breed is already accessible from HTTP, since the original wget does not support HTTPS. 3) Connect to the route and flash breed: cd /tmp wget http://<your-computer-host>/breed-mt7620-reset1.bin dd if=breed-mt7620-reset1.bin of=/dev/mtdblock0 bs=64k 4) Reboot. Hold reset key or press any key in TTY to enter breed. 5) Access breed web interface (http://192.168.1.1/). Choose memory layout to be 0x40000 and flash new firmware. Remark: ------ As a "Range Extender", it has a switch to switch between Wired mode (GPIO 21 low) and Wireless mode (GPIO 20 low), which is not implemented in this patch. However, the router will be turned off when it switches to the middle, which makes this switch much less useful. MAC addresses: ------------- The OEM firmware uses one single MAC for all interfaces, located at 0xf700b0. Signed-off-by: David Yang <mmyangfl@gmail.com>