On 30/12/2014 06:01, Matthias Schiffer wrote: > I had read the mails regarding the issue and I've asked about it > in #openwrt-devel (but didn't get an answer yet). I didn't try > changing the channel though as I'm in a very noisy environment > (WLAN-wise) at the moment, so I can't really do any proper > testing. > > If it's only a GPIO issue, I could look at it, but I don't know > enough about ath9k to do more complex fixes. Unfortunately, I don't > have the device anymore, so I can't perform further tests myself. >
can this wrong / missing GPIO cause permanent damage the SoC/wmac ? > > On 12/30/2014 05:42 AM, David Hutchison wrote: >> Does the new kernel / ath9k address the RF Filter on this board? >> I came up with an old patch for this board, but whenever I >> changed the channel inside OpenWRT the signal would just >> disappear. The RF Filter has to be toggled somehow ( I assume >> it's a GPIO of some sort ). I am just curious on how it was >> fixed, or if it's still an issue. >> >> -- Davey >> >> On Mon, Dec 29, 2014 at 8:01 PM, Matthias Schiffer >> <mschif...@universe-factory.net> wrote: >>> Signed-off-by: Matthias Schiffer >>> <mschif...@universe-factory.net> --- >>> target/linux/ar71xx/base-files/etc/diag.sh | 3 ++ >>> target/linux/ar71xx/base-files/lib/ar71xx.sh | 3 ++ >>> .../ar71xx/base-files/lib/upgrade/platform.sh | 2 + >>> target/linux/ar71xx/image/Makefile | 3 +- >>> .../610-MIPS-ath79-openwrt-machines.patch | 3 +- >>> .../patches-3.14/616-MIPS-ath79-ubnt-xw.patch | 61 >>> +++++++++++++++++++++- 6 files changed, 72 insertions(+), 3 >>> deletions(-) >>> >>> diff --git a/target/linux/ar71xx/base-files/etc/diag.sh >>> b/target/linux/ar71xx/base-files/etc/diag.sh index >>> 06b96a3..30e4aeb 100755 --- >>> a/target/linux/ar71xx/base-files/etc/diag.sh +++ >>> b/target/linux/ar71xx/base-files/etc/diag.sh @@ -254,6 +254,9 >>> @@ get_status_led() { uap-pro) status_led="ubnt:white:dome" ;; >>> + unifi-outdoor-plus) + >>> status_led="ubnt:white:front" + ;; airgateway) >>> status_led="ubnt:white:status" ;; diff --git >>> a/target/linux/ar71xx/base-files/lib/ar71xx.sh >>> b/target/linux/ar71xx/base-files/lib/ar71xx.sh index >>> 9b056e9..a12101a 100755 --- >>> a/target/linux/ar71xx/base-files/lib/ar71xx.sh +++ >>> b/target/linux/ar71xx/base-files/lib/ar71xx.sh @@ -732,6 +732,9 >>> @@ ar71xx_board_detect() { *"UniFiAP Outdoor") >>> name="unifi-outdoor" ;; + *"UniFiAP Outdoor+") + >>> name="unifi-outdoor-plus" + ;; *WP543) >>> name="wp543" ;; diff --git >>> a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh >>> b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh index >>> 6dabf4e..2752729 100755 --- >>> a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh +++ >>> b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh @@ >>> -368,6 +368,7 @@ platform_check_image() { return 1 ;; >>> >>> + unifi-outdoor-plus | \ uap-pro) [ "$magic_long" != >>> "19852003" ] && { echo "Invalid image type." @@ -483,6 +484,7 >>> @@ platform_do_upgrade() { om5p) platform_do_upgrade_openmesh >>> "$ARGV" ;; + unifi-outdoor-plus | \ uap-pro) >>> MTD_CONFIG_ARGS="-s 0x180000" default_do_upgrade "$ARGV" diff >>> --git a/target/linux/ar71xx/image/Makefile >>> b/target/linux/ar71xx/image/Makefile index 18c9637..3eb2f07 >>> 100644 --- a/target/linux/ar71xx/image/Makefile +++ >>> b/target/linux/ar71xx/image/Makefile @@ -1333,6 +1333,7 @@ >>> $(eval $(call >>> SingleProfile,TPLINK-LZMA,64kraw,SMART-300,smart-300,SMART-300,tty >>> >>> $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,OOLITE,oolite,GS-OOLITE,ttyATH0,115200,0x3C000101,1,16Mlzma)) >>> >>> $(eval $(call >>> SingleProfile,UAPPRO,64k,UAPPRO,ubnt-uap-pro,UAP-PRO,ttyS0,115200,BZ,BZ,ar934x)) >>> >>> +$(eval $(call SingleProfile,UAPPRO,64k,UBNTUNIFIOUTDOORPLUS,ubnt-unifi-outdoor-plus,UBNT-UOP,ttyS0,115200,BZ,BZ,ar7240)) >>> >>> $(eval $(call >>> SingleProfile,UBDEV,64kraw,UBDEV01,ubdev01,UBNT-UF,ttyS0,115200,XM,XM,ar7240)) >>> >>> >>> @@ -1396,7 +1397,7 @@ $(eval $(call MultiProfile,TLWR941,TLWR941NV2 TLWR941NV3 TLWR941NV4 TLWR941NV6)) >>> $(eval $(call MultiProfile,TLWR1043,TLWR1043V1 TLWR1043V2)) >>> $(eval $(call MultiProfile,TLWDR4300,TLWDR3500V1 TLWDR3600V1 >>> TLWDR4300V1 TLWDR4300V1IL TLWDR4310V1 MW4530RV1)) $(eval $(call >>> MultiProfile,TUBE2H,TUBE2H8M TUBE2H16M)) -$(eval $(call >>> MultiProfile,UBNT,UBNTAIRROUTER UBNTRS UBNTRSPRO UBNTLSSR71 >>> UBNTBULLETM UBNTROCKETM UBNTNANOM UBNTNANOMXW UBNTLOCOXW >>> UBNTUNIFI UBNTUNIFIOUTDOOR UAPPRO UBNTAIRGW)) +$(eval $(call >>> MultiProfile,UBNT,UBNTAIRROUTER UBNTRS UBNTRSPRO UBNTLSSR71 >>> UBNTBULLETM UBNTROCKETM UBNTNANOM UBNTNANOMXW UBNTLOCOXW >>> UBNTUNIFI UBNTUNIFIOUTDOOR UBNTUNIFIOUTDOORPLUS UAPPRO >>> UBNTAIRGW)) $(eval $(call MultiProfile,WNDR3700,WNDR3700V1 >>> WNDR3700V2 WNDR3800 WNDR3800CH WNDRMAC WNDRMACV2)) $(eval >>> $(call MultiProfile,WNR612V2,REALWNR612V2 N150R)) $(eval $(call >>> MultiProfile,WP543,WP543_2M WP543_4M WP543_8M WP543_16M)) diff >>> --git >>> a/target/linux/ar71xx/patches-3.14/610-MIPS-ath79-openwrt-machines.patch >>> b/target/linux/ar71xx/patches-3.14/610-MIPS-ath79-openwrt-machines.patch >>> >>> index 4ce9268..b01c5de 100644 >>> --- >>> a/target/linux/ar71xx/patches-3.14/610-MIPS-ath79-openwrt-machines.patch >>> >>> +++ b/target/linux/ar71xx/patches-3.14/610-MIPS-ath79-openwrt-machines.patch >>> @@ -1,6 +1,6 @@ --- a/arch/mips/ath79/machtypes.h +++ >>> b/arch/mips/ath79/machtypes.h -@@ -16,22 +16,145 @@ +@@ -16,22 >>> +16,146 @@ >>> >>> enum ath79_mach_type { ATH79_MACH_GENERIC = 0, @@ -119,6 +119,7 >>> @@ ATH79_MACH_UBNT_UAP_PRO, /* Ubiquiti UniFi AP Pro */ >>> ATH79_MACH_UBNT_UNIFI, /* Ubiquiti Unifi */ >>> ATH79_MACH_UBNT_UNIFI_OUTDOOR, /* Ubiquiti UnifiAP Outdoor */ >>> ++ ATH79_MACH_UBNT_UNIFI_OUTDOOR_PLUS, /* Ubiquiti UnifiAP >>> Outdoor+ */ ATH79_MACH_UBNT_XM, /* Ubiquiti >>> Networks XM board rev 1.0 */ + ATH79_MACH_WHR_G301N, >>> /* Buffalo WHR-G301N */ + ATH79_MACH_WHR_HP_G300N, >>> /* Buffalo WHR-HP-G300N */ diff --git >>> a/target/linux/ar71xx/patches-3.14/616-MIPS-ath79-ubnt-xw.patch >>> b/target/linux/ar71xx/patches-3.14/616-MIPS-ath79-ubnt-xw.patch >>> >>> index 3675518..8e16697 100644 >>> --- >>> a/target/linux/ar71xx/patches-3.14/616-MIPS-ath79-ubnt-xw.patch >>> >>> +++ b/target/linux/ar71xx/patches-3.14/616-MIPS-ath79-ubnt-xw.patch >>> @@ -1,6 +1,65 @@ --- a/arch/mips/ath79/mach-ubnt-xm.c +++ >>> b/arch/mips/ath79/mach-ubnt-xm.c -@@ -332,3 +332,78 @@ static >>> void __init ubnt_uap_pro_setup(vo +@@ -186,6 +186,19 @@ static >>> struct gpio_led ubnt_unifi_outdoo + } + }; + ++static >>> struct gpio_led ubnt_unifi_outdoor_plus_leds_gpio[] __initdata >>> = { ++ { ++ .name = >>> "ubnt:white:front", ++ .gpio = 1, ++ >>> .active_low = 0, ++ }, { ++ .name >>> = "ubnt:blue:front", ++ .gpio = 0, ++ >>> .active_low = 0, ++ } ++}; ++ ++ + static void __init >>> ubnt_unifi_setup(void) + { + u8 *mac = (u8 *) >>> KSEG1ADDR(0x1fff0000); +@@ -245,6 +258,38 @@ >>> MIPS_MACHINE(ATH79_MACH_UBNT_UNIFI_OUTDO + "Ubiquiti >>> UniFiAP Outdoor", + ubnt_unifi_outdoor_setup); + ++ >>> ++static void __init ubnt_unifi_outdoor_plus_setup(void) ++{ ++ >>> u8 *mac1 = (u8 *) KSEG1ADDR(0x1fff0000); ++ u8 *mac2 = (u8 >>> *) KSEG1ADDR(0x1fff0000 + ETH_ALEN); ++ u8 *ee = (u8 *) >>> KSEG1ADDR(0x1fff1000); ++ ++ ath79_register_m25p80(NULL); >>> ++ ++ ath79_register_mdio(0, ~(UBNT_UNIFIOD_PRI_PHYMASK | >>> ++ UBNT_UNIFIOD_2ND_PHYMASK)); >>> ++ ++ ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 0); >>> ++ ath79_init_mac(ath79_eth1_data.mac_addr, mac2, 0); ++ >>> ath79_register_eth(0); ++ ath79_register_eth(1); ++ ++ >>> ap91_pci_init(ee, NULL); ++ ++ >>> ath79_register_leds_gpio(-1, >>> ARRAY_SIZE(ubnt_unifi_outdoor_plus_leds_gpio), ++ >>> ubnt_unifi_outdoor_plus_leds_gpio); ++ ++ >>> ath79_register_gpio_keys_polled(-1, >>> UBNT_XM_KEYS_POLL_INTERVAL, ++ >>> ARRAY_SIZE(ubnt_xm_gpio_keys), ++ >>> ubnt_xm_gpio_keys); ++} ++ >>> ++MIPS_MACHINE(ATH79_MACH_UBNT_UNIFI_OUTDOOR_PLUS, "UBNT-UOP", >>> ++ "Ubiquiti UniFiAP Outdoor+", ++ >>> ubnt_unifi_outdoor_plus_setup); ++ ++ + static struct gpio_led >>> ubnt_uap_pro_gpio_leds[] __initdata = { + { + >>> .name = "ubnt:white:dome", +@@ -332,3 +377,78 @@ >>> static void __init ubnt_uap_pro_setup(vo >>> MIPS_MACHINE(ATH79_MACH_UBNT_UAP_PRO, "UAP-PRO", "Ubiquiti >>> UniFi AP Pro", ubnt_uap_pro_setup); >>> >>> -- 2.2.1 _______________________________________________ >>> openwrt-devel mailing list openwrt-devel@lists.openwrt.org >>> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel > >>> > > > > _______________________________________________ openwrt-devel > mailing list openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel > _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel