Two network interfaces

Chris Johns chrisj at rtems.org
Wed Mar 12 00:36:18 UTC 2008


Leon Pollak wrote:
> Hello, all.
> 
> I have the following situation with 2 network interfaces been initialized.
> 
> The first interface is fully functional in HW and SW, but the second 
> controller which is connected to the PHY via MII has no physical connection 
> to the network and PHY therefore does not have link.
> 
> When I initialize the only first IF and give the application to run - 
> everything is OK: I can ping the box without any problem.
> 
> If I only add the second interface to the chain, the first stops functioning - 
> no replies to ping and arp and I see the "Still waiting for mbuf cluster" 
> message printed periodically.
> 
> I am not able to have the second interface physically connected in some 2-3 
> weeks. But I should be ready to work with it when it will be connected.
> 
> Therefore I just wanted to know: if such a behavior may be caused by the 
> second "faulty" interface or I need to work hard searching for a bug in the 
> driver?
> 

Thomas is correct with the need to correctly size the network buffers. When 
getting new hardware up and running I tend to over allocate to remove this 
from being a problem.

I see from your trace below the driver is 'rtems_enet_driver_attach' how-ever 
there are a few of these in the RTEMS tree so I do not know what hardware you 
are using.

I saw from an earlier post mention of the mpc8260ads driver so the remainder 
is just guess work. Do you have both controllers in a single device sharing 
some resources ? If you do then I would check what is being shared. For 
example BD allocation and interrupts are always tricky to sort out.

I hope this helps.

Regards
Chris

> Many thanks ahead.
> --
> Leon
> 
> 
> P.S. May be this is helpfull - rtems_bsdnet_ifconfig structures are filled as:
> ------------------------------
> (gdb) p netdriver_config[0]
> p netdriver_config[0]
> $3 = {name = 0xd5e14 "eth0", attach = 0x56380 <rtems_enet_driver_attach>, 
> 	next = 0xf76d8, 
> 	ip_address = 0xd5e1c "192.168.50.134", 
> 	ip_netmask = 0xd5e6c "255.255.255.0", 
> 	hardware_address = 0xd5e7c "00:80:7f:22:61:77", 	
> 	ignore_broadcast = 0, mtu = 0, rbuf_count = 0, xbuf_count = 0, 
> 	port = 0, irno = 0, bpar = 0, drv_ctrl = 0x0}
> 
> (gdb) p netdriver_config[1]
> p netdriver_config[1]
> $4 = {name = 0xd5e40 "eth1", attach = 0x56380 <rtems_enet_driver_attach>, 
> 	next = 0xf7710, 
> 	ip_address = 0xd5e48 "192.168.1.10", 
> 	ip_netmask = 0xd5e6c "255.255.255.0", 
> 	hardware_address = 0xd5e84 "00:80:7f:22:61:78", 
> 	ignore_broadcast = 0, mtu = 0, rbuf_count = 0, xbuf_count = 0, 
> 	port = 0, irno = 0, bpar = 0, drv_ctrl = 0x0}
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.com
> http://rtems.rtems.org/mailman/listinfo/rtems-users



More information about the users mailing list