aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx
Commit message (Collapse)AuthorAgeFilesLines
* ar71xx:add support for E750G v8张鹏2018-07-3012-2/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qxwlan E750G v8 is based on Qualcomm QCA9344. Specification: - 560/450/225 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 8/16 MB of FLASH (SPI NOR) - 2T2R 2.4G GHz (AR9344) - 2x 10/100 Mbps Ethernet (PoE support) - 2x 10/100/1000 Mbps Ethernet - 7x LED (6 driven by GPIO) - 1x button (reset) - 1x DC jack for main power input (9-48 V) - UART (J23) and LEDs (J2) headers on PCB Flash instruction (using U-Boot CLI and tftp server): - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "sysupgrade" filename to "firmware.bin" and place it in tftp server directory. - Connect PC with one of RJ45 ports, power up the board and press "enter" key to access U-Boot CLI. - Use the following command to update the device to OpenWrt: "run lfw". Flash instruction (using U-Boot web-based recovery): - Configure PC with static IP 192.168.1.xxx(2-254)/24. - Connect PC with one of RJ45 ports, press the reset button, power up the board and keep button pressed for around 6-7 seconds, until LEDs start flashing. - Open your browser and enter 192.168.1.1, select "sysupgrade" image and click the upgrade button. Signed-off-by: 张鹏 <sd20@qxwlan.com>
* ar71xx:add support for E750A v4张鹏2018-07-3011-1/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qxwlan E750A v4 is based on Qualcomm QCA9344. Specification: - 560/450/225 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 8/16 MB of FLASH (SPI NOR) - 2T2R 5G GHz (AR9344) - 2x 10/100 Mbps Ethernet (one port with PoE support) - 1x miniPCIe slot (USB 2.0 bus only) - 7x LED (6 driven by GPIO) - 1x button (reset) - 1x DC jack for main power input (9-48 V) - UART (J23) and LEDs (J2) headers on PCB Flash instruction (using U-Boot CLI and tftp server): - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "sysupgrade" filename to "firmware.bin" and place it in tftp server directory. - Connect PC with one of RJ45 ports, power up the board and press "enter" key to access U-Boot CLI. - Use the following command to update the device to OpenWrt: "run lfw". Flash instruction (using U-Boot web-based recovery): - Configure PC with static IP 192.168.1.xxx(2-254)/24. - Connect PC with one of RJ45 ports, press the reset button, power up the board and keep button pressed for around 6-7 seconds, until LEDs start flashing. - Open your browser and enter 192.168.1.1, select "sysupgrade" image and click the upgrade button. Signed-off-by: 张鹏 <sd20@qxwlan.com>
* ar71xx:add support for E558 v2张鹏2018-07-3012-0/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qxwlan E558 v2 is based on Qualcomm QCA9558 + AR8327. Specification: - 720/600/200 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 8/16 MB of FLASH (SPI NOR) - 2T2R 2.4 GHz (QCA9558) - 3x 10/100/1000 Mbps Ethernet (one port with PoE support) - 4x miniPCIe slot (USB 2.0 bus only) - 1x microSIM slot - 5x LED (4 driven by GPIO) - 1x button (reset) - 1x 3-pos switch - 1x DC jack for main power input (9-48 V) - UART (JP5) and LEDs (J8) headers on PCB Flash instruction (using U-Boot CLI and tftp server): - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "sysupgrade" filename to "firmware.bin" and place it in tftp server directory. - Connect PC with one of RJ45 ports, power up the board and press "enter" key to access U-Boot CLI. - Use the following command to update the device to OpenWrt: "run lfw". Flash instruction (using U-Boot web-based recovery): - Configure PC with static IP 192.168.1.xxx(2-254)/24. - Connect PC with one of RJ45 ports, press the reset button, power up the board and keep button pressed for around 6-7 seconds, until LEDs start flashing. - Open your browser and enter 192.168.1.1, select "sysupgrade" image and click the upgrade button. Signed-off-by: 张鹏 <sd20@qxwlan.com>
* ar71xx: ag71xx: Prevent kernel oops for board defDaniel F. Dickinson2018-07-301-1/+15
| | | | | | | | | | | The driver is written in such a way that with a board defintion that connects a fixed phy, mdio, and switch in a certain way, a kernel oops could result because of lack of previously probed mdio bus. This commit allows for easier debugging in this case by casting the correct blame with serial console messages. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: ag71xx: Add connect message: fixed phyDaniel F. Dickinson2018-07-301-0/+7
| | | | | | | | It's a little noisier but makes it obvious when the ar7240 switch was connected to the MDIO bus, and to which phy device (or the failure to do so). Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: ag71xx_phy: Fix compilation for debug messagesDaniel F. Dickinson2018-07-301-2/+4
| | | | | | | | | | | NB: Error only appears with ag71xx debug messages and dynamic printk enabled. This is probably why no one has caught it before. Previously phy probe debug messages used old (now wrong) functions to get the phy name for printing. There was also the chance of a NULL pointer in the event no phy_device was found. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: cap324: Drop support for defunct cloudDaniel F. Dickinson2018-07-301-11/+2
| | | | | | | | | Only build images for straight OpenWrt (using all flash; wipes out partitions that contain information only important for accessing a now defunct cloud service with the stock firmware) since the stock firmware is now irrelevant. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: cap324: Use correct company nameDaniel F. Dickinson2018-07-304-5/+5
| | | | | | It's 'PowerCloud Systems' not just 'PowerCloud' Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: cap324: Use correct MAC addressesDaniel F. Dickinson2018-07-301-3/+3
| | | | | | | The wrong MAC addresses (from the point of view of the physical device label) were being assigned to the wrong interfaces. Fix that. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: cap324: Use standard eth as static lanDaniel F. Dickinson2018-07-301-1/+1
| | | | | | | | | | While the stock firmware and previous ar71xx versions of openwrt used the single ethernet port as a DHCP client, for unmodified openwrt usage it makes more sense to do the standard openwrt thing and make the ethernet port a static lan with known address so that users can find the device on the network more easily. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: cr5000: use correct company nameDaniel F. Dickinson2018-07-302-3/+3
| | | | | | It's 'PowerCloud Systems' not just 'PowerCloud' Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: cr5000: Drop support for defunct cloudDaniel F. Dickinson2018-07-301-12/+2
| | | | | | | The Skydog cloud service no longer exists hence supporting going back to stock firmware with cloud support is no longer applicable. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: cr5000: Tweak switch LED settingsDaniel F. Dickinson2018-07-301-4/+4
| | | | | | | This is basically cosmetic and sets the Port 1-4 LEDs to blink on 10/100/1000M. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: cr5000: Fix the reset button as KEY_RESTARTDaniel F. Dickinson2018-07-301-1/+1
| | | | | | | The reset button was incorrectly returning KEY_WPS_BUTTON as the key code. We want KEY_RESTART., so make that fix. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: cr5000: board data: Use better macro nameDaniel F. Dickinson2018-07-301-2/+2
| | | | | | | The PCIe wireless MAC address address is better labelled as WMAC than MAC to emphasize that it is for a wireless interface. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: improve MikroTik wAP R supportThibaut VARÈNE2018-07-303-2/+67
| | | | | | | | | | | | | 81d446b045176e3e25bb0ef74e3d060b51a0a353 introduced incomplete support for this device. This patch attempts to correct the situation based on OEM source code. LED1-3 are GSM mode on OFW (2G/3G/4G) hence unassigned here. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org> Tested-by: David Ehrmann <ehrmann@gmail.com>
* ar71xx: add missing diag LED support for RB wAP 2nDThibaut VARÈNE2018-07-301-1/+2
| | | | | | | 3b15eb06c366cf3805590a61f22e966a95bf8101 did not include diag.sh edit Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* ar71xx: rbspi: mark rb911L user led as active lowThibaut VARÈNE2018-07-301-1/+4
| | | | | | | | | | | | The active_low flag was missing for the user LED. This LED is open drain (confirmed in OEM source) and open drain only makes sense for active low GPIOs. The two wireless LEDs mentioned in the comments are also #defined for future reference. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org> Tested-by: Ryan Mounce <ryan@mounce.com.au>
* ar71xx: rbspi: fix RB wAP AC gpio conflict and LEDThibaut VARÈNE2018-07-302-11/+9
| | | | | | | | | | | | | | | e15c63a37574bd15ce3a6636c2f04741ab76f7b9 introduced code that was trying to register GPIO 1 as both an LED and a button. The OEM source makes it clear that LED1 is not wired to the SoC GPIOs. GPIO 1 is the reset button. Furthermore the (green) power led default state should also be defined, (matching OEM source), and it should be used by diag.sh since it's currently the only software-controllable LED. This patch fixes these issues and renames the corresponding #defines for clarity Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* ar71xx: rbspi: clarify USB power gpios actionThibaut VARÈNE2018-07-301-10/+9
| | | | | | | | | | | | | | | The gpios that control power toggle for USB on the RouterBOARD devices are active low _off_ switches. When they are active (low), power is off. When they are inactive (high), power is on. Rename GPIO defines, set gpios to GPIOF_ACTIVE_LOW for consistency and reflect their true action in the display name. This brings openwrt code in line with OEM. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org> Tested-by: Ryan Mounce <ryan@mounce.com.au>
* ar71xx: Move F9K1115v2 under ar71xx tiny targetKin Chan2018-07-165-10/+10
| | | | | | | | | | | | F9K1115v2 has a kernel partition size of 1408 kB. Since kernel 4.9.x+ the kernel image for this device compiled had exceeded the kernel partition size limit and thus failing size check. The kernel image generated for this device under ar71xx tiny target is 1329.67 kB < 1408 kB. Signed-off-by: Kin Chan <kcchan1@outlook.com>
* ar71xx: add support for MikroTik RB931-2nDThibaut VARÈNE2018-07-169-2/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the MikroTik RB931-2nD (hAP mini): https://mikrotik.com/product/RB931-2nD Specifications: * SoC: Qualcomm QCA9533 (650MHz) * RAM: 32MiB * Storage: 16MiB SPI NOR flash * Ethernet: 3x100M * Wireless: QCA9533 built-in, dual-chain 802.11b/g/n Installation: 1. Setup a DHCP/BOOTP Server with the following parameters: * DHCP-Option 66 (TFTP server name): pointing to a local TFTP server within the same subnet of the DHCP range * DHCP-Option 67 (Bootfile-Name): matching the initramfs filename of the to be booted image. The usable intramfs files are: - openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf - openwrt-ar71xx-mikrotik-vmlinux-initramfs-lzma.elf - openwrt-ar71xx-mikrotik-rb-nor-flash-16M-initramfs-kernel.bin 2. Press the reset button on the board and keep that pressed. 3. Connect the board to your local network via its Internet port. 4. Release the button after the LEDs on the board are turned off. Now the board should load and start the initramfs image from the TFTP server. 5. Now connect the board via either of its LAN ports (2 or 3). 6. Upload the sysupgrade image to the board with scp: $ scp openwrt-ar71xx-mikrotik-rb-nor-flash-16M-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/fw.bin 7. Log in to the running system listening on 192.168.1.1 via ssh as root (without password): $ ssh root@192.168.1.1 8. Flash the uploaded firmware file from the ssh session via the sysupgrade command: root@OpenWrt:~# sysupgrade /tmp/fw.bin Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* ar71xx: move boards to tiny subtargetMathias Kresin2018-07-125-35/+36
| | | | | | | Move boards to the tiny subtarget which break the build if the kernel is set to "Optimize for performance". Signed-off-by: Mathias Kresin <dev@kresin.me>
* ar71xx: factor out safe loader image build codeMathias Kresin2018-07-073-60/+44
| | | | | | | | | | Add a template for safeloader images and include it instead of overwriting variables defined in the common tp-link build commands. Split the existing tp-link templates to proper implement the safeloader template. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ar71xx: drop unnecessary LOADER_TYPE variablesMathias Kresin2018-07-071-5/+1
| | | | | | | Drop the LOADER_TYPE variables in case no loader is used at all or move the variable to devices which are using a loader. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ar71xx: get rid of copy-fileMathias Kresin2018-07-071-6/+4
| | | | | | | Use the provided image build variables to point the kernel-bin build command to the kernel we are interested in. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ar71xx: mikrotik: cleanup nand image build codeMathias Kresin2018-07-071-14/+20
| | | | | | | | | | | | Use the LOADER_TYPE variable to specify that we need the elf preloader and append the loader via the corresponding build recipe. It allows to enable initramfs images again for mikrotik NAND images, which caused a build error before. Add the minor header only to the kernel of the sysupgrade images, as it is only required for the bootloader to find the kernel on flash. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: bump 4.9 to 4.9.110Koen Vandeputte2018-07-021-1/+1
| | | | | | | | | Refreshed all patches Compile-tested on: ar71xx Runtime-tested on: ar71xx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* firmware-utils: tplink-safeloader: switch tl-wr1043nd-v4 to dynamic partitionsLucian Cristian2018-06-271-2/+2
| | | | | | | Use the new dynamic partition split in tplink-safeloader so we no longer have to worry about kernel size increases. Signed-off-by: Lucian Cristian <lucian.cristian@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>
* 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>
* ar71xx: add support for TP-LINK Archer C7 v5Arvid E. Picciani2018-06-209-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>
* ar71x: add support for Mikrotik Routerboard wAP RDavid Ehrmann2018-06-198-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the Mikrotik wAP R (RBwAPR-2nD). The change is based on 3b15eb0 which added support for the wAP 2nD. This change lacks LED support. Specifications: - SoC: Qualcomm QCA9531 (650 MHz) - RAM: 64 MB - Storage: 16 MB NOR SPI flash - Wireless: built-in QCA9531, 802.11b/g/n 2x2:2 - Ethernet: 1x100Mbps - Power: 9-30V Passive PoE, 9-30V DC jack, 9-30V automotive jack - SIM card slot - Mini-PCIe slot Installation: 1. Login to the Mikrotik WebUI to backup your licence key 2. Change the following settings in System->Routerboard->Settings: - Boot device: try ethernet once then NAND - Boot protocol: DHCP - Force Backup Booter: checked 3. Setup a DHCP/BOOTP server with: - DHCP-Option 66 (TFTP server name) pointing to a local TFTP server within the same subnet of the DHCP range - DHCP-Option 67 (Bootfile-Name) matching the initramfs filename of the to be booted image, e.g. openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf 4. Power off the device 5. If this is the second attempt to boot OpenWRT or the boot device isn't "try ethernet once then NAND," press and hold the reset button while powered off. If this is the first attempt, this step isn't necessary. 6. Power on the device, holding the reset button for 15-20s if already pressed from the previous step. The board should load and start the initramfs image from the TFTP server. Login as root/without password to the started OpenWRT via SSH listing on IPv4 address 192.168.1.1. Use sysupgrade to install OpenWRT. Revert to RouterOS Use the "rbcfg" package on in OpenWRT: - rbcfg set boot_protocol bootp - rbcfg set boot_device ethnand - rbcfg apply Open Netinstall and reboot routerboard. Now Netinstall sees RouterBOARD and you can install RouterOS. If NetInstall gets stuck on Sending offer just wait for it to timeout and then close and open Netinstall again. Click on install again. In order for RouterOS to function properly, you need to restore license for the device. You can do that by including license in NetInstall. Signed-off-by: David Ehrmann <ehrmann@gmail.com>
* ar71xx: add support for Fritz!WLAN Repeater 450EDavid Bauer2018-06-1813-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>
* ar71xx: fix incorrect speed setting on QCA9556David Bauer2018-06-181-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>
* 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>
* kernel: bump 4.9 to 4.9.107Kevin Darbyshire-Bryant2018-06-091-1/+1
| | | | | | | | | Refresh patches. Compile-tested for: ar71xx Run-tested on: ar71xx Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ar71xx: use Power-LED as Diag-LED on FRITZBox 4020David Bauer2018-06-092-1/+1
| | | | | | | This commit makes use of the Power-LED as Diag-LED, allowing the LED to work as a status indicator. Signed-off-by: David Bauer <mail@david-bauer.net>
* ar71xx: fix AVM package selectionDavid Bauer2018-06-091-2/+2
| | | | | | | The AVM package selection partially broke with the addition of the FRITZ!Box 4020. This commit restores the intended behavior. Signed-off-by: David Bauer <mail@david-bauer.net>
* ar71xx: Fix offset to WMAC address for 8devices LimaSven Eckelmann2018-06-081-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>
* ar71xx: fix USB switch to mPCIE for Mikrotik rb91x boardsKoen Vandeputte2018-06-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some devices like the Mikrotik RB912 only have 1 USB port which is shared between an USB A type port, and the mini PCIe socket. Toggling a gpio selects the output to which USB is connected. Since kernel 4.9, gpio base is rounded up to a value of 32. Commit 65da6f9ca164 ("ar71xx: fix secondary gpio controller base values") accounts correctly for that. In this commit, rb912 sees it's value changed from AR934X_GPIO_COUNT (23) to 32 This means that the USB toggle gpio number actually also changes from 52 to 61. But .. Some of these GPIO numbers are also used in other locations, like the boardfile. The author forgot to also change them over there. Switching the USB port to mPCIe now shows my modem is correctly discovered again: [ 2863.864471] usb 1-1: new high-speed USB device number 4 using ehci-platform [ 2864.055303] usb 1-1: config 1 has an invalid interface number: 8 but max is 3 [ 2864.062728] usb 1-1: config 1 has no interface number 1 [ 2864.074567] qcserial 1-1:1.0: Qualcomm USB modem converter detected [ 2864.081474] usb 1-1: Qualcomm USB modem converter now attached to ttyUSB0 [ 2864.111960] qcserial 1-1:1.2: Qualcomm USB modem converter detected [ 2864.118976] usb 1-1: Qualcomm USB modem converter now attached to ttyUSB1 [ 2864.139808] qcserial 1-1:1.3: Qualcomm USB modem converter detected [ 2864.146777] usb 1-1: Qualcomm USB modem converter now attached to ttyUSB2 [ 2864.165276] qmi_wwan 1-1:1.8: cdc-wdm0: USB WDM device [ 2864.171879] qmi_wwan 1-1:1.8 wwan0: register 'qmi_wwan' at usb-ehci-platform-1, WWAN/QMI device, 02:00:44:ed:3b:11 Fixes: 65da6f9ca164 ("ar71xx: fix secondary gpio controller base values") Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Cc: Robin Leblon <robin.leblon@ncentric.com> Cc: Felix Fietkau <nbd@nbd.name>
* ar71xx: add support for OCEDO KoalaDavid Bauer2018-06-0713-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>
* ar71xx: switch CPE/WBS 210/510 to okli-loaderMatthias Schiffer2018-06-061-1/+4
| | | | | | | | | | | | | | | | | | | | | We recently increased the kernel partition size of the CPE/WBS 210/510. This works fine for new installations of the factory image, but on sysupgrades, the partition table read by the bootloader is not adjusted. This limits the maximum size of the kernel loaded by the bootloader to the old partition size. While adjusting the partition table would be a cleanest solution, such a migration would have to happen before an upgrade to a new version with a newer kernel. This is error-prone and would require a two-step upgrade, as we mark the partition table partition read-only. Instead, switch from the lzma-loader with embedded kernel to the okli-loader, so only the tiny lzma-loader is loaded by the bootloader as "kernel", and the lzma-loader will then load the rest of the kernel by itself. Fixes: e39847ea2f70 ("ar71xx: increase kernel partition size for CPE/WBS 210/510") Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* ar71xx: make loader-okli build step more genericMatthias Schiffer2018-06-061-2/+3
| | | | | | Add support for different loader types. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* ar71xx: lzma-loader: constify kernel argv arrayMatthias Schiffer2018-06-061-1/+1
| | | | | | | By making the kernel argv array const, the .data section can always be omitted from the laoder binary. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* ar71xx: lzma-loader: set page size to 4KBMatthias Schiffer2018-06-061-1/+1
| | | | | | | | The text section in the ELF loader is aligned to the maximum page size, which defaults to 64KB. Reduce it to the actual page size to avoid wasting flash space for this alignment. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* ar71xx: lzma-loader: move padding workaround to gzip stepMatthias Schiffer2018-06-062-2/+5
| | | | | | | | | | | | | | | | | | | | | | | Some devices (TP-Link TL-WR1043ND v1) don't boot reliably when the uncompressed loader is too small. This was workarounded in the loader by adding 512KB of padding to the .data section of the loader binary. This approach had two issues: - The padding was only working when .data was non-empty (otherwise the section would become NOBITS, omitting it in the binary). .data was only empty when no CMDLINE was set, leading to further workarounds like fe594bf90d09 ("ath79: fix loader-okli, lzma-loader"), and this workaround was only effective because a missing "const" led to the kernel argv being stored in .data instead of .rodata - The padding was not only added to the compressed .gz loader, but also uncompressed .bin and .elf loaders. The prevented embedding the kernel cmdline in the loader for non-gz loader types. To fix both issues, move the creation of the padding from the linker script to the gzip step. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* kernel: bump to 4.9.105Kevin Darbyshire-Bryant2018-06-012-33/+4
| | | | | | | | | | | | | | | Refresh patches. Drop patches that have been upstreamed: target/linux/ar71xx/patches-4.9/106-01-MIPS-ath79-fix-AR724X_PLL_REG_PCIE_CONFIG-offset.patch target/linux/generic/backport-4.9/095-v4.12-ipv6-Need-to-export-ipv6_push_frag_opts-for-tunnelin.patch target/linux/generic/pending-4.9/180-net-phy-at803x-add-support-for-AT8032.patch target/linux/generic/pending-4.9/181-net-usb-add-lte-modem-wistron-neweb-d18q1.patch target/linux/generic/pending-4.9/182-net-qmi_wwan-add-BroadMobi-BM806U-2020-2033.patch Compile & run tested: ar71xx Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ar71xx: add support for GL.iNet GL-AR750SLuo chongjun2018-05-2712-0/+234
| | | | | | | | | | | | | | | | | | | This patch adds supports for GL-AR750S. Specification: - SOC: QCA9563 (775MHz) - Flash: 16 MiB (W25Q128FVSG) - RAM: 128 MiB DDR2 - Ethernet: 2x 1Gbps LAN + 1x 1Gbps WAN - Wireless: 2.4GHz (bgn) and 5GHz (ac) - USB: 1x USB 2.0 port - Button: 1x switch button, 1x reset button - LED: 3x LEDS (green) Flash instruction: Apply factory image via web-gui. Signed-off-by: Luo chongjun <luochongjun@gl-inet.com>
* ar71xx: fix bad "proto" references in default network configurationJo-Philipp Wich2018-05-251-2/+2
| | | | | | | | | This change was originally meant to go along with the ucidef_set_interface() fixup. Fixes: 7e664b7c2d ("base-files: fix ucidef_set_interface() protocol selection") Fixes: 85048a9c1f ("base-files: rework _ucidef_set_interface to be more generic") Signed-off-by: Jo-Philipp Wich <jo@mein.io>