OpenWrt Forum Archive

Topic: Netgear R8000 support?

The content of this topic has been archived between 23 Mar 2018 and 5 May 2018. Unfortunately there are posts – most likely complete pages – missing.

The R8000 uses a BCM4709A0 ARM CPU which looks like it might work using bcm53xx.

The R8000 has three radios all BCM43602, one 2.4GHz and two 5GHz.

AFAICS there are three supported PCI Device IDs for these radios all supported by the brcmfmac mac80211 driver, 14e4:43ba from 3.17+, 14e4:43bb (2Ghz) and 14e4:43bc (5Ghz) both supported from 3.19+.

I also 3.19 is slowly being used in the openwrt truck.

Is there a chance that this will work some time soon or that someone could work it or perhaps point me in the right direction?

Ian

OpenWrt does not use in Kernel drivers. The mac80211 package uses developer trees/patches (backports infrastructure) and enables using new drivers with old kernels.

43602 support was in wireless dev tree since 2014-07-31.
Current mac80211 is at 2014-11-04 - meaning it can already support this hardware in trunk

Missing are probably things like:
- devicetree / configuration files (dts files)
- image generation / flash layout
- developer time

one of the ppl doing stuff on this arch (Zajec) is active on forum/irc/mailing list

This is the most likely Broadcom based router to be fully supported by OpenWrt.

As soon as someone with R8000 and ready for testing appears, I'll provide some experimental builds. Just let me know. You'll also need serial console access.

zloop wrote:

OpenWrt does not use in Kernel drivers. The mac80211 package uses developer trees/patches (backports infrastructure) and enables using new drivers with old kernels.

43602 support was in wireless dev tree since 2014-07-31.
Current mac80211 is at 2014-11-04 - meaning it can already support this hardware in trunk

Right, I must admin I missed that.
The PCIe IDs for the wireless devices in the R8000 aren't included in that package.
I'm not sure yet how much changed when those IDs where added upstream, that'll be harder to ascertain with an external package but, hopefully, doable.  I'll have a go at it when I get some time.

zloop wrote:

Missing are probably things like:
- devicetree / configuration files (dts files)
- image generation / flash layout
- developer time

one of the ppl doing stuff on this arch (Zajec) is active on forum/irc/mailing list

Right, OpenWrt is new to me, so I'm not up with all this, particularly the addition of a new device.

Ian

Zajec wrote:

This is the most likely Broadcom based router to be fully supported by OpenWrt.

Yes, I was surprised when I noticed that, pretty much by accident.

Zajec wrote:

As soon as someone with R8000 and ready for testing appears, I'll provide some experimental builds. Just let me know. You'll also need serial console access.

LOL, I need to get some fly leads (female - female so no exposed pins) so I can attach them permanently and leave them hanging out of the grate at the top. I'm not a hardware person so there won't be any fancy connector added, wink

It'll probably be the weekend before I tackle getting the top off the box again.
I also don't really have space on my desk for the unit so I'll have to remove my WRT1900AC, probably not a bad idea while waiting for a driver update from Marvel.
I'll let you know when I have setup the serial connector.

Ian

Zajec wrote:

As soon as someone with R8000 and ready for testing appears, I'll provide some experimental builds. Just let me know. You'll also need serial console access.

OK, lets see how we go but if we get this going I'd much prefer patches against the current openwrt source tree, if possible.

Ian

raven-au wrote:
Zajec wrote:

As soon as someone with R8000 and ready for testing appears, I'll provide some experimental builds. Just let me know. You'll also need serial console access.

OK, lets see how we go but if we get this going I'd much prefer patches against the current openwrt source tree, if possible.

Sure, I was just going to push patches to the OpenWrt repo and use the buildbot. You could build OpenWrt from trunk on your own as well smile

Zajec wrote:
raven-au wrote:
Zajec wrote:

As soon as someone with R8000 and ready for testing appears, I'll provide some experimental builds. Just let me know. You'll also need serial console access.

OK, lets see how we go but if we get this going I'd much prefer patches against the current openwrt source tree, if possible.

Sure, I was just going to push patches to the OpenWrt repo and use the buildbot. You could build OpenWrt from trunk on your own as well smile

Yep, I'll do that so I can work on the wireless.

Thanks
Ian

raven-au wrote:

It'll probably be the weekend before I tackle getting the top off the box again.
I also don't really have space on my desk for the unit so I'll have to remove my WRT1900AC, probably not a bad idea while waiting for a driver update from Marvel.
I'll let you know when I have setup the serial connector.

I have the R8000 plugged in and serial console functioning.

Ian

raven-au wrote:

I have the R8000 plugged in and serial console functioning.

Wow, that's great!
Could you start with providing boot log of original firmware (or DD-WRT) and output of "nvram show | grep gpio"?

Zajec wrote:
raven-au wrote:

