Subject: 3c905 media support..
To: None <current-users@NetBSD.ORG>
From: Andrew Gillham <>
List: current-users
Date: 03/04/1998 16:12:49

I have a Dell Optiplex GXa (Pentium II 266) with an integrated
3com Fast Etherlink XL, or 3c905.  The ep driver recognizes it,
and mostly works, but doesn't detect the correct media.  In fact
it thinks it only has 100basetx, but actually seems to run at 10Mbs.
Here is the output of dmesg, with 'epdebug=1':

NetBSD 1.3E (SHADOW) #0: Wed Mar  4 14:49:19 EST 1998
cpu0: family 6 model 3 step 4
cpu0: Intel Pentium II (686-class)
real mem  = 133824512
avail mem = 112091136
using 2048 buffers containing 16777216 bytes of memory
mainbus0 (root)
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o enabled, memory enabled
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82443LX PCI AGP Controller (PAC) (rev. 0x03)
ppb0 at pci0 dev 1 function 0: Intel 82443LX AGP Device (PAC) (rev. 0x03)
pci1 at ppb0 bus 1
pci1: i/o enabled, memory enabled
ATI Technologies product 0x4744 (VGA display, revision 0x5c) at pci1 dev 0 function 0 not configured
pcib0 at pci0 dev 7 function 0
pcib0: Intel 82371AB PCI-to-ISA Bridge (PIIX4) (rev. 0x01)
pciide0 at pci0 dev 7 function 1: Intel 82371AB IDE controller (PIIX4) (rev. 0x01)
pciide0: primary channel wired to compatibility mode
pciide0: secondary channel wired to compatibility mode
wdc2 at pciide0 channel 0
atapibus0 at wdc2
wd0 at wdc2 drive 0: <QUANTUM FIREBALL ST6.4A>
wd0: 6149MB, 13328 cyl, 15 head, 63 sec, 512 bytes/sec
wd0: using 16-sector 16-bit pio transfers, lba addressing
wdc3 at pciide0 channel 1
atapibus1 at wdc3
cd0 at atapibus1 drive 0: <NEC                 CD-ROM DRIVE:288, , 3.04> type 5 cdrom removable
Intel 82371AB USB Host Controller (PIIX4) (USB serial bus, revision 0x01) at pci0 dev 7 function 2 not configured
Intel 82371AB Power Management Controller (PIIX4) (miscellaneous bridge, revision 0x01) at pci0 dev 7 function 3 not configured
ahc0 at pci0 dev 14 function 0
ahc0: interrupting at irq 10
ahc0: Reading SEEPROM...done.
ahc0: aic7880 Wide Channel, SCSI Id=7, 16 SCBs
ahc0: Resetting Channel A
ahc0: Downloading Sequencer Program...Done
scsibus0 at ahc0 channel 0: 16 targets
ahc0: target 0 using 16Bit transfers
ahc0: target 0 synchronous at 10.0MHz, offset = 0x8
sd0 at scsibus0 targ 0 lun 0: <MICROP, 3243-19MZ  Q4D, HT02> SCSI2 0/direct fixed
sd0: 4095MB, 3956 cyl, 19 head, 111 sec, 512 bytes/sect x 8388315 sectors
ahc0:A:6: refuses WIDE negotiation.  Using 8bit transfers
ahc0:A:6: refuses synchronous negotiation. Using asynchronous transfers
cd1 at scsibus0 targ 6 lun 0: <YAMAHA, CDR100, 1.10> SCSI2 4/worm removable
ppb1 at pci0 dev 15 function 0: Digital Equipment DECchip 21152 PCI-PCI Bridge (rev. 0x02)
pci2 at ppb1 bus 2
pci2: i/o enabled, memory enabled
ep0 at pci0 dev 17 function 0: 3Com 3C905 Ethernet
ep0: MAC address 00:c0:4f:98:b3:47
ep0: 8KB word-wide FIFO, (undefined) Rx:Tx split, mii default mii, autoselect
ep0: interrupting at irq 11
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
lpt0 at isa0 port 0x378-0x37b irq 7
npx0 at isa0 port 0xf0-0xff: using exception 16
vt0 at isa0 port 0x60-0x6f irq 1
vt0: generic, 80 col, color, 8 scr, mf2-kbd, [R3.32]
pms0 at vt0 irq 12
vt0: console
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
isapnp0 at isa0 port 0x279: read port 0x203
isapnp0: <CS4236B, CSC0000, , WSS/SB> port 0x534/4,0x388/4,0x220/16 irq 5 drq 1,0 not configured
isapnp0: <CS4236B, CSC000F, , Game> port 0x3a0/8 not configured
isapnp0: <CS4236B, CSC0010, , Ctrl> port 0xf00/8 not configured
isapnp0: <CS4236B, CSC0003, , MPU> port 0x330/2 not configured
biomask c440 netmask cc40 ttymask dcc2
wd0: no disk label
findroot: can't open dev wd0a (6)
boot device: sd0
root device (default sd0a): 
dump device (default sd0b): 
file system (default ffs): 
root on sd0a dumps on sd0b
uvm_swap: allocated 256 swap buffer headers
init: copying out flags `-s' 3
init: copying out path `/sbin/init' 11
ep0:  read 0x218, 0x163 from EP_W3_CONFIG register
epsetmedia: ep0: medium 0x6, 0x163 to EP_W3_CONFIG
ep0:  read 0x218, 0x163 from EP_W3_CONFIG register
epsetmedia: ep0: medium 0x6, 0x163 to EP_W3_CONFIG

I have tried this with the medium type set to "Auto NWAY", and with
100Mbs/Full Duplex.  Either way the output of 'ifconfig -m ep0' is:

	media: 100baseTX status: active
	supported media: 100baseTX
	inet xxxxxxxxxxx netmask 0xffffff00 broadcast xxxxxxxxxxxxx

Even though it claims 100baseTX, it is really running at 10Mbs, as I have
to force the port on my switch down to 10Mbs/half to get packets through.

I'm hoping someone out there has some debugging suggestions, or docs on
this particular card.

Andrew Gillham                            | This space left blank                     | inadvertently.
I speak for myself, not for my employer.  | Contact the publisher.