[tulip-bug] LinkSys EtherFast 10/100 Lan card LNE100TX
Don
dharter@mailcity.com
Wed, 03 Jan 2001 22:29:20 -0600
This is a multi-part message in MIME format.
--------------C51510921E2BD7F500AE0525
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
I was finally able to get a compile and linkage for the drivers for this
card. Even with the gcc version 2.95.2 , I had the posix header
problem until I used "-I/usr/src/linux/include". I went back to
egcs-1.1.2-30 and egcs-c++-1.1.2-30 . After compiling the modules I
could not link them. I got unresolved references. I searched the
archives and found that someone could not compile them with an option
mod versions set in the source kernel. I recompiled the kernel without
this option. Then the modules tulip.c and pci-scan.c would not only
compile but load using insmod. However I would get different behaviour
when I compiled them as part of the kernel. When it booted it would
recognize 8 cards when I had only 1. The modules would only recognize 1
card. I have attached a patch that has the pci id for my card. I am
not sure of the chipset, but the pci id had a close match to one
already there so I used that one. I had asked LinkSys for this
information, but they did not reply. I hooked the card up to my ADSL
mdoem and I could see that packets were being received at the modem.
--------------C51510921E2BD7F500AE0525
Content-Type: text/plain; charset=us-ascii;
name="patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="patch"
*** tulip.c 2000/12/31 04:59:55 1.1
--- tulip.c 2000/12/31 20:27:12 1.3
***************
*** 33,39 ****
/* The user-configurable values.
These may be modified when a driver module is loaded.*/
! static int debug = 1; /* 1 normal messages, 0 quiet .. 7 verbose. */
#define tulip_debug debug /* Inconsistently used to minimize changes. */
/* Maximum events (Rx packets, etc.) to handle at each interrupt. */
--- 33,39 ----
/* The user-configurable values.
These may be modified when a driver module is loaded.*/
! static int debug = 7; /* 1 normal messages, 0 quiet .. 7 verbose. */
#define tulip_debug debug /* Inconsistently used to minimize changes. */
/* Maximum events (Rx packets, etc.) to handle at each interrupt. */
***************
*** 322,327 ****
--- 322,329 ----
static struct pci_id_info pci_id_tbl[] = {
{ "Digital DC21040 Tulip", { 0x00021011, 0xffffffff },
TULIP_IOTYPE, 0x80, DC21040 },
+ { "Linksys Etherfast 10/100 v4.1 Tulip", { 0x09851317, 0xffffffff, 0x05741317, 0xffffffff },
+ TULIP_IOTYPE, 0x80, DC21041 },
{ "Digital DC21041 Tulip", { 0x00141011, 0xffffffff },
TULIP_IOTYPE, 0x80, DC21041 },
{ "Digital DS21140A Tulip", { 0x00091011, 0xffffffff, 0,0, 0x20,0xf0 },
*** pci-scan.c 2000/12/31 12:37:35 1.1
--- pci-scan.c 2000/12/31 12:51:30 1.3
***************
*** 25,31 ****
/* A few user-configurable values that may be modified when a module. */
! static int debug = 1; /* 1 normal messages, 0 quiet .. 7 verbose. */
static int min_pci_latency = 32;
#if ! defined(__KERNEL__)
--- 25,31 ----
/* A few user-configurable values that may be modified when a module. */
! static int debug = 4; /* 1 normal messages, 0 quiet .. 7 verbose. */
static int min_pci_latency = 32;
#if ! defined(__KERNEL__)
***************
*** 142,147 ****
--- 142,150 ----
pci_id, pci_subsys_id);
for (chip_idx = 0; pci_tbl[chip_idx].name; chip_idx++) {
struct pci_id_info *chip = &pci_tbl[chip_idx];
+ if (debug > 3)
+ printk (KERN_DEBUG "pci_tbl subsystem %8.8x pci_tbl revision %8.8x \n",
+ chip->id.subsystem, chip->id.revision);
if ((pci_id & chip->id.pci_mask) == chip->id.pci
&& (pci_subsys_id&chip->id.subsystem_mask) == chip->id.subsystem
&& (pci_class_rev&chip->id.revision_mask) == chip->id.revision)
--------------C51510921E2BD7F500AE0525--