This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: cs8900a problem


Ignoring the frame seems to do the trick (at first sight). I suppose
that if ethernet frames would be lost, upper layers will take care of
that, right?

I do believe, however, that the real problem lies with the device
driver, which should not be delivering zero length frames in the first
place. According to the cs8900a datasheet, enabling interrupts in the
RxCFG register but leaving the corresponding acceptance bit unset in the
RxCTL register will result in the device reporting zero length frames. I
tried the following change in the cs8900_start function

//    put_reg(base, PP_RxCFG, PP_RxCFG_RxOK | PP_RxCFG_CRC |
//                      PP_RxCFG_RUNT | PP_RxCFG_EXTRA);
    put_reg(base, PP_RxCFG, PP_RxCFG_RxOK);
    cpd->rxmode = PP_RxCTL_RxOK | PP_RxCTL_Broadcast | PP_RxCTL_IA;
    put_reg(base, PP_RxCTL, cpd->rxmode);

Although this could have explained what happened, it didn't solve
anything. My observation that the zero length is always returned when
the main polling loop is entered three times has been confirmed today.
Don't know if it means anything, but it gives me the impression that it
could be a hardware overrun.

Bob

On Thu, 2004-05-06 at 07:17, Bob Koninckx wrote:
> On Thu, 2004-05-06 at 00:08, Gary Thomas wrote:
> > On Wed, 2004-05-05 at 15:41, Bob Koninckx wrote:
> > > After some (a lot) digging, I've come closer to my ethernet redboot
> > > problem.
> > > 
> > > 
> > > 
> > > I further noticed that this zero length frame is only seen if the while
> > > loop in the main polling function gets entered at least three times. I
> > > have no idea what could be wrong, Hints or tips are welcome here!
> > 
> > What happens if you just ignore frames with a zero length?
> > What's the status (stat) value when the length is zero?
> > 
> 
> stat always equals 0x04 (RxEvent without any flags set). I'll try and
> see what happens if I ignore zero length frames.
> 
> Thanks,
> 
> Bob
> 


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]