Hi! Update!

On Sun, 27 Apr 2025 at 21:00, Adrian Chadd <adr...@freebsd.org> wrote:

> A few weeks ago I started poking at some netgate hardware to use as
> freebsd wifi test boxes in my little test lab here. The two I'm using are
> ADI (now Silicom) boxes that needed some fun deep dives into BIOS versions,
> interrupt storms and compatible mini-PCIe cards (some just don't actually
> get probed!)
>
> [snip]


>
> Anyway, on the etherswitch side I did a bunch of cleanup to support
> etherswitch/miiproxy/e6000sw as modules, and fix a bunch of e6000sw bugs,
> and they're in -HEAD:
>
> * https://reviews.freebsd.org/D50024 to https://reviews.freebsd.org/D50031
> are all cleanups
> * https://reviews.freebsd.org/D50044 adds the 88E6190X support
>

Those are in -HEAD now!

>
> But then the next fun problem - none of the ports came up. Well, I lie.
> Only one of them came up. I went digging into the PHY registers and found
> that the marvell gige PHY code didn't actually power up the PHY if it was
> powered down, so I fixed that too:
>
> * https://reviews.freebsd.org/D50045
>

This is in -HEAD now!


>
> Then with some hints, I could see and use all of the switch ports on the
> AT&T ATT-150 CPE device:
>
> hint.mdio.0.at="ix0"
> hint.e6000sw.0.addr="0x10"
> hint.e6000sw.0.port0disabled="1"
> hint.e6000sw.0.is6190x=1
> hint.e6000sw.0.port9cpu=1
> hint.e6000sw.0.port10cpu=1
> hint.e6000sw.0.port9speed=2500
> hint.e6000sw.0.port10speed=2500
>
> Then, I also acquired a wireguard M270 box, as it also apprently has a
> marvell switch attached to an X553 backplane, and none of the ethernet
> ports work at all out of the box.
> The above hints worked on that too - with addr set to "0x0" instead of
> "0x10".
>
> So, now i have two Atom C3558 boxes w/ X553 2.5gbit backplane ports hooked
> into an 8 port marvell gige switch working on -HEAD (save the ixgbe mdio
> diff that I attached; I'll sort that out soon). All it took was like $250
> in hardware, staring at intel documentation and linux/dpdk driver code, and
> three evenings thinking to myself "surely this can't be THAT hard.
>

https://reviews.freebsd.org/D50127 adds MDIO/MII support for the x553 bits
if there's an external PHY for some reason, and
https://reviews.freebsd.org/D50128 adds the if_ix MDIO bus. It's all
preliminary, but it works, and if for some reason I forget to land it / get
distracted by real life, all of the moving pieces are now available and
public.

I'm hoping to clean up D50128 enough next week to get it into -HEAD (with
the intel maintainers blessings of course) and then add some wiki
documentation for the two switch platforms I have that use it. I hear
there's some netgate boxes that also use this switch but I don't have the
hardware to play with.

-adrian

Reply via email to