Netboot Mailing List (by thread)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RTL-Poll Error and <sleep> for ever




On 1/19/2000 10:37 AM dirk@goe.net Dirk von Suchodoletz wrote:
>It seems to run a little bit better :-)
>The workstation is now able to boot after a rtl poll_error too.
>But I had the effect that the machine rebooted without motivation after
>some <sleep>'s ...

I'm glad to hear this version of rtl8139.c works a bit better for you.
The rebooting effect is probably because a packet was dropped and the 
Etherboot code doesn't know what else to do.  I suggest you also turn on 
the -DCONGESTED option in your src-32/Config file and see if it now has a 
better effect.  Something like:

CFLAGS+=        -DASK_BOOT=5 -DANS_DEFAULT=ANS_NETWORK -DCONGESTED

This may allow Etherboot to recover from dropped packets.  The code in 
main.c suggests that in the case of an error (can't contact dhcp/bootp 
server, can't download kernel) Etherboot will normally try to restart 
itself.  -DCONGESTED allows it to be somewhat more patient and do more 
retransmits before giving up and restarting.

>I read some lines on dejanews that people had some hassle with this
>chipset: After an error it sometimes disables itself, or lost the interupt
>and was unable to regain it. Dont know if it might have to do something
>with our problem.

Looking at the Linux kernel driver source code 
(/usr/src/linux/drivers/net/rtl8139.c) We see:

        } else if (rx_status &
                   (RxBadSymbol|RxRunt|RxTooLong|RxCRCErr|RxBadAlign)) {
            if (rtl8129_debug > 1)
                printk(KERN_DEBUG"%s: Ethernet frame had errors,"
                       " status %4.4x.\n", dev->name, rx_status);
            ....
            /* Reset the receiver, based on RealTek recommendation. 
(Bug?) */
            tp->cur_rx = 0;
            outb(CmdTxEnb, ioaddr + ChipCmd);

Which basically says, if there is any kind of receive error, whack the 
controller on the side of the head with a stick.  I added the moral 
equivalent to the test version of rtl8139.c you are using.

Others who are able, please try this test version. It's on 
http://www.thinguin.org/ in the 18 Jan 2000 entry.  Maybe it will make it 
into an upcoming Etherboot release.

>Thanks a lot!

You're welcome.  Glad to help.  Thanks for your patient debugging.

Regards,

Marty

---
   Name: Martin D. Connor
US Mail: Entity Cyber, Inc.; P.O. Box 391827; Cambridge, MA 02139; USA
  Voice: (617) 491-6935, Fax: (617) 491-7046 
  Email: mdc@thinguin.org
    Web: http://www.thinguin.org/


===========================================================================
This Mail was sent to netboot mailing list by:
Marty Connor <mdc@thinguin.org>
To get help about this list, send a mail with 'help' as the only string in
it's body to majordomo@baghira.han.de. If you have problems with this list,
send a mail to netboot-owner@baghira.han.de.



For requests or suggestions regarding this mailing list archive please write to netboot@gkminix.han.de.