Ring buffer overflow and LAN91C111 ethernet driver
- From: santu34@xxxxxxxxx
- Date: Tue, 25 Mar 2008 00:02:12 -0700 (PDT)
Hi Forum,
Thanks for your hardwork.
I am working on vxworks 5.5.1, tornado 2.2.1 and CPU SH5571.
And my network driver is SMSC LAN91C111 ethernet controller.
Actully i am checking my target system that how it responds
when ring buffer overflow error is occured.
In order to generate ring buffer overflow, i reduced the size of
the size of the ring buffer from 85 to 40. And then i pinged 60000
bytes
of data to my target vxworks system.
From the above condition, i can able to generate ring buffer overflowerror message. And below are observations of the behaviour of my
target system,
1. All the network task running in my target system is delayed.(FTP,
PING...)
2. tNettask shows PEND state(but do not suspends)
3. ping shows request timed out.
And in my terminal, i use to get around 85(85 only is the main
problem) ring buffer
overflow messege like below
"0xd2b704c (tNetTask): panic: netJobAdd: ring buffer overflow!"
As stated above, ring buffer overflow message generates approximatly
around 85 times,
and stops generating.
In order to know why error message stopped, i checked the source code,
and below are
the observations,
1. i use to get error in driver receive routine.(Because
netClusterGet() function
in driver receive routine returns NULL).
2. RX_ABORT bit in RCR register is set.
3. Recieve interrupt continues to occur which inturn calls driver
receive routine continously.
From the above observation, i understood that data is not coming tothe driver,
though receive function is called as receive interrupt generated.
(I mean receive interrupt do not stops, but data is dropped in the
chip level)
Hence to confirm the above, i refferd the data*** of SMSC driver.
But there was no sufficent
information regarding the flow of rejecting the receving data.
Can anybody please tell me what exactly the process occur in hardware
in general or specific to SMSC driver.
(i.e data handling in hardware or DMA etc in general or specific to
the SMSC driver)
Or else if i am entirely wrong with my observation, if you had come
across this situation,
please tell me why the ring buffer overflow message stops after
sometime.
Thanks in Advance
.
- Prev by Date: Ata driver
- Next by Date: New Pentium-ish micros that work under VxWorks 5.4.2
- Previous by thread: Ata driver
- Next by thread: New Pentium-ish micros that work under VxWorks 5.4.2
- Index(es):
Loading