John Crispin [Tue, 26 Jun 2018 13:39:38 +0000 (15:39 +0200)]
mac80211: rtl8xxxu: drop support patches
After a very enlightening but unfortunately far too short exchange with Jes
we mutually agreed to drop the patches. They are unfortunately not ready
yet.
This PR adds support for a popular low-cost 2.4GHz N based AP
Specifications:
- SoC: Qualcomm Atheros QCA9533 (650MHz)
- RAM: 64MB
- Storage: 8 MB SPI NOR
- Wireless: 2.4GHz N based built into SoC 2x2
- Ethernet: 1x 100/10 Mbps, integrated into SoC, 24V POE IN
Installation:
Flash factory image through stock firmware WEB UI
or through TFTP
To get to TFTP recovery just hold reset button while powering on for
around 4-5 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP adress:192.168.0.254
Notes:
TP-Link does not use bootstrap registers so without this patch reference
clock detects as 40MHz while it is actually 25MHz.
This is due to messed up bootstrap resistor configuration on the PCB.
Provided GPL code just forces 25MHz reference clock.
That causes booting with completely wrong clocks, for example, CPU tries
to boot at 1040MHz while the stock is 650MHz.
So this PR depends on PR #672 to remove 40MHz reference clock.
Thanks to Sven Eckelmann <sven@narfation.org> for properly patching that.
Signed-off-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
(cherry picked from commit 5c5bf8b8658a588423f6ec445d7ef6a36f99a396)
Add support for detecting TP-Link Pharos v2 boards.
They use different format in product-info partition than v1 boards.
Code was written mostly by Alexander Couzens <lynxis@fe80.eu>
Signed-off-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
(cherry picked from commit 2524febf7927a1bf430d64b7790feb126023e3d1)
Rafał Miłecki [Sun, 17 Jun 2018 20:39:20 +0000 (22:39 +0200)]
bcm53xx: fix NAND partitions on D-Link DIR-885L
This fixes missing rootfs on above device:
[ 2.652292] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
(...)
[ 2.687909] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Fixes: 05cb6aa69f66 ("bcm53xx: replace linux,part-probe with a proper partitions subnode") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit e53d0da775082ee5d1d18949b00850590cf81650)
David Thornley [Fri, 22 Jun 2018 06:25:22 +0000 (16:25 +1000)]
wwan: Add support for Gemalto Cinterion cellular modules
Includes specific support for PH8(1e2d-0053) / ELS61(1e2d-005b) modules.
Note for ELS61, the serial driver changes from serial option(ttyUSB) to usb-cdc (ttyACM).
Two additional fixes in this commit resolve issues with ttyACM devices: -
* wwan.sh - sys-fs has a subdirectory indirection (*/tty/ttyACMx) which was not handled properly
* wwan.usb - dependent scripts were not included, so this never actually called proto_set_available for example (and relied on inadvertent call for ttyUSB case)
Chuanhong Guo [Wed, 20 Jun 2018 16:56:38 +0000 (00:56 +0800)]
ramips: Add support for Phicomm K2G
Specification:
- SoC: MediaTek MT7620A
- Flash: 8 MB
- RAM: 64 MB
- Ethernet: 4 FE ports and 1 GE port (RTL8211F on port 5)
- Wireless radio: MT7620 for 2.4G and MT7612E for 5G, both equipped with external PA.
- UART: 1 x UART on PCB - 57600 8N1
Flash instruction:
The U-boot is based on Ralink SDK so we can flash the firmware using UART:
1. Configure PC with a static IP address and setup an TFTP server.
2. Put the firmware into the tftp directory.
3. Connect the UART line as described on the PCB.
4. Power up the device and press 2, follow the instruction to
set device and tftp server IP address and input the firmware
file name. U-boot will then load the firmware and write it into
the flash.
Felix Fietkau [Mon, 18 Jun 2018 10:35:49 +0000 (12:35 +0200)]
mt76: update to the latest version
072fdac mt76x2: mac: consider multicast/broadcast frames in ewma rssi estimation f450659 mt76x2: improve gain adjustment in noisy environments 1d4ca10 mt76x2: track rssi for gain adjustment per station
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.
David Bauer [Sat, 26 May 2018 16:19:53 +0000 (18:19 +0200)]
ar71xx: add support for Fritz!WLAN Repeater 450E
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.
Connect to the devices serial. Hit Enter-Key in bootloader to stop
autobooting. Command `tftpboot` will pull an initramfs image named
`C0A86302.img` from a tftp server at `192.168.99.08/24`.
After successfull transfer, boot the image with `bootm`.
To persistently write the firmware, flash an openwrt sysupgrade image
from inside the initramfs, for example transfer
via `scp <sysupgrade> root@192.168.1.1:/tmp` and flash on the device
with `sysupgrade -n /tmp/<sysupgrade>`.
append-cmdline patch taken from chunkeeys work on the NBG6617.
Signed-off-by: Magnus Frühling <skorpy@frankfurt.ccc.de> Co-authored-by: David Bauer <mail@david-bauer.net> Co-authored-by: Christian Lamparter <chunkeey@googlemail.com>
(cherry picked from commit 4b280ad91a6b155ac71c417aaa7bb5f4e328712f)
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
Tobias Schramm [Fri, 4 May 2018 01:47:23 +0000 (03:47 +0200)]
ramips: Add support for Mikrotik RouterBOARD RBM33g
This commit adds support for the Mikrotik RouterBOARD RBM33g.
=Hardware=
The RBM33g is a mt7621 based device featuring three gigabit ports, 2
miniPCIe slots with sim card sockets, 1 M.2 slot, 1 USB 3.0 port and a male
onboard RS-232 serial port. Additionally there are a lot of accessible
GPIO ports and additional buses like i2c, mdio, spi and uart.
==Switch==
The three Ethernet ports are all connected to the internal switch of the
mt7621 SoC:
port 0: Ethernet Port next to barrel jack with PoE printed on it
port 1: Innermost Ethernet Port on opposite side of RS-232 port
port 2: Outermost Ethernet Port on opposite side of RS-232 port
port 6: CPU
==Flash==
The device has two spi flash chips. The first flash chips is rather small
(512 kB), connected to CS0 by default and contains only the RouterBOOT
bootloader and some factory information (e.g. mac address).
The second chip has a size of 16 MB, is by default connected to CS1 and
contains the firmware image.
==PCIe==
The board features three PCIe-enabled slots. Two of them are miniPCIe
slots (PCIe0, PCIe1) and one is a M.2 (Key M) slot (PCIe2).
Each of the miniPCIe slots is connected to a dedicated mini SIM socket
on the back of the board.
Power to all three PCIe-enabled slots is controlled via GPIOs on the
mt7621 SoC:
PCIe0: GPIO9
PCIe1: GPIO10
PCIe2: GPIO11
==USB==
The board has one external USB 3.0 port at the rear. Additionally PCIe
port 0 has a permanently enabled USB interface. PCIe slot 1 shares its
USB interface with the rear USB port. Thus only either the rear USB port
or the USB interface of PCIe slot 1 can be active at the same time. The
jumper next to the rear USB port controls which one is active:
open: USB on PCIe 1 is active
closed: USB on rear USB port is active
==Power==
The board can accept both, passive PoE and external power via a 2.1 mm
barrel jack. The input voltage range is 11-32 V.
=Installation=
==Prerequisites==
A USB -> RS-232 Adapter and a null modem cable are required for
installation.
To install an OpenWRT image to the device two components must be built:
1. A openwrt initramfs image
2. A openwrt sysupgrade image
===initramfs & sysupgrade image===
Select target devices "Mikrotik RBM33G" in
openwrt menuconfig and build the images. This will create the images
"openwrt-ramips-mt7621-mikrotik_rbm33g-initramfs-kernel.bin" and
"openwrt-ramips-mt7621-mikrotik_rbm33g-squashfs-sysupgrade.bin" in the output
directory.
==Installing==
**Make sure to back up your RouterOS license in case you do ever want to
go back to RouterOS using "/system license output" and back up the created
license file.**
Serial settings: 115200 8N1
The installation is a two-step process. First the
"openwrt-ramips-mt7621-mikrotik_rbm33g-initramfs-kernel.bin" must be booted
via tftp:
1. Set up a dhcp server that points the bootfile to tftp server serving
the "openwrt-ramips-mt7621-mikrotik_rbm33g-initramfs-kernel.bin"
initramfs image
2. Connect to WAN port (left side, next to sys-LED and power indicator)
3. Connect to serial port of board
4. Power on board and enter RouterBOOT setup menu
5. Set boot device to "boot over ethernet"
6. Set boot protocol to "dhcp protocol" (can be omitted if DHCP server
allows dynamic bootp)
6. Save config
7. Wait for board to boot via Ethernet
On the serial port you should now be presented with the OpenWRT boot log.
The next steps will install OpenWRT persistently.
1. Copy "openwrt-ramips-mt7621-mikrotik_rbm33g-squashfs-sysupgrade.bin" to the device
using scp.
2. Write openwrt to flash using "sysupgrade
openwrt-ramips-mt7621-mikrotik_rbm33g-squashfs-sysupgrade.bin"
Once the flashing completes reboot the router and let it boot from flash.
It should boot straight to OpenWRT.
0bc4230 version: bump snapshot ed04799 poly1305: add missing string.h header cbd4e34 compat: use stabler lkml links caa718c ratelimiter: do not allow concurrent init and uninit 894ddae ratelimiter: mitigate reference underflow 0a8a62c receive: drop handshake packets if rng is not initialized cad9e52 noise: wait for crng before taking locks 83c0690 netlink: maintain static_identity lock over entire private key update 0913f1c noise: take locks for ss precomputation 073f31a qemu: bump default kernel bec4c48 wg-quick: android: don't forget to free compiled regexes 7ce2ef3 wg-quick: android: disable roaming to v6 networks when v4 is specified 9132be4 dns-hatchet: apply resolv.conf's selinux context to new resolv.conf 41a5747 simd: no need to restore fpu state when no preemption 6d7f0b0 simd: encapsulate fpu amortization into nice functions f8b57d5 queueing: re-enable preemption periodically to lower latency b7b193f queueing: remove useless spinlocks on sc 5bb62fe tools: getentropy requires 10.12 4e9f120 chacha20poly1305: use slow crypto on -rt kernels on arm too
Hans Dedecker [Wed, 20 Jun 2018 11:21:28 +0000 (13:21 +0200)]
dnsmasq: fix dnsmasq startup issue
Commit ecd954d530 installs specific interface triggers which rewrites the dnsmasq config
file and restarts dnsmasq if the network interface becomes active for which a trigger
has been installed.
In case no dhcp sections are specified or ignore is set to 1 dnsmasq will not be started
at startup which breaks DNS resolving.
Fix this by ditching the BOOT check in start_service and always start dnsmasq at startup.
INAGAKI Hiroshi [Fri, 15 Jun 2018 15:27:51 +0000 (00:27 +0900)]
ramips: add support for ELECOM WRC-1167GHBK2-S
ELECOM WRC-1167GHBK2-S is a 2.4/5 GHz band 11ac router, based on
MediaTek MT7621A.
Specification:
- MT7621A (2-Cores, 4-Threads)
- 128 MB of RAM (DDR3)
- 16 MB of Flash (SPI)
- 2T2R 2.4/5 GHz
- MediaTek MT7615D
- 5x 10/100/1000 Mbps Ethernet
- 6x LEDs, 2x keys
- UART header on PCB
- Vcc, GND, TX, RX from ethernet port side
- baudrate: 57600 bps
Flash instruction using factory image:
1. Rename the factory image to "wrc-1167ghbk2-s_v0.00.bin"
2. Connect the computer to the LAN port of WRC-1167GHBK2-S
3. Connect power cable to WRC-1167GHBK2-S and turn on it
4. Access to "http://192.168.2.1/details.html" and open firmware
update page ("手動更新(アップデート)")
5. Select the factory image and click apply ("適用") button
6. Wait ~150 seconds to complete flashing
INAGAKI Hiroshi [Wed, 16 May 2018 12:42:48 +0000 (21:42 +0900)]
ramips: add support for I-O DATA WN-GX300GR
I-O DATA WN-GX300GR is a 2.4 GHz band 11n router, based on MediaTek
MT7621S.
Specification:
- MT7621S (1-Core, 2-Threads)
- 64 MB of RAM
- 8 MB of Flash (SPI)
- 2T2R 2.4 GHz
- 5x 10/100/1000 Mbps Ethernet
- 2x LEDs, 4x keys (2x buttons, 1x slide switch)
- UART header on PCB
- Vcc, GND, TX, RX from ethernet port side
- baudrate: 115200 bps (U-Boot, OpenWrt)
Flash instruction using initramfs image:
1. Connect serial cable to UART header
2. Rename OpenWrt initramfs image for WN-GX300GR to "uImageWN-GX300GR"
and place it in the TFTP directory
3. Set the IP address of the computer to 192.168.99.8, connect to the
LAN port of WN-GX300GR, and start the TFTP server on the computer
4. Connect power cable to WN-GX300GR and turn on the router
5. Press "1" key on the serial console to interrupt boot process on
U-Boot, press Enter key 3 times and start firmware download via TFTP
6. WN-GX300GR downloads initramfs image and boot with it
7. On the initramfs image, execute "mtd erase firmware" to erase stock
firmware and execute sysupgrade with sysupgrade image for WN-GX300GR
8. Wait ~150 seconds to complete flasing
INAGAKI Hiroshi [Thu, 17 May 2018 07:06:02 +0000 (16:06 +0900)]
ipq806x: add support for NEC Aterm WG2600HP
NEC Aterm WG2600HP is a 2.4/5 GHz band 11ac router, based on Qualcomm
IPQ8064.
Specification:
- IPQ8064 (384 - 1,400 MHz)
- 512 MB of RAM
- 32 MB of Flash (SPI)
- 4T4R 2.4/5 GHz
- 5x 10/100/1000 Mbps Ethernet
- 12x LEDs, 4x keys
- 1x USB 3.0 Type-A
- UART header on PCB
- RX, TX, NC, GND, Vcc from power connector side
- baudrate: 115200 bps
Flash instruction using initramfs image:
1. Connect serial cable to UART header
2. Connect power cable and turn on the router
3. When the "Press the [f] key and hit [enter] to enter failsafe mode"
message is displayed on the console, press the "f" key and Enter key
sequentially to enter the failsafe mode
4. create fw_env.config file with following contents on failsafe mode:
/dev/mtd9 0x0 0x10000 0x10000
5. Execute following commands to add and change the environment
variables of U-Boot
fw_setenv ipaddr "192.168.0.1"
fw_setenv serverip "192.168.0.2"
fw_setenv autostart "yes"
fw_setenv bootcmd "tftpboot 0x44000000 wg2600hp-initramfs.bin;
bootipq"
6. Set the IP address of the computer to 192.168.0.2, connect to the LAN
port of WG2600HP, and start the TFTP server on the computer
7. Rename OpenWrt initramfs image for WG2600HP to
"wg2600hp-initramfs.bin" and place it in the TFTP directory
8. Remove power cable from WG2600HP, reconnect it and restart WG2600HP
9. WG2600HP downloads initramfs image from TFTP server on the computer,
loads it and boot with initramfs image
10. On the initramfs image, execute "mtd erase firmware" to erase stock
firmware and execute sysupgrade with the sysupgrade image
11. Wait ~180 seconds to complete flashing
Hans Dedecker [Tue, 29 May 2018 13:18:16 +0000 (15:18 +0200)]
ds-lite: make tunnel encapsulation limit support configurable (FS#1501)
Be compatible with ISPs which don't support the destination option header containing
the tunnel encapsulation limit as reported in FS#1501.
Setting the uci parameter encaplimit to ignore; allows to disable the insertion
of the destination option header in the ds-lite packets.
Otherwise the tunnel encapsulation limit value can be set to a value from 0 till 255
by setting the encaplimit uci parameter accordingly.
If no encaplimit value is specified the default value is 4 as before.
Hans Dedecker [Tue, 29 May 2018 13:31:21 +0000 (15:31 +0200)]
odhcp6c: make ds-lite/map tunnel encapsulation limit support configurable (FS#1501)
Be compatible with ISPs which don't support the destination option header containing
the tunnel encapsulation limit as reported in FS#1501 for dynamic created ds-lite/map
interfaces.
Setting the uci parameter encaplimit_dslite/map to ignore; allows to disable the insertion
of the destination option header for the dynamic created ds-lite/map interface.
Otherwise the tunnel encapsulation limit value can be set to a value from 0 till 255
by setting the encaplimit_dslite/map uci parameter accordingly.
Hans Dedecker [Mon, 4 Jun 2018 15:00:32 +0000 (17:00 +0200)]
map: make tunnel encapsulation limit support configurable (FS#1501)
Be compatible with ISPs which don't support the destination option header containing
the tunnel encapsulation limit as reported in FS#1501.
Setting the uci parameter encaplimit to ignore; allows to disable the insertion
of the destination option header in the map-e packets.
Otherwise the tunnel encapsulation limit value can be set to a value from 0 till 255
by setting the encaplimit uci parameter accordingly.
If no encaplimit value is specified the default value is 4 as before.
Since the beginning there's been an issue with initializing the Atheros
based MiniPCIe wireless cards. Here's an example of kerenel log:
OF: PCI: host bridge /soc/pcie@d0070000 ranges:
OF: PCI: MEM 0xe8000000..0xe8ffffff -> 0xe8000000
OF: PCI: IO 0xe9000000..0xe900ffff -> 0xe9000000
advk-pcie d0070000.pcie: link up
advk-pcie d0070000.pcie: PCI host bridge to bus 0000:00
pci_bus 0000:00: root bus resource [bus 00-ff]
pci_bus 0000:00: root bus resource [mem0xe8000000-0xe8ffffff]
pci_bus 0000:00: root bus resource [io 0x0000-0xffff](bus address[0xe9000000-0xe900ffff])
pci 0000:00:00.0: BAR 0: assigned [mem0xe8000000-0xe801ffff 64bit]
pci 0000:00:00.0: BAR 6: assigned [mem0xe8020000-0xe802ffff pref]
[...]
advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x3c
advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x44
advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x4
ath9k 0000:00:00.0: enabling device (0000 -> 0002)
advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x3c
advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0xc
advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x4
advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x40
ath9k 0000:00:00.0: request_irq failed
advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x4
ath9k: probe of 0000:00:00.0 failed with error -22
The same happens for ath5k cards, while ath10k card didn't appear at
all (not detected):
OF: PCI: host bridge /soc/pcie@d0070000 ranges:
OF: PCI: MEM 0xe8000000..0xe8ffffff -> 0xe8000000
OF: PCI: IO 0xe9000000..0xe900ffff -> 0xe9000000
advk-pcie d0070000.pcie: link never came up
advk-pcie d0070000.pcie: PCI host bridge to bus 0000:00
pci_bus 0000:00: root bus resource [bus 00-ff]
pci_bus 0000:00: root bus resource [mem0xe8000000-0xe8ffffff]
pci_bus 0000:00: root bus resource [io 0x0000-0xffff](bus address[0xe9000000-0xe900ffff])
advk-pcie d0070000.pcie: config read/write timed out
Following the issue on esppressobin.net forum [1] the workaround seems
to be limiting the speed of PCIe bridge to 1st generation. This fixed
the initialisation of all tested Atheros wireless cards.
The change shouldn't affect the performance for wireless cards,
it could reduce the performance of storage controller cards but since
OpenWrt focuses on wireless connectivity, fixing compatibility with
wireless cards should be a priority.
For the record, the iwlwifi and mt76 cards were not affected by this
issue.
Andy Boyett [Thu, 17 May 2018 05:09:57 +0000 (22:09 -0700)]
build: add busybox support to `time` prereq-check
Busybox time supports the GNU time '-f' syntax used by the build time
logging implemented in ff6e62b288c, however the prerequisite check added
only works with GNU time installed as `time` or `gtime`.
As busybox is a multicall binary, the name of the symlink setup by
SetupHostCommand also must be changed from `gtime` to `time` to fix the
value of argv[0]. This causes a number of shells (including bash) to use
their builtin impelementation of time, so the sole invocation has been
changed to use `env time` to use the value found on the $PATH.
Backport a hot off the press upstream kernel ATM fix:
Preserve value of skb->truesize when accounting to vcc
"There's a hack in pskb_expand_head() to avoid adjusting skb->truesize
for certain skbs. Ideally it would cover ATM too. It doesn't. Just
stashing the accounted value and using it in atm_raw_pop() is probably
the easiest way to cope."
net: convert sock.sk_wmem_alloc from atomic_t to refcount_t
But an earlier commit left the ticking timebomb:
158f323b9868 ("net: adjust skb->truesize in pskb_expand_head()
Sincerest thanks to Mathias Kresin <dev@kresin.me> for debugging
assistance and to David Woodhouse <dwmw2@infradead.org> for further
guidance, cajoling & patience in interpreting the debug I was giving him
and producing a fix!
Hannu Nyman [Sun, 17 Jun 2018 19:59:03 +0000 (22:59 +0300)]
include/image-commands.mk: shorter version in Netgear factory header
Shorten the version string in Netgear factory image header in order
to enable u-boot TFTP recovery flash mode to work again.
Strip 'r7210-14cb05909a' into 'r7210' in the Netgear image header
by removing the hash (anything after "-").
background:
Some Netgear routers have recently been unable to flash Openwrt
factory image with the TFTP recovery flash mode provided by Netgear
u-boot. That is due to over-long Openwrt version string overflowing
into the router type string in u-boot code. Modern git versions
produce 10-digit short hashes for the Openwrt main repo, and that
causes the version string to be too long in the image header,
breaking the image ID verification by the TFTP flash routine.
(Other option could be to force a shorter hash in scripts/getver.sh,
but as the problem only concerns Netgear routers, let's patch just
them.)
Vincent Wiemann [Sat, 9 Jun 2018 20:56:47 +0000 (22:56 +0200)]
mips: fix dynamic ftrace
The kernel patch *-mips_module_reloc.patch breaks dynamic ftrace as
dynamic ftrace depends on -mlong-calls.
See http://patchwork.linux-mips.org/patch/675/
Thus we always set -mlong-calls if the kernel is being
compiled with dynamic ftrace support.
Hauke Mehrtens [Sat, 9 Jun 2018 16:37:11 +0000 (18:37 +0200)]
mediatek: mt7622: Do not set CPU_SUBTYPE for Cortex A53
Neon and vfpv4 are mandatory extensions in the ARM64 instruction set
now, do not activate them explicitly. GCC will make use of these
extension now by default.
This makes it possible to share the toolchain with other Cortex A53
SoCs.
Compile tested only.
Some of the Marvell targets have functional SATA port multiplier
support, which is required for multi-bay eSATA enclosures. Enable
kernel support by setting CONFIG_SATA_PMP.
Martin Schiller [Wed, 9 Aug 2017 12:57:18 +0000 (14:57 +0200)]
ltq-vdsl-mei: reset g_tx_link_rate on showtime exit
Without this change, ifx_mei_atm_showtime_check() will always return
"showtime" after one call of MEI_InternalXtmSwhowtimeEntrySignal()
was done, even if MEI_InternalXtmSwhowtimeExitSignal() was called
in the meantime.
The ifx_mei_atm_showtime_check() function is used by the ltq-atm and
ltq-ptm driver.
Sven Eckelmann [Thu, 7 Jun 2018 08:57:06 +0000 (10:57 +0200)]
ar71xx: Fix offset to WMAC address for 8devices Lima
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.
Mirko Parthey [Thu, 31 May 2018 13:24:31 +0000 (15:24 +0200)]
mtd: mark as nonshared to fix FS#484
The mtd tool is built with different configurations depending on the
target. For example, brcm47xx adds the fixtrx subcommand, without which
an image fails when booting the second time.
Mark the mtd package as nonshared to really fix FS#484.
Daniel Golle [Thu, 31 May 2018 15:28:38 +0000 (17:28 +0200)]
oxnas: reboot target
Reboot the oxnas target based on Linux 4.14 by rebasing our support on
top of the now-existing upstream kernel support.
This commit brings oxnas support to the level of v4.17 having upstream
drivers for Ethernet, Serial and NAND flash.
Botch up OpenWrt's local drivers for EHCI, SATA and PCIe based on the
new platform code and device-tree.
Re-introduce base-files from old oxnas target which works for now but
needs further clean-up towards generic board support.
Functional issues:
* PCIe won't come up (hence no USB3 on Shuttle KD20)
* I2C bus of Akitio myCloud device is likely not to work (missing
debounce support in new pinctrl driver)
Code-style issues:
* plla/pllb needs further cleanup -- currently their users are writing
into the syscon regmap after acquireling the clk instead of using
defined clk_*_*() functions to setup multipliers and dividors.
* PCIe phy needs its own little driver.
* SATA driver is a monster and should be split into an mfd having
a raidctrl regmap, sata controller, sata ports and sata phy.
Tested on MitraStar STG-212 aka. Medion Akoya MD86xxx and Shuttle KD20.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(squash-picked commit 17511a7ea8 and commit dcc34574ef from master)
Maxim Anisimov [Wed, 30 May 2018 15:41:53 +0000 (18:41 +0300)]
ramips: add support for TP-Link TL-WR842N v5
TP-Link TL-WR842N v5 are simple N300 router with 5-port FE switch and
non-detachable antennas. Its very similar to TP-Link TL-MR3420 V5.
Specification:
- MT7628N/N (580 MHz)
- 64 MB of RAM (DDR2)
- 8 MB of FLASH
- 2T2R 2.4 GHz
- 5x 10/100 Mbps Ethernet
- 2x external, non-detachable antennas
- USB 2.0 Port
- UART (J1) header on PCB (115200 8n1)
- 7x LED, 2x button, power input switch
Flash instruction:
The only way to flash OpenWrt image in wr842nv5 is to use
tftp recovery mode in U-Boot:
1. Configure PC with static IP 192.168.0.225/24 and tftp server.
2. Rename "lede-ramips-mt7628-tplink_tl-wr842n-v5-squashfs-tftp-recovery.bin"
to "tp_recovery.bin" and place it in tftp server directory.
3. Connect PC with one of LAN ports, press the reset button, power up
the router and keep button pressed for around 6-7 seconds, until
device starts downloading the file.
4. Router will download file from server, write it to flash and reboot.
David Bauer [Sun, 10 Jun 2018 22:37:38 +0000 (00:37 +0200)]
ramips: use phytpt trigger for mt76 wireless
With this change, the LED trigger is independent from the (wireless)
netdev name. The (wireless) netdev name can be easiliy changed in
OpenWrt and would require an update of the netdev trigger settings each
time it is done.
This change is (for now) applied only to MT7628 devices from TP-Link, as
we only had the possibility to test this change against two of those
devices, namely a TL-WR841 v13 and a Archer C50 v3.
lbzhung [Fri, 8 Jun 2018 09:15:17 +0000 (17:15 +0800)]
ramips: fix mt7688 watchdog register base addr
I found mt7688 watchdog not working. The watchdog registers are identical
for mt7621 and mt7628/mt7688. The first watchdog related register is at
0x10000100, the last one - a 16bit sized - at 0x10000128.
Set the correct register address and size in the dtsi file to get the
watchdog working.
Felix Fietkau [Fri, 18 May 2018 16:13:55 +0000 (18:13 +0200)]
mt76: update to the latest version
73edb22 mt76: discard early received packets if not running yet 0b8d1dd mt76: fix beacon timer drift 20c0766 mt7603: adjust rx hang watchdog for MT7628 664e321 mt7603: add extra PSE hang check signature for MT7628 f24b56f update MT7628 firmware to the latest version d87e4b0 mt7603: clear PSE reset bit if PSE reset fails 0ef26ef mt76: only stop tx queues on offchannel, not during the entire scan f399da3 mt76: prevent tx scheduling during channel change 21c1e1e mt76: move ieee80211_hw allocation to common core 730c292 mt76: wait for pending tx to complete before switching channel fcbb49e mt76x2: use udelay instead of usleep_range in mt76x2_mac_stop 792dbe0 mt7603: do not hold dev->mutex while flushing dev->mac_work 9090f9c mt76x2: fix threshold for gain adjustment 2cbaa57 mt76x2: fix swapped values for RXO-18 in gain control a39ab70 mt76x2: adjust AGC control register 26 based on gain for VHT80 4936c0c mt76x2: clear false CCA counters after changing gain settings 1528fe7 mt76x2: fix variable gain adjustment range f3522e1 mt76x2: add a debugfs file to dump agc calibration information 65e161b mt76x2: fix tracking rssi for dynamic gain adjustment
Hans Dedecker [Mon, 11 Jun 2018 09:17:52 +0000 (11:17 +0200)]
dnsmasq: fix confdir option processing (FS#1572)
Fix condir option processing allowing to use the format
"<directory>[,<file-extension>......]," as documented on the dnsmasq man
page which previously resulted into bogus dir being created.
Some of the ubi-tools in the upstream mtd-utils have been
broken by a bad patch upstream. It causes major breakage
during sysupgrade when the kernel, rootfs, ... volumes
are deleted in the wrong order.
This patch therefore reverts the faulty upstream commit which
fixes the bug.
Cc: John Crispin <john@phrozen.org> Reported-by: L. Wayne Leach <LLeachii@aol.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit daf19649dbf101ce7ae17abf84eeed7a30b41275)
Koen Vandeputte [Thu, 7 Jun 2018 13:59:26 +0000 (15:59 +0200)]
ar71xx: fix USB switch to mPCIE for Mikrotik rb91x boards
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>
(cherry picked from commit 55b4b1eba0af6d2240f48eb93d68fb2e9ff41b08)
Adi Shammout [Wed, 6 Jun 2018 19:53:24 +0000 (22:53 +0300)]
busybox: udhcpc: no MSG_DONTROUTE when sending packet
This reverts a change made in Sep 2017 [1] which introduced
MSG_DONTROUTE flag to prevent udhcpc from reaching out to servers on a
different subnet. That change violates RFC2131 by forcing fully
configured clients, who got their configurations through an offer
relayed by a DHCP relay, from renewing through a unicast request
directly to the DHCP server, resulting in the client resorting to
boradcasting lease extension requests instead of unicasting them,
further breaking RFC2131.
The problem with MSG_DONTROUTE appears when talking to a properly
configured DHCP server that rejects non-compliant requests. Such server
will reject lease extension attempts sent via broadcast rather than
unicast, as is the case with Finnish ISPs Telia and DNA as well as
Estonian ISP Starman. Once the lease expires without renewal, udhcpc
enters init mode, taking down the interfaces with it, and thus causing
interruption on every lease expiry. On some ISPs (such as the ones
mentioned above) that can be once every 10-20 minutes. The interruptions
appear in the logs as such:
----
udhcpc: sending renew to x.x.x.x
udhcpc: send: Network unreachable
udhcpc: sending renew to 0.0.0.0
udhcpc: sending renew to 0.0.0.0
...
udhcpc: lease lost, entering init state
Interface 'wan' has lost the connection
Interface 'wan' is now down
Network alias 'eth0' link is down
udhcpc: sending select for y.y.y.y
udhcpc: lease of y.y.y.y obtained, lease time 1200
Network alias 'eth0' link is up
Interface 'wan' is now up
----
During lease extension, a fully configured client should be able to
reach out to the server from which it recieved the lease for extension,
regardless in which network it is; that's up to the gateway to find. [2]
This patch ensures that.