Topic: Adding OpenWrt support for Asus EA-N66

Just set up an EA-N66 at home; it’s a selectable 802.11abgn 3T3R + 1Gb Ethernet device with decent antennae and a fast SoC/CPU.

It seems like a great candidate for OpenWrt support:

  • Very similar to the Asus RT-N56U - can even boot the RT-N56U OpenWrt build

  • Single Gigabit Ethernet interface (RTL8211E) - no switch chip init needed

  • TTL serial connector pins provided and labelled

  • Telnet console access to root user busybox

  • GPL sources available

I opened it up and photographed the PCBs; so here’s some information to kick off work to get OpenWrt on this device:

I have the device and some tools available (USB TTL serial dongle, OS X terminal, Debian VM), and would love to help in any way possible, short of donating one unit (they’re expensive, more expensive than most 802.11abgn routers).

The Asus firmware isn’t as bad as the NewEgg reviews paint it - it’s just that the EA-N66 runs DHCP+DNS and intercepts Ethernet traffic in AP/repeater mode if it can’t get an upstream network, which can be quite disconcerting.

ndoo.sg

2 (edited by yanggis 2013-02-18 12:54:44)

Re: Adding OpenWrt support for Asus EA-N66

Hi ndoo, I don't think OpenWrt will support for Asus EA-N66.
As you know, Openwrt do support RT-N56U, but actually the wireless never works with OpenWRT firware. If you want to flash this firware, you will lose your wireless founction. Since Ralink never release drivers for RT3883 chips, it it impossible to fully support this router.
Check this link about the mentioned bug:
https://dev.openwrt.org/ticket/12432

Re: Adding OpenWrt support for Asus EA-N66

The Asus firmware seems to be using a RT2860v2 kernel module for RT3883 WiFi according to lsmod.

Anyway, it would be nice to at least have OpenWrt boot on it then figure out the WiFi.

ndoo.sg

Re: Adding OpenWrt support for Asus EA-N66

So, can anyone tell me if loading the current firmware (at the link below) results in a functional and configurable router? 

http://wiki.openwrt.org/toh/asus/ea-n66

5 (edited by antdes457 2015-11-29 20:59:16)

Re: Adding OpenWrt support for Asus EA-N66

Got it working at least partially today.

The TEW-691GR image was already able to boot on that device with wifi working, so I made a few modifications to get the lan port working.

There are a few things to correct, as I can't get LEDs and buttons working, and the LAN port flashes as if there was no link (but works)


U-Boot 1.1.3 (Feb  3 2012 - 10:27:47)

Board: Ralink APSoC DRAM:  32 MB
relocate_code Pointer at: 81b7c000
flash_protect ON: from 0xBC000000 to 0xBC02157B
flash_protect ON: from 0xBC030000 to 0xBC030FFF
*** Warning - bad CRC, using default environment

  Scan PHY Finish, set Addr to 00

 Realtek 8211 phy
============================================
Ralink UBoot Version: 3.6.0.0
--------------------------------------------
ASIC 3883_MP (MAC to GigaPHY Mode)
DRAM component: 256 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 32 MBytes
Flash component: NOR Flash
Date:Feb  3 2012  Time:10:27:47
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768

 ##### The CPU freq = 500 MHZ ####
 estimate memory size =32 Mbytes

Please choose the operation:
   0: Load Boot Loader code to SDRAM via Serial.
   1: Load system code to SDRAM via TFTP.
   2: Load system code then write to Flash via TFTP.
   3: Boot system code via Flash (default).
   4: Entr boot command line interface.
   7: Load Boot Loader code then write to Flash via Serial.
   8: Load Boot Loader code to SDRAM via TFTP.
   9: Load Boot Loader code then write to Flash via TFTP.                     

3: System Boot system code via Flash.

before LEDON:
data:1f
Do bootm
## Booting image at bc050000 ...
   Image Name:   MIPS OpenWrt Linux-
   Created:      2015-11-29  17:59:55 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    1229247 Bytes =  1.2 MB
   Load Address: 80000000
   Entry Point:  80000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 32

Starting kernel ...

[    0.000000] Linux version 3.18.23 (dev@dev-virtual-machine) (gcc version 5.2.0 (OpenWrt GCC 5.2.0 r47670) ) #1 Sun Nov 29 12:59:48 EST 2015
[    0.000000] SoC Type: Ralink RT3883 ver:1 eco:5
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001974c (MIPS 74Kc)
[    0.000000] MIPS: machine is TRENDnet TEW-691GR
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 02000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x00000000-0x01ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00000000-0x01ffffff]
[    0.000000] Initmem setup node 0 [mem 0x00000000-0x01ffffff]
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
[    0.000000] Kernel command line: console=ttyS0,57600 rootfstype=squashfs,jffs2
[    0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
[    0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 28556K/32768K available (2750K kernel code, 127K rwdata, 560K rodata, 200K init, 192K bss, 4212K reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:256
[    0.000000] CPU Clock: 500MHz
[    0.000000] Calibrating delay loop... 249.44 BogoMIPS (lpj=1247232)
[    0.070000] pid_max: default: 32768 minimum: 301
[    0.070000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.080000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.090000] pinctrl core: initialized pinctrl subsystem
[    0.100000] NET: Registered protocol family 16
[    0.110000] rt2880-pinmux pinctrl: invalid group "rgmii" for function "gpio"
[    0.130000] rt2880_gpio 10000600.gpio: registering 24 gpios
[    0.140000] rt2880_gpio 10000600.gpio: registering 24 irq handlers
[    0.150000] rt2880_gpio 10000638.gpio: registering 16 gpios
[    0.160000] Switched to clocksource MIPS
[    0.170000] NET: Registered protocol family 2
[    0.170000] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.190000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.200000] TCP: Hash tables configured (established 1024 bind 1024)
[    0.210000] TCP: reno registered
[    0.220000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.230000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.240000] NET: Registered protocol family 1
[    0.250000] rt-timer 10000100.timer: maximum frequency is 10131Hz
[    0.270000] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.290000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.300000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.320000] msgmni has been set to 55
[    0.340000] io scheduler noop registered
[    0.350000] io scheduler deadline registered (default)
[    0.360000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.370000] console [ttyS0] disabled
[    0.380000] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20, base_baud = 2500000) is a 16550A
[    0.400000] console [ttyS0] enabled
[    0.400000] console [ttyS0] enabled
[    0.410000] bootconsole [early0] disabled
[    0.410000] bootconsole [early0] disabled
[    0.430000] 1c000000.nor-flash: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x0000c2 Chip ID 0x0022a8
[    0.450000] Amd/Fujitsu Extended Query Table at 0x0040
[    0.460000]   Amd/Fujitsu Extended Query version 1.1.
[    0.470000] number of CFI chips: 1
[    0.480000] 4 ofpart partitions found on MTD device 1c000000.nor-flash
[    0.490000] Creating 4 MTD partitions on "1c000000.nor-flash":
[    0.510000] 0x000000000000-0x000000030000 : "u-boot"
[    0.520000] 0x000000030000-0x000000040000 : "u-boot-env"
[    0.530000] 0x000000040000-0x000000050000 : "factory"
[    0.540000] 0x000000050000-0x000000400000 : "firmware"
[    0.550000] 2 uimage-fw partitions found on MTD device firmware
[    0.560000] 0x000000050000-0x00000017c1ff : "kernel"
[    0.570000] 0x00000017c1ff-0x000000400000 : "rootfs"
[    0.590000] mtd: device 5 (rootfs) set to be root filesystem
[    0.600000] 1 squashfs-split partitions found on MTD device rootfs
[    0.610000] 0x000000350000-0x000000400000 : "rootfs_data"
[    0.620000] ralink_soc_eth 10100000.ethernet: using fixed link parameters
[    0.640000] ralink_soc_eth 10100000.ethernet eth0 (uninitialized): link up (1000Mbps/Full duplex)
[    0.650000] ralink_soc_eth 10100000.ethernet eth0: ralink at 0xb0100000, irq 5
[    0.670000] rt2880_wdt 10000120.watchdog: Initialized
[    0.680000] TCP: cubic registered
[    0.690000] NET: Registered protocol family 10
[    0.700000] NET: Registered protocol family 17
[    0.710000] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[    0.730000] 8021q: 802.1Q VLAN Support v1.8
[    0.750000] VFS: Mounted root (squashfs filesystem) readonly on device 31:5.
[    0.770000] Freeing unused kernel memory: 200K (8035e000 - 80390000)
[    1.820000] init: Console is alive
[    1.820000] init: - watchdog -
[    2.830000] init: - preinit -
[    3.290000] ralink_soc_eth 10100000.ethernet eth0: link up (1000Mbps/Full duplex)
[    3.300000] 8021q: adding VLAN 0 to HW filter on device eth0
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    6.630000] jffs2: notice: (290) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[    6.660000] mount_root: switching to jffs2 overlay
[    6.690000] ralink_soc_eth 10100000.ethernet eth0: link down
[    6.720000] procd: - early -
[    6.720000] procd: - watchdog -
[    7.520000] procd: - ubus -
[    8.530000] random: ubusd urandom read with 13 bits of entropy available
[    8.560000] procd: - init -
Please press Enter to activate this console.
[    9.290000] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    9.320000] Loading modules backported from Linux version master-2015-10-26-0-g28c26cb
[    9.330000] Backport generated by backports.git backports-20150903-4-g12cf266
[    9.350000] ip_tables: (C) 2000-2006 Netfilter Core Team
[    9.370000] nf_conntrack version 0.5.0 (449 buckets, 1796 max)
[    9.420000] xt_time: kernel timezone is -0000
[    9.450000] cfg80211: World regulatory domain updated:
[    9.460000] cfg80211:  DFS Master region: unset
[    9.470000] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[    9.490000] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[    9.510000] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[    9.520000] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
[    9.540000] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
[    9.560000] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[    9.580000] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
[    9.590000] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
[    9.610000] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
[    9.680000] PPP generic driver version 2.4.2
[    9.690000] NET: Registered protocol family 24
[    9.740000] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 3883, rev 0400 detected
[    9.750000] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 3853 detected
[   16.600000] ralink_soc_eth 10100000.ethernet eth0: link up (1000Mbps/Full duplex)
[   16.620000] 8021q: adding VLAN 0 to HW filter on device eth0
[   17.060000] cfg80211: Regulatory domain changed to country: US
[   17.070000] cfg80211:  DFS Master region: FCC
[   17.080000] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[   17.100000] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 3000 mBm), (N/A)
[   17.110000] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2300 mBm), (N/A)
[   17.130000] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2300 mBm), (0 s)
[   17.150000] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2300 mBm), (0 s)
[   17.170000] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 3000 mBm), (N/A)
[   17.180000] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A)
[   18.600000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   22.150000] wlan0: authenticate with xx:xx:xx:xx:xx:xx
[   22.200000] wlan0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
[   22.210000] wlan0: authenticated
[   22.230000] wlan0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
[   22.240000] wlan0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=0x111 status=0 aid=2)
[   22.250000] wlan0: associated
[   22.260000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready



BusyBox v1.24.1 (2015-11-29 12:57:11 EST) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 DESIGNATED DRIVER (Bleeding Edge, r47670)
 -----------------------------------------------------
  * 2 oz. Orange Juice         Combine all juices in a
  * 2 oz. Pineapple Juice      tall glass filled with
  * 2 oz. Grapefruit Juice     ice, stir well.
  * 2 oz. Cranberry Juice
 -----------------------------------------------------
root@OpenWrt:/#
diff --git a/package/kernel/linux/modules/netdevices.mk b/package/kernel/linux/modules/netdevices.mk
index ef3cf85..0576a45 100644
--- a/package/kernel/linux/modules/netdevices.mk
+++ b/package/kernel/linux/modules/netdevices.mk
@@ -164,6 +164,21 @@ endef
 
 $(eval $(call KernelPackage,phy-broadcom))
 
+define KernelPackage/phy-realtek
+   SUBMENU:=$(NETWORK_DEVICES_MENU)
+   TITLE:=Realtek Ethernet PHY driver
+   KCONFIG:=CONFIG_REALTEK_PHY
+   DEPENDS:=+kmod-libphy
+   FILES:=$(LINUX_DIR)/drivers/net/phy/realtek.ko
+   AUTOLOAD:=$(call AutoProbe,realtek)
+endef
+
+define KernelPackage/phy-broadcom/description
+   RTL821x PHY support
+endef
+
+$(eval $(call KernelPackage,phy-realtek))
+
 
 define KernelPackage/swconfig
   SUBMENU:=$(NETWORK_DEVICES_MENU)
diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network
index 7e51229..8f5019f 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -165,6 +165,7 @@ ramips_setup_interfaces()
         ;;
     d105|\
     hpm|\
+    tew-691gr|\
     na930|\
     wli-tx4-ag300n)
         ucidef_set_interface_lan "eth0"
