330 Commits

Author SHA1 Message Date
John Crispin
043881f47f [ramips] move ethernet hw init to init/uninit functions
This should fix the stalled irq problem seen by several people.
This is not the real fix, but rather moves the bug to the un/init patch of the driver.
The real bug still needs to be fixed, but this workaround should be suffcient to make
the ethernet stable.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34177 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-12 21:35:01 +00:00
John Crispin
30627c7870 ramips: add HAVE_CLK to Kconfig on all ramips socs
Signed-off-by: Daniel Golle <dgolle@allnet.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34110 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-07 20:26:04 +00:00
Gabor Juhos
1302d425cb ramips: enable USB power on the DIR-645
Closes #12422.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34082 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-05 11:04:45 +00:00
Gabor Juhos
368d37f9ad ramips: use correct key code for the RFKILL switch on the TEW-691GR
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33943 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-26 18:53:44 +00:00
Gabor Juhos
8b55cd7c61 ramips: disable 5GHz on the built in wireless mac of the TEW-69{1,2}GR
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33864 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-19 17:42:22 +00:00
Gabor Juhos
7506f3054c ramips: rt3883: add initial support for the TRENDnet TEW-691GR board
No wireless support.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33850 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-18 07:23:11 +00:00
Gabor Juhos
66b4211a57 ramips: rt3883: add initial support for TRENDnet TEW-692GR board
No wireless support.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33846 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-18 07:23:06 +00:00
Gabor Juhos
06c0cd5823 ramips: rt3883: add inital support for the DIR-645 board
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33843 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-18 07:23:02 +00:00
Gabor Juhos
b4ae759bbb ramips: add memory detection code for RT5350
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33571 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-27 10:18:15 +00:00
Gabor Juhos
ae436c404b ramips: allow to use custom code for memory size detection
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33570 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-27 10:18:14 +00:00
John Crispin
d27303e486 [ramips] add ethernet support for rt5350
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33548 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-25 14:47:08 +00:00
John Crispin
f00a987a69 [ramips] make ramips ethernet use a register mapping table
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33547 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-25 14:46:58 +00:00
John Crispin
148b5c8db7 D-Link DAP-1350; Avoid bricking esw config
This is a patch to connect eth0.1 (lan) to the only
ethernet connector available.

D-Link DAP-1350 goes bricked with AA 12.09-beta.

This is because the current esw configuration for the
board connects eth0.2 (wan) to the *ONE and ONLY*
ethernet connector available, preventing initial access
to the board through 192.168.1.1 on eth0.1 after flashing,
effectively bricking the board.

There are things that should be done to make this board
really useful, but for AA 12.09, this one liner is
indispensable.

Signed of by Yoichi Shinoda <shinoda@jaist.ac.jp>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33411 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-15 09:28:28 +00:00
Gabor Juhos
88571c64d7 ramips/rt305x: add initial support for Rt5350 SoC
Somehow detecting the RAM size in common/setup.c doesn't
work here, it always detects 64M and then crashes on devices
with less RAM.
Probably using MEMC_REG_SDRAM_CFG1 to know the RAM size is how
it could be, for now I use the mem=32M kernel parameter to get
stuff working.

Signed-off-by: Daniel Golle <dgolle@allnet.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33381 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-12 19:03:12 +00:00
Gabor Juhos
d4ae3a4ae2 ramips: Add missing andmask to ramips_esw register read for recv_good value.
Add missing andmask to ramips_esw register read for recv_good value.

Without the mask, recv_bad leaks into the recv_good packet count.
Didn't notice the bug before since you don't usually get bad
packets, so I only saw it when I was playing with overlength packets
earlier...

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33322 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-05 20:08:43 +00:00
Gabor Juhos
68eeafd44e ramips: Use doubletagging to disable ramips_esw vlan by default, it seems more reliable.
Use doubletagging to disable ramips_esw vlan by default, it seems
more reliable.

Daniel Golle found an issue where sometimes (possibly only for
RT3352) the default vlan disable method (clearing en_vlan, untag,
doubletag and putting all ports into vlan 0) doesn't work and the
packets get sent out vlan-tagged with vlan 0.

Instead switch to using the doubletagging method (allow doubletagged
packets, put all ports into vlan 0 with untag enabled) by default.

