Support possible for the new Ubiquiti EdgeRouter 12?

Looks like it's not currently supported. I'm slowly but surely learning EdgeOS but coming from OpenWRT I kind of miss it. Anyone know if it is being worked on? or is there something keeping the newer Ubiquiti gear from getting OpenWRT? I was going to get the stuff that is supported by OpenWRT, but my friend that's familiar with Ubiquiti gear talked me out of it, said the newest gear is the stuff to get for solid 1Gbps support, which has become necessary (and the reason I upgraded from my old Archer C7) as I now have AT&T Fiber.

1 Like

The high model EdgeRouters use CPU target families that aren't in OpenWrt at all yet.

Ahh. Well then that explains it! Bummer.

Not sure this is actually true as all the newer EdgeRouters (ER-4, ER-6P and ER-12) use the same Cavium Octeon III CN7130 processor. The Itus Shield also used an Octeon III CN7020 processor and it came with an OS based on OpenWrt, so I believe it is only a matter of getting the correct DTS file and some minor modifications to the OpenWrt source.

I think it should be possible to add support for the ER-12 and ER-12P based on what I learned while adding support for the ER-6P (see PR here) . If someone reading this thread has the device and is willing to test an experimental build of OpenWRT on it to confirm that all the ports work correctly, please let me know.

1 Like

Hey, I just tested your ER12 branch. Short summary of the situation:

  • The first 4 device ports (labeled 0, 1, 2, 3) aren't working yet, but 4-11 are.
  • Ports are completely out of order.
    • directly connected ports:
      • lan0 has device label 8
      • lan1 has device label 9
    • sfp ports are swapped:
      • lan10 has device label 11
      • lan11 has device label 10
    • switch ports
      • lan2-lan5 map to to labels 4-7
      • lan6-lan9 are missing
  • only sfp port 10 is reporting module infos. see see here

Also: If I remember correctly, the SoC connects via QSGMII to the QCA8511-AL1C, which in turn has 4 seperate connections to the 4 AR8033-AL1A PHYs connected to labels 0-3 (these don't work!) and another QSGMII connection to the Vitesse quad PHY for labels 4-7 (these work!).

I also took pictures of the board a while back:

1 Like

Hi @lemmi - are you able to make changes to the dts file for the ER-12 to rearrange the port assignments? Perhaps the suggestion in line 3 of the file might be helpful.


Yeah, reordering the working ports through the DTS is no problem and works. Here is a dump of u-boot with the output of mdio list and mii device:

OK, so is the issue that some of the ports are not yet working? From the image you shared it looks like there are 4 instances of the 8033 chip, whereas the dts files expect there to be one 8033, one 8504, and one 8514. Maybe try updating those to be 8033s? I'm not sure why there would be 4 of them. Sorry, I don't have the device to test, so these are just stabs in the dark.

The ports hanging of the vitesse chips are working. It's the ones hanging of the 8033 that aren't. I don't think I understand what changing the working ports to 8033 could help. To clarify a little how I think the components are connected, I made a short block diagram.

                             +-----------|           |--------+               
                             |+----------|    SOC    |-------+|               
                     QSGMII  ||+---------|           |------+||  QSGMII       
                             |||+--------|           |-----+|||               
                             ||||        +-----------+     ||||               
                             ||||                          ||||               
         +-----------------+----+------+                   ||||               
         |    +------------|    |-----+|                   ||||               
 4xSGMII |    |    +-------|8511|----+|| QSGMII            ||||               
         |    |    |    +--|    |---+|||                   ||||               
         |    |    |    |  +----+   ||||                   ||||               
         |    |    |    |           ||||                   ||||               
       8033 8033 8033 8033      +- VSC8514 -+         +-- VSC8504 --+         
         |    |    |    |       |   |   |   |         |    |   |    |         
         |    |    |    |       |   |   |   |         |    |   |    |         
         |    |    |    |       |   |   |   |         |    |   |    |         
       Port Port Port Port   Port Port Port Port   Port Port   Port Port      
          0    1    2    3      4    5    6    7      8    9     10   11      
                                                                SFP  SFP      

Sorry I am out of my depth here. Maybe there are some other devices with similar arrangements that could show how to set it up?

I'd love to see OpenWRT support for EdgeRouter ER-12 too. Their support is not what it used to be, no firmware updates in a while even though there are known issues, etc. OpenWRT would be great.

1 Like

Yeah, I wish I had a spare ER12 so I could help be a tester. Unfortunately we all WFH so I can't have my network be unstable.

Has anyone got a build working for the ER12?

I'd love to see OpenWrt on my ER12 as well. Ubiquity does not seem to be panning at implementing MAP-E support anytime soon...

Regardless, I can test images if there is any to

Hello! I'm working on a branch based on @dig @lemmi and "dbro's" work, and have corrected:

  • Port map labeling
  • SFP ports being swapped
  • Both SFPs should be reporting module info (but don't have SFPs to test yet)

Still can't get the eth0-3 ports working at all. Have tried including CONFIG_AT803X_PHY=y thinking that it was excluded from octeon, but nada. I found another thread from trying to port to a Meraki device that I wondered if had the same issue (also uses AR8033 and QCA8511). From the fdt that lemmi linked, there's no interface group for the AR8033 ports, but I'm unsure if this matters. Nothing seems to make those visible.

In theory, the 8514's wouldn't work if it couldn't see the 8511, right? No need to bring in additional drivers? At this stage, I believe the ER-12p pre-prod unit that I have will be functional, save for eth0-3 (which is fine for my uses, but would like to figure it out). Looking for advice, and have device on my desk to test.

I still need to clean up mac addressing (as none match my fdt or ubnt running config), so not posting yet as I don't want others horribly breaking.

Short update: seems that I can make the AR8033 ports work in interface@1, but it seems nothing in @interface2 works yet (nor does grouping all the POE ports in @interface1, as it stops creation after the first 4). Going to keep trying to shuffle to get the ports all up. From my uboot log:

octeth0, octeth1 [PRIME], octeth2, octeth3, octeth4, octeth5, octeth6, octeth7
Node 0 Interface 0 has 4 ports (QSGMII)
Node 0 Interface 1 has 4 ports (QSGMII)
Node 0 Interface 2 has 4 ports (NPI)
Node 0 Interface 3 has 4 ports (LOOP)
Node 0 Interface 4 has 1 ports (AGL)

I had originally thought that those AR8033s should belong in the NPI interface as lemmi had said that the vitesse ports were all qsgmii. Need to keep experimenting.

My current theory on why I can't seem to get the full set of ports is that the OpenWRT boot doesn't see the NPI interface when it boots. I think the mac-address matching EdgeOS also has to do with lack of eeprom recognition.

The EdgeOS bootlog contains:

3 cmdlinepart partitions found on MTD device spi32766.0
Creating 3 MTD partitions on "spi32766.0":
0x000000000000-0x000000200000 : "boot0"
0x000000200000-0x000000400000 : "boot1"
0x000000400000-0x000000410000 : "eeprom"
octeon-ethernet 2.0
Node 0 Interface 0 has 4 ports (QSGMII)
Node 0 Interface 1 has 4 ports (QSGMII)
Node 0 Interface 2 has 4 ports (NPI)
Node 0 Interface 3 has 4 ports (LOOP)
Node 0 Interface 4 has 1 ports (AGL)

While OpenWRT sees:

[    5.336205] spi-nor spi0.0: mx25l6405d (8192 Kbytes)
[    5.341224] 2 fixed-partitions partitions found on MTD device spi0.0
[    5.347599] Creating 2 MTD partitions on "spi0.0":
[    5.352392] 0x000000000000-0x000000300000 : "boot0"
[    5.357688] 0x000000300000-0x000000400000 : "dummy"
[    5.363558] spi-octeon 1070000001000.spi: OCTEON SPI bus driver
[    5.447360] mdio_octeon 1180000001800.mdio: Probed
[    5.528041] Interface 0 has 4 ports (SGMII)
[    5.532271] Interface 1 has 4 ports (SGMII)
[    5.537312] Interface 3 has 4 ports (LOOP)

Going to follow this to see if I'm on the right track. Would love input from others that have more experience here, or if these interfaces are a red-herring to the dts construction. The doubt I have that it could be a red-herring is that my fdt print from uboot doesn't contain a defined second interface. Seems (to my eye) to contain the 8504 (0) and ar8033 (1) definitions, but not the 8514's.

Is there any update on this subject? I have an EdgeRouter 12P which is now doing nothing and I am looking to flash Openwrt on it.

Can you share your branch? I would like to try it on my ER12 as well. I do not use the device as my main router anymore and would like to play around