David Hutchison
2014-04-05 00:33:50 UTC
I was able to get the Ubiquiti UniFi Outdoor Plus to boot into OpenWRT
today, however I need some assistance writing a patch for it. There
are two things that need to happen:
First of all, this is how I got it to work:
Modify target/linux/ar71xx/image/Makefile:
--- Makefile.bak 2014-04-04 17:01:40.929134535 -0700
+++ Makefile 2014-04-04 17:03:40.763628013 -0700
@@ -1055,6 +1055,7 @@
$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,MW4530RV1,mw4530r-v1,TL-WDR4300,ttyS0,115200,0x45300001,1,8Mlzma))
$(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-U20,ttyS0,115200,BZ,BZ,ar7240))
$(eval $(call SingleProfile,UBDEV,64kraw,UBDEV01,ubdev01,UBNT-UF,ttyS0,115200,XM,XM,ar7240))
@@ -1110,7 +1111,7 @@
$(eval $(call MultiProfile,TLWR941,TLWR941NV2 TLWR941NV3 TLWR941NV4
TLWR941NV6))
$(eval $(call MultiProfile,TLWR1043,TLWR1043V1 TLWR1043V2))
$(eval $(call MultiProfile,TLWDR4300,TLWDR3500V1 TLWDR3600V1
TLWDR4300V1 TLWDR4310V1 MW4530RV1))
-$(eval $(call MultiProfile,UBNT,UBNTAIRROUTER UBNTRS UBNTRSPRO
UBNTLSSR71 UBNTBULLETM UBNTROCKETM UBNTNANOM UBNTUNIFI
UBNTUNIFIOUTDOOR UAPPRO))
+$(eval $(call MultiProfile,UBNT,UBNTAIRROUTER UBNTRS UBNTRSPRO
UBNTLSSR71 UBNTBULLETM UBNTROCKETM UBNTNANOM UBNTUNIFI
UBNTUNIFIOUTDOOR UBNTUNIFIOUTDOORPLUS UAPPRO))
$(eval $(call MultiProfile,WNDR3700,WNDR3700V1 WNDR3700V2 WNDR3800
WNDRMAC WNDRMACV2))
$(eval $(call MultiProfile,WNR612V2,REALWNR612V2 N150R))
$(eval $(call MultiProfile,WP543,WP543_2M WP543_4M WP543_8M WP543_16M))
There was a flash driver modification I had to make to get it working,
however I'm not sure how to incorporate it in the patch. Here is the
2nd change I had to make to get the 16M flash chip to work:
Modify m25p80.c:
( I have an older kernel, so I modified it in the build directory
directly for testing purposes, it's in
linux-3.7.4/drivers/mtd/devices/m25p80.c in my particular dev
environment )
+++ m25p80.c 2014-04-05 00:27:58.000000000 +0000
@@ -677,6 +677,8 @@
{ "en25q32b", INFO(0x1c3016, 0, 64 * 1024, 64, 0) },
{ "en25p64", INFO(0x1c2017, 0, 64 * 1024, 128, 0) },
{ "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, SECT_4K) },
+ { "en25qh128", INFO(0x1c7018, 0, 64 * 1024, 256, 0) },
/* Everspin */
{ "mr25h256", CAT25_INFO( 32 * 1024, 1, 256, 2) },
I would like some help testing and creating a valid patch. 1.) I don't
know if you need to modify the flash driver in the newer kernel, can
someone confirm trunk has support for the en25qh128 flash chip? 2.)
Should we use "UAPPRO" since the flash layout seems to be the same on
both the PRO and UBNT Outdoor Unifi Plus? Is that a valid approach as
far as the Makefile is concerned? 3.) If the flash chip change is not
needed in the latest trunk, is the first patch I provided sufficient
for Initial UniFi Outdoor Plus support?
-- Davey
today, however I need some assistance writing a patch for it. There
are two things that need to happen:
First of all, this is how I got it to work:
Modify target/linux/ar71xx/image/Makefile:
--- Makefile.bak 2014-04-04 17:01:40.929134535 -0700
+++ Makefile 2014-04-04 17:03:40.763628013 -0700
@@ -1055,6 +1055,7 @@
$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,MW4530RV1,mw4530r-v1,TL-WDR4300,ttyS0,115200,0x45300001,1,8Mlzma))
$(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-U20,ttyS0,115200,BZ,BZ,ar7240))
$(eval $(call SingleProfile,UBDEV,64kraw,UBDEV01,ubdev01,UBNT-UF,ttyS0,115200,XM,XM,ar7240))
@@ -1110,7 +1111,7 @@
$(eval $(call MultiProfile,TLWR941,TLWR941NV2 TLWR941NV3 TLWR941NV4
TLWR941NV6))
$(eval $(call MultiProfile,TLWR1043,TLWR1043V1 TLWR1043V2))
$(eval $(call MultiProfile,TLWDR4300,TLWDR3500V1 TLWDR3600V1
TLWDR4300V1 TLWDR4310V1 MW4530RV1))
-$(eval $(call MultiProfile,UBNT,UBNTAIRROUTER UBNTRS UBNTRSPRO
UBNTLSSR71 UBNTBULLETM UBNTROCKETM UBNTNANOM UBNTUNIFI
UBNTUNIFIOUTDOOR UAPPRO))
+$(eval $(call MultiProfile,UBNT,UBNTAIRROUTER UBNTRS UBNTRSPRO
UBNTLSSR71 UBNTBULLETM UBNTROCKETM UBNTNANOM UBNTUNIFI
UBNTUNIFIOUTDOOR UBNTUNIFIOUTDOORPLUS UAPPRO))
$(eval $(call MultiProfile,WNDR3700,WNDR3700V1 WNDR3700V2 WNDR3800
WNDRMAC WNDRMACV2))
$(eval $(call MultiProfile,WNR612V2,REALWNR612V2 N150R))
$(eval $(call MultiProfile,WP543,WP543_2M WP543_4M WP543_8M WP543_16M))
There was a flash driver modification I had to make to get it working,
however I'm not sure how to incorporate it in the patch. Here is the
2nd change I had to make to get the 16M flash chip to work:
Modify m25p80.c:
( I have an older kernel, so I modified it in the build directory
directly for testing purposes, it's in
linux-3.7.4/drivers/mtd/devices/m25p80.c in my particular dev
environment )
+++ m25p80.c 2014-04-05 00:27:58.000000000 +0000
@@ -677,6 +677,8 @@
{ "en25q32b", INFO(0x1c3016, 0, 64 * 1024, 64, 0) },
{ "en25p64", INFO(0x1c2017, 0, 64 * 1024, 128, 0) },
{ "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, SECT_4K) },
+ { "en25qh128", INFO(0x1c7018, 0, 64 * 1024, 256, 0) },
/* Everspin */
{ "mr25h256", CAT25_INFO( 32 * 1024, 1, 256, 2) },
I would like some help testing and creating a valid patch. 1.) I don't
know if you need to modify the flash driver in the newer kernel, can
someone confirm trunk has support for the en25qh128 flash chip? 2.)
Should we use "UAPPRO" since the flash layout seems to be the same on
both the PRO and UBNT Outdoor Unifi Plus? Is that a valid approach as
far as the Makefile is concerned? 3.) If the flash chip change is not
needed in the latest trunk, is the first patch I provided sufficient
for Initial UniFi Outdoor Plus support?
-- Davey