@@ -205,7 +206,6 @@ ramips_setup_interfaces()
         ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 8t"
         ucidef_add_switch_vlan "switch0" "2" "4 8t"
         ;;
-    tew-691gr|\
     tew-692gr)
         ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
         ucidef_add_switch "switch0" "1" "1"
diff --git a/target/linux/ramips/dts/TEW-691GR.dts b/target/linux/ramips/dts/TEW-691GR.dts
index 5bd6444..5fe842c 100644
--- a/target/linux/ramips/dts/TEW-691GR.dts
+++ b/target/linux/ramips/dts/TEW-691GR.dts
@@ -15,31 +15,24 @@
     pinctrl {
         state_default: pinctrl0 {
             gpio {
                ralink,group = "spi", "i2c", "jtag", "uartf";
                 ralink,function = "gpio";
             };
         };
     };
 
     ethernet@10100000 {
-        mtd-mac-address = <&factory 0x28>;
+        mtd-mac-address = <&factory 0x4>;
 
         port@0 {
-            phy-handle = <&phy0>;
-            phy-mode = "rgmii";
-        };
-
-        mdio-bus {
-            status = "okay";
-
-            phy0: ethernet-phy@0 {
-                reg = <0>;
-            };
+            ralink,fixed-link = <1000 1 1 1>;
         };
     };
 
     wmac@10180000 {
-        ralink,5ghz = <0>;
+        status = "okay";
+        ralink,2ghz = <0>;
+        ralink,mtd-eeprom = <&factory 0>;
     };
 
     nor-flash@1c000000 {
@@ -68,42 +61,10 @@
         };
 
         partition@50000 {
-            reg = <0x00050000 0x007b0000>;
+            reg = <0x00050000 0x003b0000>;
             label = "firmware";
         };
     };
 
