ppcboot 2.0.0 + ppclinux2.4.devel, network weirdo

erik.teose at exgate.tek.com erik.teose at exgate.tek.com
Thu Apr 10 02:23:14 EST 2003


> 1. for some reason, linux kernel sees the two eth interfaces but fails
> to get the correct MAC addresses, thus when system fully boots up
> "ifconfig" shows two eth0/eth1 with MAC addr as ff:ff:ff:ff:ff:ff, because
> this is same as brd, many network services won't work.
> I checked kernel source code and found that, in include/asm-ppc/ibm440.h,
> there's a structure "board_info" holds MAC addresses of the two enet
> interfaces. According to this header file: "Ebony firmware stores MAC
> addresses in the F/W VPD area. The firmware must store the other dynamic
> values in NVRAM like on the previous 40x systems so they  should be
> accessible if we really want them."
> So, my question is: how can I get ibm440's EMAC info? from NVRAM?
> the kernel I am using now does not support NVRAM for ppc yet.

Are you using kernel code supplied by MontaVista (MV)? I had the same
problem;
we are using MontaVista 3.0 for the Ebony board, and I had trouble with
the interface from u-boot 0.2.0 to the MV kernel. The MV code is very
specific to the bootrom supplied by IBM; that bootrom is "custom" to each
unique Ebony board, because the 2 MAC addresses are stored at the end of the
bootrom (that's the "VPD" area). I had to modify 3 MV files to get the MAC
address passed in from u-boot to be used by the MV kernel
(kernel/arch/ppc/platforms/ebony.c,
kernel/include/asm-ppc/ibm440.h, and kernel/include/asm-ppc/ibm4xx.h). I
have attached
my patches for these files.

After I got the MAC address to transfer over from u-boot, I had trouble with
nfs mounting
the root filesystem (I did not want to use bootp/dhcp in the nfs mounting
process). I had to
modify kernel/net/ipv4/ipconfig.c to get this to work (I've attached this
patch as well).

Hope this helps.

Erik Teose
erik.teose at tek.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ebony.c.patch
Type: application/octet-stream
Size: 2727 bytes
Desc: not available
Url : http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20030409/042f38d8/attachment.obj 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ibm440.h.patch
Type: application/octet-stream
Size: 2566 bytes
Desc: not available
Url : http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20030409/042f38d8/attachment-0001.obj 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ibm4xx.h.patch
Type: application/octet-stream
Size: 262 bytes
Desc: not available
Url : http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20030409/042f38d8/attachment-0002.obj 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ipconfig.c.patch
Type: application/octet-stream
Size: 410 bytes
Desc: not available
Url : http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20030409/042f38d8/attachment-0003.obj 


More information about the Linuxppc-embedded mailing list