DW GMAC on ARC SDP boards doesn't enter promiscuous mode if
Ethernet PHY haven't got established link. Good examples are
auto-negotiation in progress or disconnected cable.
We do see Linux kernel sets GMAC's MAC filter register
properly but GMAC's hardware doesn't accept new settings.
We believe it is a hardware issue, most probably problem of
integration of DW GMAC and PHY on the board.
As a work-around we completely disable frame filtering
in GMAC hardware (once and for good) which forces GMAC to enter
promiscuous mode with the first write to MAC filter register.
That gives us working bridge that consists of eth0 and wlan0
(USB Wi-Fi dongle). I.e. we finally have working "Dumb AP" setup made
of ARC AXS10x boards.
Given that hack is quite dirty (in loaded wired networks this will
effectively load CPU with junk packets even if user doesn't need promisc
mode) and there's no indication any other boards with DW GMAC suffer
from the same issue we're patching only kernel for ARC boards.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: John Crispin <john@phrozen.org>,
Cc: Felix Fietkau <nbd@nbd.name>
This allows referencing USB ports/devices that are always present in a
device. This applies to some internal devices, root hub ports and
internal USB hubs.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
The R7800 is an IPQ8065, so rename its dts file to reflect that fact.
Also fold the R7500v2 dts addition into the existing 800-devicetree.patch.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
1004kc is just a SMP capable 34kc, and GCC treats 24kc and 34kc exactly
the same and will generate identical code, so there is no need to tune
to 1004kc instead of 24kc.
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
GCC treats 24kc and 34kc exactly the same and will generate identical
code, so there is no need to tune to 34kc instead of 24kc.
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
GCC treats 24kc and 34kc exactly the same and will generate identical
code, so there is no need to tune to 34kc instead of 24kc.
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Refresh patches for all targets that support kernel 4.4.
Compile-tested on all targets that use kernel 4.4 and aren't marked broken.
Runtime-tested on ar71xx, octeon and x86/64.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Point to correct devices when booting from msata or MMC
Changes fetched from Gateworks git
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
[Jo-Philipp Wich: rebased to apply against current LEDE version]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Alexis Green <alexis@cessp.it>
[Jo-Philipp Wich: add missing DEVICE_TITLE, fix model name in commit title]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
According to Jonas Gorski this is no longer needed, the problem
originally addressed by first adding 07_preinit_iface and subsequently
merging that into 02_network was probably a bug during the transition
to the new board.d pre-init approach.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Device/AVM unconditionally inherits Device/NAND, which changes the
sysupgrade image to sysupgrade-tar (instead of a "raw" sysupgrade image
as used in the Device/Default template).
This moves the Device/NAND call to the FRITZ3370 device definition, as
this is the only AVM/EVA device that uses NAND.
Additionally we have to define the IMAGE_SIZE for the AVM/EVA NOR
devices to ensure that the images are not discarded.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
The image builder does not bundle sub-directories within $(KERNEL_BUILD_DIR),
therfore the intermediate "ventana-uImage.boot" directory is not shipped,
leading to failures with "make image" later on.
To circumvent the issue, store the intermediate boot files as tar archive
instead of putting them into a directory to ensure that they end up in the
final image builder tarball. Fixes FS#102
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The image generation for TEW-691GR and TEW-692GR was broken since
79d02229 due to the move of the UMedia recipe to another Makefile.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Due to the missing phy-mode setting, the switch wasn't initialised.
The wireless requires an eeprom to work. Use the same mac addresses as
the stock firmware.
Signed-off-by: Mathias Kresin <dev@kresin.me>
The AR8327 initvals were not copied to the DTS during the switch from
mach file to device tree and broke the switch on the device.
The former used PORT6 related initvals were wrong and have been
corrected.
The phy mode setting for the switch was missing in the DTS as well.
The wireless requires an eeprom to work. The dual band wireless chips
have both bands enabled by default but only one band per chip is
working.
The stock firmware uses the following mac addresses:
LAN: AA:BB:CC:DD:EE:E4
WAN: AA:BB:CC:DD:EE:E4
2.4GHz: AA:BB:CC:DD:EE:E4
5 GHz: AA:BB:CC:DD:EE:E8
Assuming the mac address range :E4 to :E8 is reserved for this device,
the MAC addresses were reorder to have a unique MAC address for each
interface:
LAN: AA:BB:CC:DD:EE:E4
2.4GHz: AA:BB:CC:DD:EE:E4
WAN: AA:BB:CC:DD:EE:E5
5 GHz: AA:BB:CC:DD:EE:E8
Signed-off-by: Mathias Kresin <dev@kresin.me>
Fixes the following compiler warning:
Warning (reg_format): "reg" property in /ethernet@10100000/port@0 has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
Warning (avoid_default_addr_size): Relying on default #address-cells value for /ethernet@10100000/port@0
Warning (avoid_default_addr_size): Relying on default #size-cells value for /ethernet@10100000/port@0
Signed-off-by: Mathias Kresin <dev@kresin.me>
As it turned out we may actually build both initramfs and
SD-based images in one run with just a small tweak in
existing image/Makefile and so we do here.
We're back with one "generic" target for all ARC HS38-based bords.
Kudos to John for his patience and very helpful tips!
Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Jo-Philipp Wich <jo@mein.io>
Previous version was based on code from kernel 2.6.22 with Broadcom two
trivial modifications. This updates the copy to the version from current
kernel and refreshes the patch.
This was tested for regressions on Netgear R6250 (BCM4708A0), D-Link
DIR-885L (BCM4709C0) and Tenda AC9 (BCM47189B0).
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
We finally got kernel booting on this device and LAN ports are working,
so it won't "brick" the device. One more big missing thing is WAN port
support. It requires fix for BCM53125 to get switch port 5 working.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Over a year ago in a commit ac96a1665a ("bcm53xx: update Disable MMU
and Dcache during decompression") we switched to Florian's patch for
workarounding CFE bug. The main difference was using a part of existing
__armv7_mmu_cache_flush instead of implementing flushing separately.
This worked well for Northstar devices but doesn't work for BCM53573 as
these devices simply don't start booting with Florian's patch. It's
because of the ldmfd ASM instruction in the __armv7_mmu_cache_flush.
So this commit switches back to using standalone implementation. This
time instead of copying Broadcom's copy of cache-v7.S, we just make a
copy of the original file on our own. Unfortunately we can't cross-dir
compile cache-v7.S from ../../mm/ as that one also adds __INITDATA with
define_cache_functions v7 which would just trigger
> Error: unrecognized/unsupported machine ID (r1 = 0x0000007f).
The only real change Broadcom did in copied .S file was modifying mcr
instruction to use c6 instead of c14. It isn't clear to me if we really
need it, but let's use it for now.
By the way we also update commit message of the
[PATCH] ARM: BCM5301X: Disable MMU and Dcache during decompression
This makes kernel booting on BCM53573 successfully.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Zbtlink ZBT-WE1526 is based on Qualcomm Atheros QCA9531 v2.
Short specification:
- 650/400/200 MHz (CPU/DDR/AHB)
- 5x 10/100 Mbps Ethernet
- 1x USB 2.0
- 128 MB of RAM (DDR2)
- 16 MB of FLASH
- 2T2R 2.4 GHz, up to 22 dBm
- two external, non-detachable antennas
- 8x LED, 1x button
- UART header (pinout: VCC, RX, TX, GND)
Flash instruction:
Use sysupgrade in vendor firmare which is based on OpenWrt.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
It was needed upstream to avoid bcma references in the main code. To
match this new code our patch adding SRAB was also updated.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Historically on ARC we started from initramfs-based images because:
a) It was much easier to debug especially when toolchain and other
components were changing quite dynamically
b) It was our usual approach for embedded Linux
But now with ARC port of Lede/OpenWRT getting more stable and mature
we're ready for more real-life scenarios with FS permanently stored
on SD-card. This essentially benefits from ability to setup devices
that survive reboots with all settings and extra packages kept in place.
Still we keep an ability to build images with initramfs.
This allows us to use storage-less simulators for testing still.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: John Crispin <john@phrozen.org>