Iomega iConnect and FreeBSD (kirkwood)
Kristof Provost
kristof at sigsegv.be
Tue Mar 22 15:57:16 UTC 2011
On 2011-03-22 14:20:06 (+0100), Marcin Jurczuk <mjurczuk at gmail.com> wrote:
> Hello,
>
> I'm trying to setup FreeBSD 8.2 on iomega iConnect device which is
> based on platform similar/(identical) to SheevaPlug and Segate
> Dockstar. However not everything seems to beexactly the same bacause I
> have problems with kernel boot and mge0 ethernet adapter.
> I used DB-88F6XXX kernel conifig since this platform is CPU: Feroceon
> 88FR131 rev 1 (Marvell core)
> I'm able to boot system however kernel panic occurs with folowing message:
> ----------------------------------------
> mge0: <Marvell Gigabit Ethernet controller> at mem
> 0xf1072000-0xf1073fff irq 12,13,14,11,46 on mbus0
> mge0: Ethernet address: 00:d0:b8:0d:f6:5d
> mge0: attaching PHYs failed
>
> vm_fault(0xc0bfcd18, 0, 1, 0) -> 1
> Fatal kernel mode data abort: 'Translation Fault (S)'
> trapframe: 0xc0d7cc2c
> FSR=00000005, FAR=00000008, spsr=600000d3
> r0 =00000016, r1 =f1020200, r2 =00000004, r3 =00080002
> r4 =00000000, r5 =00000000, r6 =0000000c, r7 =00000000
> r8 =c0b58b50, r9 =c229c080, r10=c22c7000, r11=c0d7cc90
> r12=c0d7cc78, ssp=c0d7cc78, slr=c0b30a00, pc =c0b30a00
>
> [thread pid 0 tid 100000 ]
> Stopped at arm_remove_irqhandler+0x28: ldr r3, [r5, #0x008]
> db>
> --------------------------------------------
> Is there anyone who have some experience with this platform ?
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.
Regards,
Kristof
More information about the freebsd-arm
mailing list