aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* treewide: kernel: drop redundant USB_EHCI_HCD=n config symbolPetr Štetiar2020-07-0921-21/+0
| | | | | | | | | Commit e53ec043bae1 ("kirkwood: move usb support to modules") has moved this config symbol into generic configs, so it could be removed from other configs. Suggested-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: add support for D-Link DAP-1330/DAP-1365 A1Sebastian Schaper2020-07-098-3/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Port device support for DAP-1330 from the ar71xx target to ath79. Additionally, images are generated for the European through-socket case variant DAP-1365. Both devices run the same vendor firmware, the only difference being the DAP_SIGNATURE field in the factory header. The vendor's Web UI will display a model string stored in the flash. Specifications: * QCA9533, 8 MiB Flash, 64 MiB RAM * One Ethernet Port (10/100) * Wall-plug style case (DAP-1365 with additional socket) * LED bargraph RSSI indicator Installation: * Web UI: http://192.168.0.50 (or different address obtained via DHCP) There is no password set by default * Recovery Web UI: Keep reset button pressed during power-on until LED starts flashing red, upgrade via http://192.168.0.50 * Some modern browsers may have problems flashing via the Web UI, if this occurs consider booting to recovery mode and flashing via: curl -F \ files=@openwrt-ath79-generic-dlink_dap-1330-a1-squashfs-factory.bin \ http://192.168.0.50/cgi/index The device will use the same MAC address for both wired and wireless interfaces, however it is stored at two different locations in the flash. Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
* ath79: add support for Arduino YunSungbo Eo2020-07-087-0/+352
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Arduino Yun is a microcontroller development board, based on Atmel ATmega32u4 and Atheros AR9331. Specifications: - MCU: ATmega32U4 - SoC: AR9331 - RAM: DDR2 64MB - Flash: SPI NOR 16MB - WiFi: - 2.4GHz: SoC internal - Ethernet: 1x 10/100Mbps - USB: 1x 2.0 - MicroSD: 1x SDHC Notes: - Stock firmware is based on OpenWrt AA. - The SoC UART can be accessed only through the MCU. YunSerialTerminal is recommended for access to serial console. - Stock firmware uses non-standard 250000 baudrate by default. - The MCU can be reprogrammed from the SoC with avrdude linuxgpio. Installation: 1. Update U-Boot environment variables to adapt to new partition scheme. > setenv bootcmd "run addboard; run addtty; run addparts; run addrootfs; bootm 0x9f050000 || bootm 0x9fea0000" > setenv mtdparts "spi0.0:256k(u-boot)ro,64k(u-boot-env),15936k(firmware),64k(nvram),64k(art)ro" > saveenv 2. Boot into stock firmware normally and perform sysupgrade with sysupgrade image. # sysupgrade -n -F /tmp/sysupgrade.bin Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* base-files: add functions to set or clear bit in MAC addressSungbo Eo2020-07-081-2/+18
| | | | | | | | Some devices (e.g. Arduino Yun) need bitwise operations during MAC address setup. This commit adds generalized versions of macaddr_setbit_la(), which are helpful when manipulating a single bit in a MAC address. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* mediatek: Implement sysupgrade support for Banana Pi R2David Woodhouse2020-07-083-12/+128
| | | | | | Based on work by Alexey Loukianov <lx2@lexa2.ru> and others. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: store MAC address in boot partition on Banana Pi R2David Woodhouse2020-07-081-23/+36
| | | | | | | | | | | Like many boards, the Banana Pi R2 doesn't have permanant storage of its MAC address, and we store the first random one that the kernel generates in order to use it later and at least be consistent. Store it in the FAT boot partition, just as the U7623 board (and others) do. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: add SD card image creation for Banana Pi R2David Woodhouse2020-07-085-1/+259
| | | | | | Based on work by Alexey Loukianov <lx2@lexa2.ru> and others. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: use U-Boot FAT environment support for Banana Pi R2David Woodhouse2020-07-082-2/+93
| | | | | | | | | | Instead of building in a default environment which loads our environment from the FAT partition.... just ask U-Boot to do it. Submitted upstream at https://patchwork.ozlabs.org/project/uboot/list/?series=184688 Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: fix U-Boot pinctrl setup for mt7623 eMMCDavid Woodhouse2020-07-081-0/+236
| | | | | | | | | | The U-Boot pinctrl driver for mt7623 was incomplete and didn't handle the settings required for eMMC to work. Submitted upstream at https://patchwork.ozlabs.org/project/uboot/list/?series=184529 Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: add mt7623 u-boot build for Banana Pi R2David Woodhouse2020-07-082-1/+22
| | | | | | | For building full SD/eMMC images for Banana Pi R2 we'll want a u-boot image built for that platform. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: new mt7623n preloader package for Banana PiDavid Woodhouse2020-07-081-0/+61
| | | | | | | | | | | Download the boot preloader code from the Banana Pi github repo and make it available for bootable SD card image creation. Supports only Banana Pi R2 for now. Based on work by Alexey Loukianov <lx2@lexa2.ru> and others. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: enable SATA for mt7623David Woodhouse2020-07-082-3/+3
| | | | | | | The MT7623 SoC has the same SATA block as the MT7622, so enable it in MT7623 builds too and add it to the DEVICE_PACKAGES for those boards. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek/mt7623: unify features and packages, add ext4 and usbDavid Woodhouse2020-07-082-3/+5
| | | | | | | | The supported MT7623 boards are mostly identical (what with being a System-on-Chip and all), so unify the DEVICE_PACKAGES for them, and add ext4 and usb support for them. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* firmware-utils/ptgen: allow explicit placement of partitionsDavid Woodhouse2020-07-081-3/+27
| | | | | | For Banana Pi R2 we need to place the U-Boot partition at precisely 0x50000. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: mt7623: refresh 5.4 kernel configDavid Woodhouse2020-07-081-0/+3
| | | | | | | Some options were not explicitly specified, causing the kernel build to drop to interactive mode. Set the missing options. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* fstools: update to the latest versionDavid Woodhouse2020-07-081-3/+3
| | | | | | d34ea8e Use autoclear for overlay loopback device Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* ath79: add support for D-Link DCH-G020 Rev. A1Sebastian Schaper2020-07-084-0/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DCH-G020 is a Smart Home Gateway for Z-Wave devices. Specifications: * QCA9531, 16 MiB Flash, 64 MiB RAM * On-Board USB SD3503A Z-Wave dongle * GL850 USB 2.0 Hub (one rear port, internal Z-Wave) * Two Ethernet Ports (10/100) Installation: * Web UI: http://192.168.0.60 (or different address obtained via DHCP) Login with 'admin' and the 6-digit PIN Code from the bottom label * Recovery Web UI: Keep reset button pressed during power-on until LED starts flashing red, upgrade via http://192.168.0.60 * Some modern browsers may have problems flashing via the Web UI, if this occurs consider booting to recovery mode and flashing via: curl -F \ files=@openwrt-ath79-generic-dlink_dch-g020-a1-squashfs-factory.bin \ http://192.168.0.60/cgi/index Known issues: * Real-Time-Clock is not working as there is currently no matching driver It is still included in the dts as compatible = "pericom,pt7c43390"; * openzwave was tested on v19.07 (running MinOZW as a proof-of-concept), but the package grew too big as lots of device pictures were included, thus any use of Z-Wave is up to the user (e.g. extroot and domoticz) The device will use the same MAC address for both wired and wireless interfaces, however it is stored at two different locations in the flash. Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
* target.mk: change i386 CPU type to pentium-mmxRosen Penev2020-07-081-2/+2
| | | | | | | | | | | | f4f8f4a180366ee90fd8e153213db2cb746ca361 broke ffmpeg compilation with x86 The reason is that ffmpeg's x86 assembly requires at least MMX, which the pentium CPU_TYPE was preventing. Fixes ffmpeg compilation on x86_legacy and x86_geode. Ref: https://github.com/openwrt/openwrt/pull/3061 Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ipq806x: compile in schedutil governorJohn Audia2020-07-081-0/+2
| | | | | | | | | | | | | Gives users a third option to augment ondemand and performance. Kernel docs[1] explain differences and this PR empowers users w/ the choice to select between the older ondemand and newer and more simplistic schedutil should they wish to use one that is not the performance governor. 1. Documentation/admin-guide/pm/cpufreq.rst Signed-off-by: John Audia <graysky@archlinux.us> [fixed From: to match SoB:] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ramips: mt7621: use lzma-loader for ra21s & rg21sFurkan Alaca2020-07-081-0/+2
| | | | | | | | | | The rg21s fails to boot if the kernel is larger than about 2,376 KiB. The ra21s is virtually identical hardware. Enabling lzma-loader resolves the issue on both the rg21s and ra21s (see FS#3057 on the issue tracker). Fixes: FS#3057 Signed-off-by: Furkan Alaca <furkan.alaca@queensu.ca>
* ramips: add support for ZyXEL Keenetic Lite Rev.BSergei Burakov2020-07-083-0/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | Device specification: SoC: RT5350 CPU Frequency: 360 MHz Flash Chip: Macronix MX25L6406E (8192 KiB) RAM: Winbond W9825G6JH-6 (32768 KiB) 5x 10/100 Mbps Ethernet (4x LAN, 1x WAN) 1x external antenna UART (J1) header on PCB (57800 8n1) Wireless: SoC-intergated: 2.4GHz 802.11bgn USB: None 8x LED, 2x button Flash instruction: Configure PC with static IP 192.168.99.8/24 and start TFTP server. Rename "openwrt-ramips-rt305x-zyxel_keenetic-lite-b-squashfs-sysupgrade.bin" to "rt305x_firmware.bin" and place it in TFTP server directory. Connect PC with one of LAN ports, press the reset button, power up the router and keep button pressed until power LED start blinking. Router will download file from TFTP server, write it to flash and reboot. Signed-off-by: Sergei Burakov <senior.anonymous@ya.ru>
* ramips: move adslr_g7 in image/mt7621.mk to keep sortingAdrian Schmutzler2020-07-081-8/+8
| | | | | | | Move this device to the top to maintain alphabetic sorting in the file. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add missing kmod-mt7615-firmware for TP-Link RE500 v1Adrian Schmutzler2020-07-081-1/+1
| | | | | | | | | Adding this has been overlooked when rebasing the commit prior to merge. Fixes: ba0f4f0cfddc ("ramips: add support for TP-Link RE500 v1") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: iscsi-initator: fix missing dependencyPetr Štetiar2020-07-081-1/+1
| | | | | | | | | | Fixes following issue: Package kmod-iscsi-initiator is missing dependencies for the following libraries: crypto_hash.ko Fixes: b88f8202c4ce ("kernel: add iscsi-initator support") Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ipq40xx: fix patches on dts MakefileAdrian Schmutzler2020-07-082-2/+2
| | | | | | | | | The patches for arch/arm/boot/dts/Makefile have not been updated in a syntactically correct way (just body was changed). Fix it. Fixes: 4a77a060ab62 ("ipq40xx: add support for Buffalo WTR-M2133HP") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for ZyXEL WAP6805 (Altibox WiFi+)Bjørn Mork2020-07-085-0/+213
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- SoC: MediaTek MT7621ST WiFi: MediaTek MT7603 Quantenna QT3840BC Flash: 128M NAND RAM: 64M LED: Dual colour red and green BTN: Reset WPS Eth: 4 x 10/100/1000 connected to MT7621 internal switch MT7621 RGMII port connected to Quantenna module GPIO: Power/reset of Quantenna module Quantenna module ---------------- The Quantenna QT3840BC (or QV840) is a separate SoC running another Linux installation. It is mounted on a wide mini-PCIe form factor module, but is connected to the RGMII port of the MT7621. It loads both a second uboot stage and an os image from the MT7621 using tftp. The module is configured using Quantenna specific RPC calls over IP, using 802.1q over the RGMII link to support multiple SSIDs. There is no support for using this module as a WiFi device in OpenWrt. A package with basic firmware and management tools is being prepared. Serial ports ------------ Two serial ports with headers: RRJ1 - 115200 8N1 - Connected to the Quantenna console J1 - 57600 8N1 - Connected to the MT7621 console Both share pinout with many other Zyxel/Mitrastar devices: 1 - NC (VDD) 2 - TX 3 - RX 4 - NC (no pin) 5 - GND Dual system partitions ---------------------- The vendor firmware and boot loader use a dual partition scheme storing a counter in the header of each partition. The partition with the highest number will be selected for boot. OpenWrt does not support this scheme and will always use the first OS partition. It will reset both counters to zero the first time sysupgrade is run, making sure the first partition is selected by the boot loader. Installation from vendor firmware --------------------------------- 1. Run a DHCP server. The WAP6805 is configured as a client device and does not have a default static IP address. Make a note of which address it is assigned 2. tftp the OpenWrt initramfs-kernel.bin image to this address. Wait for the WAP6805 to reboot. 3. ssh to the OpenWrt initramfs system on 192.168.1.1. Make a backup of all mtd partitions now. The last used OEM image is still present in either "Kernel" or "Kernel2" at this point, and can be restored later if you save a copy. 4. sysupgrade to the OpenWrt sysupgrade.bin image. Installation from U-Boot ------------------------ This requires serial console access 1. Copy the OpenWrt initramfs-kernel.bin image as "ras.bin" to your tftp server directory. Configure the server address as 192.168.0.33/24 2. Hit ESC when the message "Hit ESC key to stop autoboot" appears 3. Type "ATGU" + Enter, and then "2" immediately after pressing enter. 4. Answer Y to the question "Erase Linux in Flash then burn new one. Are you sure?", and answer the address/filename questions. Defaults: Input device IP (192.168.0.2) Input server IP (192.168.0.33) Input Linux Kernel filename ("ras.bin") 5. Wait until after you see the message "Done!" and power cycle the device. It will hang after flashing. 6. Continue with step 3 and 4 from the vendor firmware procedure. Notes on the WAP6805 U-Boot --------------------------- The bootloader has been modified with both ZyXELs zyloader and the device specific dual partition scheme. These changes appear to have broken a few things. The zyloader shell claims to support a number of ZyXEL AT commands, but not all of them work. The image selection scheme is unreliable and inconsistent. A limited U-Boot menu is available - and used by the above U-Boot install procedure. But direct booting into an uploaded image does not work, neither with ram nor with flash. Flashing works, but requires a hard reset after it is finished. Reverting to OEM firmware ------------------------- The OEM firmware can be restored by using mtd write from OpenWrt, flashing it to the "Kernel" partition. E.g. ssh root@192.168.1.1 "mtd -r -e Kernel write - Kernel" < oem.bin OEM firmwares for the WAP6805 are not avaible for public download, so a backup of the original installation is required. See above. Alternatively, firmware for the WAP6806 (Armor X1) may be used. This is exactly the same hardware. But the branding features do obviously differ. LED controller -------------- Hardware implementation is unknown. The dual-color LED is controlled by 3 GPIOs: 4: red 7: blinking green 13: green Enabling both red and green makes the LED appear yellow. The boot loader enables hardware blinking, causing the green LED to blink slowly on power-on, until the OpenWrt boot mode starts a faster software blink. Signed-off-by: Bjørn Mork <bjorn@mork.no> [fix alphabetic sorting for image build statement] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* mt7621-qtn-rgmii: enable RGMII connected Quantenna QV840Bjørn Mork2020-07-083-0/+94
| | | | | | | Write a magic value to a magic destination. This might be specific to the Mitrastar designed ZyXEL WAP6805. Signed-off-by: Bjørn Mork <bjorn@mork.no>
* ipq806x: add support for Linksys EA7500 V1Pawel Dembicki2020-07-089-22/+375
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the Linksys EA7500 V1 router. Specification: - CPU: Qualcomm IPQ8064 - RAM: 256MB - Flash: NAND 128MB - WiFi: QCA9982 an+ac + QCA9983 bgn - Ethernet: 5 GBE Ports (WAN+ 4xLAN) (QCA8337) - USB: 1x USB 3.0 1x USB2.0 - Serial console: RJ-45 115200 8n1 (1V8 Voltage level) - 2 Buttons - 1 LED Known issues: - Some devices won't flash via web gui Installation: - Newer stock images doesn't allow to install custom firmware. - Please downgrade software to 1.1.2 version. Official firmware: https://downloads.linksys.com/downloads/firmware/FW_EA7500_1.1.2.172843_prod.gpg.img - Do it two times to downgrade all stored images. - Apply factory image via web-gui. Serial + TFTP method: - downgrade to 1.1.2 two times - connect ehternet and serial cable - set ip address of tftp server to 192.168.1.254 - put openwrt factory image to tftp folder and rename it to macan.bin - stop device while booting in u-boot - run command: "run flashimg" - run command: "setenv boot_part 1" - run command "saveenv" - reset Back to stock: - Please use old non-gpg image like this 1.1.2: https://downloads.linksys.com/downloads/firmware/FW_EA7500_1.1.2.172843_prod.img - ssh to router and copy image to tmp - use sysupgrade -n -F Tested by github users: @jack338c and @grzesiczek1 Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> [removed i2c4_pins, mdio0_pins, nand_pins, rgmii2_pins from DTSI] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* firmware-utils/hcsmakeimage: fix possible memory leak and resource leaksAndrea Dalla Costa2020-07-081-0/+4
| | | | | | | Add missing calls to `free` for variable `filebuffer`. Add missing calls to `fclose` for variables `fd` and `fd_out`. Signed-off-by: Andrea Dalla Costa <andrea@dallacosta.me>
* ipq40xx: add support for Buffalo WTR-M2133HPYanase Yuki2020-07-0811-0/+456
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Buffalo WTR-M2133HP is a Tri-Band router based on IPQ4019. Specification ------------- - SoC: Qualcomm IPQ4019 - RAM: 512MiB - Flash Memory: NAND 128MiB (MXIC MX30LF1G18AC) - Wi-Fi: Qualcomm IPQ4019 (2.4GHz, 1ch - 13ch) - Wi-Fi: Qualcomm IPQ4019 (5GHz, 36ch - 64ch) - Wi-Fi: Qualcomm QCA9984 (2T2R, 5GHz, 100ch - 140ch) - Ethernet: 4x 10/100/1000 Mbps (1x WAN, 3x LAN) - LED: 4x white LED, 4x orange LED, 1x blue LED - USB: 1x USB 3.0 port - Input: 2x tactile switch, 2x slide switch (2x SP3T) - Serial console: 115200bps, pinheader JP5 on PCB - Power: DC 12V 2A Flash instruction ----------------- 1. Set up a TFTP server (IP address: 192.168.11.10) 2. Rename "initramfs-fit-uImage.itb" to "WTR-M2133HP-initramfs.uImage" and put it into the TFTP server directory. 3. Connect the TFTP server and WTR-M2133HP. 4. Hold down the AOSS button, then power on the router. 5. After booting OpenWrt initramfs image, connect to the router by SSH. 6. Transfer "squashfs-nand-factory.ubi" to the router. 7. Execute the following commands. # ubidetach -p /dev/mtd15 # ubiformat /dev/mtd15 -f /tmp/openwrt-ipq40xx-generic-buffalo_wtr-m2133hp-squashfs-nand-factory.ubi # fw_setenv bootcmd bootipq 8. Perform reboot. Recover to stock firmware ------------------------- 1. Execute the following command. # fw_setenv bootcmd bootbf 2. Reboot and wait several minutes. Signed-off-by: Yanase Yuki <dev@zpc.sakura.ne.jp>
* kirkwood: add support for Zyxel NSA310SPawel Dembicki2020-07-085-1/+283
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Zyxel NSA310S is a NAS based on Marvell kirkwood SoC. Specification: - Processor Marvell 88F6702 1 GHz - 256MB RAM - 128MB NAND - 1x GBE LAN port (PHY: Marvell 88E1318) - 2x USB 2.0 - 1x SATA - 3x button - 7x leds - serial on J1 connector (115200 8N1) (GND-NOPIN-RX-TX-VCC) Known issues: - no kernel module for RTC. [*] - buzzer (connected to MPP43) need to be drived by 1kHz signal - no kernel module for internal MCU connected via I2C[**] [*] Karoly Pocsi made simple, unofficial driver for HT1382. It can be found here: https://www.madadmin.com/zyxel-nsa320s-es-debian-linux-4-resz/ [**] Karoly Pocsi found how CPU talk with MCU: It is possible to query the MCU-controlled fan speed and temperature: i2cget -y 0x0 0x0a 0x07 i2cget -y 0x0 0x0a 0x08 The first value (0x07) is the temperature in ° C, the second (0x08) is the time in milliseconds to complete one fan revolution (rpm = 60,000 / value). Info translated from: https://www.madadmin.com/zyxel-nsa320s-es-debian-linux-4-resz/ Installation: TFTP: 1. Run serial console and go to u-boot. 2. Copy u-boot via tftp and write to NAND: => mw 0x0800000 0xffff 0x100000 => nand erase 0x0 100000 => setenv ipaddr 192.168.1.2 => setenv serverip 192.168.1.4 => tftp 0x0800000 nsa310s-u-boot.kwb => nand write 0x0800000 0x0 0x100000 => reset 3. Run new u-Boot, repair bootcmd and restore MAC address from sticker => setenv ethaddr AA:BB:CC:DD:EE:FF => saveenv 4. Copy and run initramfs image => setenv ipaddr 192.168.1.2 => setenv serverip 192.168.1.4 => tftpboot zyxel_nsa310s-initramfs-uImage => bootm 0x800000 5. Download sysupgrade image and perform sysupgrade USB: 1. Prepare usb fat32 drive with u-boot.kwb and initramfs image. Stick it to USB 2.0 port. 2. Run serial console and go to u-boot. 3. Copy u-boot from usb and write to NAND: => mw 0x0800000 0xffff 0x100000 => nand erase 0x0 100000 => usb start => fatload usb 0 0x0800000 u-boot.kwb => nand write 0x0800000 0x0 0x100000 => reset 4. Run new u-Boot, repair bootcmd and restore MAC address from sticker => setenv ethaddr AA:BB:CC:DD:EE:FF => saveenv 5. Copy and run initramfs image: => usb start => fatload usb 0 0x0800000 initramfs-uImage => bootm 0x800000 6. Download sysupgrade image and perform sysupgrade. Based on work ThBexx <thomas.beckler@hotmail.com> DTS based on dropped support in 0ebdf0c. Tested-by: Lech Perczak <lech.perczak@gmail.com> Reviewed-by: Lech Perczak <lech.perczak@gmail.com> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> [NSA310s -> NSA310S in DEVICE_MODEL] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* uboot-kirkwood: add support for Zyxel NSA310SPawel Dembicki2020-07-083-0/+80
| | | | | | | This patch modifies the u-boot config for the Zyxel NSA310S to work with OpenWrt. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* ath79: add support for 8devices Lima boardAndrey Bondar2020-07-083-3/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specification: • 650/600/216 MHz (CPU/DDR/AHB) • 64 MB of RAM (DDR2) • 32 MB of FLASH • 2T2R 2.4 GHz • 2x 10/100 Mbps Ethernet • 1x USB 2.0 Host socket • 1x miniPCIe slot • UART for serial console • 14x GPIO Flash instructions: Upgrading from ar71xx target: • Upload image into the board: scp openwrt-ath79-generic-8dev_lima-squashfs-sysupgrade.bin root@192.168.1.1/tmp/ • Run sysupgrade sysupgrade -F /tmp/openwrt-ath79-generic-8dev_lima-squashfs-sysupgrade.bin Upgrading from u-boot: • Set up tftp server with openwrt-ath79-generic-8dev_lima-initramfs-kernel.bin • Go to u-boot (reboot and press ESC when prompted) • Set TFTP server IP setenv serverip 192.168.1.254 • Set device ip from the same subnet setenv ipaddr 192.168.1.1 • Copy new firmware to board tftpboot 0x82000000 initramfs.bin • Boot OpenWRT bootm 0x82000000 • Upload image openwrt-ath79-generic-8dev_lima-squashfs-sysupgrade.bin into the board • Run sysupgrade. Signed-off-by: Andrey Bondar <a.bondar@8devices.com>
* comgt: add new script to send ussd request and get the answerKirill Lukonin2020-07-081-0/+21
| | | | | | | | | | | New script for comgt. Should help to fetch balance or any additional information with USSD. This script uses the standard AT command which should be supported by all modems. Run-tested on: Mikrotik wAP LTE KIT Signed-off-by: Kirill Lukonin <klukonin@gmail.com> [fixed from/sob] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* build: add 'make kernel_xconfig' commandSergio E. Nemirowski2020-07-083-2/+6
| | | | | | This adds the kernel_xconfig make target. Signed-off-by: Sergio E. Nemirowski <sergio@outerface.net>
* ipq40xx: add support for GL.iNet GL-S1300Dongming Han2020-07-088-3/+379
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: SOC: Qualcomm IPQ4029 (DAKOTA) ARM Quad-Core RAM: 512 MiB FLASH1: 16 MiB NOR - SPI0 FLASH2: 8 GiB eMMC ETH: Qualcomm QCA8075 WLAN1: Qualcomm Atheros QCA4029 2.4GHz 802.11b/g/n 2x2 WLAN2: Qualcomm Atheros QCA4029 5GHz 802.11n/ac W2 2x2 INPUT: Reset, WPS LED: Power, Mesh, WLAN UART1: On board pin header near to LED (3.3V, TX, RX, GND), 3.3V without pin - 115200 8N1 UART2: On board with BLE module SPI1: On board socket for Zigbee module Install via tftp - NB: need to flash transition image firstly Firstly install transition image: (IPQ40xx) # tftpboot 0x84000000 s1300-factory-to-openwrt.img (IPQ40xx) # sf probe && imgaddr=0x84000000 && source :script Secondly install openwrt sysupgrade bin: (IPQ40xx) # run lf Revert to factory image: (IPQ40xx) # tftpboot 0x84000000 s1300-openwrt-to-factory.img (IPQ40xx) # sf probe && imgaddr=0x84000000 && source :script The kernel and rootfs of factory firmware are on eMMC, and openwrt firmware is on NOR flash. The transition image includes U-boot and partition table, which decides where to load kernel and rootfs. After you firstly install openwrt image, you can switch between factory and openwrt firmware by flashing transition image. Signed-off-by: Dongming Han <handongming@gl-inet.com>
* kernel: add iscsi-initator supportLucian Cristian2020-07-081-0/+26
| | | | | | | | Module is needed for using iscsi-initiator userspace applications Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com> [added missing newline between kernel modules] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* uclibc++: make verbosity affect uClibc++ buildWren Turkal2020-07-081-0/+8
| | | | | | | | | | Before this change, setting the verbosity to anything with V=blah would cause uclibc++ build to print errors to the screen. Now, it the clibc++ build verbosity will be altered in the following manners: * V=s will set V=1 in the uclibc++ build * V=sc will set V=2 in the uclibc++ build Signed-off-by: Wren Turkal <wt@penguintechs.org>
* ramips: Add support for Xiaomi Mi Router(Black,R2100)Emir Efe Kucuk2020-07-088-155/+216
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Xiaomi Mi Router AC2100 is a *black* cylindrical router that shares many characteristics (apart from its looks and the GPIO ports) with the 6-antenna *white* "Xiaomi Redmi Router AC2100" See the visual comparison of the two routers here: https://github.com/emirefek/openwrt-R2100/raw/imgcdn/rm2100-r2100.jpg Specification of R2100: - CPU: MediaTek MT7621A - RAM: 128 MB DDR3 - FLASH: 128 MB ESMT NAND - WIFI: 2x2 802.11bgn (MT7603) - WIFI: 4x4 802.11ac (MT7615) - ETH: 3xLAN+1xWAN 1000base-T - LED: Power, WAN in Yellow and Blue - UART: On board (Don't know where is should be confirmed by anybody else) - Modified u-boot Hacking of official firmware process is same at both RM2100 and R2100. Thanks to @namidairo Here is the detailed guide Hack: https://github.com/impulse/ac2100-openwrt-guide Guide is written for MacOS but it will work at linux. needed packages: python3(with scapy), netcat, http server, telnet client 1. Run PPPoE&exploit to get nc and wget busybox, get telnet and wget firmware 2. mtd write openwrt-ramips-mt7621-xiaomi_mi-router-ac2100-kernel1.bin kernel1 3. nvram set uart_en=1 4. nvram set bootdelay=5 5. nvram set flag_try_sys1_failed=1 6. nvram commit 7. mtd -r write openwrt-ramips-mt7621-xiaomi_mi-router-ac2100-rootfs0.bin rootfs0 other than these I specified in here. Everything is same with: https://github.com/openwrt/openwrt/commit/f3792690c4f0567a8965d82898295b9d50c3bb7e Thanks for all community and especially for this device: @Ilyas @scp07 @namidairo @Percy @thorsten97 @impulse (names@forum.openwrt.com) MAC Locations: WAN *:b5 = factory 0xe006 LAN *:b6 = factory 0xe000 WIFI 5ghz *:b8 = factory 0x8004 WIFI 2.4ghz *:b7 = factory 0x0004 Signed-off-by: Emir Efe Kucuk <emirefek@gmail.com> [refactored common image bits into Device/xiaomi-ac2100, fixed From:] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* generic: platform/mikrotik: add partial AR71xx cpufreq supportThibaut VARÈNE2020-07-081-28/+71
| | | | | | | | This patch adds cpu frequency setting for AR724x and AR7161. It is unknown if all the AR71xx devices support the same value range, so support is only enabled for AR7161 at this stage. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: platform/mikrotik: add board_revision tagThibaut VARÈNE2020-07-081-1/+6
| | | | | | Tag was discovered exploring the hard_config of a "r2" board. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: platform/mikrotik: graceful fallback for cpufreq_indexThibaut VARÈNE2020-07-081-9/+12
| | | | | | | | | | The current code would return an error on ath79 when the SoC isn't known to the driver. Return the raw hex value instead, as happens with non supported targets. Also return the correctly incremented value from sc_tag_cpufreq_ath79_arraysize() Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: platform/mikrotik: match RouterBOOT nomenclatureThibaut VARÈNE2020-07-081-18/+19
| | | | | | | RouterBOOT cpu frequency settings are letter-indexed. Follow the same logic for the sysfs interface. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: platform/mikrotik: fix routerboot_tag_show_u32s()Thibaut VARÈNE2020-07-081-5/+5
| | | | | | | The routine would only accurately print out the first word. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org> Fixes: 5ecf7d96 ("generic: routerboot sysfs platform driver")
* ramips: add support for Edimax Gemini RE23SDavide Fioravanti2020-07-083-9/+191
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- SoC: Mediatek MT7621AT (880 MHz, 2 cores 4 threads) RAM: 128MB FLASH: 16MB NOR (Macronix MX25L12805D) ETH: 1x 10/100/1000 Mbps Ethernet (MT7530) WIFI: - 2.4GHz: 1x MT7615 (4x4:4) - 5GHz: 1x MT7615 (4x4:4) - 4 antennas: 2 external detachable and 2 internal BTN: - 1x Reset button - 1x WPS button LEDS: - 1x Green led (Power) - 1x Green-Amber-Red led (Wifi) UART: - 57600-8-N-1 Everything works correctly. Installation ------------ Flash the factory image directly from OEM web interface. (You can login using these credentials: admin/1234) Restore OEM Firmware -------------------- Flash the OEM "bin" firmware directly from LUCI. The firmware is downloadable from the OEM web page. Warning: Remember to not keep settings! Warning2: Remember to force the flash. Restoring procedure tested with RE23_1.08.bin MAC addresses ------------- factory 0x4 *:24 factory 0x8004 *:25 Cimage 0x07 *:24 Cimage 0x0D *:24 Cimage 0x13 *:24 Cimage 0x19 *:25 No other addresses were found in factory partition. Since the label contains both the 2.4GHz and 5GHz mac address I decided to set the 5GHz one as label-mac-device. Moreover it also corresponds to the lan mac address. Notes ----- The wifi led in the OEM firmware changes colour depending on the signal strength. This can be done in OpenWrt but just for one interface. So for now will not be any default action for this led. If you want to open the case, pay attention to the antenna placed on the bottom part of the front cover. The wire is a bit short and it breaks easily. (I broke it) Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com> [fix two typos and add extended MAC address section to commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ar71xx: Fix mikrotik NAND compile problemHauke Mehrtens2020-07-071-1/+1
| | | | | | | | | | This Fixes the folowing compile error: drivers/mtd/nand/rb91x_nand.c: In function 'rb91x_nand_remove': drivers/mtd/nand/rb91x_nand.c:445:16: error: 'rbni' undeclared (first use in this function) nand_release(&rbni->chip); Fixes: ce958dd88a7e ("kernel: Update kernel 4.14 to version 4.14.187") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* curl: bump to 7.71.1Hans Dedecker2020-07-071-2/+2
| | | | | | For changes in 7.71.1; see https://curl.haxx.se/changes.html#7_71_1 Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* nat46: fix translation of ICMP protocol unreachableHans Dedecker2020-07-072-5/+5
| | | | | | | | Refresh patch 1182f30 nat46-core: Fix translation of ICMP protocol unreachable Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* build: fix compatibility with python 3.6Huangbin Zhan2020-07-071-3/+4
| | | | | | | | On a system python3 is linked to python3.6, fail to perform json_overview_image_info and got `TypeError: __init__() got an unexpected keyword argument 'capture_output'`. This patch emulate the behaviour on python 3.7+. Signed-off-by: Huangbin Zhan <zhanhb88@gmail.com>
* build: mconf readme updateSergio E. Nemirowski2020-07-071-3/+6
| | | | | | | This updates mconf.c readme message to maintain less changes with upstream and consistency with nconf.c Signed-off-by: Sergio E. Nemirowski <sergio@outerface.net>