Date: Fri, 17 Sep 1999 09:29:24 -0400 (EDT) From: supertaz@mindspring.com To: FreeBSD-gnats-submit@freebsd.org Subject: i386/13787: lnc driver isn't really the lnc driver Message-ID: <199909171329.JAA00498@mindspring.com>
next in thread | raw e-mail | index | archive | help
>Number: 13787
>Category: i386
>Synopsis: lnc driver isn't really the lnc driver
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Sep 17 06:30:01 PDT 1999
>Closed-Date:
>Last-Modified:
>Originator: Jon Mischo
>Release: FreeBSD 3.3-STABLE i386
>Organization:
>Environment:
This applies to ALL users of the lnc driver, and all users of
AMD PCnet ISA series NICs.
>Description:
The lnc driver's man page states it's the driver to use for the
Am7990 and Am79C960 based NICs. This is wrong. The Am7990 and
the Am79C960 are both ISA chips. The chip ID the lnc driver looks
for is for a PCI chip. Here is the PCI ID register list from AMD
docs:
PCI Configuration Space
Offset: 0x00 PCI Vendor ID Register
Offset: 0x02 PCI Device ID Register
31 16 15 0
DDDD DDDD DDDD DDDD VVVV VVVV VVVV VVVV
0010 0000 0000 0000 0001 0000 0010 0010 20001022 Am79C970 PCnet-PCI
0010 0000 0000 0000 0001 0000 0010 0010 20001022 Am79C970A PCnet-PCI II
0010 0000 0000 0000 0001 0000 0010 0010 20001022 Am79C971 PCnet-FAST
0010 0000 0000 0000 0001 0000 0010 0010 20001022 Am79C972 PCnet-FAST+
0010 0000 0000 0000 0001 0000 0010 0010 20001022 Am79C973 PCnet-FAST III
0010 0000 0000 0000 0001 0000 0010 0010 20001022 Am79C975 PCnet-FAST III
0010 0000 0000 0001 0001 0000 0010 0010 20011022 Am79C978 PCnet-Home
Offset: 0x08 PCI Revision ID Register
31 16 15 0
xxxx xxxx xxxx xxxx xxxx xxxx RRRR RRRR
xxxx xxxx xxxx xxxx xxxx xxxx 0000 xxxx 0x Am79C970 PCnet-PCI
xxxx xxxx xxxx xxxx xxxx xxxx 0001 xxxx 1x Am79C970A PCnet-PCI II
xxxx xxxx xxxx xxxx xxxx xxxx 0010 xxxx 2x Am79C971 PCnet-FAST
xxxx xxxx xxxx xxxx xxxx xxxx 0011 xxxx 3x Am79C972 PCnet-FAST+
xxxx xxxx xxxx xxxx xxxx xxxx 0100 xxxx 4x Am79C973 PCnet-FAST III
xxxx xxxx xxxx xxxx xxxx xxxx 0100 xxxx 4x Am79C975 PCnet-FAST III
xxxx xxxx xxxx xxxx xxxx xxxx 0101 xxxx 5x Am79C978 PCnet-Home
The PCnet-Home should also work with the same driver, since AMD
is particularly good about register compatibility between chips
in the same family. All documentation for this is freely available
on AMD's site.
Furthermore, these controllers aren't LANCE generation chips. They
are based off the MACE generation chip. LANCE were 10Mb/sec only
and had 64 and 48 byte buffers (RX and TX respectively) and were
half duplex only. The MACE chips had 128 and 136 byte buffers and
were 10/20 (full duplex). The above PCI chips mostly have at least
12kB buffers that are programmable, based off the MACE designs. The
one exception is the PCI II, which has 256 and 272 since it is not
a 10/100 card like the others.
>How-To-Repeat:
Put an Am7990 or Am79C960 based NIC in a machine, and watch it not
be recognized.
>Fix:
Now, I happen to have (2) NICs from the family that the lnc driver
claims to be for. Since they are register compatible with the
Am79C960 (PCnet ISA), it would help me a lot if I could get my
hands on the actual lnc driver source (the REAL lnc driver, not
the driver it has become). Mine are the Am79C961 (PCnet ISA+) and
Am 79C961A (PCnet ISA II). I will most likely attempt to write a
driver from scratch, but I would really like the source for the
original lnc driver, so I can compare it, and make the new driver
backwards compatible (the newer chips have PnP registers built in).
Really, they should be under a driver called mce, since they are
MACE-based chips, with the same buffer sizes as the MACE chips.
The following are the chip ID registers for AMD PCnet ISA series:
Chip ID Registers
31 CSR89 16 15 CSR88 0
VVVV PPPP PPPP PPPP PPPP MMMM MMMM MMM1
xxxx 0000 0000 0000 0011 0000 0000 0011 x0003003 Am79C960 PCnet-ISA
xxxx 0010 0010 0110 0000 0000 0000 0011 x2260003 Am79C961 PCnet-ISA+
xxxx 0010 0010 0110 0001 0000 0000 0011 x2261003 Am79C961A PCnet-ISA II
>Release-Note:
>Audit-Trail:
>Unformatted:
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?199909171329.JAA00498>
