Re: dc0 acting up

From: Stephen McKay <smckay_at_internode.on.net>
Date: Wed, 29 Sep 2004 16:09:58 +1000
On Tuesday, 28th September 2004, Savchuk Taras wrote:

>On Tuesday 28 September 2004 16:17, Jesse Marquez wrote:
>
>FreeBSD5.3-BETA4
>
>I have the same output during boot:
>> dc0: failed to force tx and rx to idle state
>> dc0: failed to force tx and rx to idle state
>> dc0: failed to force tx and rx to idle state

This one comes up every year or so and is my fault (more or less).
Maybe we can fix it now that people are reporting it, even though it
is actually pretty harmless.

What hardware do you have?  Ie what other dc0: lines do you find in dmesg?

If you are willing to edit some code and try again, what happens when
you comment out the entire for loop at line 1379 of sys/pci/if_dc.c, which
looks like this:

                for (i = 0; i < DC_TIMEOUT; i++) {
                        isr = CSR_READ_4(sc, DC_ISR);
                        if (isr & DC_ISR_TX_IDLE &&
                            ((isr & DC_ISR_RX_STATE) == DC_RXSTATE_STOPPED ||
                            (isr & DC_ISR_RX_STATE) == DC_RXSTATE_WAIT))
                                break;
                        DELAY(10);
                }

                if (i == DC_TIMEOUT)
                        printf("dc%d: failed to force tx and "
                                "rx to idle state\n", sc->dc_unit);

Does your network card still work?

The long story is that this test is probably unnecessary, though the manual
for the original Intel 21143 requires it.  If it was skipped for non-Intel
chips, I think everyone would be happy.  It would be nice to have some
experimental verification of this theory though.

Stephen.
Received on Wed Sep 29 2004 - 04:10:02 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:14 UTC