-    gpio-keys-polled {
-        compatible = "gpio-keys-polled";
-        #address-cells = <1>;
-        #size-cells = <0>;
-        poll-interval = <100>;
-
-        reset {
-            label = "reset";
-            gpios = <&gpio0 10 1>;
-            linux,code = <0x198>;
-        };
-
-        wps {
-            label = "wps";
-            gpios = <&gpio1 2 1>;
-            linux,code = <0x211>;
-        };
-
-        rfkill {
-            label = "rfkill";
-            gpios = <&gpio0 0 1>;
-            linux,code = <0xf7>;
-        };
-    };
-
-    gpio-leds {
-        compatible = "gpio-leds";
 
-        wps {
-            label = "tew-691gr:green:wps";
-            gpios = <&gpio0 9 1>;
-        };
-    };
 };
diff --git a/target/linux/ramips/rt3883/config-3.18 b/target/linux/ramips/rt3883/config-3.18
index 6dccb46..e1ab1e6 100644
--- a/target/linux/ramips/rt3883/config-3.18
+++ b/target/linux/ramips/rt3883/config-3.18
@@ -147,6 +147,7 @@ CONFIG_RALINK=y
 CONFIG_RALINK_USBPHY=y
 CONFIG_RALINK_WDT=y
 # CONFIG_RCU_STALL_COMMON is not set
+CONFIG_REALTEK_PHY=y
 CONFIG_RESET_CONTROLLER=y
 CONFIG_RTL8366_SMI=y
 CONFIG_RTL8367B_PHY=y
diff --git a/target/linux/ramips/rt3883/profiles/trendnet.mk b/target/linux/ramips/rt3883/profiles/trendnet.mk
index 5a055ae..5944c16 100644
--- a/target/linux/ramips/rt3883/profiles/trendnet.mk
+++ b/target/linux/ramips/rt3883/profiles/trendnet.mk
@@ -7,7 +7,7 @@
 
 define Profile/TEW691GR
     NAME:=TRENDnet TEW-691GR
-    PACKAGES:=swconfig
+    PACKAGES:=swconfig kmod-phy-realtek
 endef
 
 define Profile/TEW691GR/Description

Re: Adding OpenWrt support for Asus EA-N66

Hi antdes457,

would you mind sharing your binary build?
Which method did you use to flash?

I'm asking because via serial TTL (57600 8N1) I can see the bootlog but I can't send any data (tried changing Flow control settings to no avail), thus I cannot break the boot process so that I can load an image from TFTP to router RAM. In other words I'm stuck with flashing from TFTP, and I would not risk flashing an image build by myself!

thank you

Re: Adding OpenWrt support for Asus EA-N66

I solved my problem with the serial TTL by swapping my cp210x based adapter with a pl2303 based one, now I can break the bootloader and load an OpenWRT initramfs image. I tested antdes457 patch and I can get a successful boot, although nor WiFi neither ethernet worked out of the box.

So this is my attempt to produce a working patch based on trunk.
Basically it is a rework of antdes457 patch with the following differences:

- added new profile for EA-N66 (instead of modifying TEW-691GR)
- set RTL8211E ethernet speed to 100Mbps fixed (instead of 1000Mbps fixed)
- make WiFi work on 2.4GHz band
- typo fix on package/kernel/linux/modules/netdevices.mk hunk


 Realtek 8211 phy
============================================ 
Ralink UBoot Version: 3.6.0.0
-------------------------------------------- 
ASIC 3883_MP (MAC to GigaPHY Mode)
DRAM component: 256 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 32 MBytes
Flash component: NOR Flash
Date:Feb  3 2012  Time:10:27:47
============================================ 
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768 

 ##### The CPU freq = 500 MHZ #### 
 estimate memory size =32 Mbytes

Please choose the operation: 
   0: Load Boot Loader code to SDRAM via Serial. 
   1: Load system code to SDRAM via TFTP. 
   2: Load system code then write to Flash via TFTP. 
   3: Boot system code via Flash (default).
   4: Entr boot command line interface.
   7: Load Boot Loader code then write to Flash via Serial. 
   8: Load Boot Loader code to SDRAM via TFTP. 
   9: Load Boot Loader code then write to Flash via TFTP. 

You choosed 1

 0 

   
1: System Load Linux to SDRAM via TFTP. 
 Please Input new ones /or Ctrl-C to discard
        Input device IP (172.16.1.1) ==:172.16.1.1  
        Input server IP (172.16.1.100) ==:172.16.1.100
        Input Linux Kernel filename (openwrt-ramips-rt3883-ea-n66-initramfs-uImage.bin) ==:openwrt-ramips-rt3883-ea-n66-initramfs-uImage.bin

 netboot_common, argc= 3 

 NetTxPacket = 0x81BB58C0 

 KSEG1ADDR(NetTxPacket) = 0xA1BB58C0 

 NetLoop,call eth_halt ! 

 NetLoop,call eth_init ! 
