On Thu, Jun 01, 2000 at 12:51:25PM -0700, Bill Paul wrote:

> > 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:

Don't panic ;-) This is definitely a confusing piece of hardware.

> - There's one interface involved here


> - It has a 21143 chip

Well, the de driver says 21142. The dc driver says 21143.

> - It has 10baseT and AUI ports

No, it has 10baseT and 10base2 (Cheapernet).

> - It's supposed to be 10Mbps only

With the current bulkhead yes. There is a replacement bulkhead in existence
that is 10baseT/100baseT capable. 

> 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.

For reference the ID reported is:

de0@pci0:3:0:  class=0x020000 card=0x00000000 chip=0x00191011 rev=0x11 hdr=0x00

> - 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.

This one does not have AUI so that is not going to be a problem. What I do
wonder, though, is what will happen if a 10/100Mbit bulkhead is installed on
this machine. I don't expect the PCI ID to change (right?). I can pull
the 10/100 bulkhead from my Miata GL to give this a try.

In the meantime I gave your patch a quick try and I unfortunately don't
see a change in behaviour. Still watchdog timeouts and no connection.

Question: I had expected dmesg and ifconfig to report 10Mbit only modes.
They still show 100 as supported media in addition to the 10Mbit modes.

There is something else that might interest you: when replacing a 10 Mbit
only bulkhead with a 10/100 one you need to connect it to the PCI bulkhead
with a different cable to a different connector (on the PCI bulkhead). The
10/100 one is silkscreened as MII. 

Could this mean the driver sees a MII interface while in this particular
setup the bulkhead is connected to something non-MII ? Wild guess maybe..

Once again: very special hardware...

Wilko Bulte     FreeBSD, the power to serve     http://www.freebsd.org

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to