aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips
Commit message (Collapse)AuthorAgeFilesLines
* ramips: rt3883: use lzma-loader for DIR-645Perry Melange2020-08-281-0/+1
| | | | | | | | | The DIR-645 fails to boot if the kernel is large. Enabling lzma-loader resolves the issue. Run-tested on D-Link DIR-645. Signed-off-by: Perry Melange <isprotejesvalkata@gmail.com>
* ramips: add support for Wavlink WL-WN531A6Georgi Vlaev2020-08-283-0/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Wavlink WL-WN531A6 (Quantum D6). Specifications: -------------- * SoC: Mediatek MT7621AT 2C2T, 880MHz * RAM: 128MB DDR3, Nanya NT5CB64M16GP-EK * Flash: 16MB SPI NOR flash, GigaDevice GD25Q127CSIG * WiFi 5GHz: Mediatek MT7615N (4x4:4) on mini PCIE slot. * WiFi 2.4GHz: Mediatek MT7603EN (2x2:2) on mini PCIE slot. * Ethernet: MT7630, 5x 1000Base-T * LED: Power, WAN, LAN(x4), WiFi, WPS, dual color "WAVLINK" LED logo on the top cover. * Buttons: Reset, WPS, "Turbo", touch button on the top cover via RH6015C touch sensor. * UART: UART1: serial console (57600 8n1) on the J4 header located below the top heatsink. UART2: J12 header, located on the right side of the board. * USB: One USB3 port. * I2C: J9 header, located below the top heatsink. Backup the OEM Firmware: ----------------------- There isn't any firmware released for the WL-WN531A6 on the Wavlink web site. Reverting back to the OEM firmware is not possible unless we have a backup of the original OEM firmware. The OEM firmware is stored on /dev/mtd4 ("Kernel"). 1) Plug a FAT32 formatted USB flash drive into the USB port. 2) Navigate to "Setup->USB Storage". Under the "Available Network folder" you can see part of the mount point of the newly mounted flash drive filesystem - e.g "sda1". The full mount point is prefixed with "/media", so in this case the mount point becomes "/media/sda1". 3) Go to http://192.168.10.1/webcmd.shtml . 4) Type the following line in the "Command" input box: dd if=/dev/mtd4ro of=/media/sda1/firmware.bin 5) Click "Apply" 6) After few seconds, in the text area should appear this output: 30080+0 records in 30080+0 records out 7) Type "sync" in the "Command" input box and click "Apply". 8) At this point the OEM firmware is stored on the flash drive as "firmware.bin". The size of the file is 15040 KB. Installation: ------------ * Flashing instructions (OEM web interface): The OEM web interface accepts only files with names containing "WN531A6". It's also impossible to flash the *-sysupgrade.bin image, so we have to flash the *-initramfs-kernel.bin first and use the OpenWrt's upgrade interface to write the sysupgrade image. 1) Rename openwrt-ramips-mt7621-wavlink_wl-wn531a6-initramfs-kernel.bin to WN531A6.bin. 2) Connect your computer to the one of the LAN ports of the router with an Ethernet cable and open http://192.168.10.1 3) Browse to Setup -> Firmware Upgrade interface. 4) Upload the (renamed) OpenWrt image - WN531A6.bin. 5) Proceed with the firmware installation and give the device a few minutes to finish and reboot. 6) After reboot wait for the "WAVLINK" logo on the top cover to turn solid blue, and open http://192.168.1.1 7) Use the OpenWrt's "Flash Firmware" interface to write the OpenWrt sysupgrade image: openwrt-ramips-mt7621-wavlink_wl-wn531a6-squashfs-sysupgrade.bin * Flashing instructions (u-boot TFTP): 1) Configure a TFTP server on your computer and set its IP to 192.168.10.100 2) Rename the OpenWrt sysupgrade image to firmware.bin and place it in the root folder of the TFTP server. 3) Power off the device and connect an Ethernet cable from one of its LAN ports your computer. 4) Press the "Reset" button (and keep it pressed) 5) Power on the device. 6) After a few seconds, when the connected port LAN LED stops blinking fast, release the "Reset" button. 7) Flashing OpenWrt takes less than a minute, system will reboot automatically. 8) After reboot the WAVLINK logo on the top cover will indicate the current OpenWrt running status (wait until the logo tunrs solid blue). Revert to the OEM Firmware: -------------------------- * U-boot TFTP: Follow "Flashing instructions (u-boot TFTP)" and use the "firmware.bin" backup image. * OpenWrt "Flash Firmware" interface: Upload the "firmware.bin" backup image and select "Force update" before continuing. Notes: ----- * The MAC address shown on the label at the back of the device is assigned to the 2.4G WiFi adapter. MAC addresses assigned by the OEM firmware: 2.4G: *:XX (label): factory@0x0004 5G: *:XX + 1 : factory@0x8004 WAN: *:XX - 1 : factory@0xe006 LAN: *:XX - 2 : factory@0xe000 * The I2C bus and UART2 are fully functional. The headers are not populated. Signed-off-by: Georgi Vlaev <georgi.vlaev@konsulko.com>
* ramips: add support for TP-Link TL-WR850N v2Andrew Freeman2020-08-274-2/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the TP-Link TL-WR850N v2. This device is very similar to TP-Link TL-WR840 v4 and TP-Link TL-WR841 v13. Specifications: SOC: MediaTek MT7628NN Flash: 8 MiB SPI RAM: 64 MiB WLAN: MediaTek MT7628NN Ethernet: 5 ports (100M) Installation Using the integrated tftp capability of the router: 1. Turn off the router. 2. Connect pc to one of the router LAN ports. 3. Set your PC IPv4 address to 192.168.0.66/24. 4. Run any TFTP server on the PC. 5. Put the recovery firmware on the root directory of TFTP server and name the file tp_recovery.bin 6. Start the router by pressing power button while holding the WPS/Reset button (or both WPS/Reset and WIFI buttons) 7. Router connects to your PC with IPv4 address 192.168.0.2, downloads the firmware, installs it and reboots. LEDs are flashing. Now you have OpenWrt installed. 8. Change your IPv4 PC address to something in 192.168.1.0/24 network or use DHCP to get an address from your OpenWrt router. 9. Done! You can login to your router via ssh. Forum link: https://forum.openwrt.org/t/add-support-for-tp-link-tl-wr850n-v2/66899 Signed-off-by: Andrew Freeman <labz56@gmail.com> [squash an tidy up commits, sort nodes] Signed-off-by: Darsh Patel <darshkpatel@gmail.com> [minor commit message adjustments] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: remove further mt7621 code from local ethernet driverAdrian Schmutzler2020-08-265-265/+2
| | | | | | | | | | | | | | | While commit 734a8c46e703 focussed on removing stuff directly selected by the NET_RALINK_* symbols, this patch removes additional unused mt7621-specific code from the ethernet driver. As with the previous patch, the main reason is to reduce the amount of code we have to maintain and care about. Note that this patch still keeps a few lines with IS_ENABLED(CONFIG_SOC_MT7621) in mtk_eth_soc.h/.c, as this file is still selected for the mt7621 subtarget. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: mt7621: use lzma-loader for ZBT-WG3526Rustam Gaptulin2020-08-241-0/+2
| | | | | | | | | | | | The wg3526 fails to boot if the kernel is large. Enabling lzma-loader resolves the issue on both the wg3526-16m and wg3526-32m. Fixes: FS#3143 Signed-off-by: Rustam Gaptulin <rascal6@gmail.com> [commit message facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: remove legacy ethernet driver components for mt7621Adrian Schmutzler2020-08-218-1433/+6
| | | | | | | | | | | | | | | | The mt7621 subtarget has been switched to DSA quite a while ago and seems to run sufficiently fine. Build with older kernels than 5.4 has been disabled directly during the kernel bump, so our local ethernet driver is unused in master since then. Therefore, let's remove the mt7621-specific parts of "our" ethernet driver, so we don't have to maintain them and it's obvious to everybody that they are not used anymore. This also drops the offloading components as this was specifically implemented to depend on mt7621. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: use wpad-basic-wolfssl as defaultPetr Štetiar2020-08-208-25/+25
| | | | | | | | | | | | | | | In order to support SAE/WPA3-Personal in default images. Replace almost all occurencies of wpad-basic and wpad-mini with wpad-basic-wolfssl for consistency. Keep out ar71xx from the list as it won't be in the next release and would only make backports harder. Build-tested (build-bot settings): ath79: generic, ramips: mt7620/mt76x8/rt305x, lantiq: xrx200/xway, sunxi: a53 Signed-off-by: Petr Štetiar <ynezz@true.cz> [rebase, extend commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.58John Audia2020-08-183-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR is a blend of several kernel bumps authored by ldir taken from his staging tree w/ some further adjustments made by me and update_kernel.sh Summary: Deleted upstreamed patches: generic: 742-v5.5-net-sfp-add-support-for-module-quirks.patch 743-v5.5-net-sfp-add-some-quirks-for-GPON-modules.patch bcm63xx: 022-v5.8-mtd-rawnand-brcmnand-correctly-verify-erased-pages.patch 024-v5.8-mtd-rawnand-brcmnand-fix-CS0-layout.patch mediatek: 0402-net-ethernet-mtk_eth_soc-Always-call-mtk_gmac0_rgmii.patch Deleted patches applied differently upstream: generic: 641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch Manually merged patches: generic: 395-v5.8-net-sch_cake-Take-advantage-of-skb-hash-where-appropriate.patch bcm27xx: 950-0132-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch layerscape: 701-net-0231-enetc-Use-DT-protocol-information-to-set-up-the-port.patch Build system: x86_64 Build-tested: ath79/generic, bcm27xx/bcm2708, bcm27xx/bcm2711, imx6, mvebu/cortexa9, sunxi/a53 Run-tested: Netgear R7800 (ipq806x) No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-By: Lucian Cristian <Lucian.cristian@gmail.com> [mvebu] Tested-By: Curtis Deptuck <curtdept@me.com> [x86/64] [do not remove 395-v5.8-net-sch_cake-Take-advantage-... patch, adjust and refresh patches, adjust commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-By: John Audia <graysky@archlinux.us> [ipq806x]
* ramips: fix LED labels for Asus RT-AC65PAdrian Schmutzler2020-08-174-27/+59
| | | | | | | | | | | | | The leds block was copied over from the RT-AC85P DTS to the common DTSI while keeping the device-specific model name in the label. This moves the LEDs back to the DTS files and adjusts the names to properly resemble the model name of the devices used at, just like it is handled on most other devices. Fixes: 7c5f712e4fec ("ramips: add support for Asus RT-AC65P") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for MikroTik RouterBOARD 760iGS (hEX S)John Thomson2020-08-138-70/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the MikroTik RouterBOARD 760iGS router. It is similar to the already supported RouterBOARD 750Gr3. The 760iGS device features an added SFP cage, and passive PoE out on port 5 compared to the RB750Gr3. https://mikrotik.com/product/hex_s Specifications: - SoC: MediaTek MT7621A - CPU: 880MHz - Flash: 16 MB - RAM: 256 MB - Ethernet: 5x 10/100/1000 Mbps - SFP cage - USB port - microSD slot Unsupported: - Beeper (requires PWM driver) - ZT2046Q (ADS7846 compatible) on SPI as slave 1 (CS1) The linux driver requires an interrupt, and pendown GPIO These are unknown, and not needed with the touchscreen only used for temperature and voltage monitoring. ads7846 hwmon: temp0 is degrees Celsius temp1 is voltage * 32 GPIOs: - 07: input passive PoE out (lan5) compatible (Mikrotik) device connected - 17: output passive PoE out (lan5) switch Installation through RouterBoot follows the usual MikroTik method https://openwrt.org/toh/mikrotik/common To boot to intramfs image in RAM: 1. Setup TFTP server to serve intramfs image. 2. Plug Ethernet cable into WAN port. 3. Unplug power, hold reset button and plug power in. Wait (~25 seconds) for beep and then release reset button. The SFP LED will be lit in RouterBoot, but will not be lit in OpenWRT. 4. Wait for a minute. Router should be running OpenWrt, check by plugging in to port 2-5 and going to 192.168.1.1. To install OpenWrt to flash: 1. Follow steps above to boot intramfs image in RAM. 2. Flash the sysupgrade.bin image with web interface or sysupgrade. 3. Once the router reboots you will be running OpenWrt from flash. OEM firmware differences: - RouterOS assigns a different MAC address for each port - The first address (E01 on the sticker) is used for wan (ether1 in OEM). - The next address is used for lan2. - The last address (E06 on the sticker) is used for sfp. [Initial port work, shared dtsi] Signed-off-by: Vince Grassia <vincenzo.grassia@zionark.com> [SFP support and GPIO identification] Signed-off-by: Luka Logar <luka.logar@iname.com> [Misc. fixes and submission] Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au> [rebase, drop uart3 from state_default on 750gr3, minor commit title/message facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips/mt7621: create common DTSI for Mikrotik devicesAdrian Schmutzler2020-08-134-214/+93
| | | | | | | | | This moves some common definitions for Mikrotik devices, mainly routerboot partitions and reset key, to a common DTSI file. While at it, remove unused hard_config DT label. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: use gpio-export for Mikrotik RouterBOARD 750Gr3 beeperJohn Thomson2020-08-132-6/+8
| | | | | | | | | | | | | This beeper hardware requires a PWM driver for frequency selection. Since the GPIO driver does not provide that, revert the beeper support to a simple gpio-export. This effectively reverts the corresponding changes from 6ba58b7b020c ("ramips: cleanup the RB750Gr3 support") Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au> [commit title/message facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: Update kernel 4.14 to version 4.14.193Hauke Mehrtens2020-08-101-1/+1
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* treewide: make dependency on kmod-usb-net selectiveAdrian Schmutzler2020-08-102-2/+2
| | | | | | | | A bunch of kernel modules depends on kmod-usb-net, but does not select it. Make AddDepends/usb-net selective, so we can drop some redundant +kmod-usb-net definitions for DEVICE_PACKAGES. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips/mt7628: fix portmap based on board.d port assignmentAdrian Schmutzler2020-08-102-2/+2
| | | | | | | | | | | | | When comparing to the port assignment in board.d/02_network, a few devices seem to use the wrong setup of mediatek,portmap. The corrects the values for mt76x8 subtarget based on the location of the wan port. A previous cleanup of obviously wrong values has already been done in 7a387bf9a0d7 ("ramips: mt76x8: fix bogus mediatek,portmap") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: add sysupgrade comment for early DSA-adoptersAdrian Schmutzler2020-08-081-1/+2
| | | | | | | | | | Add a specific comment for early DSA-adopters that they can keep their config when prompted due to compat-version increase. This is a temporary solution, the patch should be simply reverted before any release. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: mt7621: implement compatibility version for DSA migrationAdrian Schmutzler2020-08-083-0/+109
| | | | | | | | | | | | | | | | | | | This implements the newly introduced compat-version to prevent broken upgrade between swconfig and DSA for ramips' mt7621 subtarget. In order to make the situation more transparent for the user, and to prevent large switch-cases for devices, it is more convenient to have the entire subtarget 1.1-by-default. This means that new devices will be added with 1.1 from the start, but in contrast we don't need to switch them in board.d files. Apart from that, users that manually backport devices to 19.07 with swconfig will have an equivalent upgrade experience to officially supported devices. Since DSA support on mt7621 is out for a while already, this applies the same uci-defaults workaround for early adopters as already done for kirkwood and mvebu in previous commits. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: use lzma-loader for RT5350F-OLinuXino devicesSungbo Eo2020-08-081-0/+2
| | | | | | | The bootloader fails to extract a big kernel, e.g. v5.4 kernel image with ALL_KMODS enabled. This can be fixed by using lzma-loader. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ramips: adjust LZMA_TEXT_START for 32MB RAM devicesSungbo Eo2020-08-081-1/+1
| | | | | | | | | | Currently the lzma-loader is placed in RAM at 32MB offset, which does not make sense for devices with only 32MB RAM. If we adjust LZMA_TEXT_START to 24MB offset, then the lzma-loader can be used on those devices and still about 24MB memory will be available for uncompressed image, which should be enough for most use cases. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ramips: switch rt288x subtarget to kernel 5.4Adrian Schmutzler2020-08-071-2/+0
| | | | | | | | | | | | | | The sbutarget has testing support for kernel 5.4 for quite a while and builds fine, however, only one devices there is > 4 MiB. Since it's unlikely to get a Tested-by for that device, and the other ralink subtargets appear to be working with 5.4 so far, let's set this target to 5.4 by default as well. That way, even if the device happens to break, we'll still have at least usable SDK and IB for people to use. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips/mt7620: fix portmap based on board.d port assignmentAdrian Schmutzler2020-08-079-10/+8
| | | | | | | | | | | | | | When comparing to the port assignment in board.d/02_network, many devices seem to use the wrong setup of mediatek,portmap. The corrects the values for mt7620 subtarget based on the location of the wan port. A previous cleanup of obviously wrong values has already been done in d3c0a944059b ("ramips: mt7620/mt7621: remove invalid mediatek,portmap") Cc: Sungbo Eo <mans0n@gorani.run> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: invert wpad selection for mt7621Adrian Schmutzler2020-08-072-80/+89
| | | | | | | | | | | | | | | | | | | For ramips/mt7621, the wpad-basic package is not selected by default, but added for every device individually as needed. While this might be technically correct if the SoC does not come with a Wifi module, only 18 of 97 devices for that platform are set up _without_ wpad-basic currently. Therefore, it seems more convenient to add wpad-basic by default for the subtarget and then just remove it for the 18 mentioned devices, instead of having to add it for about 60 times instead. This would also match the behavior of the 5 other subtargets, where wpad-basic/wpad-mini is added by default as well, and thus be more obvious to developers without detailed SoC knowledge. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: switch rt3883 subtarget to kernel 5.4Adrian Schmutzler2020-08-061-2/+0
| | | | | | | | | | | | The target has testing support for kernel 5.4 for quite a while, compiles fine for all devices, and has been run-tested on Asus RT-N56U successfully. Let's set it to kernel 5.4 by default to increase the audience before an 20.xx stable branch. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Eneas U de Queiroz <cotequeiroz@gmail.com> [Asus RT-N56U]
* ramips: add support for Netgear JWNR2010 v5Shibajee Roy2020-08-065-0/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specification: - CPU: MediaTek MT7620N (580 MHz) - Flash size: 4 MB NOR SPI - RAM size: 32 MB DDR1 - Bootloader: U-Boot - Wireless: MT7620N 2x2 MIMO 802.11b/g/n (2.4 GHz) - Switch: MT7620 built-in 10/100 switch with vlan support - Ports: 4x LAN, 1x WAN - Others: 7x LED, Reset button, UART header on PCB (57600 8N1) Flash instructions: 1. Use ethernet cable to connect router with PC/Laptop, any router LAN port will work. 2. To flash openwrt we are using nmrpflash[1]. 3. Flash commands: First we need to identify the correct Ethernet id. nmrpflash -L nmrpflash -i net* -f openwrt-ramips-mt7620-netgear_jwnr2010-v5-squashfs-factory.img This will show something like "Advertising NMRP server on net*..." (net*, *=1,2,3... etc.) 4. Now remove the power cable from router back side and immediately connect it again. You will see flash notification in CMD window, once it says reboot the device just plug off the router and plug in again. Revert to stock: 1. Download the stock firmware from official netgear support[2]. 2. Follow the same nmrpflash procedure like above, this time just use the stock firmware. nmrpflash -i net* -f N300-V1.1.0.54_1.0.1.img MAC addresses on stock firmware: LAN = *:28 (label) WAN = *:29 WLAN = *:28 On flash, the only valid MAC address is found in factory 0x4. Special Note: This openwrt firmware will also support other netgear N300 routers like below as they share same stock firmware[3]. JNR1010v2 / WNR614 / WNR618 / JWNR2000v5 / WNR2020 / WNR1000v4 / WNR2020v2 / WNR2050 [1] https://github.com/jclehner/nmrpflash [2] https://www.netgear.com/support/product/JWNR2010v5.aspx [3] http://kb.netgear.com/000059663 Signed-off-by: Shibajee Roy <ador250@protonmail.com> [create DTSI, use netgear_sercomm_nor, disable by default, add MAC addresses to commit message, add label MAC address] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: drop remaining m25p,chunked-io from DTSAdrian Schmutzler2020-08-063-3/+0
| | | | | | | | | | | | | | This option was a spi nor hack which is dropped in commit bcf4a5f474d1 ("ramips: remove chunked-io patch and set spi->max_transfer_size instead") Most of it has already been removed in be2b61e4f1ec ("ramips: drop m25p,chunked-io from dts") It seems all current usages were added after that. Remove them. Cc: Chuanhong Guo <gch981213@gmail.com> Reported-by: Sungbo Eo <mans0n@gorani.run> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add common definition netgear_sercomm_norAdrian Schmutzler2020-08-063-27/+24
| | | | | | | | Like NAND-based devices, SPI-NOR based Netgear devices also share a common setup for their images. This creates a common defition for them in image/Makefile, so it can be reused across subtargets. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: tidy up MAC address setup for Linkit Smart and Omega2Adrian Schmutzler2020-08-063-8/+2
| | | | | | | | | | | | | | | | | | | | Linkit Smart 7688 and Onion Omega 2(+) are one-port devices, and have their port set to LAN by default. Setting up a WAN MAC address for them doesn't make any sense, as no wan interface will be created in uci config. Despite, these devices also set lan_mac in 02_network, although mtd-mac-address sets a different address for the ethernet interface in DTS. Clean this up by moving the lan_mac value into DTS and dropping the entries in 02_network completely. That way, the effective address on the LAN interface should stay the same, but we get rid of the extra (re)assignments. As I don't have access to the devices, this does not tell anything about whether 0x2e is actually a good choice, it just preserves the existing assignment. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: WizFi630S use macs from factory partionTobias Welz2020-08-062-3/+6
| | | | | | | | | | | | | | | | | | | | WIZnet WizFi630s has three mac addresses in the factory partition: 0x04 (also on the label), 0x28 for wan mac and 0x2e as lan mac. All three macadresses are sequential series of addresses. This is making use of them. While at it, also add the label MAC address to 02_network. MAC addresses as verified by OEM firmware: use interface source WLAN ra0 factory 0x04 (label) WAN eth0.2 factory 0x28 (label + 1) LAN eth0.1 factory 0x2e (label + 2) Signed-off-by: Tobias Welz <tw@wiznet.eu> [fix sorting in 02_network, commit message adjustments] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: correct WizFi630S pin mappingsTobias Welz2020-08-061-26/+8
| | | | | | | | | | WizFi630S had some pins changed in the release version of the board. The run led, wps button and a slide switch where affected. This patch is correcting this. i2c is removed as it is sharing a pin with the run (system) led. uart2 is enabled as it is also enabled in the OEM firmware. Signed-off-by: Tobias Welz <tw@wiznet.eu>
* kernel: unify CONFIG_GPIO_SYSFS in kernel configsFelix Fietkau2020-08-0610-10/+0
| | | | | | Enable it for all platforms Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: switch rt305x subtarget to kernel 5.4Alexey Dobrovolsky2020-08-056-6/+5
| | | | | | | | | | | | | | RT3x5x seems to work fine with kernel 5.4. Set the default kernel version to 5.4 to bring this to a broader audience. Since 4 of 6 targets are on kernel 5.4 now, invert the kernel version setup logic in Makefile/target.mk files. Tested on ZyXEL Keenetic. Signed-off-by: Alexey Dobrovolsky <dobrovolskiy.alexey@gmail.com> [invert version setup logic] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: enable flashing WizFi630S via OEM firmwareTobias Welz2020-08-051-0/+1
| | | | | | | | | | | WIZnet WizFi630s board name is written slightly different it its OEM OpenWrt firmware. This causes an incompatibility warning during flashing with sysupgrade. This patch is adding the vendor board name to the supported devices list to avoid this warning. For initial flashing you can use sysupgrade via command line or luci beside of TFTP. Do not keep the OEM configuration during sysupgrade. Signed-off-by: Tobias Welz <tw@wiznet.eu>
* ramips: remove doublet entry in WizFi630S dts fileTobias Welz2020-08-051-4/+0
| | | | | | | &wmac entry in WIZnet WizFi630S dts file was existing two times. This is removing one of them. Signed-off-by: Tobias Welz <tw@wiznet.eu>
* ramips: disable unused phy ports of WizFi630STobias Welz2020-08-051-0/+1
| | | | | | | WIZnet WizFi630S is using only 3 of the phy ports. The unused phy ports draw unnecessarily power. This is disabling the unused phy ports. Signed-off-by: Tobias Welz <tw@wiznet.eu>
* ramips: add support for TP-Link RE200 v3Richard Fröhning2020-08-034-0/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link RE200 v3 is a wireless range extender with Ethernet and 2.4G and 5G WiFi with internal antennas. It's based on MediaTek MT7628AN+MT7610EN like the v2. Specifications -------------- - MediaTek MT7628AN (580 Mhz) - 64 MB of RAM - 8 MB of FLASH - 2T2R 2.4 GHz and 1T1R 5 GHz - 1x 10/100 Mbps Ethernet - 8x LED (GPIO-controlled), 2x button Unverified: - UART header on PCB (57600 8n1) There are 2.4G and 5G LEDs in red and green which are controlled separately. MAC addresses ------------- MAC address assignment has been done according to the RE200 v2. The label MAC address matches the OpenWrt ethernet address. Installation ------------ Web Interface ------------- It is possible to upgrade to OpenWrt via the web interface. Simply flash the -factory.bin from OEM. In contrast to a stock firmware, this will not overwrite U-Boot. Recovery -------- Unfortunately, this devices does not offer a recovery mode or a tftp installation method. If the web interface upgrade fails, you have to open your device and attach serial console. The device has not been opened for adding support. However, it is expected that the behavior is similar to the RE200 v2. Instructions for serial console and recovery may be checked out in commit 6d6f36ae787c ("ramips: add support for TP-Link RE200 v2") or on the device's Wiki page. Signed-off-by: Richard Fröhning <misanthropos@gmx.de> [adjust commit title/message, sort support list] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: fix/tidy up 4M tplink-v2-image flash layoutsAdrian Schmutzler2020-08-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | For the TP-Link 4M devices with tplink-v2-image recipe (mktplinkfw2.c), there are two different flash layouts based on the size of the (u)boot partition: device uboot OEM firmware OpenWrt (incl. config) tl-wr840n-v5 0x20000 0x3c0000 0x3d0000 tl-wr841n-v14 0x10000 0x3d0000 0x3e0000 In both cases, the 0x10000 config partition is used for the firmware partition as well due to the limited space available and since it's recreated by the OEM firmware anyway. However, the TFTP flashing process will only copy data up to the size of the initial (OEM) firmware size. Therefore, while we can use the bigger partition to have additional erase blocks on the device, we have to limit the image sizes to the TFTP limits. So far, only one layout definition has been set up in mktplinkfw2.c for 4M mediatek devices. This adds a second one and assigns them to the devices so the image sizes are correctly restrained. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* target: replace remaining occurrences of ifconfig with ipAdrian Schmutzler2020-08-031-1/+1
| | | | | | | | | | | ifconfig is effectively deprecated for quite some time now. Let's replace the remaining occurrences for our target setup by the corresponding ip commands now. Note that this does not touch ar71xx, as it will be dropped anyway, and changing it would only make backports harder. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for JS76x8 series DEV boardsRobinson Wu2020-07-316-4/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the Jotale JS76x8 series development boards. These devices have the following specifications: - SOC: MT7628AN/NN, MT7688AN, MT7628DAN - RAM of MT7628AN/NN and MT7688AN: 64/128/256 MB (DDR2) - RAM of MT7628DAN: 64 MB (DDR2) - FLASH:8/16/32 MB (SPI NOR) - Ethernet:3x 10/100 Mbps ethernet ports (MT76x8 built-in switch) - WIFI:1x 2T2R 2.4 GHz Wi-Fi - LEDs:1x system status green LED, 1x wifi green LED, 3x ethernet green LED - Buttons:1x reset button - 1x microSD slot - 4x USB 2.0 port - 1x mini-usb debug UART - 1x DC jack for main power (DC 5V) - 1x TTL/RS232 UART - 1x TTL/RS485 UART - 13x GPIO header - 1x audio codec(wm8960) Installation via OpenWrt: The original firmware is OpenWrt, so both LuCI and sysupgrade can be used. Installation via U-boot web: 1. Power on board with reset button pressed, release it after wifi led start blinking. 2. Setup static IP 192.168.1.123/4 on your PC. 3. Go to 192.168.1.8 in browser and upload "sysupgrade" image. Installation via U-boot tftp: 1. Connect to serial console at the mini usb, which has been connected to UART0 on board (115200 8N1) 2. Setup static IP 192.168.1.123/4 on your PC. 3. Place openwrt-firmware.bin on your PC tftp server (192.168.1.123). 3. Connect one of LAN ports on board to your PC. 4. Start terminal software (e.g. screen /dev/ttyUSB0 115200) on PC. 5. Apply power to board. 6. Interrupt U-boot with keypress of "2". 7. At u-boot prompts: Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N) Y Input device IP (192.168.1.8) ==:192.168.1.8 Input server IP (192.168.1.123) ==:192.168.1.123 Input Linux Kernel filename (root_uImage) ==:openwrt-firmware.bin 8. board will download file from tftp server, write it to flash and reboot. Signed-off-by: Robinson Wu <wurobinson@qq.com> [add license to DTS files, fix state_default and reduce to the mimimum, move phy0tpt trigger to DTS, drop ucidef_set_led_timer, fix network ports] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: limit 5GHz channels for RAVPower RP-WD009David Bauer2020-07-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | When selecting a channel below 100 on the 5GHz radio, the channel will be detected as busy all the time. Survey data from wlan1 frequency: 5240 MHz [in use] channel active time: 165729 ms channel busy time: 158704 ms channel transmit time: 0 ms Channels 100 and above work fine: Survey data from wlan1 frequency: 5500 MHz channel active time: 133000 ms channel busy time: 21090 ms channel transmit time: 0 ms Limit the available channels, so users do not have the impression their device is broken. Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: add support for D-Link DIR-1960 A1Josh Bendavid2020-07-275-0/+247
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for D-Link DIR-1960 A1. Given the similarity with the DIR-1760/2660 A1, this patch also introduces a common DTSI which can be shared with these devices, with support to be added in future commits. Specifications: * Board: AP-MTKH7-0002 * SoC: MediaTek MT7621AT * RAM: 256 MB (DDR3) * Flash: 128 MB (NAND) * WiFi: MediaTek MT7615N (x2) * Switch: 1 WAN, 4 LAN (Gigabit) * Ports: 1 USB 3.0 * Buttons: Reset, WPS * LEDs: Power (white/orange), Internet (white/orange), WiFi 2.4G (white), WiFi 5G (white), USB 3.0 (white) Notes: * WiFi 2.4G and WiFi 5G LEDs are wired directly to the wireless chips Installation: * D-Link Recovery GUI: power down the router, press and hold the reset button, then re-plug it. Keep the reset button pressed until the power LED starts flashing orange, manually assign a static IP address under the 192.168.0.xxx subnet (e.g. 192.168.0.2) and go to http://192.168.0.1 * Some modern browsers may have problems flashing via the Recovery GUI, if that occurs consider uploading the firmware through cURL: curl -v -i -F "firmware=@file.bin" 192.168.0.1 MAC addresses: lan factory 0xe000 *:EB (label) wan factory 0xe006 *:EE 2.4 factory 0xe000 +1 *:EC 5.0 factory 0xe000 +2 *:ED Seems like vendor didn't replace the dummy entrys in the calibration data. Signed-off-by: Josh Bendavid <joshbendavid@gmail.com> [fix whitespace issues, create patch to merge DIR-1960 first, move special WiFi MAC settings to DTS, extend commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: remove non-existant poe_passthrough for RouterBOARD 750Gr3John Thomson2020-07-251-3/+0
| | | | | | | | | | | | | | | | This 750gr3 GPIO17 switch was added based on vendor source, but only the 760iGS (which shares the rbsysfs board identifier) device has the physical wiring. The 750Gr3 actually does not support PoE out. Apart from that, note that the gpio base (480) would have required this GPIO to be referenced as 497 if it was kept. Fixes: 6ba58b7b020c ("ramips: cleanup the RB750Gr3 support") Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au> [commit title/message facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for Winstars WS-WN583A6Davide Fioravanti2020-07-253-1/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Winstars WS-WN583A6 is a wireless repeater with 2 gigabit ethernet ports. Even if mine is branded as "Gemeita AC2100", the sticker on the back says WS-WN583A6. So I will refer to it as Winstars WS-WN583A6. Probably the real product name is the Wavlink WL-WN583A6 because of the many references to Wavlink in the OEM firmware and bootlog. Hardware -------- SoC: Mediatek MT7621AT (880 MHz, 2 cores 4 threads) RAM: 128MB FLASH: 8MB NOR (GigaDevice GD25Q64B) ETH: 2x 10/100/1000 Mbps Ethernet (MT7530) WIFI: - 2.4GHz: 1x MT7603E (2x2:2) - 5GHz: 1x MT7615E (4x4:4) - 6 internal antennas BTN: - 1x Reset button - 1x WPS button - 1x ON/OFF switch (working but unmodifiable) - 1x Auto/Schedule switch (working but unmodifiable. Read Note #3) LEDS: - 1x White led - 1x Red led - 1x Amber led - 1x Blue led - 2x Blue leds (lan and wan port status: working but unmodifiable) UART: - 57600-8-N-1 Everything works correctly. Currently there is no firmware update available. Because of this, in order to restore the OEM firmware, you must firstly dump the OEM firmware from your router before you flash the OpenWrt image. Backup the OEM Firmware ----------------------- The following steps are to be intended for users having little to none experience in linux. Obviously there are many ways to backup the OEM firmware, but probably this is the easiest way for this router. Procedure tested on M83A6.V5030.191210 firmware version. 1) Go to http://192.168.10.1/webcmd.shtml 2) Type the following line in the "Command" input box: mkdir /etc_ro/lighttpd/www/dev; for i in /dev/mtd*ro; do dd if=${i} of=/etc_ro/lighttpd/www${i}; done 3) Click "Apply" 4) After few seconds, in the textarea should appear this output: 16384+0 records in 16384+0 records out 8388608 bytes (8.0MB) copied, 4.038820 seconds, 2.0MB/s 384+0 records in 384+0 records out 196608 bytes (192.0KB) copied, 0.095180 seconds, 2.0MB/s 128+0 records in 128+0 records out 65536 bytes (64.0KB) copied, 0.032020 seconds, 2.0MB/s 128+0 records in 128+0 records out 65536 bytes (64.0KB) copied, 0.031760 seconds, 2.0MB/s 15744+0 records in 15744+0 records out 8060928 bytes (7.7MB) copied, 3.885280 seconds, 2.0MB/s dd: can't open '/dev/mtd5ro': No such device dd: can't open '/dev/mtd6ro': No such device dd: can't open '/dev/mtd7ro': No such device Excluding the "X.XXXXXX seconds" part, you should get the same exact output. If your output doesn't match mine, stop reading and ask for help in the forum. 5) Open the following links to download the partitions of the OEM FW: http://192.168.10.1/dev/mtd0ro http://192.168.10.1/dev/mtd1ro http://192.168.10.1/dev/mtd2ro http://192.168.10.1/dev/mtd3ro http://192.168.10.1/dev/mtd4ro If one (or more) of these files weight 0 byte, stop reading and ask for help in the forum. 6) Store these downloaded files in a safe place. 7) Reboot your router to remove any temporary file from your router. Installation ------------ Flash the initramfs image in the OEM firmware interface. When openwrt boots, flash the sysupgrade image otherwise you won't be able to keep configuration between reboots. Restore OEM Firmware -------------------- Flash the "mtd4ro" file you previously backed-up directly from LUCI. Warning: Remember to not keep settings! Warning2: Remember to force the flash. Notes ----- 1) The "System Command" page allows to run every command as root. For example you can use "dd" and "nc" to backup the OEM firmware. PC (SERVER): nc -l 5555 > ./mtdXro ROUTER (CLIENT): dd if=/dev/mtdXro | nc PC_IP_ADDRESS 5555 2) The OEM web interface accepts only images containing the string "WN583A6" in the filename. Currently the OEM interface accepts only the initramfs image probably because it checks if the ih_size in the image header is equal to the whole image size (instead of the kernel size) Read more here: https://forum.openwrt.org/t/support-for-strong-1200/22768/19 3) The white led (namely "Smart Night Light") can be controller by the user only if the side switch is set to "Schedule" otherwise it will be activated by the light condition (there is a photodiode on the top side of the router) 4) Router mac addresses: LAN XX:XX:XX:XX:XX:8F WAN XX:XX:XX:XX:XX:90 WIFI 2G XX:XX:XX:XX:XX:91 WIFI 5G XX:XX:XX:XX:XX:92 LABEL XX:XX:XX:XX:XX:91 Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com> [remove chosen node, fix whitespace] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* Revert "ramips: fix flash layout for TP-Link TL-WR841N v14"Adrian Schmutzler2020-07-222-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1623defbdbb852a4018329d07673b4b8f66225a8. As already stated in the reverted patch, the OEM firmware will properly recreate the config partition if it is overwritten by OpenWrt. The main reason for adding the partition was the image size restriction imposed by the 0x3d0000 limitation of the TFTP flashing process. Addressing this by shrinking the firmware partition is not a good solution to that problem, though: 1. For a working image, the size of the content has to be smaller than the available space, so empty erase blocks will remain. 2. Conceptually, the restriction is on the image, so it makes sense to implement it in the same way, and not via the partitioning. Users could e.g. do initial flash with TFTP restriction with an older image, and then sysupgrade into a newer one, so TFTP restriction does not apply. 3. The (content) size of the recovery image is enforced to 0x3d0000 by the tplink-v2-image command in combination with TPLINK_FLASHLAYOUT (flash layout in mktplinkfw2.c) anyway. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: switch MT7620 subtarget to 5.4David Bauer2020-07-221-0/+2
| | | | | | | | | MT7620 seems to work fine with kernel 5.4. Set the default kernel version to 5.4 to bring this to a broader audience. Tested on Archer C2 v1 / Archer C20i Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: increase SPI frequency for MT7620 ArcherDavid Bauer2020-07-223-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Increase the SPI frequency for the MT7620 based TP-Link Archer series to 30MHz. TP-Link uses different SPI flash chips for the same board revision, so be conservative to not break boards with a different chip. 30MHz should be well supported by all chips. Tested on Archer C2 v1 (GD25Q64B) and Archer C20i (W25Q64FV). Archer C20i (before) ==================== root@OpenWrt:~# time dd if=/dev/mtd1 of=/tmp/test.bin bs=64k 122+0 records in 122+0 records out real 0m 15.30s user 0m 0.00s sys 0m 15.29s Archer C20i (after) =================== root@OpenWrt:~# time dd if=/dev/mtd1 of=/tmp/test.bin bs=64k 122+0 records in 122+0 records out real 0m 5.99s user 0m 0.00s sys 0m 5.98s Signed-off-by: David Bauer <mail@david-bauer.net> Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: improve LED support for D-Link DIR-615 D seriesAdrian Schmutzler2020-07-212-5/+8
| | | | | | | | | | | | | This patch adds a trigger for the WAN LED and enhances support for the WiFi LED by enabling activity indication. This is based on bug report feedback (see reference below). While at it, update the LED node names in DTS file. Fixes: FS#732 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: fix network setup for Ubiquiti ER-X/ER-X-SFPNelson Cai2020-07-201-2/+2
| | | | | | | | | | | | The function name ucidef_set_interface_lan_wan does not exist, use the proper name by adding an "s" and thereby fix network setup on these devices. Fixes: 22468cc40c8b (ramips: erx and erx-sfp: fix missing WAN interface) Signed-off-by: Nelson Cai <niphor@gmail.com> [commit message/title facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: fix flash layout for TP-Link TL-WR841N v14Alexander Müller2020-07-192-2/+8
| | | | | | | | | | | | | | | | The config partition was missing from the flash layout of the device. Although the stock firmware resets a corrupted config partition to the default values, the TFTP flash with an image bigger than 0x3d0000 will truncate the image as the bootloader only copies 0x3d0000 bytes to flash during TFTP flashing. Fixed by adding the config partition and shrinking the firmware partition. Fixes: 3fd97c522bb7 ("ramips: add support for TP-Link TL-WR841n v14") Signed-off-by: Alexander Müller <donothingloop@gmail.com>
* ramips: remove incorrect mtd-eeprom for TP-Link TL-WR841N v14Adrian Schmutzler2020-07-191-1/+1
| | | | | | | | | | | | | | | | | The factory partition on this device is only 64k in size, so having mediatek,mtd-eeprom = <&factory 0x10000> would place the EEPROM data after the end of the flash. As can be verified against the TP-Link GPL sources, which contain the EEPROM data as binary blob, the actual address for the EEPROM data is 0x0. Since 0x0 is default for MT7628, the incorrect line is just removed. This error is the reason for the abysmal Wifi performance that people are complaining about for the WR841Nv14. Fixes: 3fd97c522bb7 ("ramips: add support for TP-Link TL-WR841n v14") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: don't create switch config for VIXMINIDavid Bauer2020-07-181-5/+2
| | | | | | | | | Don't create UCI switch config for the GL.iNet microuter-N300 and VIXMINI. These devices only have a single LAN port. Creating the switch config makes usage of VLANs more complicated, as they would have to be configured on the MAC as well as the "switch". Signed-off-by: David Bauer <mail@david-bauer.net>