Elnk driver tx ring full !
Arquer Stephane
stephane.arquer at c-s.cnes.fr
Thu Nov 29 11:13:52 UTC 2007
Hello,
I'm trying to send samples over a 3Com905 nic using the elnk.c driver
and when I want to send more than 50 values (like double with variable
name ) the elnk_txdaemon stops when ring is full.
Here my networkconfig.h file:
/*
* Default network interface
*/
static struct rtems_bsdnet_ifconfig netdriver_config = {
RTEMS_BSP_NETWORK_DRIVER_NAME, /* name */
RTEMS_BSP_NETWORK_DRIVER_ATTACH, /* attach
function */
#ifdef RTEMS_USE_LOOPBACK
&loopback_config, /* link to next
interface */
#else
NULL, /* No more interfaces */
#endif
#if (defined (RTEMS_USE_BOOTP))
NULL, /* BOOTP supplies IP
address */
NULL, /* BOOTP supplies IP net
mask */
#else
"192.168.0.5", /* IP address */
"255.255.255.0", /* IP net mask */
#endif /* !RTEMS_USE_BOOTP */
#if (defined (RTEMS_SET_ETHERNET_ADDRESS))
ethernet_address, /* Ethernet hardware address */
#else
NULL, /* Driver supplies hardware
address */
#endif
0 /* Use default driver parameters
*/
};
struct rtems_bsdnet_config rtems_bsdnet_config = {
&netdriver_config,
#if (defined (RTEMS_USE_BOOTP))
rtems_bsdnet_do_bootp,
#else
NULL,
#endif
0, /* Default network task priority */
256*1024, /* Default mbuf capacity */
512*1024, /* Default mbuf cluster capacity */
#if (!defined (RTEMS_USE_BOOTP))
"rtems_host", /* Host name */
"nodomain.com", /* Domain name */
"192.168.0.1", /* Gateway */
"192.168.0.1", /* Log host */
{"192.168.0.1" }, /* Name server(s) */
{"192.168.0.1" }, /* NTP server(s) */
#endif /* !RTEMS_USE_BOOTP */
}
I made several tests increasing mbuf and mbuf cluster capacity and I saw
that it's not necessary to increase them a lot.
I use the default parameters of number of buffers
#define RX_RING_SIZE 16 /* default number of buffers */
#define TX_RING_SIZE 16
I don't know how to tune these parameters ?
Who support this driver ?
Does someone can give me information about tuning this driver to avoid
the break inside the elnk_txdaemon ?
Is this break usefull ?
It should be better to wait for XL_TXSTAT_DL_COMPLETE before trying to
send new packet instead of putting the interface inactive.
Thanks in advance for your precious help.
Regards.
sa
More information about the users
mailing list