aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
...
* kernel: gen_stats: Fix netlink stats dumping in the presence of paddingKevin Darbyshire-Bryant2018-07-132-0/+98
| | | | | | | | | | | | | | | | | | | | | | | | | Backport hot off the press upstream netlink patch. Fixes stats display from CAKE qdisc on MIPS allowing us to bump CAKE to latest version. The gen_stats facility will add a header for the toplevel nlattr of type TCA_STATS2 that contains all stats added by qdisc callbacks. A reference to this header is stored in the gnet_dump struct, and when all the per-qdisc callbacks have finished adding their stats, the length of the containing header will be adjusted to the right value. However, on architectures that need padding (i.e., that don't set CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS), the padding nlattr is added before the stats, which means that the stored pointer will point to the padding, and so when the header is fixed up, the result is just a very big padding nlattr. Because most qdiscs also supply the legacy TCA_STATS struct, this problem has been mostly invisible, but we exposed it with the netlink attribute-based statistics in CAKE. Fix the issue by fixing up the stored pointer if it points to a padding nlattr. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> (cherry picked from commit 3698b34a00d623f87a41179e656b8e89d0bb7267)
* ramips: clean up and fix MT7621 NAND driver issuesFelix Fietkau2018-07-131-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>
* ramips: ethernet: use own page_frag_cacheFelix Fietkau2018-07-132-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-131-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: bump 4.14 to 4.14.54 for 18.06Koen Vandeputte2018-07-1227-283/+283
| | | | | | | | | | | | Refreshed 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>
* kernel: bump 4.9 to 4.9.111 for 18.06Koen Vandeputte2018-07-125-167/+189
| | | | | | | | | Refreshed all patches Compile-tested on: ar71xx Runtime-tested on: ar71xx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bcm47xxpart: fix getting user-space data partition nameRafał Miłecki2018-07-102-2/+4
| | | | | | | | | | | | Partition name is picked by a parser_trx_data_part_name(). It has to get correct partition offset (taking care of bad blocks) to work properly. This fixes UBI support for devices that have kernel flashed on partition with a bad block. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 7ddba08d873a0ce6d2d32b8f6a1bea550107ca44)
* ipq806x: fix numbering for Netgear R7800 LAN portsAleksandr V. Piskunov2018-07-041-5/+5
| | | | | | | | | | Netgear R7800 switch LAN ports are numbered backwards in LuCI, i.e. numbering is not corresponding to the actual physical port labels, patch fixes that. Signed-off-by: Aleksandr V. Piskunov <aleksandr.v.piskunov@gmail.com> [merged with existing board using the same config] Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* lantiq: backport stp-xway get callback implementationMathias Kresin2018-07-032-0/+94
| | | | | | | | | | | To keep the status of a LED connected to the stp during boot, the get callback is required. If the callback is missing and the LED default state is set to keep in the devicetree, the gpio led driver errors out during load. Fixes: FS#1620 Signed-off-by: Mathias Kresin <dev@kresin.me>
* 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>
* kernel: bump 4.14 to 4.14.52 for 18.06Stijn Segers2018-07-02146-1692/+910
| | | | | | | Compile-tested on: ramips/mt7621, x86/64. Run-tested on: ramips/mt7621. Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* kernel: bump 4.9 to 4.9.110 for 18.06Stijn Segers2018-07-025-199/+177
| | | | | | Compile-tested on ar71xx. Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* ramips: move mt7620n i2c_pins definition to right placeAndrey Jr. Melnikov2018-06-271-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>
* ipq806x: remove "firmware" partition definition from netgear routersHannu Nyman2018-06-274-20/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the "firmware" partition definition from the DTS of R7800 to fix sysupgrade. Commit 4645a6d3 defined CONFIG_MTD_SPLIT_UIMAGE_FW=y for ipq806x and that causes mtd to misbehave as additional kernel and ubi partitions are detected from inside the "firmware" partition. [ 1.111324] 0x000001480000-0x000001880000 : "kernel" [ 1.121005] 0x000001880000-0x000007900000 : "ubi" [ 1.283912] 0x000007900000-0x000008000000 : "reserve" [ 1.296407] 0x000001480000-0x000007900000 : "firmware" [ 1.468043] no rootfs found after FIT image in "firmware" [ 2.426860] 2 uimage-fw partitions found on MTD device firmware [ 2.426931] 0x000001480000-0x000001880000 : "kernel" [ 2.440420] 0x000001880000-0x000007900000 : "ubi" Both kernel and ubi are already defined in DTS, so this duplication leads into errors in sysupgrade: Writing from <stdin> to kernel ... ubiattach: error!: strtoul: unable to parse the number '6 mtd10' ubiattach: error!: bad MTD device number: "6 mtd10" The partition is defined to same area as kernel+ubi, and is not needed for sysupgrade anymore. Remove it to fix things. Only tested for the R7800 but all of them should behave equal. Fixes: FS#1617 Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi> [squashed commits, add "tested on" note] Signed-off-by: Mathias Kresin <dev@kresin.me>
* ipq806x: Enlarge R7800 flash - use netgear partitionHannu Nyman2018-06-271-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Increase the available flash memory size in Netgear R7800 by taking into the use the unused "netgear" partition that is located after the firmware partition. Available flash space for kernel+rootfs+overlay increases by 68 MB from 32 MB to 100 MB. In a typical build, overlay space increases from 15 to 85, increasing the package installation possibilities greatly. Reverting to the OEM firmware is still possible, as the OEM firmware contains logic to initialise the "netgear" partition if its contents do not match expectations. In OEM firmware, "netgear" contains 6 UBI sub-partitions that are defined in /etc/netgear.cfg and initialisation is done by /etc/preinit Tested with Openwrt master r7093-4fdc6ca31b and OEM V1.0.2.52 Reference to forum discussion in Netgear R7800 exploration thread: https://forum.lede-project.org/t/netgear-r7800-exploration-ipq8065-qca9984/285/1118 (messages 1118-1158) Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* 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>
* ar71xx: Add support for TP-Link CPE210 v2Adrian Schmutzler2018-06-236-11/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR adds support for a popular low-cost 2.4GHz N based AP Specifications: - SoC: Qualcomm Atheros QCA9533 (650MHz) - RAM: 64MB - Storage: 8 MB SPI NOR - Wireless: 2.4GHz N based built into SoC 2x2 - Ethernet: 1x 100/10 Mbps, integrated into SoC, 24V POE IN Installation: Flash factory image through stock firmware WEB UI or through TFTP To get to TFTP recovery just hold reset button while powering on for around 4-5 seconds and release. Rename factory image to recovery.bin Stock TFTP server IP:192.168.0.100 Stock device TFTP adress:192.168.0.254 Notes: TP-Link does not use bootstrap registers so without this patch reference clock detects as 40MHz while it is actually 25MHz. This is due to messed up bootstrap resistor configuration on the PCB. Provided GPL code just forces 25MHz reference clock. That causes booting with completely wrong clocks, for example, CPU tries to boot at 1040MHz while the stock is 650MHz. So this PR depends on PR #672 to remove 40MHz reference clock. Thanks to Sven Eckelmann <sven@narfation.org> for properly patching that. Signed-off-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit 5c5bf8b8658a588423f6ec445d7ef6a36f99a396)
* ar71xx: Add TP-Link Pharos v2 board detectionAdrian Schmutzler2018-06-232-14/+33
| | | | | | | | | | | Add support for detecting TP-Link Pharos v2 boards. They use different format in product-info partition than v1 boards. Code was written mostly by Alexander Couzens <lynxis@fe80.eu> Signed-off-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit 2524febf7927a1bf430d64b7790feb126023e3d1)
* bcm53xx: fix NAND partitions on D-Link DIR-885LRafał Miłecki2018-06-231-0/+39
| | | | | | | | | | | This fixes missing rootfs on above device: [ 2.652292] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6 (...) [ 2.687909] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) Fixes: 05cb6aa69f66 ("bcm53xx: replace linux,part-probe with a proper partitions subnode") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit e53d0da775082ee5d1d18949b00850590cf81650)
* kernel: cleanup offload hooks on netdev unregisterChen Minqiang2018-06-221-0/+96
| | | | | Signed-off-by: Chen Minqiang <ptpt52@gmail.com> (cherry picked from commit e317bb06fdfb46cf0c6496e3db4eb020ea28b656)
* kernel: backport fix for missing tunnel encapsulation limit optionHans Dedecker2018-06-212-0/+81
| | | | Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* lantiq: fix arcadyan vg3503j switch port indexingMathias Kresin2018-06-211-1/+1
| | | | | | | Both version of the vg3503j have the LAN1 labelled port connected to switch port 4 and the LAN2 labelled port connected to switch port 2. Signed-off-by: Mathias Kresin <dev@kresin.me>
* 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>
* ar71xx: add support for TP-LINK Archer C7 v5Arvid E. Picciani2018-06-219-1/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link Archer C7 v5 is a dual-band AC1750 router, based on Qualcomm/Atheros QCA9563+QCA9880. Specification: - 750/400/250 MHz (CPU/DDR/AHB - 128 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - 3T3R 2.4 GHz - 3T3R 5 GHz - 5x 10/100/1000 Mbps Ethernet - 10x LED, 2x button - UART header on PCB Flash instruction: 1. Upload lede-ar71xx-generic-archer-c7-v5-squashfs-factory.bin via Web interface Flash instruction using TFTP recovery: 1. Set PC to fixed ip address 192.168.0.66 2. Download lede-ar71xx-generic-archer-c7-v5-squashfs-factory.bin and rename it to ArcherC7v5_tp_recovery.bin 3. Start a tftp server with the file tp_recovery.bin in its root directory 4. Turn off the router 5. Press and hold Reset button 6. Turn on router with the reset button pressed and wait ~15 seconds 7. Release the reset button and after a short time the firmware should be transferred from the tftp server 8. Wait ~30 second to complete recovery. Signed-off-by: Arvid E. Picciani <aep@exys.org> (cherry picked from commit bf39d5594b3c8f9409e6d9408a1f370c9f18d0dd)
* ar71xx: add support for Fritz!WLAN Repeater 450EDavid Bauer2018-06-2113-1/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the AVM Fritz!WLAN Repeater 450E SOC: Qualcomm QCA9556 (Scorpion) 560MHz MIPS74Kc RAM: 64MB Zentel A3R12E40CBF DDR2 FLASH: 16MiB Winbond W25Q128 SPI NOR WLAN1: QCA9556 2.4 GHz 802.11b/g/n 3x3 INPUT: WPS button LED: Power, WiFi, LAN, RSSI indicator Serial: Header Next to Black metal shield Pinout is 3.3V - RX - TX - GND (Square Pad is 3.3V) The Serial setting is 115200-8-N-1. Tested and working: - Ethernet - 2.4GHz WiFi (correct MAC) - Installation via EVA bootloader - OpenWRT sysupgrade - Buttons - Most LEDs Not working: - 2 RSSI LEDs AVM used for RSSI{0,1} two of the Ethernet PHYs LEDs which they control over MDIO. Our driver doesn't expose these LEDs as GPIOs. While it is possible to implement this feature, it would require an additional kernel patch for a minor functionality. Installation via EVA: In the first seconds after Power is connected, the bootloader will listen for FTP connections on 192.168.178.1. Firmware can be uploaded like following: ftp> quote USER adam2 ftp> quote PASS adam2 ftp> binary ftp> debug ftp> passive ftp> quote MEDIA FLSH ftp> put openwrt-sysupgrade.bin mtd1 Note that this procedure might take up to two minutes. You need to powercycle the Device afterwards to boot OpenWRT. Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit b4bf43c66767648f98494dd5f44e1301024b577c)
* ipq40xx: add support for ZyXEL WRE6606Magnus Frühling2018-06-217-2/+300
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: SOC: Qualcomm IPQ4018 (DAKOTA) ARM Quad-Core RAM: 128 MB Nanya NT5CC64M16GP-DI FLASH: 16 MiB Macronix MX25L12845EMI-12G ETH: Qualcomm QCA8072 WLAN1: Qualcomm Atheros QCA4018 2.4GHz 802.11b/g/n 2x2 WLAN2: Qualcomm Atheros QCA4018 5GHz 802.11n/ac W2 2x2 INPUT: WPS, Mode-toggle-switch LED: Power, WLAN 2.4GHz, WLAN 5GHz, LAN, WPS (LAN not controllable by software) (WLAN each green / red) SERIAL: Header next to eth-phy. VCC, TX, GND, RX (Square hole is VCC) The Serial setting is 115200-8-N-1. Tested and working: - Ethernet (Correct MAC-address) - 2.4 GHz WiFi (Correct MAC-address) - 5 GHz WiFi (Correct MAC-address) - Factory installation from tftp - OpenWRT sysupgrade - LEDs - WPS Button Not Working: - Mode-toggle-switch Install via TFTP: Connect to the devices serial. Hit Enter-Key in bootloader to stop autobooting. Command `tftpboot` will pull an initramfs image named `C0A86302.img` from a tftp server at `192.168.99.08/24`. After successfull transfer, boot the image with `bootm`. To persistently write the firmware, flash an openwrt sysupgrade image from inside the initramfs, for example transfer via `scp <sysupgrade> root@192.168.1.1:/tmp` and flash on the device with `sysupgrade -n /tmp/<sysupgrade>`. append-cmdline patch taken from chunkeeys work on the NBG6617. Signed-off-by: Magnus Frühling <skorpy@frankfurt.ccc.de> Co-authored-by: David Bauer <mail@david-bauer.net> Co-authored-by: Christian Lamparter <chunkeey@googlemail.com> (cherry picked from commit 4b280ad91a6b155ac71c417aaa7bb5f4e328712f)
* ar71xx: add support for OCEDO KoalaDavid Bauer2018-06-2113-0/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the OCEDO Koala SOC: Qualcomm QCA9558 (Scorpion) RAM: 128MB FLASH: 16MiB WLAN1: QCA9558 2.4 GHz 802.11bgn 3x3 WLAN2: QCA9880 5 GHz 802.11nac 3x3 INPUT: RESET button LED: Power, LAN, WiFi 2.4, WiFi 5, SYS Serial: Header Next to Black metal shield Pinout is 3.3V - GND - TX - RX (Arrow Pad is 3.3V) The Serial setting is 115200-8-N-1. Tested and working: - Ethernet - 2.4 GHz WiFi - 5 GHz WiFi - TFTP boot from ramdisk image - Installation via ramdisk image - OpenWRT sysupgrade - Buttons - LEDs Installation seems to be possible only through booting an OpenWRT ramdisk image. Hold down the reset button while powering on the device. It will load a ramdisk image named 'koala-uImage-initramfs-lzma.bin' from 192.168.100.8. Note: depending on the present software, the device might also try to pull a file called 'koala-uimage-factory'. Only the name differs, it is still used as a ramdisk image. Wait for the ramdisk image to boot. OpenWRT can be written to the flash via sysupgrade or mtd. Due to the flip-flop bootloader which we not (yet) support, you need to set the partition the bootloader is selecting. It is possible from the initramfs image with > fw_setenv bootcmd run bootcmd_1 Afterwards you can reboot the device. Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit e36f8b3f3980903d5cefc51fe274c19c7a0719f2)
* ar71xx: fix incorrect speed setting on QCA9556David Bauer2018-06-211-3/+17
| | | | | | | | | | The QCA9556 only has a SGMII interface. However the speed on the ethernet link is set for the non-existant xMII interface. This commit fixes this behavior. Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit abb4ab076f37961a4dcaef4e87167b834f84e44e)
* 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: add support for I-O DATA WN-GX300GRINAGAKI Hiroshi2018-06-196-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>
* ipq806x: add support for NEC Aterm WG2600HPINAGAKI Hiroshi2018-06-199-7/+484
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NEC Aterm WG2600HP is a 2.4/5 GHz band 11ac router, based on Qualcomm IPQ8064. Specification: - IPQ8064 (384 - 1,400 MHz) - 512 MB of RAM - 32 MB of Flash (SPI) - 4T4R 2.4/5 GHz - 5x 10/100/1000 Mbps Ethernet - 12x LEDs, 4x keys - 1x USB 3.0 Type-A - UART header on PCB - RX, TX, NC, GND, Vcc from power connector side - baudrate: 115200 bps Flash instruction using initramfs image: 1. Connect serial cable to UART header 2. Connect power cable and turn on the router 3. When the "Press the [f] key and hit [enter] to enter failsafe mode" message is displayed on the console, press the "f" key and Enter key sequentially to enter the failsafe mode 4. create fw_env.config file with following contents on failsafe mode: /dev/mtd9 0x0 0x10000 0x10000 5. Execute following commands to add and change the environment variables of U-Boot fw_setenv ipaddr "192.168.0.1" fw_setenv serverip "192.168.0.2" fw_setenv autostart "yes" fw_setenv bootcmd "tftpboot 0x44000000 wg2600hp-initramfs.bin; bootipq" 6. Set the IP address of the computer to 192.168.0.2, connect to the LAN port of WG2600HP, and start the TFTP server on the computer 7. Rename OpenWrt initramfs image for WG2600HP to "wg2600hp-initramfs.bin" and place it in the TFTP directory 8. Remove power cable from WG2600HP, reconnect it and restart WG2600HP 9. WG2600HP downloads initramfs image from TFTP server on the computer, loads it and boot with initramfs image 10. On the initramfs image, execute "mtd erase firmware" to erase stock firmware and execute sysupgrade with the sysupgrade image 11. Wait ~180 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>
* mvebu: reduce speed to gen1 for espressobin pcieTomasz Maciej Nowak2018-06-192-0/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the beginning there's been an issue with initializing the Atheros based MiniPCIe wireless cards. Here's an example of kerenel log: OF: PCI: host bridge /soc/pcie@d0070000 ranges: OF: PCI: MEM 0xe8000000..0xe8ffffff -> 0xe8000000 OF: PCI: IO 0xe9000000..0xe900ffff -> 0xe9000000 advk-pcie d0070000.pcie: link up advk-pcie d0070000.pcie: PCI host bridge to bus 0000:00 pci_bus 0000:00: root bus resource [bus 00-ff] pci_bus 0000:00: root bus resource [mem0xe8000000-0xe8ffffff] pci_bus 0000:00: root bus resource [io 0x0000-0xffff](bus address[0xe9000000-0xe900ffff]) pci 0000:00:00.0: BAR 0: assigned [mem0xe8000000-0xe801ffff 64bit] pci 0000:00:00.0: BAR 6: assigned [mem0xe8020000-0xe802ffff pref] [...] advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x3c advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x44 advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x4 ath9k 0000:00:00.0: enabling device (0000 -> 0002) advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x3c advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0xc advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x4 advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x40 ath9k 0000:00:00.0: request_irq failed advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x4 ath9k: probe of 0000:00:00.0 failed with error -22 The same happens for ath5k cards, while ath10k card didn't appear at all (not detected): OF: PCI: host bridge /soc/pcie@d0070000 ranges: OF: PCI: MEM 0xe8000000..0xe8ffffff -> 0xe8000000 OF: PCI: IO 0xe9000000..0xe900ffff -> 0xe9000000 advk-pcie d0070000.pcie: link never came up advk-pcie d0070000.pcie: PCI host bridge to bus 0000:00 pci_bus 0000:00: root bus resource [bus 00-ff] pci_bus 0000:00: root bus resource [mem0xe8000000-0xe8ffffff] pci_bus 0000:00: root bus resource [io 0x0000-0xffff](bus address[0xe9000000-0xe900ffff]) advk-pcie d0070000.pcie: config read/write timed out Following the issue on esppressobin.net forum [1] the workaround seems to be limiting the speed of PCIe bridge to 1st generation. This fixed the initialisation of all tested Atheros wireless cards. The change shouldn't affect the performance for wireless cards, it could reduce the performance of storage controller cards but since OpenWrt focuses on wireless connectivity, fixing compatibility with wireless cards should be a priority. For the record, the iwlwifi and mt76 cards were not affected by this issue. 1. http://espressobin.net/forums/topic/which-pcie-wlan-cards-are-supported Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl> (cherry picked from commit 772258044b48036699302840abf96cd34c4e5078)
* mvebu: add fix for armada 37xx cpufreq driverTomasz Maciej Nowak2018-06-191-0/+35
| | | | | | | Backport from stable kernel tree fixing clock leak. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl> (cherry picked from commit 4ec8c8c23ed50dbe9cabbfc544ae2780f0287fd0)
* kernel: atm: pppoatm fix vc-mux connection failuresKevin Darbyshire-Bryant2018-06-181-0/+172
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport a hot off the press upstream kernel ATM fix: Preserve value of skb->truesize when accounting to vcc "There's a hack in pskb_expand_head() to avoid adjusting skb->truesize for certain skbs. Ideally it would cover ATM too. It doesn't. Just stashing the accounted value and using it in atm_raw_pop() is probably the easiest way to cope." The issue was exposed by upstream with: commit 14afee4b6092fde451ee17604e5f5c89da33e71e Author: Reshetova, Elena <elena.reshetova@intel.com> Date: Fri Jun 30 13:08:00 2017 +0300 net: convert sock.sk_wmem_alloc from atomic_t to refcount_t But an earlier commit left the ticking timebomb: 158f323b9868 ("net: adjust skb->truesize in pskb_expand_head() Sincerest thanks to Mathias Kresin <dev@kresin.me> for debugging assistance and to David Woodhouse <dwmw2@infradead.org> for further guidance, cajoling & patience in interpreting the debug I was giving him and producing a fix! Fixes FS#1567 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> (cherry picked from commit d600de3ddde269bf0b324735f8f12278f82d9b37)
* mips: fix dynamic ftraceVincent Wiemann2018-06-181-3/+8
| | | | | | | | | | | The kernel patch *-mips_module_reloc.patch breaks dynamic ftrace as dynamic ftrace depends on -mlong-calls. See http://patchwork.linux-mips.org/patch/675/ Thus we always set -mlong-calls if the kernel is being compiled with dynamic ftrace support. Signed-off-by: Vincent Wiemann <webmaster@codefetch.de> (cherry picked from commit 076d2ea6829855ee14ebd65230146eb27ee16750)
* ar71xx: add kmod-usb-ehci to fix USB on RB hAP ACThomas Nixon2018-06-181-1/+1
| | | | | Signed-off-by: Thomas Nixon <tom@tomn.co.uk> (cherry picked from commit bb71a3f27efb4140c47e98b933bdb64384cbcbbf)
* ipq40xx: essedma: fixup ip alignChen Minqiang2018-06-181-0/+26
| | | | | | | | | This fixup ip align in essedma driver rx path see cat /proc/cpu/alignment which reports alignment-fixups without this fix. Signed-off-by: Chen Minqiang <ptpt52@gmail.com> (cherry picked from commit 8f804f42d52e49191429ad1d716e7adb3cd10ceb)
* ipq806x: D7800 only has a single sata portJohn Crispin2018-06-181-0/+1
| | | | | Signed-off-by: John Crispin <john@phrozen.org> (cherry picked from commit ee1dbffeed442b4968af48b2492ad41ac988dab8)
* mvebu: backport ahci_mvebu errata patchsetJeremiah McConnell2018-06-182-0/+334
| | | | | | | | | | | | | Marvell ahci hardware requires a workaround to prevent eSATA failures on hotplug/reset when used with multi-bay external enclosures. Errata Ref#226 - SATA Disk HOT swap issue when connected through Port Multiplier in FIS-based Switching mode. These patches backport the workaround from 4.17. Signed-off-by: Jeremiah McConnell <miah@miah.com> (cherry picked from commit e820455198aa50cc32f9a108a4696f0cc23023c3)
* mediatek: mt7622: Do not deactivate CONFIG_BLK_DEVHauke Mehrtens2018-06-181-1/+0
| | | | | | | | | | | zram.ko needs CONFIG_BLK_DEV activated and it is by default for all other targets in OpenWrt. This makes zram.ko compile again. Compile tested only. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 6745af9a0de28171b45c0e8584e393bd80f0a377)
* mediatek: mt7622: Do not set CPU_SUBTYPE for Cortex A53Hauke Mehrtens2018-06-181-1/+0
| | | | | | | | | | | | | Neon and vfpv4 are mandatory extensions in the ARM64 instruction set now, do not activate them explicitly. GCC will make use of these extension now by default. This makes it possible to share the toolchain with other Cortex A53 SoCs. Compile tested only. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 10ce015c652b1e48c1c113604e26481626fa6059)
* mvebu: enable SATA port multiplier supportJeremiah McConnell2018-06-181-0/+1
| | | | | | | | | | | Some of the Marvell targets have functional SATA port multiplier support, which is required for multi-bay eSATA enclosures. Enable kernel support by setting CONFIG_SATA_PMP. Closes: FS#1232 and FS#547 Signed-off-by: Jeremiah McConnell <miah@miah.com> (cherry picked from commit 390c4df2c0b2e7b31c52eca3dcba139b0d745a97)
* ar71xx: Fix offset to WMAC address for 8devices LimaSven Eckelmann2018-06-181-3/+1
| | | | | | | | | | | | | | | | | | | The ART partition of the Lima board stores exactly three mac addresses: * 0x0: eth0 * 0x6: eth1 * 0x1002: wmac The first two are correctly assigned in the mach file but the latter points to 0x800. But this position is set to ff:ff:ff:ff:ff:ff. Luckily, the driver falls back in ath9k_hw_init_macaddr to the EEPROM mac address when it doesn't find a valid mac address in the platform_data. Remove this bogus offset to the ART partition to directly load the wmac via the EEPROM data in the ART partition. Signed-off-by: Sven Eckelmann <sven@narfation.org> (cherry picked from commit 4f6320704f7e37368a1dae2deba767a73b3bf121)