This bgmac patch was an attempt to fix/workaround bug reported in
https://dev.openwrt.org/ticket/7198 noticed on WNR3500L.
Patch assumed length reported by the hardware was 0 and was trying to
read it until getting a different value. This was actually the opposite.
Lenghts were some invalid & huge values that resulted in skb_over_panic.
For example:
skbuff: skb_over_panic: text:83b21074 len:57222 (...)
skbuff: skb_over_panic: text:87af1024 len:43226 (...)
skbuff: skb_over_panic: text:87af5024 len:8739 (...)
So instead of that not-working patch checking for 0, write a new one
checking for huge values. In case something like that happens, dump
hardware state and drop the packet.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 40424
this should really be auto detected by the kernel, lets used this workaround until the real
solution is ready
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 40418
Everything seems to be working fine. Potential issues:
* VLAN port IDs are reversed with regard to the numbers on the case.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
SVN-Revision: 40400
I don't have access to the specs, so I'm not sure about every detail, but I
haven't seen any problems with my test system, a TL-WR841N v9. It looks pretty
much like a QCA955x without PCI, a little twist in the clock calculation and
a AR9331-compatible switch.
Features not yet supported:
* EHCI (my test system doesn't have USB)
* ? (I have no idea if the QCA953x has any other features I don't know about
that aren't used by the TL-WR841N v9)
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
SVN-Revision: 40399
mempy_fromio seems to be randomly failing when the destination is
unaligned; work around it by forcing the name to be aligned in memory.
Should fix jffs2 and SMP for now, but needs to be some additional
looking into as it does not fix the source.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 40396
Now that 3.13 will be EOL soon, switch to 3.14.
Known issues:
* 74x164 is not available because upstream dropped non-DT support
* jffs2 breaks with SMP
Unknown issues:
* probably plenty
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 40380
Handle it by creating a new patch for simple database changes.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 40345
These patches add support for the Astoria ARV7519RW aka Livebox 2.1
The PCI and PCIe interfaces have been disabled. Also, because there are
two revisions of this board with different GPHY firmwares, two targets
were defined.
V2: rewrote partitions to work with an u-boot specifically made for
these boards.
Signed off by: Esteban Benito <estebanjbs@gmail.com>
Signed off by: Carles Gadea <carlesgrg@gmail.com>
Tested by: José Vázquez Fernández <ppvazquezfer@gmail.com>
SVN-Revision: 40329
ARV7510PW22, ARV752DPW and ARV752DPW22 have the RT2860 eeprom stored in
flash as big-endian, but the driver needs it in little-endian format. We
have to swab it before handing it over. This requires my earlier patch
for busybox.
Funnily enough, ARV752DPW works also with the incorrect eeprom, but
undoubtedly unoptimally. I have a hunch that also the final remaining
Lantiq board would require this swabbing, but I'm not sure, so I just
swab it in the three boards that I know about.
v2:
* Swab also on ARV7510PW22 based on feedback from Alvaro Rojas
* Fix the offset with bs=2
Signed-off-by: Matti Laakso <malaakso at elisanet.fi>
SVN-Revision: 40328
The existing code only tries to split a parition with name "rootfs"
while actually looking for kernel+rootfs, where usually "firmware" is
used as a partition name. This doesn't make sense, as even if there
was a partition 'rootfs' given by mtdparts or via device-tree, this
code would lead to another partition called 'rootfs' being created
which would not be properly distinguished in the current user-space
code.
While potentially we could use CONFIG_MTD_SPLIT_FIRMWARE_NAME to make
that configurable, the lack of users of brnboot and the fact that we
can freely decide the partition name made me simply change the
hard-coded string constant from "rootfs" to "firmware".
(I'm going to add support for ARV7506PW which run brnboot and needs
this change)
SVN-Revision: 40324
This patch adds almost full support for this board.
- WiFi is still not working
- USB will not power up. According to some reports, it may be a passive port
Signed-off-by: Antonios Vamporakis <ant@area128.com>
SVN-Revision: 40319
This patch adds almost full support for this board. WiFi is still not working.
The FXS ports are not functional due to missing support for the TAPI driver on
VR9 SoC.
Signed-off-by: Antonios Vamporakis <ant@area128.com>
Tested-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 40317
Both the GPL driver from ZyXEL and the xrx200 driver have this error. The flags
are reversed. Full duplex is marked as half and the other way around. With this
fix the switch will push full GBit speeds.
Signed-off-by: Antonios Vamporakis <ant@area128.com>
SVN-Revision: 40312
Export the ubi_num and vol_id into the sysfs record of the gluebi-
emulated mtd device. Previously userspace didn't have a way to
map gluebi-emulated devices back to their corresponding ubi volumes.
SVN-Revision: 40306
If the CPU port is not forced up, the link, at least on this board, is lost after
changes are applied. This makes sure that the link is restored. Regression tests
should confirm it doesn't break other boards.
Signed-off-by: Antonios Vamporakis <ant@area128.com>
SVN-Revision: 40305
- hide port pvid - vlan index relation
- switch initialises with vlans disabled so port isolation is not used
- remove special treatment of cpu port
Signed-off-by: Antonios Vamporakis <ant@area128.com>
SVN-Revision: 40304
Changes to:
- show the correct "enable_vlan" value under "Global attributes"
- show tagged ports under "Vlan: ports"
- use get_port_link method to report link status
Signed-off-by: Antonios Vamporakis <ant@area128.com>
SVN-Revision: 40303
The version of TL-WDR4300 sold in Israel comes with a different
hardware id.
Patch-by: Daniel <daniel@makrotopia.org>
Patchwork: http://patchwork.openwrt.org/patch/5001/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40038
Patch-by: Lars Bøgild Thomsen <lth@cow.dk>
Patchwork: http://patchwork.openwrt.org/patch/4922/
[juhosg: use correct board name in uci-defaults/02_network]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40033
Patch-by: Lars Bøgild Thomsen <lth@cow.dk>
Patchwork: http://patchwork.openwrt.org/patch/4922/
[juhosg:
- use a separate patch for kernel changes,
- reorder Kconfig and Makefile entries,
- change function and variable names to be lowercase only
and fix misaligned tabs in mach-gs-oolite.c,
... ]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40032
Function move_config should be called after or during preinit_mount_root
hook in do_mount_root function. At this state sysupgrade.tgz is not in its
place during that time when do_mount_root is called. Function move_config
is called later so the sysupgrade.tgz stays in root directory to the second
restart when it is unpacked properly.
This patch adds move_config function to preinit_mount_root hook instead
of preinit_main and changes the filename of script to be called before
80_mount_root is called. It will prepare the sysupgrade archive for do_mount_root
within preinit_mount_root hook.
This issue was introduced for target x86. Since the target for x86_64 is
similar to x86, this issue is present also in this target. It solves the
ticket #15042 and #14088.
Signed-off-by: Jiri Slachta <slachta@cesnet.cz>
Tested-By: Stefan Hellermann <stefan@the2masters.de>
SVN-Revision: 39997
Function move_config should be called after or during preinit_mount_root
hook in do_mount_root function. At this state sysupgrade.tgz is not in its
place during that time when do_mount_root is called. Function move_config
is called later so the sysupgrade.tgz stays in root directory to the second
restart when it is unpacked properly.
This patch adds move_config function to preinit_mount_root hook instead
of preinit_main and changes the filename of script to be called before
80_mount_root is called. It will prepare the sysupgrade archive for do_mount_root
within preinit_mount_root hook.
This patch solves ticket #15042 and #14088.
Signed-off-by: Jiri Slachta <slachta@cesnet.cz>
SVN-Revision: 39996
Patch 642-bridge_port_isolate.patch needs to be updated
for kernels 3.12, 3.13 and 3.14 as the define for BR_ISOLATE_MODE
conflicts with BR_LEARNING
Signed-off-by: Jonas Eymann <j.eymann@gmx.net>
SVN-Revision: 39955
Now that GCC 4.8 is the default, make sure that we have the relevant
memset fixes to avoid nasty kernel crashes.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 39902
The flash address passed to rb_init_info() is bogus,
use the predefined AR71XX_SPI_BASE macro instead.
Compile tested only.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39891
sizeof(array_from_function_definition) gives back the size of the pointer.
sizeof(type) * array_size should be used in memset.
Signed-off-by: David Völgyes <david.volgyes@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/4950/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39890
And while at it, fix the nomenclature, BCM947xx/953xx refer to specific boards,
while BCM47xx/BCM53xx refer to chip identification number.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 39841
The uImage target will always fail on a clean build due to dependency issues.
Building the uImage isn't necessary anyway as its re-built with correct
entry points in image/Makefile so remove it.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 39778
Update our copies of the brcm2708 patches to the latest rpi-3.10-y
rebased against linux-3.10.y stable (3.10.32). This should hopefully
make it easier for us in the future to leverage the raspberry/rpi-*
branches.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 39770
Define KERNELNAME to Image to get the build system to copy this image
over $(KDIR) automatically for us.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 39768
We already clean up tx descriptors in the napi eth_poll() function so it
would likely be rare to run out of available descriptors in eth_xmit. Thus
we can clean them up only when needed and return busy only when we
still don't have enough.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 39762
The combination of r35942 and r35952 causes an issue where eth_schedule_poll()
can be called from a different CPU between the call to napi_complete() and the
setting of cur_index which can break the rx ring accounting and cause ethernet
latency and/or ethernet stalls. The issue can be easilly created by adding
a couple of artificial delays such as:
@@ -715,6 +715,7 @@ static int eth_poll(struct napi_struct *napi, int budget)
if (!received) {
napi_complete(napi);
+udelay(1000);
enable_irq(IRQ_CNS3XXX_SW_R0RXC);
}
@@ -727,6 +728,7 @@ static int eth_poll(struct napi_struct *napi, int budget)
rx_ring->cur_index = i;
wmb();
+udelay(1000);
enable_rx_dma(sw);
return received;
This patch moves the setting of cur_index back up where it needs to be and
addresses the original corner case that r35942 was trying to catch in an
improved fashion by checking to see if the rx descriptor ring has become
full before interrupts were re-enabled so that a poll can be scheduled again
and avoid an rx stall caused by rx interrupts ceasing to fire again.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 39761
The IMX6 SoC uses an ARM Cortext-A9 which has both NEON and VFPv3 hardware
blocks. This will tune gcc to use neon instead of vfpv3 which will outperform
VFPv3.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 39760
The OpenWrt build system uses MACHINE_FEATURES of fpu to set the HAS_FPU which
in turn sets the default of CONFIG_SOFT_FLOAT as well as uClibc configuration.
As the IMX6 SoC has both vfpv3 and NEON hardware support we want to add fpu
to the feature list. This will default the IMX6 target to use -mfloat-abi=hard
which will the be most efficient use of floating point.
When switching to hard float, we also need to enable VFP support in the kernel.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 39759
We were copying the actual vmlinux-initramfs.elf kernel which cannot be
launched by QEMU or a real bootloader, use zImage-initramfs instead.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 39756
The ar71xx platform always uses the eth0 interface to provide
access to the device in failsafe mode. Due to this, failsafe
access is broken on devices where the LAN ports are connected
to the 'eth1' interface.
Update the relevant script to correctly set the ifname variable
for these devices.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39752
Add support for 3.13 as a development kernel. Mostly untested, only net
booted. If flashed may brick your router or kill your cat.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 39746
Let the switch start the carrier and set the duplex mode independently
if this nic is up of not.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 39733
We did not start the PHY when an external phy was in use. Without this
patch the driver uses half duplex mode and the switch uses full duplex
mode, which causes problems.
Thank you fback for spotting this problem.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 39719
The RB91x boards are using a serial shift register
connected to the SPI bus to drive some of the LEDs.
Rework the board setup code to register a SPI device
for that. This makes it possible to use the 'spi-74x164'
driver to control the device.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39703
That will be used to drive the 74HC595 serial-in/parallel-out
8-bits shift register which can be found on some RouterBOARDs.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39702
The serial flash devices used on the ROuterBOARDs are
supporting 4KiB erase blocks. Enable the small sector
erase option in the m25p80 driver to avoid superfluous
erase/write of adjacent blocks.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39696