Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Jun 2000 12:51:25 -0700 (PDT)
From:      wpaul@FreeBSD.ORG (Bill Paul)
To:        wc.bulte@chello.nl
Cc:        ticso@cicely.de, current@FreeBSD.ORG, alpha@FreeBSD.ORG
Subject:   Re: Looking for testers for if_dc patches
Message-ID:  <20000601195125.8AE5F37B958@hub.freebsd.org>
In-Reply-To: <20000531123051.A86871@freebie.wbnet> from Wilko Bulte at "May 31, 2000 12:30:51 pm"

next in thread | previous in thread | raw e-mail | index | archive | help

> Hi Bill,
> 
> I applied your patches to -current without incidents. 
> 
> I have a testbox (Digital dual P6) that gives:
> 
> May 31 10:56:38 p6 /kernel: dc0: <Intel 21143 10/100BaseTX> port
[...]
> May 31 11:03:27 p6 /kernel: dc0: watchdog timeout
> 
> This box can also house an Alpha Miata MX5 mainboard, the Intel & Alpha
> boards use the same PCI riser card that also contains the 21143 chip. 
> The patches don't seem to help on this particular hardware. I will try
> to give the Alpha a spin too, later today. BTW: ifconfig-ing to use
> 10baseT/UTP does not help either. The media bulkhead is a 10baseT/10base2
> one. if_de has no problems:

Alright, hold it. Stop. Just to make sure I understand:

- There's one interface involved here
- It has a 21143 chip
- It has 10baseT and AUI ports
- It's supposed to be 10Mbps only

If this is all correct, then I'd like you to try the following:

- Run pciconf -l on this machine and obtain the PCI ID for this device.
  The device ID is the hex number after the "chip=" section in the output.
  For the sake of this example, let's say it's 0x12345678.

- Bring up /sys/dev/mii/dcphy.c in your favorite editor.

- Look for the following code in the dcphy_attach() routine:

        case COMPAQ_PRESARIO_ID:
                /* Example of how to only allow 10Mbps modes. */
                sc->mii_capabilities = BMSR_ANEG|BMSR_10TFDX|BMSR_10THDX;  
                break;

- Add your PCI device ID like this:

        case COMPAQ_PRESARIO_ID:
	case 0x12345678:
                /* Example of how to only allow 10Mbps modes. */
                sc->mii_capabilities = BMSR_ANEG|BMSR_10TFDX|BMSR_10THDX;
                break;

One thing I discovered is that trying to enable 100Mbps autoneg on
a device that only has a 10Mbps port doesn't work. This broke the
support for the 10Mbps ethernet in certain Compaq Presario machines,
which is why I special-cased it. This will not make the AUI port
work (I need to add extra code for that) but it if this is the same
problem as the Compaq, it should allow the 10baseT port to work.

Let me know if this has any effect.

-Bill


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000601195125.8AE5F37B958>