Unless someone figures out a way to really globally disable vlan for
this switch, this seems like the best (most reliable) option.

I did some tests regarding maximum packet size and did not see any

difference between the two methods, both allow for slightly bigger packets
than the ramips_main.c ethernet driver (ping stops going through
above "ping -s 1472" (1514 bytes), on the switch packets are recv_good until
"ping -s 1490", or about 1532 bytes).

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33321 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-05 20:08:42 +00:00
Gabor Juhos
fb3d571824 ramips: make built-in switch transparent for ALL0256N and ALL5002
This allows them to transparently communicate with an external VLAN switch.

Signed-off-by: Daniel Golle <dgolle@allnet.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33305 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-29 10:37:47 +00:00
Gabor Juhos
9ea1da3c30 ramips: Power down phy on disabled switch ports
Power down phy on disabled switch ports.

Haven't measured this myself yet, but according to this
http://www.8devices.com/community/viewtopic.php?f=6&t=156
it can save about 300mW of power.

[juhosg: fix checkpatch warning]

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33304 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-29 10:37:45 +00:00
Gabor Juhos
98ec68aa25 ramips: Add support for 8devices Carambola dev board.
Add support for 8devices Carambola dev board.

The Carambola is a small RT3050-based development board with two
ethernet ports, on-board chip antenna, usb and plenty of accessible
gpio ports, sold by 8devices.

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33303 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-29 10:37:43 +00:00
Gabor Juhos
a06541402f ramips: Rename POC registers
Rename POC registers.

The current code uses POC1-POC3.

The datasheet uses:
POC1: Port Control 0
POC1: Port Control 1
POC2: Port Control 2

So the first POC1 is a typo that should have been POC0, rename the
registers to POC0-POC2 accordingly.

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33302 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-29 10:37:41 +00:00
Gabor Juhos
0d5d65059a ramips: Minor ramips_esw.c cleanup
Stop handling VLAN setup in the kernel.
Removes the obsolete RT305X_ESW_VLAN_CONFIG_BYPASS option I added for
WL-351 and add some extra comments.
Also removes the en_vlan per-port flag that isn't very useful really, it now
is only controlled by the global enable_vlan flag.

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33301 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-29 10:37:40 +00:00
Gabor Juhos
d7bf863ba7 ramips: Add swconfig support to ramips_esw.c
Add swconfig support to ramips_esw.c

This patch adds swconfig support for ramips_esw:

Tested on both D-LINK DIR-300 B1 and Sitecom WL-351 (external
rtl8366rb on internal port 5).
I've made sure that in the enable_vlan=0 case it behaves like a dumb
switch, so external switches should work fine with vlans and
verified this on the WL-351.

The current state shown by swconfig is always read directly from HW
registers, new settings only show after 'swconfig dev rt305x set apply'.

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33299 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-29 10:37:36 +00:00
Gabor Juhos
357755f0cc ramips: ramips_esw.c indentation cleanup
Minor indentation cleanup.

Prepare for the main swconfig patch by cleaning up indentation a bit.

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33298 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-29 10:37:35 +00:00
Gabor Juhos
37afa3cabe ramips: add board alias for the ALL0239-3G
Generate image for the ALL0239-3G which can be flashed through the
chipset-vendor SDK based firmware's web-interface and bootloader.

The bootloader seems to ignore uImage checksum errors, but does complain about
them once the 0xDEADC0DE was replaced by an actual JFFS2 page.

I'm working on implementing fixtrx for uImage in the mtd package to solve this.

Signed-off-by: Daniel Golle <dgolle@allnet.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33206 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-17 17:56:07 +00:00
Gabor Juhos
e453fc0796 ramips: add support for D-Link DIR-615 H1
rt2x00 still needs some patching as the radio doesn't come to life.
Installation via webflash.

[juhosg: fix whitespace issues, remove rt305x_register_usb
from machine setup because the board has no USB port]

Signed-off-by: Mikko Hissa <mikko.hissa@uta.fi>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33205 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-17 17:56:05 +00:00
Gabor Juhos
ada827ea02 ramips: rename rt3352 usb platform devices
In order to get OHCI/EHCI working on the Rt3352, the platform device must be
named so rt3883-?hci will recognize it.

