aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips
Commit message (Collapse)AuthorAgeFilesLines
* kernel: bump 4.14 to 4.14.59Stijn Tintel2018-07-312-30/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop patch that was superseded upstream: ramips/0036-mtd-fix-cfi-cmdset-0002-erase-status-check.patch Drop upstreamed patches: - apm821xx/020-0001-crypto-crypto4xx-remove-bad-list_del.patch - apm821xx/020-0011-crypto-crypto4xx-fix-crypto4xx_build_pdr-crypto4xx_b.patch - ath79/0011-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch - brcm63xx/001-4.15-08-bcm63xx_enet-correct-clock-usage.patch - brcm63xx/001-4.15-09-bcm63xx_enet-do-not-write-to-random-DMA-channel-on-B.patch - generic/backport/080-net-convert-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch - generic/pending/170-usb-dwc2-Fix-DMA-alignment-to-start-at-allocated-boun.patch - generic/pending/900-gen_stats-fix-netlink-stats-padding.patch In 4.14.55, a patch was introduced that breaks ext4 images in some cases. The newly introduced patch backport-4.14/500-ext4-fix-check-to-prevent-initializing-reserved-inod.patch addresses this breakage. Fixes the following CVEs: - CVE-2018-10876 - CVE-2018-10877 - CVE-2018-10879 - CVE-2018-10880 - CVE-2018-10881 - CVE-2018-10882 - CVE-2018-10883 Compile-tested: ath79, octeon, x86/64 Runtime-tested: ath79, octeon, x86/64 Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* ramips: add support for ELECOM WRC-2533GSTINAGAKI Hiroshi2018-07-304-0/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ELECOM WRC-2533GST is a 2.4/5 GHz band 11ac rotuer, based on MediaTek MT7621A. Specification: - MT7621A (2-Core, 4-Threads) - 128 MB of RAM (DDR3) - 16 MB of Flash (SPI) - 4T4R 2.4/5 GHz wifi - MediaTek MT7615 - 5x 10/100/1000 Mbps Ethernet - 4x LEDs, 6 keys (2x buttons, 1x slide switch) - UART header on PCB - Vcc, GND, TX, RX from ethernet port side - baudrate: 57600 bps Flash instruction using factory image: 1. Connect the computer to the LAN port of WRC-2533GST 2. Connect power cable to WRC-2533GST and turn on it 3. Access to "https://192.168.2.1/" and open firmware update page ("ファームウェア更新") 4. Select the OpenWrt factory image and click apply ("適用") button 5. Wait ~150 seconds to complete flashing Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* ramips: fix RBM11G nameThibaut VARÈNE2018-07-301-1/+1
| | | | | | | | The device name is corrected to match the hardware-stored (in hard config flash space) device name. Tested-by: Tobias Schramm <tobleminer@gmail.com> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* ramips: fix RBM33G nameThibaut VARÈNE2018-07-301-1/+1
| | | | | | | | The device name is corrected to match the hardware-stored (in hard config flash space) device name. Tested-by: Tobias Schramm <tobleminer@gmail.com> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* ramips: mmc: Add SD card support to HC5661ALoveSy2018-07-302-0/+5
| | | | | | | | | | Tested on HC5661A and it now fixes the issue that when enabling sd card in HC5661A, the wan and 3 lan ports will down. Known issue: - When enabling SD card support, the led light of system will down and the rest 2 lights keep working. Signed-off-by: LoveSy <shana@zju.edu.cn>
* ramips: mmc: Fix init for MT7628ANLoveSy2018-07-302-1/+16
| | | | | | | | There is another thing about crc to do when initialize SD card on MT7628. This commit is to fix this init issue. Signed-off-by: LoveSy <shana@zju.edu.cn>
* ramips: remove stale get_status_led callMathias Kresin2018-07-251-3/+0
| | | | | | | | | | | | The get_status_led() function was removed due to the convertion to dts alias based status led. Since we don't need the boardname any longer, the functions.sh include isn't required any more. Fixes: c9c4b2116c09 ("ramips: Use dts alias based status led") Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: define common MikroTik RouterBOARD image recipeThibaut VARÈNE2018-07-191-11/+9
| | | | | | | | | | All these devices share the exact same image format. The usb3 kmod is added for the rbm11g, as the rbm11g has a mini-pcie slot like its bigger sibling. The usb kmod is necessary for usb-over-pcie support, which is mandatory for a lot of LTE modules. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* ramips: Use dts alias based status ledChuanhong Guo2018-07-16208-555/+1035
| | | | | | Also fix several typos in led node name. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: ethernet: disable fraglist supportFelix Fietkau2018-07-141-1/+1
| | | | | | | The code has some remaining issues that cause ethernet hangs, so disable it for now until we can get it fixed Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: ethernet: use own page_frag_cacheFelix Fietkau2018-07-122-3/+15
| | | | | | | | | | | | | | | | Using the NAPI or netdev frag cache along with other drivers can lead to 32 KiB pages being held for a long time, despite only being used for very few page fragment. This can happen if the ethernet driver grabs one or two fragments for rx ring refill, while other drivers use (and free up) the remaining fragments. The 32 KiB higher-order page can only be freed once all users have freed their fragments, which only happens after the rings of all drivers holding the fragments have wrapped around. Depending on the traffic patterns, this can waste a lot of memory and look a lot like a memory leak Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: ethernet: use skb_free_frag to free fragmentsFelix Fietkau2018-07-121-3/+3
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: TP-Link TL-WR902AC v3: add missing wps buttonPeter Lundkvist2018-07-121-1/+7
| | | | Signed-off-by: Peter Lundkvist <peter.lundkvist@gmail.com>
* ramips: TP-Link TL-WR902AC v3: don't build factory imagePeter Lundkvist2018-07-121-1/+0
| | | | | | | | | | | | | | | | | | | | | The line that produces factory image was accidentally left by me while testing before inital commit. I came to the conclusion that flashing from OEM firmware does not work (seems to share this behavior with other tplinks based on mt7628). I have not done any further analysis, as I was unable to open the case and attach a serial port (too much glue). Maybe i will try once more. So the way to do initial flashing (or un-bricking) is to use the tftp-recover image. It is possible to revert to OEM firmware with tftp recovery; in this case the first 512 bytes the image file need to be cut off. Signed-off-by: Peter Lundkvist <peter.lundkvist@gmail.com> [add explaination provided via mail as commit message] Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: only optimized for size if small_flashMathias Kresin2018-07-128-12/+3
| | | | | | | | | | | | | | | | | | | | | | | | Add a new config option to allow to select the default compile optimization level for the kernel. Select the optimization for size by default if the small_flash feature is set. Otherwise "Optimize for performance" is set. Add the small_flash feature flag to all (sub)targets which had the optimization for size in their default kernel config. Remove CC_OPTIMIZE_FOR_* symbols from all kernel configs to apply the new setting. Exceptions to the above are: - lantiq, where the optimization for size is only required for the xway_legacy subtarget but was set for the whole target - mediatek, ramips/mt7620 & ramips/mt76x8 where boards should have plenty of space and an optimization for size doesn't make much sense - rb532, which has 128MByte flash Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: clean up and fix MT7621 NAND driver issuesFelix Fietkau2018-07-111-74/+25
| | | | | | | | | | | | - remove misaligned custom buffer allocation in the NAND driver - remove broken bounce buffer implementation for 16-byte align Let the MTD core take care of both Fixes messages like these: [ 102.820541] Data buffer not 16 bytes aligned: 87daf08c Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: bump 4.14 to 4.14.54Koen Vandeputte2018-07-111-1/+1
| | | | | | | | | | | | Rereshed all patches Reworked patches to match upstream: 335-v4.16-netfilter-nf_tables-add-single-table-list-for-all-fa.patch Compile-tested on: cns3xxx, imx6, x86_64 Runtime-tested on: cns3xxx, imx6, x86_64 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ramips: add support for Blueendless Kimax U35WFAdemar Arvati Filho2018-07-076-3/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | Blueendless Kimax U35WF is a 3,5" HDD Enclosure with Wi-Fi and Ethernet Patch rewritten from: https://forum.openwrt.org/viewtopic.php?id=66908 Based on: https://github.com/lede-project/source/pull/965 Specification: - SoC: MediaTek MT7620N - CPU/Speed: 580 MHz - Flash-Chip: KH25L12835F Spi Flash - Flash size: 16 MiB - RAM: 64 MiB - LAN: 1x 100 Mbps Ethernet - WiFi SoC-integrated: 802.11bgn - 1x USB 2.0 - UART: for serial console Installation: 1. Download sysupgrade.bin 2. Open vendor web interface 3. Choose to upgrade firmware 3. After reboot connect via ethernet at 192.168.1.1 Signed-off-by: Ademar Arvati Filho <arvati@hotmail.com>
* ramips: add support for I-O DATA WN-AX1167GRINAGAKI Hiroshi2018-07-076-0/+197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I-O DATA WN-AX1167GR is a 2.4/5 GHz band 11ac router, based on MediaTek MT7621A. Specification: - MT7621A (2-Cores, 4-Threads) - 64 MB of RAM (DDR2) - 16 MB of Flash (SPI) - 2T2R 2.4/5 GHz - 5x 10/100/1000 Mbps Ethernet - 2x LEDs, 4x keys (2x buttons, 1x slide switch) - UART header on PCB - Vcc, GND, TX, RX from ethernet port side - baudrate: 115200 bps (U-Boot, OpenWrt) Stock firmware: In the stock firmware, WN-AX1167GR has two os images each composed of Linux kernel and rootfs. These images are stored in "Kernel" and "app" partition of the following partitions, respectively. (excerpt from dmesg): MX25L12805D(c2 2018c220) (16384 Kbytes) mtd .name = raspi, .size = 0x01000000 (16M) .erasesize = 0x00010000 (64K) .numeraseregions = 0 Creating 10 MTD partitions on "raspi": 0x000000000000-0x000001000000 : "ALL" 0x000000000000-0x000000030000 : "Bootloader" 0x000000030000-0x000000040000 : "Config " 0x000000040000-0x000000050000 : "Factory" 0x000000050000-0x000000060000 : "iNIC_rf" 0x000000060000-0x0000007e0000 : "Kernel" 0x000000800000-0x000000f80000 : "app" 0x000000f90000-0x000000fa0000 : "Key" 0x000000fa0000-0x000000fb0000 : "backup" 0x000000fb0000-0x000001000000 : "storage" The flag for boot partition is stored in "Key" partition, and U-Boot reads this and determines the partition to boot. If the image that U-Boot first reads according to the flag is "Bad Magic Number", U-Boot then tries to boot from the other image. If the second image is correct, change the flag to the number corresponding to that image and boot from that image. (example): ## Booting image at bc800000 ... Bad Magic Number,FFFFFFFF Boot from KERNEL 1 !! ## Booting image at bc060000 ... Image Name: MIPS OpenWrt Linux-4.14.50 Image Type: MIPS Linux kernel Image (lzma compressed) Data Size: 1865917 Bytes = 1.8 MB Load Address: 80001000 Entry Point: 80001000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK raspi_erase_write: offs:f90000, count:34 . . Done! Starting kernel ... Flash instruction using factory image: 1. Connect the computer to the LAN port of WN-AX1167GR 2. Connect power cable to WN-AX1167GR and turn on it 3. Access to "192.168.0.1" on the web browser and open firmware update page ("ファームウェア") 4. Select the OpenWrt factory image and perform firmware update 5. On the initramfs image, execute "mtd erase firmware" to erase stock firmware and execute sysupgrade with sysupgrade image for WN-AX1167GR 6. Wait ~180 seconds to complete flasing Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* ramips: add support for TL-WA801ND v5Romain MARIADASSOU2018-07-046-0/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Specification: - System-On-Chip: MediaTek MT7628NN - CPU/Speed: 580 MHz - Flash-Chip: ELM Technology GD25Q64 - Flash size: 8192 KiB - RAM: 64 MiB - Wireless No1: SoC-integrated: MT7628N 2.4GHz 802.11bgn Currently the only method to install openwrt for the first time is via TFTP recovery. After first install you can use regular updates. Flash instructions: 1) To flash the recovery image, start a TFTP server with IP address 192.168.0.66 and serve the recovery image named tp_recovery.bin. 2) Connect your device to the LAN port, then press the WPS and Reset button and power it up. Keep pressing the WPS/Reset button for 10 seconds or until the lock LED is lighting up. It will try to download the recovery image and flash it. It can take up to 2-3 minutes to finish. When it reaches 100%, the router will reboot itself. Signed-off-by: Romain MARIADASSOU <roms2000@free.fr>
* ramips: add support for ZyXEL Keenetic Extra IIMaxim Anisimov2018-07-046-2/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specification: - System-On-Chip: MT7628N/N - CPU/Speed: 580 MHz - Flash-Chip: Winbond w25q256 - Flash size: 32768 KiB - RAM: 128 MiB - 5x 10/100 Mbps Ethernet - 4x external, non-detachable antennas - UART (J1) header on PCB (57600 8n1) - Wireless No1 (2T2R): SoC-integrated: MT7628N 2.4GHz 802.11bgn - Wireless No2 (2T2R): On-board chip: MT7612EN 5GHz 802.11ac - USB: Yes 1 x 2.0 - 4x LED, 3x button The device supports dual boot mode. So we use only first half of flash. Flash instruction: The only way to flash OpenWrt image is to use tftp recovery mode in U-Boot: 1. Configure PC with static IP 192.168.1.2/24 and tftp server. 2. Rename "openwrt-ramips-mt76x8-zyxel_keenetic-extra-ii-squashfs-factory.bin" to "kextra2_recovery.bin" and place it in tftp server directory. 3. Connect PC with one of LAN ports, press the reset button, power up the router and keep button pressed until power led start blinking. 4. Router will download file from server, write it to flash and reboot. Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
* ramips: move zyimage define to common MakefileMaxim Anisimov2018-07-042-4/+4
| | | | Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
* ramips: add support for MikroTik RouterBOARD RBM11gTobias Schramm2018-07-046-1/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the MikroTik RouterBOARD RBM11g. =Hardware= The RBM11g is a mt7621 based device featuring one GbE port and one miniPCIe slot with a sim card socket and USB 2.0. ==Switch== The single onboard Ethernet port is connected the CPU directly. The internal switch of the mt7621 SoC is disabled. ==Flash== The device has one spi nor flash chip. It is a 128 Mbit winbond 25Q128FVS connected to CS0. ==PCIe== The board features a single miniPCIe slot. It has a dedicated mini SIM socket and a USB 2.0 port. Power to the miniPCIe slot is controlled via GPIO9. ==USB== There are no external USB ports. ==Power== The board can accept both, passive PoE and external power via a 2.1 mm barrel jack (center-positive). The input voltage range is 11-32 V. ==Serial port== The device does have an onboard UART on an unpopulated header next to the flash chip: GND: pin 2 TX: pin 7 RX: pin 6 Settings: 115200, 8N1 See below illustration for positioning of the header. 0 = screw hole * = some pin T = TX pin R = RX pin G = GND pin Pinout: +--------------- |O | __ | / \ | \__/ | | | | +---+ | |RAM| | +--+ | | | |**| <- unpopulated header with UART | |*T| +---+ | |R*| +--------+ | |**| | | | |G*| | CPU | | +--+ | | | +--+ | | | | | +--------+ | +--+ <- flash chip |O | +-----+ | | | |+--+ | | || | | | +--------------------- =Installation= To install an OpenWRT image to the device two components must be built: 1. A openwrt initramfs image 2. A openwrt sysupgrade image ===initramfs & sysupgrade image=== Select target devices "Mikrotik RBM11G" in openwrt menuconfig and build the images. This will create the images "openwrt-ramips-mt7621-mikrotik_rbm11g-initramfs-kernel.bin" and "openwrt-ramips-mt7621-mikrotik_rbm11g-squashfs-sysupgrade.bin" in the output directory. ==Installing== **Make sure to back up your RouterOS license in case you do ever want to go back to RouterOS using "/system license output" and back up the created license file.** When rebooted the board will try booting via ethernet first. If your board does not boot via ethernet automatically you will have to attach to the serial port and set ethernet as boot device within RouterBOOT. 1. Set up a dhcp server that points the bootfile to tftp server serving the "openwrt-ramips-mt7621-mikrotik_rbm11g-initramfs-kernel.bin" initramfs image 2. Connect to ethernet port on board 3. Power on the board 4. Wait for OpenWrt to boot Right now OpenWrt will be running with a SSH server listening. Now OpenWrt must be flashed to the devices flash: 1. Copy "openwrt-ramips-mt7621-mikrotik_rbm11g-squashfs-sysupgrade.bin" to the device using scp. 2. Write openwrt to flash using "sysupgrade openwrt-ramips-mt7621-mikrotik_rbm11g-squashfs-sysupgrade.bin" Once the flashing completes the board will reboot. Disconnect from the devices ethernet port or stop the DHCP/TFTP server to prevent the device from booting via ethernet again. The device should now boot straight to OpenWrt. Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
* ramips: limit dictionary size for lzma compressionFelix Fietkau2018-07-031-1/+1
| | | | | | | | | | | | In some cases, recent builds fail to boot from flash with at least some MT7621 based devices. The error message is: "LZMA ERROR 1 - must RESET board to recover" Booting the same kernel via TFTP works for some reason. Through testing I figured out that limiting the LZMA dictionary size seems to prevent these errors Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: fix wizfi630a swapped lan/wan portLev2018-07-021-1/+1
| | | | | | | The order of the Ethernet ports were mixed up. This commit fixes the order to be aligned with the physical layout. Signed-off-by: Lev <leventelist@gmail.com>
* treewide: gpio-export: add error handlingMathias Kresin2018-06-281-1/+3
| | | | | | | | Check if the GPIO is valid (or set at all). If no GPIO is set in the devicetree, a gpiolib related kernel warning + stacktrace is shown during boot and gpio-export reports GPIOs as exported albeit none really is. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: move mt7620n i2c_pins definition to right placeAndrey Jr. Melnikov2018-06-281-7/+7
| | | | | | | | | | Move to i2c pins pinmux node to the pinctrl node. Fixes: a0685deec458 ("ramips: Add i2c support for mt7620n") Signed-off-by: Andrey Jr. Melnikov <temnota.am@gmail.com> [fix commit message] Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: add switch port index for I-O DATA WN-GX300GRINAGAKI Hiroshi2018-06-271-2/+2
| | | | | | | | | | | WN-GX300GR has 5x RJ45 ports (port 0-4), and these ports are orderd on the device as follows: 4 3 2 1 0 1-4: lan 0: wan Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* ramips: RE350: add rootfs offset to headerAlex Maclean2018-06-261-1/+1
| | | | | | | Have mktplinkfw fill in the rootfs offset so the firmware splitter can find it without aligning to erase blocks. Signed-off-by: Alex Maclean <monkeh@monkeh.net>
* ramips: add support for TP-Link Archer C2Franz Flasch2018-06-256-0/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specification: - System-On-Chip: MT7620A - CPU/Speed: 580 MHz - Flash-Chip: Winbond 25Q64BVSIG - Flash size: 8192 KiB - RAM: 64 MiB - Wireless No1: SoC-integrated: MT7620A 2.4GHz 802.11bgn - Wireless No2: On-board chip: MT7610EN 5GHz 802.11ac - Switch: RTL8367RB Gigabit Switch - USB: Yes 1 x 2.0 Preparing a TFTP recovery image for initial flashing: Currently the only method to install openwrt for the first time is via TFTP download in u-boot. After first install you can use regular updates. WARNING: This method also overwrites the bootloader partition! Create a TFTP recovery image: 1) Download a stock TP-Link Firmware file here: https://www.tp-link.com/en/download/Archer-C2_V1.html#Firmware 2) Extract u-boot from the binary file: #> dd if=c2v1_stock_firmware.bin of=c2v1_uboot.bin bs=1 skip=512 count=131072 3) Now merge the sysupgrade image and the u-boot into one binary: #> cat c2v1_uboot.bin openwrt-squashfs-sysupgrade.bin > ArcherC2V1_tp_recovery.bin The resulting image can be flashed via TFTP recovery mode. Flash instructions: 1) To flash the recovery image, start a TFTP server from IP address 192.168.0.66 and serve the recovery image named ArcherC2V1_tp_recovery.bin. 2) Connect your device to the LAN port, then press the WPS/Reset button and power it up. Keep pressing the WPS/Reset button for 10 seconds. It will try to download the recovery image and flash it. It can take up to 20-25 minutes to finish. When it reaches 100%, the router will reboot itself. Signed-off-by: Serge Vasilugin <vasilugin@yandex.ru> Signed-off-by: Franz Flasch <franz.flasch@gmx.at>
* ramips: fix ZyXEL Keenetic Viva switch configFranz Flasch2018-06-251-1/+1
| | | | | | | | | The rtl8367b driver never supported a mdio property and it is quite likely that the switch never worked for the board. Use the mii-bus property instead to manage the switch via a mdio bus. Signed-off-by: Franz Flasch <franz.flasch@gmx.at>
* ramips: Add support for Phicomm K2GChuanhong Guo2018-06-215-1/+155
| | | | | | | | | | | | | | | | | | | | | | Specification: - SoC: MediaTek MT7620A - Flash: 8 MB - RAM: 64 MB - Ethernet: 4 FE ports and 1 GE port (RTL8211F on port 5) - Wireless radio: MT7620 for 2.4G and MT7612E for 5G, both equipped with external PA. - UART: 1 x UART on PCB - 57600 8N1 Flash instruction: The U-boot is based on Ralink SDK so we can flash the firmware using UART: 1. Configure PC with a static IP address and setup an TFTP server. 2. Put the firmware into the tftp directory. 3. Connect the UART line as described on the PCB. 4. Power up the device and press 2, follow the instruction to set device and tftp server IP address and input the firmware file name. U-boot will then load the firmware and write it into the flash. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: Add support for Mikrotik RouterBOARD RBM33gTobias Schramm2018-06-217-1/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the Mikrotik RouterBOARD RBM33g. =Hardware= The RBM33g is a mt7621 based device featuring three gigabit ports, 2 miniPCIe slots with sim card sockets, 1 M.2 slot, 1 USB 3.0 port and a male onboard RS-232 serial port. Additionally there are a lot of accessible GPIO ports and additional buses like i2c, mdio, spi and uart. ==Switch== The three Ethernet ports are all connected to the internal switch of the mt7621 SoC: port 0: Ethernet Port next to barrel jack with PoE printed on it port 1: Innermost Ethernet Port on opposite side of RS-232 port port 2: Outermost Ethernet Port on opposite side of RS-232 port port 6: CPU ==Flash== The device has two spi flash chips. The first flash chips is rather small (512 kB), connected to CS0 by default and contains only the RouterBOOT bootloader and some factory information (e.g. mac address). The second chip has a size of 16 MB, is by default connected to CS1 and contains the firmware image. ==PCIe== The board features three PCIe-enabled slots. Two of them are miniPCIe slots (PCIe0, PCIe1) and one is a M.2 (Key M) slot (PCIe2). Each of the miniPCIe slots is connected to a dedicated mini SIM socket on the back of the board. Power to all three PCIe-enabled slots is controlled via GPIOs on the mt7621 SoC: PCIe0: GPIO9 PCIe1: GPIO10 PCIe2: GPIO11 ==USB== The board has one external USB 3.0 port at the rear. Additionally PCIe port 0 has a permanently enabled USB interface. PCIe slot 1 shares its USB interface with the rear USB port. Thus only either the rear USB port or the USB interface of PCIe slot 1 can be active at the same time. The jumper next to the rear USB port controls which one is active: open: USB on PCIe 1 is active closed: USB on rear USB port is active ==Power== The board can accept both, passive PoE and external power via a 2.1 mm barrel jack. The input voltage range is 11-32 V. =Installation= ==Prerequisites== A USB -> RS-232 Adapter and a null modem cable are required for installation. To install an OpenWRT image to the device two components must be built: 1. A openwrt initramfs image 2. A openwrt sysupgrade image ===initramfs & sysupgrade image=== Select target devices "Mikrotik RBM33G" in openwrt menuconfig and build the images. This will create the images "openwrt-ramips-mt7621-mikrotik_rbm33g-initramfs-kernel.bin" and "openwrt-ramips-mt7621-mikrotik_rbm33g-squashfs-sysupgrade.bin" in the output directory. ==Installing== **Make sure to back up your RouterOS license in case you do ever want to go back to RouterOS using "/system license output" and back up the created license file.** Serial settings: 115200 8N1 The installation is a two-step process. First the "openwrt-ramips-mt7621-mikrotik_rbm33g-initramfs-kernel.bin" must be booted via tftp: 1. Set up a dhcp server that points the bootfile to tftp server serving the "openwrt-ramips-mt7621-mikrotik_rbm33g-initramfs-kernel.bin" initramfs image 2. Connect to WAN port (left side, next to sys-LED and power indicator) 3. Connect to serial port of board 4. Power on board and enter RouterBOOT setup menu 5. Set boot device to "boot over ethernet" 6. Set boot protocol to "dhcp protocol" (can be omitted if DHCP server allows dynamic bootp) 6. Save config 7. Wait for board to boot via Ethernet On the serial port you should now be presented with the OpenWRT boot log. The next steps will install OpenWRT persistently. 1. Copy "openwrt-ramips-mt7621-mikrotik_rbm33g-squashfs-sysupgrade.bin" to the device using scp. 2. Write openwrt to flash using "sysupgrade openwrt-ramips-mt7621-mikrotik_rbm33g-squashfs-sysupgrade.bin" Once the flashing completes reboot the router and let it boot from flash. It should boot straight to OpenWRT. Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
* ramips: Add lzma-loader targetsTobias Schramm2018-06-211-0/+16
| | | | Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
* ramips: Add support for mt7621 to lzma-loaderTobias Schramm2018-06-215-18/+60
| | | | Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
* ramips: fix Newifi D1 mtd partitionDeng Qingfang2018-06-211-1/+1
| | | | | | Newifi D1 has 32 MiB flash, so the firmware partition size should be 0x1fb0000 Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: add support for ELECOM WRC-1167GHBK2-SINAGAKI Hiroshi2018-06-196-4/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ELECOM WRC-1167GHBK2-S is a 2.4/5 GHz band 11ac router, based on MediaTek MT7621A. Specification: - MT7621A (2-Cores, 4-Threads) - 128 MB of RAM (DDR3) - 16 MB of Flash (SPI) - 2T2R 2.4/5 GHz - MediaTek MT7615D - 5x 10/100/1000 Mbps Ethernet - 6x LEDs, 2x keys - UART header on PCB - Vcc, GND, TX, RX from ethernet port side - baudrate: 57600 bps Flash instruction using factory image: 1. Rename the factory image to "wrc-1167ghbk2-s_v0.00.bin" 2. Connect the computer to the LAN port of WRC-1167GHBK2-S 3. Connect power cable to WRC-1167GHBK2-S and turn on it 4. Access to "http://192.168.2.1/details.html" and open firmware update page ("手動更新(アップデート)") 5. Select the factory image and click apply ("適用") button 6. Wait ~150 seconds to complete flashing Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* ramips: mt7621: fix wireless package selectionMathias Kresin2018-06-191-5/+4
| | | | | | | Add wpad-mini if wireless drivers are included. Drop the mt76 package if both of the provided drivers are included with their own packages. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: improve ethernet driver performance with GRO/TSOFelix Fietkau2018-06-193-76/+105
| | | | | | | | | | | GRO stores packets as fraglist. If they are routed back to the ethernet device, they need to be re-segmented if the driver does not support sending fraglists. Add the missing support for that, along with a missing feature flag that allows full routed GRO->TSO offload. Considerably reduces CPU utilization for routing Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: bump 4.14 to 4.14.49Koen Vandeputte2018-06-182-2/+2
| | | | | | | | | Refreshed all patches Compile-tested on: cns3xxx, imx6, x86-64 Runtime-tested on: cns3xxx, imx6, x86-64 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ramips: add support for TP-Link TL-WR842N v5Maxim Anisimov2018-06-166-1/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link TL-WR842N v5 are simple N300 router with 5-port FE switch and non-detachable antennas. Its very similar to TP-Link TL-MR3420 V5. Specification: - MT7628N/N (580 MHz) - 64 MB of RAM (DDR2) - 8 MB of FLASH - 2T2R 2.4 GHz - 5x 10/100 Mbps Ethernet - 2x external, non-detachable antennas - USB 2.0 Port - UART (J1) header on PCB (115200 8n1) - 7x LED, 2x button, power input switch Flash instruction: The only way to flash OpenWrt image in wr842nv5 is to use tftp recovery mode in U-Boot: 1. Configure PC with static IP 192.168.0.225/24 and tftp server. 2. Rename "lede-ramips-mt7628-tplink_tl-wr842n-v5-squashfs-tftp-recovery.bin" to "tp_recovery.bin" and place it in tftp server directory. 3. Connect PC with one of LAN ports, press the reset button, power up the router and keep button pressed for around 6-7 seconds, until device starts downloading the file. 4. Router will download file from server, write it to flash and reboot. Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
* ramips: use phytpt trigger for mt76 wirelessDavid Bauer2018-06-161-4/+4
| | | | | | | | | | | | | With this change, the LED trigger is independent from the (wireless) netdev name. The (wireless) netdev name can be easiliy changed in OpenWrt and would require an update of the netdev trigger settings each time it is done. This change is (for now) applied only to MT7628 devices from TP-Link, as we only had the possibility to test this change against two of those devices, namely a TL-WR841 v13 and a Archer C50 v3. Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: fix mt7688 watchdog register base addrlbzhung2018-06-161-2/+2
| | | | | | | | | | | | | I found mt7688 watchdog not working. The watchdog registers are identical for mt7621 and mt7628/mt7688. The first watchdog related register is at 0x10000100, the last one - a 16bit sized - at 0x10000128. Set the correct register address and size in the dtsi file to get the watchdog working. Signed-off-by: lbzhung <gewalalb@gmail.com> [add commit message] Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: mt7621: fix mtu setting with kernel 4.14Mathias Kresin2018-06-161-11/+7
| | | | | | | | | | Since kernel 4.10 commit 61e84623ace3 ("net: centralize net_device min/max MTU checking"), the range of mtu is [min_mtu, max_mtu], which is [68, 1500] by default. It's necessary to set a max_mtu if a mtu > 1500 is supported. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: rename ethernet driver folder to the same one that upstream usesFelix Fietkau2018-06-1327-41/+0
| | | | | | | Preparation for sharing offload code with the mediatek target through generic files/ Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: fix network config for ravpower wd03Matthias Badaire2018-06-091-1/+1
| | | | | | | | This device has only one ethernet port. Signed-off-by: Matthias Badaire <mbadaire@gmail.com> [add the existing eth0 as lan block, shorten commit message] Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: add support for I-O DATA WN-GX300GRINAGAKI Hiroshi2018-06-086-0/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I-O DATA WN-GX300GR is a 2.4 GHz band 11n router, based on MediaTek MT7621S. Specification: - MT7621S (1-Core, 2-Threads) - 64 MB of RAM - 8 MB of Flash (SPI) - 2T2R 2.4 GHz - 5x 10/100/1000 Mbps Ethernet - 2x LEDs, 4x keys (2x buttons, 1x slide switch) - UART header on PCB - Vcc, GND, TX, RX from ethernet port side - baudrate: 115200 bps (U-Boot, OpenWrt) Flash instruction using initramfs image: 1. Connect serial cable to UART header 2. Rename OpenWrt initramfs image for WN-GX300GR to "uImageWN-GX300GR" and place it in the TFTP directory 3. Set the IP address of the computer to 192.168.99.8, connect to the LAN port of WN-GX300GR, and start the TFTP server on the computer 4. Connect power cable to WN-GX300GR and turn on the router 5. Press "1" key on the serial console to interrupt boot process on U-Boot, press Enter key 3 times and start firmware download via TFTP 6. WN-GX300GR downloads initramfs image and boot with it 7. On the initramfs image, execute "mtd erase firmware" to erase stock firmware and execute sysupgrade with sysupgrade image for WN-GX300GR 8. Wait ~150 seconds to complete flasing Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* ramips: mt7621: Fix some cosmetic DTC warningsRosen Penev2018-06-081-9/+10
| | | | | | | | | | | | | | | | Node /cpus/cpu@0 has a unit name, but no reg property Node /cpus/cpu@1 has a unit name, but no reg property Node /cpuintc@0 has a unit name, but no reg property Node /cpuclock@0 has a unit name, but no reg property Node /sysclock@0 has a unit name, but no reg property Node /pcie@1e140000/pcie0 missing ranges for PCI bridge (or not a bridge) Node /pcie@1e140000/pcie0 missing bus-range for PCI bridge Node /pcie@1e140000/pcie1 missing ranges for PCI bridge (or not a bridge) Node /pcie@1e140000/pcie1 missing bus-range for PCI bridge Node /pcie@1e140000/pcie2 missing ranges for PCI bridge (or not a bridge) Node /pcie@1e140000/pcie2 missing bus-range for PCI bridge Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ramips: mmc: Add back some non-mt7621 code that staging removedRosen Penev2018-06-081-1/+17
| | | | | | | | | | This reverts commit 8a570921b5ba49a2d3824f1220e4c53809063468. This seems to have been accidentally reverted. This fixes mt7620 and mt7628. Signed-off-by: Rosen Penev <rosenp@gmail.com> Acked-by: Daniel Golle <daniel@makrotopia.org>
* ramips: mir3g dts define usb port Vcc volt regulator GPIOKevin Darbyshire-Bryant2018-06-082-9/+14
| | | | | | | | | | | | | | | Define USB port power on/off GPO as voltage regulator type instead of exposing as a normal GPIO. The GPO is now controlled by the USB driver via the voltage regulator definition. The regulator is of fixed output type (5V for USB) hence the GPO switches power on/off to USB pin 1 (Vcc) USB port power is enabled on driver load and disabled on driver unload. Enable kernel support for fixed voltage regulator types on mt7621. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>