Messages in this thread Patches in this message | | | Date | Tue, 22 Dec 1998 14:20:55 +0500 (KGT) | From | CyberPsychotic <> |
| |
Greetings,
Here's what changes I made so far in linux/drivers/net/ last night to make driver working with kernel as either built-in or module. The bug with promisc. mode still isn't solved. (the rest of things work fine I think).
However another tiny bug persists. (probably it could be worth to make it on #ifdef basic, if noone will figure out how to make autodetection properly). The driver doesn't detect TPE type type properly. A friend of mine played with it a little but didn't find good solution. SO he just commented/changed some things out to make it work with TPE. (original driver will work with BNC).
Bellow is the patch for linux/drivers/net/, and patch for driver itself to make it work with TPE. (I did the patch/changes againist the file, I downloaded from a web site).
attached is tar archive of changed files for linux kernel tree.
--- Config.in.orig Sun Nov 15 23:33:02 1998 +++ Config.in Tue Dec 22 13:00:03 1998 @@ -75,6 +75,7 @@ if [ "$CONFIG_NET_PCI" = "y" ]; then tristate 'AMD PCI PCnet32 (PCI bus NE2100 cards) support' CONFIG_PCNET32 tristate 'Intel EtherExpressPro PCI 10+/100B/100+ support' CONFIG_EEXPRESS_PRO100B + tristate 'Intel EtherExpress Pro/10 PCI support(alpha)' CONFIG_EEP10PCI tristate 'DE425, DE434, DE435, DE450, DE500 support' CONFIG_DE4X5 tristate 'DECchip Tulip (dc21x4x) PCI support' CONFIG_DEC_ELCP tristate 'Digi Intl. RightSwitch SE-X support' CONFIG_DGRS --- Makefile.orig Sun Nov 15 23:33:02 1998 +++ Makefile Mon Dec 21 19:33:31 1998 @@ -351,6 +351,15 @@ endif endif + +ifeq ($(CONFIG_EEP10PCI),y) +L_OBJS += eep10pci.o +else + ifeq ($(CONFIG_EEP10PCI),m) + M_OBJS += eep10pci.o + endif +endif + ifeq ($(CONFIG_EPIC),y) L_OBJS += epic100.o else --- Space.c.orig Sun Nov 15 23:33:02 1998 +++ Space.c Mon Dec 21 21:11:43 1998 @@ -51,6 +51,7 @@ extern int znet_probe(struct device *); extern int express_probe(struct device *); extern int eepro_probe(struct device *); +extern int eep10pci_probe(struct device *); extern int el3_probe(struct device *); extern int at1500_probe(struct device *); extern int at1700_probe(struct device *); @@ -116,6 +117,9 @@ #endif #ifdef CONFIG_EEXPRESS_PRO100B /* Intel EtherExpress Pro100B */ && eepro100_probe(dev) +#endif +#ifdef CONFIG_EEP10PCI /* Intel EtherExpress Pro10 */ + && eep10pci_probe(dev) #endif #ifdef CONFIG_EPIC && epic100_probe(dev) --- eep10pci.c.orig Tue Nov 5 07:27:43 1996 +++ eep10pci.c Fri Apr 11 08:39:14 1997 @@ -389,19 +389,22 @@ struct i596_private *lp; #ifdef MODULE - static char devicename[9] = { 0, }; + /* static char devicename[9] = { 0, }; */ /* Allocate and fill new device structure. */ +/* my comments begin Ulan int dev_size = sizeof(struct device) + sizeof(struct i596_private) + 0xf; dev = (struct device *) kmalloc(dev_size, GFP_KERNEL); memset(dev, 0, dev_size); +*/ + dev = init_etherdev(dev, sizeof(struct i596_private) + 0xf); dev->mem_start = (int)dev + sizeof(struct device); /* align for scp */ dev->priv = (void *)((dev->mem_start + 0xf) & 0xfffffff0); lp = (struct i596_private *)dev->priv; - dev->name = devicename; /* An empty string. */ +/* dev->name = devicename; An empty string. */ dev->base_addr = ioaddr; dev->irq = irq; dev->init = eep10pci_probe1; @@ -410,7 +413,7 @@ lp->media_override = options & 7; else lp->media_override = MEDIA_AUTO; - ether_setup(dev); + /* ether_setup(dev); */ lp->next_module = root_eep10pci_dev; root_eep10pci_dev = dev; if (register_netdev(dev) != 0)[unhandled content-type:application/x-gunzip] | |