Signed-off-by: Daniel Golle <dgolle@allnet.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33145 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-12 12:48:31 +00:00
Gabor Juhos
f5cbc0457a ramips: watchdog: use maximum possible timeout by default
As the userspace has no means to determine the maximum possible timeout, use
that as the default and let the userspace lower it when necessary.

As the result the usual OpenWrt install (with busybox's watchdog trying to set
the timeout to 60s on start) is using a 33s timeout on an RT3052 clocked at
384MHz instead of the current 20s default.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33144 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-12 12:48:28 +00:00
Gabor Juhos
41a89cfaab ramips: add D-Link DIR-620 A1 support
Full functionality runtime tested, installation via OEM web-interface requires
a follow-up patch.

Thanks go to Sergey Vasilyugin for his patch that pointed me at the missing
bits (including the antiparallel wps led).

Signed-off-by: Paul Fertser <fercerpav@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33142 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-12 12:48:24 +00:00
John Crispin
868ad2121e [ramips] DWC otg usb: compilation fixes and trivial bugfix in slave mode
Signed-of-by: Nikolai Zhubr <n-a-zhubr@yandex.ru>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32823 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-24 20:38:55 +00:00
John Crispin
d3acf0305c [ramips] D-Link DAP-1350 initial support
The initial support for the D-Link DAP-1350.
USB related functionality is not tested.

Signed-off-by: Yoichi Shinoda <shinoda@jaist.ac.jp>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32821 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-24 20:38:43 +00:00
John Crispin
c5ec28deae [ramips] enable OHCI/EHCI glue on Rt305x, so it is available for Rt3352F.
Hope that this works, didn't have a chance to actually test it...

Signed-off-by: Daniel Golle <dgolle@allnet.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32815 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-24 20:38:08 +00:00
John Crispin
bc1e4be7d4 [ramips] add support for Allnet ALL5002 to kernel
support ALL5002 in ramips/rt305x branch of the kernel.

Signed-off-by: Daniel Golle <dgolle@allnet.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32813 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-24 20:37:56 +00:00
John Crispin
664e8551c6 [ramips] uart_clk on Rt3352F is always 40MHz
Currently, sys_clk/10 is used which is just wrong.
cpu_clk/10 would work for systems with 400MHz CPU clock.

Signed-off-by: Daniel Golle <dgolle@allnet.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32812 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-24 20:37:50 +00:00
Gabor Juhos
cb32e76a01 ramips: rt305x: add support for Edimax 3G-6200N
Support for Edimax 3G-6200N router with USB.

Signed-off-by: Lukasz Golebiowski <lgolebio@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32682 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-12 13:29:46 +00:00
Gabor Juhos
baeafa83d2 ramips: rt305x: add support for the Petatel PSR-680W Wireless CDMA Router
This patch adds support for the Korean made Petatel PSR-680W Wireless CDMA Router.
The platform is based on Ralink RT3052.
http://wiki.openwrt.org/toh/petatel/psr-680w

Signed-off-by: Dmitry Shmygov <shmygov at rambler.ru>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32450 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-19 09:52:15 +00:00
Gabor Juhos
84bbc1f8b0 ramips: WAN LED for D-Link DIR-300-B1
Add led devices for D-Link DIR-300-B1 WAN LED.

Note that the GPIO state is also ANDed with the esw switch port 4
LED state, which is why I've set the amber LED to default-on.

Closes: https://dev.openwrt.org/ticket/11326

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

[ juhosg:
- fix comment style in mach-dir-300-revb.c,
- remove the PPP specific LED setup, not everyone uses a PPP connection
  on the WAN interface]

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31989 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-29 16:39:03 +00:00
Gabor Juhos
7613c70c38 ramips: rt3883: add device registration code for the SPI controller
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31922 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-27 17:10:00 +00:00
Gabor Juhos
dafda799dd ramips: rt3883: fix GPIO reservation for the SPI pins
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31920 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-27 17:09:56 +00:00
Gabor Juhos
c47535b3dc ramips: rt305x: remove superfluous controller_data assignment
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31919 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-27 17:09:52 +00:00
Gabor Juhos
db37661614 ramips: Add byte queue limits support to net/ethernet/ramips_main.c
Add byte queue limits support to net/ethernet/ramips_main.c