I have the R8000 plugged in and serial console functioning.

Wow, that's great!
Could you start with providing boot log of original firmware (or DD-WRT) and output of "nvram show | grep gpio"?

Can't see how to upload.
Does this link work for you?
https://www.dropbox.com/s/2kbe0z3bktdei … t.log?dl=0

All I get from the gpio grep is:
gpio0=usbport1
led_gpio_status=524288

Thanks!

It seems boot log doesn't include some NAND messages I expected, but this should be fine.

Could you try to dump content of 4 partitions and provide them to me? I wanted to make sure bcm47xxpart will detect them correctly. You can grab dumps using:

cat /dev/mtdblock4 > /tmp/mtdblock4-board_data.bin
cat /dev/mtdblock7 > /tmp/mtdblock7-T_Meter1.bin
cat /dev/mtdblock8 > /tmp/mtdblock8-T_Meter2.bin
cat /dev/mtdblock16 > /tmp/mtdblock16-QoSRule.bin

Of course you'll need to transfer above files, e.g. using USB disk.

You can upload them or send me in e-mail to address zajec5 in GMail

(Last edited by Zajec on 28 Jan 2015, 13:44)

Zajec wrote:

Thanks!

It seems boot log doesn't include some NAND messages I expected, but this should be fine.

Could you try to dump content of 4 partitions and provide them to me? I wanted to make sure bcm47xxpart will detect them correctly. You can grab dumps using:

cat /dev/mtdblock4 > /tmp/mtdblock4-board_data.bin
cat /dev/mtdblock7 > /tmp/mtdblock7-T_Meter1.bin
cat /dev/mtdblock8 > /tmp/mtdblock8-T_Meter2.bin
cat /dev/mtdblock16 > /tmp/mtdblock16-QoSRule.bin

Of course you'll need to transfer above files, e.g. using USB disk.

You can upload them or send me in e-mail to address zajec5 in GMail

Try:
https://www.dropbox.com/s/vdiloh7p4dzhb … a.bin?dl=0
https://www.dropbox.com/s/6gul6jqwvhj9g … 1.bin?dl=0
https://www.dropbox.com/s/7xqg5c53uq4qp … 2.bin?dl=0
https://www.dropbox.com/s/c9ck8eobnlaqo … e.bin?dl=0

Thanks raven-au! I've commited two changes for R8000:
https://dev.openwrt.org/changeset/44185/
https://dev.openwrt.org/changeset/44186/

Will you compile recent OpenWrt and try to install openwrt-bcm53xx-bcm4709-netgear-r8000-squashfs.chk? Please provide a full boot log from OpenWrt.
So far wireless won't work yet, but I want to make sure other things work as expected. I hope it'll boot fine and detect all partitions fine.

Zajec wrote:

Thanks raven-au! I've commited two changes for R8000:
https://dev.openwrt.org/changeset/44185/
https://dev.openwrt.org/changeset/44186/

Will you compile recent OpenWrt and try to install openwrt-bcm53xx-bcm4709-netgear-r8000-squashfs.chk? Please provide a full boot log from OpenWrt.
So far wireless won't work yet, but I want to make sure other things work as expected. I hope it'll boot fine and detect all partitions fine.

Will do, initial compile from git checkout takes a while though, wink

raven-au wrote:
Zajec wrote:

Thanks raven-au! I've commited two changes for R8000:
https://dev.openwrt.org/changeset/44185/
https://dev.openwrt.org/changeset/44186/

Will you compile recent OpenWrt and try to install openwrt-bcm53xx-bcm4709-netgear-r8000-squashfs.chk? Please provide a full boot log from OpenWrt.
So far wireless won't work yet, but I want to make sure other things work as expected. I hope it'll boot fine and detect all partitions fine.

Will do, initial compile from git checkout takes a while though, wink

LOL, the boot didn't get very far.
The log is here:
https://www.dropbox.com/s/nruilqldvsiha … t.log?dl=0

raven-auand wrote:

and one with "clock-frequency = <125000000>":
https://www.dropbox.com/s/musvboclujth7 … l.log?dl=0

Wow, that's nice! How did you find the correct value? I can't see it in Netgear firmware bootlog. Were you just trying various values randomly?

Zajec wrote:
raven-auand wrote:

and one with "clock-frequency = <125000000>":
https://www.dropbox.com/s/musvboclujth7 … l.log?dl=0

Wow, that's nice! How did you find the correct value? I can't see it in Netgear firmware bootlog. Were you just trying various values randomly?

I saw it in the myopenrouter dd-wrt log, wink

Zajec wrote:

Please try updated OpenWrt, I've commited:
https://dev.openwrt.org/changeset/44217/
https://dev.openwrt.org/changeset/44218/
https://dev.openwrt.org/changeset/44219/

