Unable to create TX buffer recovery queue
joel.sherrill at oarcorp.com
Wed Jun 6 13:38:09 UTC 2007
Amalaye Oyake wrote:
> Setting MANAGERS=all may be one step but don't some of the
> #define CONFIGURE_MAXIMUM_XYZs have default values of 0?
> I may need to assign some values to these perhaps?
Definitely if the driver is allocating an RTEMS message queue.
You have to account for it.
and you need to account for the message buffer memory. In 4.7
and older, you use CONFIGURE_MEMORY_OVERHEAD
which is the number of extra KB (not bytes) you want for message
In CVS, I added CONFIGURE_MESSAGE_BUFFER_MEMORY
to account for this. When a CVS RTEMS, you shouldn't have
to use CONFIGURE_MEMORY_OVERHEAD unless something
is broken in confdefs.h or you are just being sloppy guessing on
message buffers and task stacks.
> -----Original Message-----
> From: Daron Chabot [mailto:djc915 at mail.usask.ca]
> Sent: Tuesday, June 05, 2007 5:11 PM
> To: Amalaye Oyake
> Cc: RTEMS
> Subject: Re: Unable to create TX buffer recovery queue
> On 5-Jun-07, at 5:21 PM, Amalaye Oyake wrote:
>> I am using RTEMS on a i386 system (a 400Mhz Pentium II with 128MB
>> of RAM).
>> The NIC is a 3C905B (3COM Card) ... RTEMS finds the NIC, does a
>> timer setup,
>> identifies the media and says unit elnk1 driver attached.
>> Then it says
>> RTEMS: etherlink : Unable to create TX Buffer recovery queue
>> RTEMS: fatal error, exiting
>> What do the above errors mean? How can I fix this?
> Have a look at the driver source, elnk.c, line 3525:
> if (txDaemonTid == 0)
> if( rtems_message_queue_create( rtems_build_name
> sizeof(struct TXMD *),
> RTEMS_FIFO | RTEMS_LOCAL,
> &chainRecoveryQueue ) !=
> RTEMS_SUCCESSFUL )
> rtems_panic( "etherlink : Unable to create TX buffer
> recovery queue\n" );
> i.e. the directive, rtems_message_queue_create( ), is failing...
> I'm going to guess that you haven't included the Message Manager in
> your application's Makefile. If memory is not an issue (and 128 MB is
> *lots* to play with...), just set the "Managers" variable to "all":
> i.e. in your Makefile set
> That will circumvent several obscure "gotchyaz"...
> -- dc
> rtems-users mailing list
> rtems-users at rtems.com
More information about the users