"Byte queue limits are a mechanism to limit the size of the transmit
hardware queue on a NIC by number of bytes. The goal of these byte
limits is too reduce latency (HOL blocking) caused by excessive
queuing in hardware (aka buffer bloat) without sacrificing
throughput."

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31844 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-23 21:05:23 +00:00
Gabor Juhos
dab41fab68 ramips: W306R V2.0 - GPIO and Network fixes
Fixed: GPIO typos and confirmed GPIO_BUTTON_RESET
Fixed: Lan & Wan reversed: swaped "eth0.2" with "eth0.1" by
       removing a line(default is correct), and reversed the
       Lan/wan layout LLLLW to WLLLL.

Added: image/Makefile now builds -factory.bin files. I am
       unsure of the accepted way to change the makefile but
       the name of the image needs to be 'linkn Kernel Image'
       in order to be accepted by the OEM firmware.

Known issue: eth0 (internal switch i think has mac address:
       00:11:22:33:44:55  but i think it should be same as
       the lan).
Known issue: Pressing the reset button has no noticable effect,
       i would expect the router to boot failsafe if being
       pressed on boot, reboot if short press and reset all
       to default if long press.

[juhosg: remove mtdlayout_W306R and use mtdlayout_4M instead]

Signed-off-by: David Pearce <david_18051985@hotmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31557 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-02 19:17:59 +00:00
Gabor Juhos
74c822a8be ramips: rt305x: add support for the UR-336UN board
Patch-by: Lebedev Dmitry <lebedev@trendnet.ru>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31451 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-23 16:56:06 +00:00
Gabor Juhos
dd0dd6d0a0 ramips: rt305x: add support for the Asus WL-330N3G board
This patch adds support for the ASUS WL-330N3G

Comparing to the WL-330N, It have 32MB ram, usb support and a bicolor led.

The bi-color led is driven by 2 gpio.
I don't know how to handle this, so I simply made 2 leds : one red, one blue.
But the red light takes precedence over the blue one according to the chart below.

r = led is red
b = led is blue
0 = led is off

xy= x->r for red, b for blue led, y->value of brightness in /sys/class/leds/x/brughtness

initial state	action	 led	gpio state

r0	b0	r0->r1	 r  	r0	b0
r0	b0	b0->b1   b	r0	b1

r1	b0	r1->r0	 0	r0	b0
r1	b0	b0->b1	 r	r1	*b1*

r1	b1	r1->r0   b	r0	b1
r1	b1	b1->b0   r	r1	b0

r0	b1	r0->r1   r	r1	*b1*
r0	b1	b1->b0   0	r0	r0

Signed-off-by: Frédéric Leroy <fredo@starox.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31450 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-23 16:56:05 +00:00
Gabor Juhos
9cbdb584bf ramips: rt305x: add OHCI/EHCI registration code for RT3352
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31402 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-21 12:30:48 +00:00
Gabor Juhos
3080f60ee8 ramips: rt305x: fix CPU clock detection on RT3352
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31401 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-21 12:30:47 +00:00
Gabor Juhos
5a5d52784e ramips: rt305x: use different memory size setup for RT3352
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31400 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-21 12:30:45 +00:00
Gabor Juhos
7ffc163753 ramips: rt305x: add initial support for Tenda W306R V2.0
More device info at: http://wiki.openwrt.org/toh/tenda/w306r

Signed-off-by: David Pearce <David_18051985@hotmail.com.au>
[juhosg: fix checkpatch errors, remove kmod-phy and luci-ssl packages
from the profile, change broken GPIO number]

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31396 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-21 12:30:40 +00:00
Jo-Philipp Wich
2f2034752c ramips: add support for the ARC FreeStation5 board, also fix WCR-150GN network setup while we're at it - thanks Pau Escrich <p4u@dabax.net> for the implementation
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31144 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-29 16:03:04 +00:00
Gabor Juhos
b84abd65c9 ramips: rt305x: build image for the DIR-615 rev D boards
Patch from #10105.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31101 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-27 19:29:59 +00:00
Gabor Juhos
18072ef4cf ramips: rt305x: add add support for the Asus WL-330N board
[juhosg: reorder several lines in order to keep things sorted
alphabetically]

Signed-off-by: Frédéric Leroy <fredo@starox.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31100 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-27 19:29:57 +00:00