Trying Eth0 (10/100-M)

 Waitting for RX_DMA_BUSY status Start... done


 Header Payload scatter function is Disable !! 

 ETH_STATE_ACTIVE!! 
switch prereq:0
Using Eth0 (10/100-M) device
TFTP from server 172.16.1.100; our IP address is 172.16.1.1
Filename 'openwrt-ramips-rt3883-ea-n66-initramfs-uImage.bin'.

 TIMEOUT_COUNT=10,Load address: 0x80700000
Loading: Got ARP REPLY, set server/gtwy eth addr (xx:xx:xx:xx:xx:xx)
Got it
#################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #############################################################
done
Bytes transferred = 2974267 (2d623b hex)
NetBootFileXferSize= 002d623b
File: env_flash.c, Func: saveenv, Line: 302
copy old content: sect_addr: BC030000  env_addr: BC030000  offset: 00000000
Protect off BC030000 ... BC03FFFF

 b_end =BC3FFFFF
Un-Protecting sectors 10..10 in bank 1
Un-Protected 1 sectors
Erasing Flash...
 b_end =BC3FFFFF
Erase Flash from 0xbc030000 to 0xbc03ffff in Bank # 1 

 erase sector  = 10 
sect = 10,s_last = 10,erase poll = 1435520
 done
Erased 1 sectors
Writing to Flash... done

 b_end =BC3FFFFF
Protecting sectors 10..10 in bank 1
Protected 1 sectors
Automatic boot of image at addr 0x80700000 ...
## Booting image at 80700000 ...
   Image Name:   MIPS OpenWrt Linux-4.3
   Created:      2015-12-16  16:06:03 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    2974203 Bytes =  2.8 MB
   Load Address: 80000000
   Entry Point:  80000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 32

Starting kernel ...

[    0.000000] Linux version 4.3.0 (frankio@xw4400) (gcc version 5.2.0 (OpenWrt GCC 5.2.0 r47894) ) #6 Wed Dec 16 17:05:46 CET 2015
[    0.000000] SoC Type: Ralink RT3883 ver:1 eco:5
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001974c (MIPS 74Kc)
[    0.000000] MIPS: machine is Asus EA-N66
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 02000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000001ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000001ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000001ffffff]
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
[    0.000000] Kernel command line: console=ttyS0,57600 rootfstype=squashfs,jffs2
[    0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
[    0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Writing ErrCtl register=00000ea0
[    0.000000] Readback ErrCtl register=00000ea0
[    0.000000] Memory: 26828K/32768K available (2868K kernel code, 117K rwdata, 588K rodata, 1792K init, 195K bss, 5940K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:256
[    0.000000] CPU Clock: 500MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041786 ns
[    0.000011] sched_clock: 32 bits at 250MHz, resolution 4ns, wraps every 8589934590ns
[    0.015461] Calibrating delay loop... 249.44 BogoMIPS (lpj=1247232)
[    0.090643] pid_max: default: 32768 minimum: 301
[    0.099946] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.112982] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.132600] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.152250] pinctrl core: initialized pinctrl subsystem
[    0.163281] NET: Registered protocol family 16
[    0.193488] rt2880_gpio 10000600.gpio: registering 24 gpios
[    0.204520] rt2880_gpio 10000600.gpio: registering 24 irq handlers
[    0.216954] rt2880_gpio 10000638.gpio: registering 16 gpios
[    0.229764] clocksource: Switched to clocksource MIPS
[    0.241438] NET: Registered protocol family 2
[    0.250968] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.264750] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.277343] TCP: Hash tables configured (established 1024 bind 1024)
[    0.290094] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.301608] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.314358] NET: Registered protocol family 1
[    2.804551] rt-timer 10000100.timer: maximum frequency is 5065Hz
[    2.817528] futex hash table entries: 256 (order: -1, 3072 bytes)
[    2.848081] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    2.859614] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    2.882560] io scheduler noop registered
[    2.890280] io scheduler deadline registered (default)
[    2.901435] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    2.915385] console [ttyS0] disabled
[    2.922440] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20, base_baud = 2500000) is a Palmchip BK-3103
[    2.942114] console [ttyS0] enabled
[    2.942114] console [ttyS0] enabled
[    2.955921] bootconsole [early0] disabled
[    2.955921] bootconsole [early0] disabled
[    2.973124] 1c000000.nor-flash: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x0000c2 Chip ID 0x0022a8
[    2.994193] Amd/Fujitsu Extended Query Table at 0x0040
[    3.004446]   Amd/Fujitsu Extended Query version 1.1.
[    3.014517] number of CFI chips: 1
[    3.024162] 4 ofpart partitions found on MTD device 1c000000.nor-flash
[    3.037231] Creating 4 MTD partitions on "1c000000.nor-flash":
[    3.048885] 0x000000000000-0x000000030000 : "u-boot"
[    3.060757] 0x000000030000-0x000000040000 : "u-boot-env"
[    3.073495] 0x000000040000-0x000000050000 : "factory"
[    3.085718] 0x000000050000-0x000000400000 : "firmware"
[    3.100618] ralink_soc_eth 10100000.ethernet: using fixed link parameters
[    3.114225] ralink_soc_eth 10100000.ethernet eth0 (uninitialized): link up (100Mbps/Full duplex)
[    3.132601] ralink_soc_eth 10100000.ethernet eth0: ralink at 0xb0100000, irq 5
[    3.147705] rt2880_wdt 10000120.watchdog: Initialized
[    3.159381] NET: Registered protocol family 10
[    3.173626] NET: Registered protocol family 17
[    3.182659] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[    3.207823] 8021q: 802.1Q VLAN Support v1.8
[    3.231757] Freeing unused kernel memory: 1792K (80380000 - 80540000)
[    3.260047] init: Console is alive
[    3.267059] init: - watchdog -
[    4.274092] init: - preinit -
[    4.397702] ralink_soc_eth 10100000.ethernet eth0: link up (100Mbps/Full duplex)
[    4.413368] 8021q: adding VLAN 0 to HW filter on device eth0
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    6.590707] ralink_soc_eth 10100000.ethernet eth0: link down
[    6.613722] procd: - early -
[    6.619580] procd: - watchdog -
[    7.192894] procd: - ubus -
[    8.201332] random: ubusd urandom read with 13 bits of entropy available
[    8.216639] procd: - init -
Please press Enter to activate this console.
[    8.868921] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    8.893835] Loading modules backported from Linux version master-2015-12-03-0-g1677f62
[    8.909680] Backport generated by backports.git backports-20151120-0-g906a6b3
[    8.928690] ip_tables: (C) 2000-2006 Netfilter Core Team
[    8.951273] nf_conntrack version 0.5.0 (447 buckets, 1788 max)
[    9.008584] xt_time: kernel timezone is -0000
[    9.038879] cfg80211: World regulatory domain updated:
[    9.049192] cfg80211:  DFS Master region: unset
[    9.057878] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[    9.077305] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[    9.093263] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[    9.109220] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
[    9.125180] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
[    9.144082] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[    9.162982] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
[    9.179111] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
[    9.195067] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
[    9.273650] PPP generic driver version 2.4.2
[    9.285372] NET: Registered protocol family 24
[    9.330258] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 3883, rev 0400 detected
[    9.345761] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 3853 detected
[   16.101259] ralink_soc_eth 10100000.ethernet eth0: link up (100Mbps/Full duplex)
[   16.116454] 8021q: adding VLAN 0 to HW filter on device eth0
[   16.181717] device eth0 entered promiscuous mode
[   16.222478] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   17.079851] br-lan: port 1(eth0) entered forwarding state
[   17.090705] br-lan: port 1(eth0) entered forwarding state
[   17.149861] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   19.089778] br-lan: port 1(eth0) entered forwarding state



BusyBox v1.24.1 (2015-12-16 15:21:08 CET) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 DESIGNATED DRIVER (Bleeding Edge, r47894)
 -----------------------------------------------------
  * 2 oz. Orange Juice         Combine all juices in a
  * 2 oz. Pineapple Juice      tall glass filled with
  * 2 oz. Grapefruit Juice     ice, stir well.
  * 2 oz. Cranberry Juice
 -----------------------------------------------------
root@OpenWrt:/# 
diff --git a/package/kernel/linux/modules/netdevices.mk b/package/kernel/linux/modules/netdevices.mk
index ef3cf85..0c55383 100644
--- a/package/kernel/linux/modules/netdevices.mk
+++ b/package/kernel/linux/modules/netdevices.mk
@@ -165,6 +165,22 @@ endef
 $(eval $(call KernelPackage,phy-broadcom))
 
 
+define KernelPackage/phy-realtek
+   SUBMENU:=$(NETWORK_DEVICES_MENU)
+   TITLE:=Realtek Ethernet PHY driver
+   KCONFIG:=CONFIG_REALTEK_PHY
+   DEPENDS:=+kmod-libphy
+   FILES:=$(LINUX_DIR)/drivers/net/phy/realtek.ko
+   AUTOLOAD:=$(call AutoProbe,realtek)
+endef
+
+define KernelPackage/phy-realtek/description
+   RTL821x PHY support
+endef
+
+$(eval $(call KernelPackage,phy-realtek))
+
+
 define KernelPackage/swconfig
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=switch configuration API
diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network
index 719e968..89b0743 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -148,6 +148,7 @@ ramips_setup_interfaces()
             "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
         ;;
     d105|\
+    ea-n66|\
     hpm|\
     na930|\
     wli-tx4-ag300n)
diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
index 62be045..225eff5 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -151,6 +151,9 @@ ramips_board_detect() {
     *"E1700")
         name="e1700"
         ;;
+    *"EA-N66")
+        name="ea-n66"
+        ;;
     *"ESR-9753")
         name="esr-9753"
         ;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index f8073d1..2ab7209 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -50,6 +50,7 @@ platform_check_image() {
     dir-620-d1|\
     dir-810l|\
     e1700|\
+    ea-n66|\
     esr-9753|\
     f7c027|\
     firewrt|\
diff --git a/target/linux/ramips/dts/EA-N66.dts b/target/linux/ramips/dts/EA-N66.dts
new file mode 100644
index 0000000..610739e
--- /dev/null
+++ b/target/linux/ramips/dts/EA-N66.dts
@@ -0,0 +1,67 @@
+/dts-v1/;
+
+/include/ "rt3883.dtsi"
+
+/ {
+    compatible = "EA-N66", "ralink,rt3883-soc";
+    model = "Asus EA-N66";
+
+    palmbus@10000000 {
+        gpio1: gpio@638 {
+            status = "okay";
+        };
+    };
+
+    pinctrl {
+        state_default: pinctrl0 {
+            gpio {
+                ralink,group = "spi", "i2c", "jtag", "uartf";
+                ralink,function = "gpio";
+            };
+        };
+    };
+
+    ethernet@10100000 {
+        mtd-mac-address = <&factory 0x4>;
+
+        port@0 {
+            ralink,fixed-link = <100 1 1 1>;
+        };
+    };
+
+    wmac@10180000 {
+        status = "okay";
+        ralink,mtd-eeprom = <&factory 0>;
+    };
+
+    nor-flash@1c000000 {
+        compatible = "cfi-flash";
+        reg = <0x1c000000 0x800000>;
+        bank-width = <2>;
+        #address-cells = <1>;
+        #size-cells = <1>;
+
+        partition@0 {
+            reg = <0x0 0x0030000>;
+            label = "u-boot";
+            read-only;
+        };
+
+        partition@30000 {
+            reg = <0x00030000 0x00010000>;
+            label = "u-boot-env";
+            read-only;
+        };
+
+        factory: partition@40000 {
+            reg = <0x00040000 0x00010000>;
+            label = "factory";
+            read-only;
+        };
+
+        partition@50000 {
+            reg = <0x00050000 0x003b0000>;
+            label = "firmware";
+        };
+    };
+};
diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile
index 2c0fc46..af8ee0b 100644
--- a/target/linux/ramips/image/Makefile
+++ b/target/linux/ramips/image/Makefile
@@ -887,6 +887,8 @@ define BuildFirmware/RTN56U/squashfs
 endef
 Image/Build/Profile/RTN56U=$(call BuildFirmware/RTN56U/$(1),$(1),rt-n56u,RT-N56U)
 
+Image/Build/Profile/EAN66=$(call BuildFirmware/UMedia/$(1),$(1),ea-n66,EA-N66,0x026910)
+
 Image/Build/Profile/TEW691GR=$(call BuildFirmware/UMedia/$(1),$(1),tew-691gr,TEW-691GR,0x026910)
 
 Image/Build/Profile/TEW692GR=$(call BuildFirmware/UMedia/$(1),$(1),tew-692gr,TEW-692GR,0x026920)
@@ -902,6 +904,7 @@ define Image/Build/Profile/Default
     $(call Image/Build/Profile/HPM,$(1))
     $(call Image/Build/Profile/RTN56U,$(1))
     $(call Image/Build/Profile/BR6475ND,$(1))
+    $(call Image/Build/Profile/EAN66,$(1))
     $(call Image/Build/Profile/TEW691GR,$(1))
     $(call Image/Build/Profile/TEW692GR,$(1))
 endef
diff --git a/target/linux/ramips/rt3883/profiles/asus.mk b/target/linux/ramips/rt3883/profiles/asus.mk
index 4c652df..6eb1ecd 100644
--- a/target/linux/ramips/rt3883/profiles/asus.mk
+++ b/target/linux/ramips/rt3883/profiles/asus.mk
@@ -5,6 +5,17 @@
 # See /LICENSE for more information.
 #
 
+define Profile/EAN66
+    NAME:=Asus EA-N66
+    PACKAGES:=kmod-phy-realtek swconfig
+endef
+
+define Profile/EAN66/Description
+    Package set compatible with the Asus EA-N66 board.
+endef
+$(eval $(call Profile,EAN66))
+
+
 define Profile/RTN56U
     NAME:=Asus RT-N56U
     PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2 swconfig

Happy testing.

Re: Adding OpenWrt support for Asus EA-N66

Hi frankio, was about to answer but sounds like you got it working.

All my testing was done by flashing directly to TFTP with the recovery method. The rescue bootloader on that device seems bulletproof. I basically found the TEW-691GR profile worked by flashing every openwrt rt3883 images one by one on the EA-N66, 4MB or 8MB, whichever.

The 4MB flash on that device is quite limiting though. You can easily fill the overlayfs by commiting too many files with UCI.

Hmm, I forgot to remove ralink,2ghz = <0>; in the path I posted.

There should be a way to set auto link speed for ethernet I just don't know how.

As for the GPIOs, I attempted to follow the gpio scan instructions posted in the wiki, but the device only gives acces denied on every pins.

Re: Adding OpenWrt support for Asus EA-N66

Hello everyone.
I am having trouble with the stock firmware. After some time running I start getting very high ping times, so I want to try with OpenWRT.

Can you point me in the right direction? Have you got any build that's flashable direcly from Asus recovery?
Is it fully functional? I am not interested in GPIO, nor led or 5Ghz wifi. I need 2.4 and gigabit ethernet.

Looking forward to your answer! Thanks!
Gonzalo

Re: Adding OpenWrt support for Asus EA-N66

Please, anyone can share a working build for this?
Thanks, regards.
Gonzalo

Re: Adding OpenWrt support for Asus EA-N66

antdes457 wrote:

I basically found the TEW-691GR profile worked by flashing every openwrt rt3883 images one by one on the EA-N66, 4MB or 8MB, whichever.

Ah, nice and effective strategy, thank you for sharing!

antdes457 wrote:

There should be a way to set auto link speed for ethernet I just don't know how.

We are on the same boat, I tried hard to mimick other board DTS configuration although they were just clueless attempts.

antdes457 wrote:

As for the GPIOs, I attempted to follow the gpio scan instructions posted in the wiki, but the device only gives acces denied on every pins.

I think I've found LED and buttons GPIO, the wiki script scans gpio0 only, I had to modify it to scan gpio1 and gpio2 as well.
This is my last working DTS, buttons untested.

/dts-v1/;

/include/ "rt3883.dtsi"

/ {
    compatible = "EA-N66", "ralink,rt3883-soc";
    model = "Asus EA-N66";

    palmbus@10000000 {
        gpio1: gpio@638 {
            status = "okay";
        };
    };

    pinctrl {
        state_default: pinctrl0 {
            gpio {
                ralink,group = "i2c", "spi", "uartf", "jtag";
                ralink,function = "gpio";
            };
        };
    };

    ethernet@10100000 {
        mtd-mac-address = <&factory 0x4>;

        port@0 {
            mediatek,fixed-link = <1000 1 1 1>;
        };
    };

    wmac@10180000 {
        status = "okay";
        ralink,mtd-eeprom = <&factory 0>;
    };

    nor-flash@1c000000 {
        compatible = "cfi-flash";
        reg = <0x1c000000 0x800000>;
        bank-width = <2>;
        #address-cells = <1>;
        #size-cells = <1>;

        partition@0 {
            reg = <0x0 0x0030000>;
            label = "u-boot";
            read-only;
        };

        partition@30000 {
            reg = <0x00030000 0x00010000>;
            label = "u-boot-env";
            read-only;
        };

        factory: partition@40000 {
            reg = <0x00040000 0x00010000>;
            label = "factory";
            read-only;
        };

        partition@50000 {
            reg = <0x00050000 0x003b0000>;
            label = "firmware";
        };
    };

    gpio-keys-polled {
        compatible = "gpio-keys-polled";
        #address-cells = <1>;
        #size-cells = <0>;
        poll-interval = <100>;

        reset {
            label = "reset";
            gpios = <&gpio1 1 0>;
            linux,code = <0x198>;
        };

        wps {
            label = "wps";
            gpios = <&gpio1 2 0>;
            linux,code = <0x211>;
        };
    };

    gpio-leds {
        compatible = "gpio-leds";

        wifi {
            label = "ea-n66:blue:wifi";
            gpios = <&gpio0 0 0>;
        };
    };

};


gnalbandian wrote:

Hello everyone.
I am having trouble with the stock firmware. After some time running I start getting very high ping times, so I want to try with OpenWRT.

You lucky!
I got 2 units, both of them were hanging after 1 or 2 day of operation, not even responding to ping, I had to unplug the power to backup. Upgrading to latest Asus firmware release 1.0.1.8p didn't make any difference.

Then I become interested in running OpenWRT, but now they are failing badly... mad
I cannot get them to reliably boot anymore, so my tests are pretty over!

gnalbandian wrote:

Can you point me in the right direction? Have you got any build that's flashable direcly from Asus recovery?
Is it fully functional? I am not interested in GPIO, nor led or 5Ghz wifi. I need 2.4 and gigabit ethernet.

For flashing howto look to the wiki, although I chose to go with serial TTL access to the board and then instructed the bootloader to load an initramfs image from TFTP, so I could try different firmware without flashing anything.

ATM, when applying the patches posted above, pretty everything is working, except ethernet link auto-negotiation.
You have to choose at building time a fixed speed between 10, 100 or 1000 Mbps.

gnalbandian wrote:

Please, anyone can share a working build for this?

I can provide you a squashfs image but you won't be able to flash it from Asus stock web interface as is.
I had a quick look to original firmware Umedia-style header and I think minor modifications are needed as there seems to be no cryptographic signature.