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>