While the AR9331 has a gigabit MAC towards the internal switch, the
integrated PHYs however are only 100-base-tx capable. The existing code
however advertieses gigabit capability in the link status word. If you
attach such a PHY to a gigabit capable switch on the remote end, with
some probability it attempts to negotiate gigabit and fails, falling
baco to the AR9331 assuming a 10mbit half-duplex link. This has been
observed quite frequently with the Carambola2 and gigabit capable
switches.
In ath79_register_eth(), "pdata->has_gbit = 1;" is set unconditionally
for both AR9331 ethernet ports. This is most likely wrong. Despite the
two MAC IP cores being gigabit MACs, the MAC for eth1 is connected to a
100base-T PHY via MII. The has_gbit attribute is used in the ethernet
driver to determine the supported link modes.
So either pdata->has_gbit is not set to 1 anymore, or the ethernet
driver needs to be modified to determine the advertised link code word
on another criteria than pdata->has_gbit. This patch implements the
former solution.
Signed-off-by: Harald Welte <laforge@gnumonks.org>
SVN-Revision: 42432
This improves performance when doing concurrent rx/tx on a single
ethernet MAC, e.g. when routing between VLANs.
Fixes#13072
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 42328
This sets the MAC address of the WLAN interface to the "official" primary MAC
address (the one on the label under the devices, and the one used with the stock
firmware). The MAC address used so far (primary-1) isn't even used at all with
the stock firmware, which sets (primary) on LAN and WLAN and (primary+1) on the
WAN interface (like OpenWrt does with this patch).
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
SVN-Revision: 42193
The OpenMesh MR600(v1) can only enable the 2.4G WiFi PHY LED through the
mini-PCIe device. Not configuring the LED pin inside the platform data
makes it impossible to configure it through any standard OpenWrt tool.
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
SVN-Revision: 42184
Change list:
* Remove button info on GPIO12, there is no button there.
* Remove nvram mtd partition, as it's not used for anything, saves 64k for user data.
Tested building for carambola2 target.
Signed-off-by: Mantas Pucka <mantas@8devices.com>
SVN-Revision: 41993
this caused factory resets when reboot was pressed
Signed-off-by: Brent Thomson <brentthomson@gmail.com>
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 41932
Signed-off-by: Jon Suphammer <jon@suphammer.net>
Patchwork: http://patchwork.openwrt.org/patch/5838/
[juhosg:
- fix coding style,
- check the first and the last character of the MAC string
instead of using the strchr() function]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 41622
The GL-Connect GL.iNet v1 router is basically a TP-Link TL-WR703N with
more DRAM/Flash, 2x Ethernet ports and console/GPIO header in the same
small form-factor:
<http://www.gl-inet.com/w/?lang=en>
Moreover, the manufacturer is promoting the OpenWrt usage to replace
the original firmware and proposing patches against both AA and trunk:
<http://www.gl-inet.com/w/?p=398&lang=en>
This is a clean up of the original manufacturer GPLv2 patch by alzhao,
proposed to the list by Mark Janssen.
Signed-off-by: Michel Stempin <michel.stempin@wanadoo.fr>
Signed-off-by: Mark Janssen <mark@sig-io.nl>
Signed-off-by: alzhao <alzhao@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/5273/
[juhosg:
- remove user-space and image generation support, will be included
from other patches,
- fix coding style and drop superfluous comment in mach-gl-inet.c,
- rename and refresh kernel patch,
- adjust subject]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 41618
This patch adds support for the MikroTik RouterBOARD SXT Lite.
The new RB911L series is also supported as a result.
v2 of this patch fixes the wmac offset to match what is on the sticker.
v3 refreshes the patch against r41148 and defines the power led as the status led in diag.sh
v4 refreshes the patch against r41353 and fixes the patch path issue to make git am work correctly
v5 selects the kernel config option in the mikrotik profile rather than in the main ar71xx config
Signed-off-by: Matthew Reeve <mreeve@tenxnetworks.com>
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 41450
I added WIFI LED support (so now AP blinks nicely), I removed WPS
button GPIO (as it doesn't exist) and changed GPIO for reset button.
Signed-off-by: Jacek Kikiewicz <jaceq@aol.pl>
SVN-Revision: 40976
This board manufactured by HiWiFi has the following features.
- Atheros 9331 SoC.
- 16MB flash and 64MB RAM.
- 4GB eMMC storage via SK6226 USB 2.0 controller.
- 2 LAN and 1 WAN ethernet ports with LEDs on them.
- 3 blue LEDs on the front panel.
- 1 button labeled as "reset".
- Powered by a USB cable.
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
SVN-Revision: 40973
Dlink dir-615-e1 can use dir-600-a1's image, but the image can't be
uploaded through dlink's normal firmware update web page.
Add profile for dir-615-e1 so the generated image can be uploaded
through the firmware update web page.
Signed-off-by: Zhao, Gang <gamerh2o@gmail.com>
SVN-Revision: 40969
The change is the same as ("kernel/generic: modify mtd related
patches"). Since these files are under files directory, not a files
directory of specific kernel version, better to also change them. So
it will avoid adding files to future specific files directory
(e.g. files-3.14) for this mtd related change.
Signed-off-by: Zhao, Gang <gamerh2o@gmail.com>
SVN-Revision: 40732
The RB91x boards are suffering from ethernet packet loss after a cold
boot. The cause of the problem is that the AR8035 PHYs requires special
register settings to work reliably on these boards.
Enable the RGMII TX, RX delays and disable SmartEE functionality of
the AR8035 PHYs. Also enable the RXD delay in the ETH_CFG register
to fix the issue.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40509
With this patch OpenWRT supports the following on the ZyXEL NBG 6716:
-WiFi 2G (ath9k)
-WiFi 5G (ath10k)
-NAND flash
-2 Ethernet interfaces
-USB 2.0
-LEDs including switch
-reasonale defaults at first boot
Signed-off-by: André Valentin <avalentin@marcant.net>
Patchwork: http://patchwork.openwrt.org/patch/5101/
[juhosg:
- rename and refresh kernel patch,
- fix a few typos,
- change button key codes,
- use zyxel prefix in LED names]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40499
Apart from the wireless chip, the WNDR3700 v4 and the WNDR4300
is the same device. Indicate this in the kernel files.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40479
The 5V power of the USB is controlled by a GPIO pin of
the external WiFi chip. Setup the GPIO bitmasks in the
platform data of the WiFi chip to ensure that the 5V
power gets enabled by the ath9k driver.
Based on the the WNDR3700v4 support patch from Ralph Perlich:
http://patchwork.openwrt.org/patch/4763/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40478
Based on the the WNDR3700v4 support patch from Ralph Perlich:
http://patchwork.openwrt.org/patch/4763/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40477
Based on the the WNDR3700v4 support patch from Ralph Perlich:
http://patchwork.openwrt.org/patch/4763/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40475
The bootloader does not initializes the output function
correctly for all LEDs. DO that from the board setup code.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40474
The hardware manual says amber so change the color part of
the LED names to reflect that. Also update the constant names.
Based on the the WNDR3700v4 support patch from Ralph Perlich:
http://patchwork.openwrt.org/patch/4763/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 40473
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
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
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
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
I noticed that the patch at http://patchwork.openwrt.org/patch/4017/
for adding support for the MikroTik RouterBOARD 951Ui-2HnD had been
abandoned because it wasn't generated and sent to the mailing list
correctly and doesn't apply as a result. I have cleaned up this patch.
When testing this on real hardware, I also noticed that wireless didn't
work, so this patch fixes that as well.
This patch applies cleanly to SVN 39392.
Signed-off-by: Matthew Reeve <mreeve@tenxnetworks.com>
Patchwork: http://patchwork.openwrt.org/patch/4773/
[juhosg:
- drop the 'rb951ui_wlan_init' function and rework the code to
use the recently introduced rb95x_wlan_init function instead,
- fix GPIO number of the port5 LED,
- rename LEDs according to the standard LED naming conventions,
and use 'rb' prefix in the names]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39641
On recent TL-WDR4300 boards the external LNAs of the 2.4GHz
interface are connected to GPIO lines. Because these GPIO
lines are disabled by default, the RX sensitivity of the
device is quite bad.
Setup the GPIOs of the external LNAs to fix the issue.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39392
The eth5 LED on the RB2011 is not working because the
LED control rule is missing. Fix it.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39335
The r39147 commit introduces a regression: at lease on some routers
with ar8216 switch large packets get lost if 802.1q tagged port is
used on the interface connected to the aforementioned switch.
The r39147 changes code in the way so interface is set to accept
packets no longer than max ethernet frame length for a given mtu.
Unfortunately ar8216 has a feature: it sends two additional bytes
as a packet header and those this header needs to be added to the
max frame length. Otherwise long enough packets get lost.
The problem only manuifests itself if interface is used in vlan
tagged mode. If interface is untagged then ar8216's header fits
into space used by 802.1q tag and not packets are lost.
Include two additional bytes in the max frame length calculation
to fix the issue.
This patch is tested and works with Trendnet TEW-632BRP.
Signed-off-by Nikolay Martynov <mar.kolya@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/4656/
[juhosg:
- simplify the patch to include the additional bytes of the
switch header unconditionally,
- change subject and update commit message]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39219
The LNAs need to be enabled by setting their respective GPIO to high even
though the original firmware's setting sets them to low on initialization.
Obviously the LNAs are then later initialized by the driver on the OEM
firmware. Without this fix the device is mostly "deaf".
Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Tested-by: Steven Haigh <netwiz@crc.id.au>
Patchwork: http://patchwork.openwrt.org/patch/4689/
[juhosg:
- remove the GPIO LED changes, the My Net N600 has no yellow LEDs at all,
- change subject and update the commit message]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39214
The LNAs need to be enabled by setting their respective GPIO to high even
though the original firmware's setting sets them to low on initialization.
Obviously the LNAs are then later initialized by the driver on the OEM
firmware. Without this fix the device is mostly "deaf".
Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Patchwork: http://patchwork.openwrt.org/patch/4688/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39213
The hardware supports large ethernet frames. Override
the maximum frame length and packet lenght mask in the
platform data to allow to use large MTU on the ethernet
interfaces.
Limit the feature to AR934x SoCs for now. It should work
on some other SoCs as well, but those has not been tested
yet.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39149
The currently used bitmask of the maximum frame length field
is wrong for both models. On AR724x/AR933x the largest frame
size is 2047 bytes, on the AR934x it is 16383 bytes.
Make the MTU setup code model specific, and use the correct
bitmask for both models. Also change the value to the maximum.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39148
Set the MAX_FRAME_LEN register to zero in ag71xx_hw_init()
and write the correct value into that from the ag71xx_open()
and ag71xx_fast_reset() functions.
Also recalculate the RX buffer size based on the actual
maximum frame length value to optimize memory allocation.
Additionaly, disallow to change the MTU value while the
interface it running.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39147
The currently used bitmask is not correct for all SoCs.
Introduce a new field in struct ag71xx and store the
bitmask in that. Use the current value for now, it will
be adjusted for each SoCs in further patches.
Aslo use the new field directly in the ag71xx_rx_packets
and ag71xx_hard_start_xmit() functions and remove the
ag71xx_desc_pktlen() helper.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39144
Now that the switch is working correctly I had the chance to actually
test the LED config.
Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Patchwork: http://patchwork.openwrt.org/patch/4616/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39129
The bootloader on the WD My Net N750 disables the ports on it's internal
AR8327N switch by powering them down. The stock firmware then brings the
ports back up again by starting the auto negotiation process on each
port.
This fix implements just that.
Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Patchwork: http://patchwork.openwrt.org/patch/4615/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39128
This enables us to add fixups to the board specific code for boards that
require special treatment of PHYs on mdio bus reset.
Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
http://patchwork.openwrt.org/patch/4614/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39127
This enables us to modify the ag71xx_mdio_platform_data from within the
board support files.
Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Patchwork: http://patchwork.openwrt.org/patch/4613/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39126
Currently, the AG71XX_RX_PKT_SIZE value limits the received
frame size to 1514/1516 bytes with/without a VLAN header
respectively. However the hardware limit is controlled by
the value the AG71XX_REG_MAC_MFL register which contains
the value of the max_frame_len field.
Compute the RX buffer size from the max_frame_len field
to get rid of the 1514/1516 byte limitation. Also remove
the unused AG71XX_RX_PKT_SIZE definition.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39121
The ar7240_probe function uses the network device name
in the kernel log messages, however the name is not yet
initialized when the ar7240_probe function is called.
Use the mdio bus name in the messages to avoid ugly
log lines like the following one:
eth%d: Found an AR7240/AR9330 built-in switch
Reported-by: Ronald Wahl <ronald.wahl@raritan.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39116
The ag71xx debugfs code uses the network device name
for the device specific debugfs directory. Since r38689
'ar71xx: ag71xx: fix a race involving netdev registration'
the debugfs initialization happens before the ethernet
device gets registered and the network device name contains
'eth%d' at this point. If the board setup code registers
multiple ag71xx devices, the debugfs code tries to create
the device specific dir with the same name which causes
an error like this:
eth0: Atheros AG71xx at 0xba000000, irq 5, mode:GMII
ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.1:04 [uid=004dd041, driver=Generic PHY]
ag71xx: probe of ag71xx.0 failed with error -12
Use the device name for the debugfs directory to avoid the
collisions. Also add an error message and change the return
code if the debugfs_create_dir call fails.
Reported-by: Ronald Wahl <ronald.wahl@raritan.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39115
It is only on RB911G-5HPnD and RB912UAG-5HPnD boards.
The LEDs and the USB port is not working yet.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39102
Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
[juhosg: use a separate patch for kernel changes]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39077