Hi Andrew. > Okay. I just want to apologize for hammering this but I have been having > an issue trying to post the patch using my work email (office365). It > seemed to want to send it as an attachment with dos line endings tacked > on for some reason. I think ive got that taken care of now so here it > is: Signed-off-by: Andrew Tyler <aty...@arocna3.com>
Please do not put such texts into the patch submission, just explain what the patch is doing. Unfortunately your submission is still badly whitespace mangled and line-wrapped. Please use git-send-email to send your patches. Any copy-paste approach is most likely going to fail. Comments inline below. Regards, Jo > > diff --git a/package/base-files/files/bin/config_generate > b/package/base-files/files/bin/config_generate > index b6675f1..e1168d8 100755 > --- a/package/base-files/files/bin/config_generate > +++ b/package/base-files/files/bin/config_generate > @@ -58,10 +58,7 @@ generate_network() { > lan) > uci -q batch <<-EOF > set network.$1.type='bridge' > - set network.$1.proto='static' > - set network.$1.ipaddr='192.168.1.1' > - set network.$1.netmask='255.255.255.0' > - set network.$1.ip6assign='60' > + set network.$1.proto='dhcp' This will pretty much brick any ar71xx board by removing the default lan ip, so NAK. > EOF > ;; > wan) > diff --git a/package/base-files/files/etc/config/network > b/package/base-files/files/etc/config/network > index d3cd3c6..37f6144 100644 > --- a/package/base-files/files/etc/config/network > +++ b/package/base-files/files/etc/config/network > @@ -9,10 +9,7 @@ config interface loopback > config interface lan > option ifname eth0 > option type bridge > - option proto static > - option ipaddr 192.168.1.1 > - option netmask 255.255.255.0 > - option ip6assign 60 > + option proto dhcp Same, you cannot just change random default configs to accommodate a single board. > > config globals globals > option ula_prefix auto > diff --git a/package/base-files/files/etc/init.d/setwlanmac > b/package/base-files/files/etc/init.d/setwlanmac > new file mode 100755 > index 0000000..8230595 > --- /dev/null > +++ b/package/base-files/files/etc/init.d/setwlanmac Do the wifi mac extraction in uci-defaults or board.d, like the other boards do. Also store the mac in /etc/config/wireless if there really is a need for that. > @@ -0,0 +1,16 @@ > +#!/bin/sh /etc/rc.common > +# Copyright (C) 2014 OpenWrt.org > + > +START=98 > +STOP=15 > + > +start() { > + grep athaddr /dev/mtdblock1 | cut -f2 -d= > /tmp/athaddr > + grep ethaddr /dev/mtdblock1 | cut -f2 -d= > /tmp/ethaddr Why read athaddr when it is not used? > + ifconfig wlan1 down; Inconsistent indentation (tabs vs. spaces, please use only tabs) > + ifconfig wlan1 hw ether `grep ethaddr /dev/mtdblock1 | cut -f2 > -d=`; > + ifconfig wlan1 up; The mac will get lost when wifi is reinitialized. > +} > +stop() { > + echo "Stop." > +} No need for a stop action. > diff --git > a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata > b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata > index 74c3417..d81843c 100644 > --- > a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata > +++ > b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata > @@ -75,6 +75,12 @@ case "$FIRMWARE" in > ath10kcal_extract "ART" 20480 2116 > ath10kcal_patch_mac $(macaddr_add $(cat > /sys/class/net/eth0/address) +16) > ;; > + ecb1750) > + ath10kcal_extract "art" 20480 2116 > + ifconfig eth0 hw ether `grep ethaddr /dev/mtdblock1 | cut -f2 -d=` That does not belong here. > + ath10kcal_patch_mac $(macaddr_add $(cat > /sys/class/net/eth0/address) +1) > + ;; > + > esac > ;; > "ath10k/cal-pci-0000:01:00.0.bin") > diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh > b/target/linux/ar71xx/base-files/lib/ar71xx.sh > index df77040..761afdf 100755 > --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh > +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh > @@ -491,6 +491,9 @@ ar71xx_board_detect() { > *"GL AR300") > name="gl-ar300" > ;; > + *"EnGenius ECB1750") > + name="ecb1750" > + ;; > *"EnGenius EPG5000") > name="epg5000" > ;; > diff --git > a/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx > b/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx > index 92b3765..d8ede94 100644 > --- a/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx > +++ b/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx > @@ -41,6 +41,8 @@ preinit_set_mac_address() { > wrt160nl) > fetch_mac_from_mtd nvram lan_hwaddr wan_hwaddr > ;; > + ecb1750) > + fetch_mac_from_mtd u-boot-env ethaddr Missing final ";;" > esac > } > > diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > index 41886e3..d19a33c 100755 > --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > @@ -216,6 +216,7 @@ platform_check_image() { > dlan-pro-1200-ac | \ > dragino2 | \ > epg5000 | \ > + ecb1750 | \ Make sure that the entries are ordered. > esr1750 | \ > esr900 | \ > ew-dorin | \ > diff --git a/target/linux/ar71xx/config-4.1 b/target/linux/ar71xx/config-4.1 > index eff197a..d0b0c8a 100644 > --- a/target/linux/ar71xx/config-4.1 > +++ b/target/linux/ar71xx/config-4.1 > @@ -74,6 +74,7 @@ CONFIG_ATH79_MACH_EL_M150=y > CONFIG_ATH79_MACH_EL_MINI=y > CONFIG_ATH79_MACH_EPG5000=y > CONFIG_ATH79_MACH_ESR1750=y > +CONFIG_ATH79_MACH_ECB1750=y Same, use lexical order. > CONFIG_ATH79_MACH_ESR900=y > CONFIG_ATH79_MACH_EW_DORIN=y > CONFIG_ATH79_MACH_F9K1115V2=y > diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ecb1750.c > b/target/linux/ar71xx/files/arch/mips/ath79/mach-ecb1750.c > new file mode 100644 > index 0000000..aa3cf43 > --- /dev/null > +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-ecb1750.c > @@ -0,0 +1,109 @@ > +/* > + * EnGenius ECB1750 board support > + * > + * Andrew Tyler <aty...@arocna3.com> > + * > + * 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/ar8216_platform.h> > + > +#include <asm/mach-ath79/ar71xx_regs.h> > + > +#include "common.h" > +#include "dev-ap9x-pci.h" > +#include "dev-gpio-buttons.h" > +#include "dev-eth.h" > +#include "dev-leds-gpio.h" > +#include "dev-m25p80.h" > +#include "dev-wmac.h" > +#include "machtypes.h" > +#include "pci.h" > + > +#define ECB1750_GPIO_LED_LAN 12 > +#define ECB1750_GPIO_LED_WLAN_2G 13 > +#define ECB1750_GPIO_LED_POWER 22 > +#define ECB1750_GPIO_LED_WLAN_5G 23 > + > +#define ECB1750_GPIO_BTN_RESET 17 > + > +#define ECB1750_KEYS_POLL_INTERVAL 20 /* msecs */ > +#define ECB1750_KEYS_DEBOUNCE_INTERVAL (3 * ECB1750_KEYS_POLL_INTERVAL) > + > +#define ECB1750_MAC0_OFFSET 0 > +#define ECB1750_MAC1_OFFSET 1 > +#define ECB1750_WMAC_CALDATA_OFFSET 0x1000 > +#define ECB1750_PCIE_CALDATA_OFFSET 0x5000 > + > +static struct gpio_led ecb1750_leds_gpio[] __initdata = { > + { > + .name = "ecb1750:amber:power", > + .gpio = ECB1750_GPIO_LED_POWER, > + .active_low = 0, > + }, > + { > + .name = "ecb1750:blue:lan", > + .gpio = ECB1750_GPIO_LED_LAN, > + .active_low = 0, > + }, > + { > + .name = "ecb1750:blue:wlan24", > + .gpio = ECB1750_GPIO_LED_WLAN_2G, > + .active_low = 0, > + }, > + { > + .name = "ecb1750:blue:wlan58", > + .gpio = ECB1750_GPIO_LED_WLAN_5G, > + .active_low = 0, > + }, > +}; > + > +static struct gpio_keys_button ecb1750_gpio_keys[] __initdata = { > + { > + .desc = "Reset button", > + .type = EV_KEY, > + .code = KEY_RESTART, > + .debounce_interval = ECB1750_KEYS_DEBOUNCE_INTERVAL, > + .gpio = ECB1750_GPIO_BTN_RESET, > + .active_low = 1, > + }, > +}; > + > +static void __init ecb1750_setup(void) > +{ > + u8 *art = (u8 *)KSEG1ADDR(0x1fff0000); > + u8 mac[6]; > + > + ath79_register_m25p80(NULL); > + > + ath79_register_leds_gpio(-1, ARRAY_SIZE(ecb1750_leds_gpio), > + ecb1750_leds_gpio); > + ath79_register_gpio_keys_polled(-1, ECB1750_KEYS_POLL_INTERVAL, > + ARRAY_SIZE(ecb1750_gpio_keys), > + ecb1750_gpio_keys); > + > + ath79_init_mac(mac, art + ECB1750_MAC0_OFFSET, 1); > + ath79_init_mac(ath79_eth0_data.mac_addr, art + ECB1750_MAC0_OFFSET, 0); > + ath79_register_wmac(art + ECB1750_WMAC_CALDATA_OFFSET, NULL); You appear to pass the proper mac addresses here, why do you do the mac juggling in the boot scripts then? > + ath79_register_pci(); > + > + ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN); > + ath79_register_mdio(0, 0x0); > + > + ath79_init_mac(ath79_eth0_data.mac_addr, art + ECB1750_MAC0_OFFSET, 0); You did that a few lines above already. > + > + /* GMAC0 is connected to the RMGII interface */ > + ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; > + ath79_eth0_data.phy_mask = BIT(5); > + ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev; > + ath79_eth0_pll_data.pll_1000 = 0x9a000000; > + ath79_eth0_pll_data.pll_100 = 0x80000101; > + ath79_eth0_pll_data.pll_10 = 0x80001313; > + > +ath79_register_eth(0); Missing indentation. > +} > + > +MIPS_MACHINE(ATH79_MACH_ECB1750, "ECB1750", "EnGenius ECB1750", > ecb1750_setup); > diff --git a/target/linux/ar71xx/generic/profiles/engenius.mk > b/target/linux/ar71xx/generic/profiles/engenius.mk > index 7ea93e3..2a19f58 100644 > --- a/target/linux/ar71xx/generic/profiles/engenius.mk > +++ b/target/linux/ar71xx/generic/profiles/engenius.mk > @@ -16,6 +16,16 @@ endef > > $(eval $(call Profile,EAP300V2)) > > +define Profile/ECB1750 > + NAME:=EnGenius ECB1750 > + PACKAGES:=kmod-ath9k kmod-ath10k > +endef > + > +define Profile/ECB1750/Description > + Package set optimized for the EnGenius ECB1750. > +endef > + > +$(eval $(call Profile,ECB1750)) > > define Profile/ESR900 > NAME:=EnGenius ESR900 > diff --git a/target/linux/ar71xx/image/Makefile > b/target/linux/ar71xx/image/Makefile > index d12ad8b..5de7d82 100644 > --- a/target/linux/ar71xx/image/Makefile > +++ b/target/linux/ar71xx/image/Makefile > @@ -1484,6 +1484,7 @@ > cameo_ap94_mtdlayout=mtdparts=spi0.0:256k(uboot)ro,64k(config)ro,6208k(firmware) > > cameo_ap94_mtdlayout_fat=mtdparts=spi0.0:256k(uboot)ro,64k(config)ro,7808k(firmware),64k(caldata)ro,64k@0x660000(caldata_orig),6208k@0x50000(firmware_orig) > > esr900_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),13248k(rootfs),1024k(manufacture)ro,64k(backup)ro,320k(storage)ro,64k(caldata)ro,14656k@0x40000(firmware) > > esr1750_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),13248k(rootfs),1024k(manufacture)ro,64k(backup)ro,320k(storage)ro,64k(caldata)ro,14656k@0x40000(firmware) > +ecb1750_mtdlayout=mtdparts=spi0.0:256k(u-boot),64k(u-boot-env),1408k(kernel),14272k(rootfs),320k(userconfig),64k(art),15680k@0x50000(firmware) > > epg5000_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),13248k(rootfs),1024k(manufacture)ro,64k(backup)ro,320k(storage)ro,64k(caldata)ro,14656k@0x40000(firmware) > > ew-dorin_mtdlayout_4M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),3712k(firmware),64k(art) > > ew-dorin_mtdlayout_16M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),16000k(firmware),64k(art)ro > @@ -2324,6 +2325,7 @@ $(eval $(call > SingleProfile,dLANLzma,64k,dLAN_pro_1200_ac,dlan-pro-1200-ac,dLAN- > > $(eval $(call > SingleProfile,EnGenius,64k,ESR900,esr900,ESR900,ttyS0,115200,$$(esr900_mtdlayout),KRuImage,,0x4e)) > $(eval $(call > SingleProfile,EnGenius,64k,ESR1750,esr1750,ESR1750,ttyS0,115200,$$(esr1750_mtdlayout),KRuImage,,0x61)) > +$(eval $(call > SingleProfile,EnGenius,64k,ECB1750,ecb1750,ECB1750,ttyS0,115200,$$(ecb1750_mtdlayout),KRuImage,,0x61)) > $(eval $(call > SingleProfile,EnGenius,64k,EPG5000,epg5000,EPG5000,ttyS0,115200,$$(epg5000_mtdlayout),KRuImage,,0x71)) > > $(eval $(call > SingleProfile,HiWiFi,64k,HIWIFI_HC6361,hiwifi-hc6361,HiWiFi-HC6361,ttyATH0,115200,$$(hiwifi_hc6361_mtdlayout),KRuImage)) > diff --git > a/target/linux/ar71xx/patches-4.1/914-MIPS-ath79-add-ecb1750-support.patch > b/target/linux/ar71xx/patches-4.1/914-MIPS-ath79-add-ecb1750-support.patch > new file mode 100644 > index 0000000..42bb18d > --- /dev/null > +++ > b/target/linux/ar71xx/patches-4.1/914-MIPS-ath79-add-ecb1750-support.patch > @@ -0,0 +1,38 @@ > +--- a/arch/mips/ath79/machtypes.h > ++++ b/arch/mips/ath79/machtypes.h > +@@ -70,6 +70,7 @@ > + ATH79_MACH_EAP7660D, /* Senao EAP7660D */ > + ATH79_MACH_EL_M150, /* EasyLink EL-M150 */ > + ATH79_MACH_EL_MINI, /* EasyLink EL-MINI */ > ++ ATH79_MACH_ECB1750, /* EnGenius ECB1750 */ > + ATH79_MACH_ESR1750, /* EnGenius ESR1750 */ > + ATH79_MACH_EPG5000, /* EnGenius EPG5000 */ > + ATH79_MACH_F9K1115V2, /* Belkin AC1750DB */ > +--- a/arch/mips/ath79/Makefile > ++++ b/arch/mips/ath79/Makefile > +@@ -83,6 +83,7 @@ > + obj-$(CONFIG_ATH79_MACH_EL_MINI) += mach-el-mini.o > + obj-$(CONFIG_ATH79_MACH_EPG5000) += mach-epg5000.o > + obj-$(CONFIG_ATH79_MACH_ESR1750) += mach-esr1750.o > ++obj-$(CONFIG_ATH79_MACH_ECB1750) += mach-ecb1750.o I suppose the entries here should be kept ordered as well (EL_MINI < ECB1750 < EPG5000) > + obj-$(CONFIG_ATH79_MACH_F9K1115V2) += mach-f9k1115v2.o > + obj-$(CONFIG_ATH79_MACH_GL_AR150) += mach-gl-ar150.o > + obj-$(CONFIG_ATH79_MACH_GL_AR300) += mach-gl-ar300.o > +--- a/arch/mips/ath79/Kconfig > ++++ b/arch/mips/ath79/Kconfig > +@@ -289,6 +289,15 @@ > + select ATH79_DEV_LEDS_GPIO > + select ATH79_DEV_M25P80 > + select ATH79_DEV_USB > ++ select ATH79_DEV_WMAC > ++ > ++config ATH79_MACH_ECB1750 > ++ bool "EnGenius ECB1750 board support" > ++ select SOC_QCA955X > ++ select ATH79_DEV_ETH > ++ select ATH79_DEV_GPIO_BUTTONS > ++ select ATH79_DEV_LEDS_GPIO > ++ select ATH79_DEV_M25P80 > + select ATH79_DEV_WMAC > + > + config ATH79_MACH_WHR_HP_G300N > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel >
signature.asc
Description: OpenPGP digital signature
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel