aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* kernel: bump 4.9 to 4.9.189Koen Vandeputte2019-08-148-24/+24
| | | | | | | | | Refreshed all patches. Compile-tested on: none Runtime-tested on: none Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* treewide: convert WiFi caldata size and offset to hexadecimalAdrian Schmutzler2019-08-1411-202/+202
| | | | | | | | | | | | | | This changes size and offset set for WiFi caldata extraction and MAC address adjustment to hexadecimal notation. This will be much clearer for the reader when numbers are big, and will also match the style used for mtd-cal-data in DTS files. Since dd cannot deal with hexadecimal notation, one has to convert back to decimal by simple $(($hexnum)). Acked-by: Alexander Couzens <lynxis@fe80.eu> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: convert MAC address location offsets to hexadecimalAdrian Schmutzler2019-08-1422-113/+113
| | | | | | | | | | | | | This changes the offsets for the MAC address location in mtd_get_mac_binary* and mtd_get_mac_text to hexadecimal notation. This will be much clearer for the reader when numbers are big, and will also match the style used for mtd-mac-address in DTS files. (e.g. 0x1006 and 0x5006 are much more useful than 4102 and 20486) Acked-by: Alexander Couzens <lynxis@fe80.eu> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* imagebuilder: fix `make info` for empty SUPPORTED_DEVICESPaul Spooren2019-08-141-1/+2
| | | | | | | | | For x86/64 (maybe more) target the SUPPORTED_DEVICES variable is empty which causes the `&&` junction to fail, producing a non zero exit code. Tested-by: Paul Spooren <mail@aparcar.org> Fixed-by: Jo-Philipp Wich <jo@mein.io> Signed-off-by: Paul Spooren <mail@aparcar.org>
* build: allow overriding default selection state for devicesJonas Gorski2019-08-133-2/+7
| | | | | | | | | | | | | | | | | | | Allow overriding the default selection state for Devices, similar to setting a default for packages. E.g. by setting DEFAULT to n, they won't be selected by default anymore when enabling all device in the multi device profile. This allows preventing images being built by the default config for known broken devices, devices without enough RAM/flash, or devices not working with a certain kernel versions. This does not prevent the devices from being manually selected or images being built by the ImageBuilder. These devices often still have worth with a reduced package-set, or as a device for regression testing, when no better device is available. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* image.mk: remove device_ from manifest filenamePaul Spooren2019-08-131-1/+1
| | | | | | | | | | | | | | | | | | | The manifest file is based on IMG_PREFIX and PROFILE_SANITIZED, whereas the latter takes a string like DEVICE_8dev_carambola2 and sanitizes it. This behaviour results in a useless "device_" profile-prefix in the device manifest filename. Now uses *subst* to remove that. Therefore this patch results more consistent device file names: openwrt-ath79-generic-8dev_carambola2-initramfs-kernel.bin openwrt-ath79-generic-8dev-carambola2.manifest openwrt-ath79-generic-8dev_carambola2-squashfs-sysupgrade.bin instead of a single file being called openwrt-ath79-generic-device_8dev-carambola2.manifest Signed-off-by: Paul Spooren <mail@aparcar.org>
* build: add buildinfo files for reproducibilityPaul Spooren2019-08-133-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | generate feeds.buildinfo and version.buildinfo in build dir after containing the feed revisions (via ./scripts/feeds list -sf) as well as the current revision of buildroot (via ./scripts/getver.sh). With this information it should be possible to reproduce any build, especially the release builds. Usage would be to move feeds.buildinfo to feeds.conf and git checkout the revision hash of version.buildinfo. Content of feeds.buildinfo would look similar to this: src-git routing https://git.openwrt.org/feed/routing.git^bf475d6 src-git telephony https://git.openwrt.org/feed/telephony.git^470eb8e ... Content of version.buildinfo would look similar to this: r10203+1-c12bd3a21b Without the exact feed revision it is not possible to determine installed package versions. Also rename config.seed to config.buildinfo to follow the recommended style of https://reproducible-builds.org/docs/recording/ Signed-off-by: Paul Spooren <mail@aparcar.org>
* tools/patch: apply upstream patch for cve-2019-13638Russell Senior2019-08-132-1/+39
| | | | | | | | | | | | GNU patch through 2.7.6 is vulnerable to OS shell command injection that can be exploited by opening a crafted patch file that contains an ed style diff payload with shell metacharacters. The ed editor does not need to be present on the vulnerable system. This is different from CVE-2018-1000156. https://nvd.nist.gov/vuln/detail/CVE-2019-13638 Signed-off-by: Russell Senior <russell@personaltelco.net>
* tools/scons: update scons to 3.1.1Russell Senior2019-08-131-2/+2
| | | | | | | | | | This version bump includes a bunch of fixes and improvements, which should fix gpsd build breakage in the package feeds. Ref: https://github.com/SCons/scons/blob/master/src/CHANGES.txt Signed-off-by: Russell Senior <russell@personaltelco.net> [added missing commit description] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: update DTS for TP-Link WDR3600/WDR4300 v1Adrian Schmutzler2019-08-131-30/+29
| | | | | | | This replaces gpio-export by gpio-hogs and switches buttons to interrupt-driven gpio-keys. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* Revert faulty tree pushFelix Fietkau2019-08-1237-2822/+536
| | | | | | | | | | | | Revert "mac80211: add new minstrel_ht patches to improve probing on mt76x2" (9861050b85e5381c93d73ffdbc24c130400e0fb8) Revert "kernel: use bulk free in kfree_skb_list to improve performance" (98b654de2e7502507b31f0fb82befbb48f9c8542) Revert "ramips: add preliminary support for WIO ONE" (085141dc5ba5e763e1bf4c1a2fd6957160810ccc) Revert "ramips: add preliminary support for SGE AP-MTKH7-0006 developer board" (b1db6d0539511f60bf65fbde28b16afa31180e34) Revert "build: use config.site generated by autoconf-lean, drop hardcoded sitefiles" (363ce4329d4f6c00b4a7cb83dd1821fafc0d40ad) Revert "toolchain: add autoconf-lean" (fdb30eed03ae56cd87078b64d9b2fac00799e783) Revert "build: allow overriding the filename on the remote server when downloading" (6fa0e07758524eddf20c9b66dfcb55c490e1961e) Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add new minstrel_ht patches to improve probing on mt76x2Felix Fietkau2019-08-124-0/+591
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: use bulk free in kfree_skb_list to improve performanceFelix Fietkau2019-08-122-0/+122
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: add preliminary support for WIO ONEFelix Fietkau2019-08-123-0/+144
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: add preliminary support for SGE AP-MTKH7-0006 developer boardFelix Fietkau2019-08-124-0/+125
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: use config.site generated by autoconf-lean, drop hardcoded sitefilesFelix Fietkau2019-08-1220-535/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* toolchain: add autoconf-leanFelix Fietkau2019-08-125-1/+1838
| | | | | | Use it to generate a more comprehensive configure sitefile Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: allow overriding the filename on the remote server when downloadingFelix Fietkau2019-08-121-0/+1
| | | | | | | | Github releases usually don't contain the project name in the release filename, which makes them very inconvenient to use from the build system. Add support for naming the local file differently. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* sdk: fix GCC and Python dangling symlinksPetr Štetiar2019-08-121-1/+2
| | | | | | | | | | | | | Force prereq again in SDK in order to fix GCC and Python dangling symlinks: staging_dir/host/bin/g++ -> /builder/ath79_generic/ccache_cxx.sh staging_dir/host/bin/gcc -> /builder/ath79_generic/ccache_cc.sh staging_dir/host/bin/python -> /usr/bin/python3.5 staging_dir/host/bin/python3 -> /usr/bin/python3.5 Ref: FS#2424 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ramips: fix lan and wan mac addresses for Cudy WR1000Davide Fioravanti2019-08-112-1/+2
| | | | | | | Lan and Wan addresses are swapped compared to the original firmware. This patch fixes this problem Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
* lantiq: add led-upgrade alias for Fritz!Box 7412David Bauer2019-08-101-0/+1
| | | | | | | This adds the led-upgrade alias for the AVM Fritz!Box 7412 to indicate a running firmware upgrade. Signed-off-by: David Bauer <mail@david-bauer.net>
* lantiq: enable second VPE on Fritz!Box 7412David Bauer2019-08-102-2/+2
| | | | | | | | | The AVM Fritz!Box 7412 does not use the VMMC part of the Lantiq chip but rather a proprietary solution based on the DECT chip for the FXS ports. Therefore, the second VPE can be enabled for use with OpenWrt. Signed-off-by: David Bauer <mail@david-bauer.net>
* lantiq: correct Fritz!Box 7412 button logic levelDavid Bauer2019-08-101-2/+2
| | | | | | | | | The AVM FRITZ!Box 7412 buttons are both active low, which is currently incorrectly defined in the device-tree. This leads to the device booting directly into failsafe. Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: fix LED labels not updated during device name changesAdrian Schmutzler2019-08-1019-106/+173
| | | | | | | | | | | | | | In commit d93969a13a5b ("ramips: Improve compatible for TP-Link Archer devices") and subsequent ones, names of several devices in ramips have been changed. Since LED names are frequently invoked by $boardname, this has broken LED setup in 01_leds, as $boardname and prefix in DTS do not match anymore. This patch updates device name prefixes for LEDs in DTS files, and provides a migration script. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add kmod-mt7615e to Xiaomi Mi Router 3 Pro imagesOzgur Can Leonard2019-08-102-3/+5
| | | | | | Now that the mt76/mt7615e driver is in Openwrt, might as well use it. Signed-off-by: Ozgur Can Leonard <ozgurcan@gmail.com>
* dnsmasq: use nettle ecc_curve access functionsHans Dedecker2019-08-092-1/+36
| | | | | | Fixes compile issues with nettle 3.5.1 Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* nettle: Update to 3.5.1Daniel Engberg2019-08-091-4/+4
| | | | | | | Update (lib)nettle to 3.5.1 Bump ABI_VERSION Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* ath79: add missing IMAGE_SIZE for Comfast WR650AC v1/v2Adrian Schmutzler2019-08-091-0/+2
| | | | | | | | When adding support in 9ed272fe9500 ("ath79: add support for Comfast WR650AC v1/v2"), IMAGE_SIZE has not been added to device definition. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ar71xx: ag71xx: init rings with GFP_KERNELKoen Vandeputte2019-08-091-1/+1
| | | | | | | ar71xx got lost during final rebase .. Fixes: b417a0c48d63 ("ar71xx/ath79: ag71xx: init rings with GFP_KERNEL") Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx/ath79: ag71xx: init rings with GFP_KERNELKoen Vandeputte2019-08-091-1/+1
| | | | | | | | | | | | | | | Upstream commit 246902bdf562d45ea3475fac64c93048a7a39f01 Which contains following explanation: -- There is no need to use GFP_ATOMIC here, GFP_KERNEL should be enough. The 'kcalloc()' just a few lines above, already uses GFP_KERNEL. -- Looking at the code, all other descriptors also use plain GFP_KERNEL Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx/ath79: ag71xx: fix sleep in atomicKoen Vandeputte2019-08-092-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When enabling atomic-sleep-debugging options in the kernel, following splat is seen when disabling the interface (which happens on boot): [ 10.892878] eth0: link down [ 10.896788] BUG: sleeping function called from invalid context at net/core/dev.c:5563 [ 10.904730] in_atomic(): 1, irqs_disabled(): 1, pid: 425, name: ip [ 10.911004] 2 locks held by ip/425: [ 10.914539] #0: (rtnl_mutex){....}, at: [<80377474>] rtnetlink_rcv_msg+0x2d8/0x380 [ 10.922441] #1: (&(&ag->lock)->rlock){....}, at: [<80330158>] ag71xx_hw_disable+0x24/0x94 [ 10.930976] CPU: 0 PID: 425 Comm: ip Not tainted 4.14.136 #0 [ 10.936716] Stack : 805e0000 80589228 80557404 876998ec 80610000 80610000 87cdcafc 805b5327 [ 10.945233] 80551534 000001a9 8061386c 87699ccc 87cfb180 00000001 876998a0 84f70903 [ 10.953751] 00000000 00000000 80b00000 8769979c 6a7407fa 00000000 00000007 00000000 [ 10.962270] 000000b7 16d0954a 000000b6 00000000 80000000 87cb658c 87cb65b0 00000001 [ 10.970787] 8046f97c 87699ccc 87cfb180 87ff2810 00000003 802ce724 0806e098 80610000 [ 10.979306] ... [ 10.981797] Call Trace: [ 10.984287] [<8006cb0c>] show_stack+0x58/0x100 [ 10.988814] [<800aab34>] ___might_sleep+0x100/0x120 [ 10.993774] [<8035c434>] napi_disable+0x30/0xd8 [ 10.998377] [<80330198>] ag71xx_hw_disable+0x64/0x94 [ 11.003418] [<8033069c>] ag71xx_stop+0x24/0x38 [ 11.007959] [<80359e30>] __dev_close_many+0xcc/0x104 [ 11.013009] [<80362eac>] __dev_change_flags+0xc8/0x1ac [ 11.018227] [<80362fb8>] dev_change_flags+0x28/0x70 [ 11.023182] [<80376890>] do_setlink+0x31c/0x91c [ 11.027786] [<80379360>] rtnl_newlink+0x3ec/0x7f8 [ 11.032563] [<80377498>] rtnetlink_rcv_msg+0x2fc/0x380 [ 11.037799] [<8039a734>] netlink_rcv_skb+0xd4/0x178 [ 11.042754] [<80399d10>] netlink_unicast+0x168/0x250 [ 11.047796] [<8039a2d4>] netlink_sendmsg+0x3d8/0x434 [ 11.052841] [<8033f0e4>] ___sys_sendmsg+0x1dc/0x290 [ 11.057794] [<80340140>] __sys_sendmsg+0x54/0x84 [ 11.062495] [<8007212c>] syscall_common+0x34/0x58 This is caused by calling napi_disable() while holding the spinlock. Fix it by omitting the spinlock, which is not required here Extensively tested on GL-MiFi, RB-912 and RB-922 hardware Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.19 to 4.19.65Koen Vandeputte2019-08-098-15/+15
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.137Koen Vandeputte2019-08-096-10/+10
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.9 to 4.9.188Koen Vandeputte2019-08-096-10/+10
| | | | | | | | | Refreshed all patches. Compile-tested on: none Runtime-tested on: none Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath79: fix identation errors in 01_ledsDavid Bauer2019-08-091-7/+7
| | | | | | Fix the identation of 01_leds to keep the style of the file consistent. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add missing IMAGE_SIZE for Comfast E314N-v2Adrian Schmutzler2019-08-091-0/+1
| | | | | | | | When adding support in abbbecaa73dc ("ath79: add support for Comfast E314N-v2"), IMAGE_SIZE has not been added to device definition. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix whitespace errors from adding D-Link DIR-842 C3Adrian Schmutzler2019-08-094-13/+13
| | | | | | | | | We completely overlooked whitespace errors when reviewing 796ad2f7ef6f ("ath79: add support for D-Link DIR-842 C3"). Fix them and and also fix Makefile indent for C1/C2. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Comfast WR650AC v1/v2Joan Moreau2019-08-096-3/+287
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a dual band 11a/11n router with 1x wan and 4x gig lan ports. There are two versions of this router which can be identified through the factory web interface, v1 has 128mb ram and a uboot size of 128k, v2 has 256mb ram and a uboot size of 256k, the remaining hardware and PCB markings are the same. Short specification: SoC: Qualcomm Atheros QCA9558 - 720 MHz Switch: Atheros AR8327 Second radio : Qualcomm Atheros QCA9880 802.11ac 4 LAN/1 WAN 1000Mps Ethernet 256 MB of RAM (DDR2) 16 MB of FLASH 3x2.4 GHz, 3x5GHz antennas Steps to install : Option A : Use vendor UI Option B (if A is not working) : (a) Download 'backup' from vendor UI and rename it backup.tar.gz (b) Open the archive, and update the root password in /etc/shadow by '$1$9wX3HGfB$X5Sb3kqzzBLdKRUR2kfFd0' (c) 'Restore' from the archive using the vendor UI. Root password is now 'aaa' (d) Scp the firwmware to the device: $ scp <openwrt-sysupgrade>.bin root@192.168.1.1:/ (d) ssh to the device and flash the firmware: $ cd / $ mtd -e firmware -r write <openwrt-sysupgrade>.bin firmware Signed-off-by: Gareth Parker <gareth41@orcon.net.nz> Signed-off-by: Ding Tengfei <dtf@comfast.cn> Signed-off-by: Joan Moreau <jom@grosjo.net> [reformatted commit message] Signed-off-by: David Bauer <mail@david-bauer.net>
* brcm2708: bcm2711: remove unneeded boot fileÁlvaro Fernández Rojas2019-08-091-2/+1
| | | | | | | bootcode.bin isn't needed for RPi 4B since it's stored on a SPI-attached EEPROM. More info: https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* ath79: add support for Comfast E314N-v2Joan Moreau2019-08-094-0/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Taken code from https://patchwork.ozlabs.org/patch/884850/ that was never pushed by the author, and adapted to ath79. The Comfast E314N-V2 is a 2.4 GHz 2x2 radio with a built-in directional antenna and a second Ethernet port - very similar to the Ubiquiti NanoStation M2. The Ethernet port features a pass-through PoE capability, enabled or disabled with a slide switch. Specifications : - System-On-Chip: Qualcomm/Atheros QCA9531 - CPU/Speed: 650 MHz - Flash size: 8 MiB - RAM: 64 MiB - 2 Ethernet 1Gbp - 1 reset button - 1 switch to choose PoE from LAN or Wan. 48Vdc - Wifi 2.4 Ghz (b/g/n) - UART inside the box (3.3V, pins marked on the PCB) Firmware can be flashed on these units by the following method: 1.) Apply power to the unit 2.) Immediately AFTER applying power, hold down the reset button 3.) The WAN, LAN, and wireless lights will flash - wait three seconds (three flashes) and then release the button. 4.) After a second, the lights will flutter quickly and the unit will be visible at 192.168.1.1. A web page will be available to enable quick and simple uploading and flashing of firmware. During the boot process, these units also look for a tftp server at 192.168.1.10. If one is present, the firmware can be uploaded as a file called firmware-auto.bin Signed-off-by: Joan Moreau <jom@grosjo.net> [wrapped commit message - fix commit title capitalization] Signed-off-by: David Bauer <mail@david-bauer.net>
* comgt-ncm: add driver dependencies againVincent Wiemann2019-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | In the commit 623716dd4318 ("comgt-ncm: Fix NCM protocol") the dependencies to vendor NCM drivers were removed, because: > comgt-ncm should not depend on the USB-serial-related kernel modules, > as the cdc-wdm control device works without them. There is also no need > to depend on kmod-huawei-cdc-ncm, since other manufacturers (like > Ericsson and Samsung) which use other kernel modules should also be > supported. From a user-perspective this does not make sense, as installing comgt-ncm (or luci-proto-ncm) should install all needed dependencies for using such a device. Furthermore depending on kmod-huawei-cdc-ncm does not mean that Ericsson and Samsung devices can't be supported. By the way it seems that Ericsson and Samsung devices never used NCM, but act as serial modems. Thus this commit adds the dependencies again. Signed-off-by: Vincent Wiemann <vincent.wiemann@ironai.com> [fixed title capitalization, formatted commit message, renamed Sony-Ericsson to Ericsson] Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: add support for HiWiFi HC5761ADENG Qingfang2019-08-084-0/+68
| | | | | | | | | | | | | | | | | | | | | | | | HiWiFi HC5761A is an "MT7628AN variant" of HC5761 Specifications: - MediaTek MT7628AN 580MHz - 128 MB DDR2 RAM - 16 MB SPI Flash - 2.4G MT7628AN 802.11bgn 2T2R 300Mbps - 5G MT7610EN 802.11ac 433Mbps - 3x 10/100 Mbps Ethernet Flash instruction: 1. Get SSH access to the router 2. SSH to router with `ssh -p 1022 root@192.168.199.1`, The SSH password is the same as the webconfig one 3. Upload OpenWrt sysupgrade firmware into the router's `/tmp` folder with SCP 4. Run `mtd write /tmp/<filename> firmware` 5. reboot Known bug: - SD slot does not work (See PR 1500) Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: improve support for HiWiFi HC5661A and HC5861BDENG Qingfang2019-08-083-8/+25
| | | | | | | | | | | | | HC5661A: - Fix pinctrl - Fix image size (15808k) - Use switch trigger for WAN LED Both: - Use tpt LED trigger for wireless - Explicitly disable USB nodes Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: add HC5X61A.dtsi for HiWiFi MT7628AN boardsDENG Qingfang2019-08-083-186/+104
| | | | | | | HiWiFi has several MT7628AN routers which have similar specs Add HC5X61A.dtsi to include them, like HC5X61.dtsi (for MT7620A) Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ath79: add support for PISEN WMB001NChuanhong Guo2019-08-085-0/+259
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: - SoC: AR9341 - RAM: 64M - Flash: 16M - Ethernet: 1 * FE port - WiFi: ar934x-wmac - Sound: WM8918 DAC 1 * 3.5mm headphone jack 2 * RCA connectors for speakers 1 * SPDIF out - USB: 1 * USB2.0 port Flash instruction: Upload generated factory image via vendor's web interface. Notes: A. Audio stuff: 1. Since AR934x, all pins for peripheral blocks can be mapped to any available GPIOs. We currently don't have a PCM/I2S driver for AR934x so pinmux for i2s and SPDIF are bound to i2c gpio node. This should be moved into I2S node when a PCM/I2S driver is available. 2. The i2c-gpio node is for WM8918. DT binding for it can't be added currently due to a missing clock from I2S PLL. B. Factory image: Image contains a image header and a tar.gz archive. 1. Header: A 288 byte header that has nothing to do with appended tarball. Format: 0x0-0x7 and 0x18-0x1F: magic values 0x20: Model number string 0xFC: Action string. It's either "update" or "backup" 0x11C: A 1 byte checksum. It's XOR result of 0x8-0x11B Firmware doesn't care about the rest of the header as long as checksum result is correct. The same header is used for backup and update routines so the magic values and model number can be obtained by generating a backup bin and grab values from it. 2. Tarball: It contains two files named uImage and rootfs, which will be flashed into corresponding mtd partition. Writing a special utility that can only output a fixed binary blob is overkill so factory image header is placed under image/bin instead. C. LED The wifi led has "Wi-Fi" marked on the case but vendor's firmware used it as system status indicator. I did the same in this device support patch. D. Firmware Factory u-boot is built without 'savenv' support so it's impossible to change kernel offset. A 2MB kernel partition won't be enough in the future. OKLI loader is used here to migrate this problem: 1. add OKLI image magic support into uImage parser. 2. build an OKLI loader, compress it with lzma and add a normal uImage header. 3. flash the loader to where the original kernel supposed to be. 4. create a uImage firmware using OKLI loader. 5. flash the created firmware to where rootfs supposed to be. By doing so, u-boot will start OKLI loader, which will then load the actual kernel at 0x20000. The kernel partition is 2MB, which is too much for our loader. To save this space, "mtd-concat" is used here: 1. create a 64K (1 erase block) partition for OKLI loader and create another partition with the left space. 2. concatenate rootfs and this partition into a virtual flash. 3. use the virtual flash for firmware partition. Currently OKLI loader is flashed with factory image only. sysupgrade won't replace it. Since it only has one function and it works for several years, its unlikely to have some bugs that requires a replacement. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* kernel: mtdsplit_uimage: add support for okli imageChuanhong Guo2019-08-081-0/+58
| | | | | | | | | | This adds support for uImage used by OpenWrt kernel loader. The parser searches for uImage header at flash eraseblock boundary and it might attempt to split any firmware with loader, therefore this entry doesn't have MTD_PARSER_TYPE_FIRMWARE so that this parser is only used when explicitly defined in dts. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* gpio-button-hotplug: add volume button handlingChuanhong Guo2019-08-082-1/+3
| | | | | | This is used by PISEN WMB001N. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: add support for D-Link DIR-842 C3Perry Melange2019-08-076-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware spec of DIR-842 C3: SoC: QCA9563 DRAM: 128MB DDR2 Flash: 16MB SPI-NOR Switch: QCA8337N WiFi 5.8GHz: QCA9888 WiFi 2.4Ghz: QCA9563 USB: circuit onboard, but components are not soldered Flash instructions: 1. Upgrade the factory.bin through the factory web interface or the u-boot failsafe interface. The firmware will boot up correctly for the first time. Do not power off the device after OpenWrt has booted. Otherwise the u-boot will enter failsafe mode as the checksum of the firmware has been changed. 2. Upgrade the sysupgrade.bin in OpenWrt. After upgrading completes the u-boot won't complain about the firmware checksum and it's OK to use now. 3. If you powered off the device before upgrading the sysupgrade.bin, just upgrade the factory.bin through the u-boot failsafe interface and then goto step 2. Signed-off-by: Perry Melange <isprotejesvalkata@gmail.com>
* ath79: fix vendor capitalization of TP-LinkAdrian Schmutzler2019-08-072-2/+2
| | | | | | | According to detective grep, with this patch all devices should be labelled "TP-Link" consistently. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP-Link CPE220 v2Adrian Schmutzler2019-08-076-1/+64
| | | | | | | | | | | | | | | | | | | | | | | | | This seems to be identical to CPE210 v1 despite having removable antennas. Specifications: * SoC: Qualcomm Atheros AR9344 (560 MHz) * RAM: 64MB * Storage: 8 MB * Wireless: 2.4GHz N based built into SoC 2x2 * Ethernet: 2x 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 address:192.168.0.254 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>