Iomega iConnect and FreeBSD (kirkwood)
kristof at sigsegv.be
Mon Apr 18 13:25:19 UTC 2011
On 2011-04-18 11:40:15 (+0000), Nigel Roberts <nigel at nobiscuit.com> wrote:
> On Tue, 22 Mar 2011 at 16:45:05 +0100, Kristof Provost wrote:
> > I'm not familiar with that platform, but I remember seeing a very
> > similar error when I was playing with an Orion based board.
> > The driver should be the same (mge).
> > The panic occurs because the cleanup code is incorrect. This problem is
> > fixed in current I think.
> > In this case you probably don't need to worry about the cleanup code
> > though. It's only triggered when the PHY is not found.
> > If you can fix the PHY detection you won't run into the panic any more.
> > In 8.2 mge assumes a static mapping between interface number and PHY
> > address (i.e. PHY address = interface number (0 here) + 8).
> > You can overrule the offset by defining MII_ADDRESS_BASE.
> > Of course, you'll need to know the correct offset first.
> I'm also trying to get FreeBSD working on an Iomega device (an IX2-200)
> and the issue is not that the address for the PHY is wrong, it's that the
> first mge MAC doesn't actually have a PHY attached. Only the second MAC
> has a PHY (I've checked on the PCB and have pics for the curious). In
> Linux, only eth1 is usable, although eth0 is detected.
Okay, That's going to trigger the same issue.
> I'd really like to get this working in FreeBSD-STABLE. Can someone please
> point me to where the cleanup code has been fixed in CURRENT so that I can
> have a go at figuring out a patch? I also had a go at getting
> FreeBSD-CURRENT working, but it wouldn't even get to the copyright
> message on boot. I'm wondering if I got the fdt config wrong, so I am
> going to check on that.
Take a look at r201198.
It ensures that the interrupt handlers are not cleaned up if they
haven't been registered in the first place. That should prevent the
driver from panicking when it doesn't find a PHY.
More information about the freebsd-arm