There is one problem. On the first try OpenWrt didn't detect extra partitions for you and they were overridden by the OpenWrt's "ubi" sad

Let me know if OpenWrt boots for you now, I'll think & provide some way to re-add there partitions you got.

OK, but what are we saying here?

Which partitions were overwritten, the comment in the patch mentions board_data, which we have a copy of.
Can't I just dd that to the mtd device, they continue to exist don't they?

I guess there were others, right wink
Ian

raven-au wrote:

Which partitions were overwritten, the comment in the patch mentions board_data, which we have a copy of.
Can't I just dd that to the mtd device, they continue to exist don't they?

Look at these partitions used by original firmware:

0x000002600000-0x000002680000 : "board_data"
0x000002680000-0x000002780000 : "POT1"
0x000002780000-0x000002880000 : "POT2"
0x000002880000-0x000002b40000 : "T_Meter1"
0x000002b40000-0x000002e00000 : "T_Meter2"
0x000002e00000-0x000002e80000 : "ML1"
0x000002e80000-0x000002f00000 : "ML2"
0x000002f00000-0x000002f80000 : "ML3"
0x000002f80000-0x000003000000 : "ML4"
0x000003000000-0x000003080000 : "ML5"
0x000003080000-0x000003100000 : "ML6"
0x000003100000-0x000003180000 : "ML7"
0x000003180000-0x000003200000 : "QoSRule"

None of them was detected by OpenWrt sad The only real important one is board_data. But since you have a copy of few more, we can re-add them too.

I'll produce a patch later.

Zajec wrote:
raven-au wrote:

Which partitions were overwritten, the comment in the patch mentions board_data, which we have a copy of.
Can't I just dd that to the mtd device, they continue to exist don't they?

Look at these partitions used by original firmware:

0x000002600000-0x000002680000 : "board_data"
0x000002680000-0x000002780000 : "POT1"
0x000002780000-0x000002880000 : "POT2"
0x000002880000-0x000002b40000 : "T_Meter1"
0x000002b40000-0x000002e00000 : "T_Meter2"
0x000002e00000-0x000002e80000 : "ML1"
0x000002e80000-0x000002f00000 : "ML2"
0x000002f00000-0x000002f80000 : "ML3"
0x000002f80000-0x000003000000 : "ML4"
0x000003000000-0x000003080000 : "ML5"
0x000003080000-0x000003100000 : "ML6"
0x000003100000-0x000003180000 : "ML7"
0x000003180000-0x000003200000 : "QoSRule"

None of them was detected by OpenWrt sad The only real important one is board_data. But since you have a copy of few more, we can re-add them too.

I'll produce a patch later.

Yeah, I saw them when I looked at the logs.
So the partitions have actually gone?
We have sizes and dd'able files, so that should be OK, assuming there's a utility to create them.
Any idea what the POT1-2 and the ML1-7 might have been?

Ian

On my Netgear WNDR4500 POT partitios were pretty empty (and useless I guess), see:

001D:0000 | 50 4F 54 54  4F 50 00 00  00 00 00 00  00 00 00 00 | POTTOP..........
001D:0010 | 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 | ................
001D:0020 | 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 | ................
001D:0030 | 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 | ................
001D:0040 | 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 | ................
001D:0050 | 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 | ................
001D:0060 | 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 | ................
001D:0070 | 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 | ................
001D:0080 | 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 | ................
001D:0090 | 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 | ................
001D:00A0 | 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 | ................
001D:00B0 | 1F FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF | .ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
001D:00C0 | FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF | ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
001D:00D0 | FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF | ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
001D:00E0 | FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF | ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
001D:00F0 | FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF | ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ

ML partitions used to contain some bzip archive, most likely for multi language support, see:

0018:0000 | 27 B8 00 00  35 03 B1 DF  01 00 00 32  02 01 0F 07 | '¸..5.±ß...2....
0018:0010 | 42 5A 68 39  31 41 59 26  53 59 16 CA  CF 16 01 B8 | BZh91AY&SY.ÊÏ..¸
0018:0020 | C9 FF FF 66  32 00 0C 73  FF FF FF FF  FF FF FE BF | Éÿÿf2..sÿÿÿÿÿÿþ¿
0018:0030 | FF FF F5 E8  86 0B 06 71  BE A6 FE 8E  01 60 00 15 | ÿÿõè...q¾¦þ..`..
0018:0040 | 16 E1 0E DE  F5 41 A0 2E  84 FB 01 AD  BA 74 AF 3D | .á.ÞõA ..û.ºt¯=
0018:0050 | CF 45 01 E6  D2 A0 14 14  18 15 4F 4F  47 5B 2B DE | ÏE.æÒ ....OOG[+Þ
0018:0060 | F0 3A 00 00  03 D0 74 E8  3B 6A 44 D7  A7 27 36 0A | ð:...Ðtè;jDק'6.