Another success! I got one of the LAN-ports working!
I'll sort out the settings and files needed and post them here soon.
Edit:
--- trunk/target/linux/ar71xx/base-files/lib/ar71xx.sh~ 2009-10-08 11:54:10.000000000 +0200
+++ trunk/target/linux/ar71xx/base-files/lib/ar71xx.sh 2009-11-03 12:11:35.000000000 +0100
@@ -70,6 +70,9 @@
*WRT160NL)
name="wrt160nl"
;;
+ *WNDR3700)
+ name="wndr3700"
+ ;;
*WRT400N)
name="wrt400n"
;;
--- trunk/target/linux/ar71xx/config-2.6.30~ 2009-11-03 17:44:01.000000000 +0100
+++ trunk/target/linux/ar71xx/config-2.6.30 2009-11-03 18:11:12.000000000 +0100
@@ -19,6 +19,7 @@
CONFIG_AR71XX_MACH_WNR2000=y
CONFIG_AR71XX_MACH_WP543=y
CONFIG_AR71XX_MACH_WRT160NL=y
+CONFIG_AR71XX_MACH_WNDR3700=y
CONFIG_AR71XX_MACH_WRT400N=y
CONFIG_AR71XX_WDT=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
--- trunk/target/linux/ar71xx/config-2.6.31~ 2009-11-03 17:44:01.000000000 +0100
+++ trunk/target/linux/ar71xx/config-2.6.31 2009-11-03 18:11:36.000000000 +0100
@@ -21,6 +21,7 @@
CONFIG_AR71XX_MACH_WNR2000=y
CONFIG_AR71XX_MACH_WP543=y
CONFIG_AR71XX_MACH_WRT160NL=y
+CONFIG_AR71XX_MACH_WNDR3700=y
CONFIG_AR71XX_MACH_WRT400N=y
CONFIG_AR71XX_WDT=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
--- trunk/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig~ 2009-11-03 17:44:00.000000000 +0100
+++ trunk/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig 2009-11-03 18:12:16.000000000 +0100
@@ -35,6 +35,10 @@
bool "Linksys WRT160NL board support"
default y
+config AR71XX_MACH_WNDR3700
+ bool "Netgear WNDR3700 board support"
+ default y
+
config AR71XX_MACH_WRT400N
bool "Linksys WRT400N board support"
default y
--- trunk/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile~ 2009-11-03 17:44:00.000000000 +0100
+++ trunk/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile 2009-11-03 18:12:38.000000000 +0100
@@ -29,4 +29,5 @@
obj-$(CONFIG_AR71XX_MACH_WNR2000) += mach-wnr2000.o
obj-$(CONFIG_AR71XX_MACH_WP543) += mach-wp543.o
obj-$(CONFIG_AR71XX_MACH_WRT160NL) += mach-wrt160nl.o
+obj-$(CONFIG_AR71XX_MACH_WNDR3700) += mach-wndr3700.o
obj-$(CONFIG_AR71XX_MACH_WRT400N) += mach-wrt400n.o
--- trunk/target/linux/ar71xx/files/arch/mips/ar71xx/prom.c~ 2009-11-03 18:06:57.000000000 +0100
+++ trunk/target/linux/ar71xx/files/arch/mips/ar71xx/prom.c 2009-11-03 18:13:31.000000000 +0100
@@ -92,6 +92,9 @@
.name = "WRT160NL",
.mach_type = AR71XX_MACH_WRT160NL,
}, {
+ .name = "WNDR3700",
+ .mach_type = AR71XX_MACH_WNDR3700,
+ }, {
.name = "WP543",
.mach_type = AR71XX_MACH_WP543,
}, {
--- trunk/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h~ 2009-11-03 17:44:00.000000000 +0100
+++ trunk/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h 2009-11-03 18:14:05.000000000 +0100
@@ -144,6 +144,7 @@
AR71XX_MACH_WNR2000, /* NETGEAR WNR2000 */
AR71XX_MACH_WP543, /* Compex WP543 */
AR71XX_MACH_WRT160NL, /* Linksys WRT160NL */
+ AR71XX_MACH_WNDR3700, /* Netgear WNDR3700 */
AR71XX_MACH_WRT400N, /* Linksys WRT400N */
};
This was basically what juhosg changed to introduce the wrt160nl here.
Now two new files: trunk/target/linux/ar71xx/profiles/netgear.mk
#
# Copyright (C) 2009 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/WNDR3700
NAME:=Netgear WNDR3700
PACKAGES:=kmod-ath9k hostapd-mini kmod-usb-core kmod-usb-ohci kmod-usb2 swconfig
endef
define Profile/WNDR3700/Description
Package set optimized for the Netgear WNDR3700.
endef
$(eval $(call Profile,WNDR3700))
trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wndr3700.c
/*
* Netgear WNDR3700 board support
*
* Copyright (C) 2009 Marco Porsch
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*/
#include <linux/platform_device.h>
//#include <linux/mtd/mtd.h>
//#include <linux/mtd/partitions.h>
//#include <linux/spi/spi.h>
//#include <linux/spi/flash.h>
#include <linux/input.h>
#include <asm/mips_machine.h>
#include <asm/mach-ar71xx/ar71xx.h>
#include "devices.h"
static void __init wndr3700_setup(void)
{
ar71xx_add_device_mdio(0x0);
ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
ar71xx_eth0_data.phy_mask = 0xf;
ar71xx_eth0_data.speed = SPEED_1000;
ar71xx_eth0_data.duplex = DUPLEX_FULL;
ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
ar71xx_eth1_data.phy_mask = 0x10;
ar71xx_add_device_eth(0);
ar71xx_add_device_eth(1);
//ar71xx_add_device_usb();
//ar91xx_add_device_wmac();
}
MIPS_MACHINE(AR71XX_MACH_WNDR3700, "Netgear WNDR3700", wndr3700_setup);
After this, the WNDR3700 target should show up in menuconfig and should be recognized with the correct bootarg.
(Last edited by whiskas on 3 Nov 2009, 18:43)