Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Jan 2000 13:36:46 -0500 (EST)
From:      Bill Paul <wpaul@skynet.ctr.columbia.edu>
To:        Arjan.deVet@adv.iae.nl (Arjan de Vet)
Cc:        bugs@freebsd.org
Subject:   Re: kern/15986: xl ethernet interface hanging
Message-ID:  <200001091836.NAA17896@skynet.ctr.columbia.edu>
In-Reply-To: <20000109123830.A418@adv.iae.nl> from "Arjan de Vet" at Jan 9, 2000 12:38:30 pm

next in thread | previous in thread | raw e-mail | index | archive | help
Of all the gin joints in all the towns in all the world, Arjan de Vet 
had to walk into mine and say:

> Bill Paul wrote:
> 
> >Grrrrr. This is *NOT* a proper problem description. Where's your
> >*complete* dmesg output? Where's detailed description of the failure? 
> >Where's the instructions that show how to duplicate the problem?
> 
> Full dmesg output:

>     da0: <Quantum XP34300 L912> Fixed Direct Access SCSI-2 device 
>     da0: 10.000MB/s transfers (10.000MHz, offset 8), Tagged Queueing Enabled
>     da0: 4101MB (8399520 512 byte sectors: 255H 63S/T 522C)

Gaah... I hate these disks. Hate them. They're evil. But that's
another matter.
 
> The ethernet card was provided with my cable modem (Lancity) by my cable
> company. The mac-address of the card is used for identification purposes
> by the cable company (therefore just swapping cards won't work).

Actually, you can use another card. Look at 
http://www.freebsd.org/~wpaul/mac.tar.gz. It contains a small loadable
syscall KLD module and a utility that lets you set the MAC address
on any interface. Unpack it, then do this:

# cd module_3.2
# make; make load
# cd ../setmac
# make
# ./setmac xl0 00:00:e8:12:34:56

(Don't let the "module_3.2" directory name fool you: it works on anything
from FreeBSD 3.2 and up. The "module" directory is for 2.2.x.)
 
> 'dhclient xl0' does work on 3.4-stable and with the 'fix' I proposed for
> 4.0-current, so I'm not suspecting the cable modem itself.

Well, the problem is that doing the RX reset causes problems for some
of the 100Mbps cards. They have an internal transceiver with autoneg
support, and issuing the RX reset command causes them to restart autoneg
when I don't want them to.

What you can try for me is this:

        if (sc->xl_miibus == NULL) {
                CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_RX_RESET);
                xl_wait(sc);
        }

This should restrict the extra reset to the 10mbps only cards, which
should be safe since NWAY autonegotiation isn't used.

I'm still a bit confused as to why this is needed, since the attach
routine performs a reset when the driver is loaded.

-Bill

-- 
=============================================================================
-Bill Paul            (212) 854-6020 | System Manager, Master of Unix-Fu
Work:         wpaul@ctr.columbia.edu | Center for Telecommunications Research
Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
=============================================================================
 "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness"
=============================================================================


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




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