diff -Naur linux.orig/drivers/net/3c503.c linux/drivers/net/3c503.c --- linux.orig/drivers/net/3c503.c Thu Feb 19 23:14:04 1998 +++ linux/drivers/net/3c503.c Thu Feb 19 23:16:24 1998 @@ -179,7 +179,8 @@ for both the old and new 3Com prefix */ outb(ECNTRL_SAPROM|ECNTRL_THIN, ioaddr + 0x406); vendor_id = inb(ioaddr)*0x10000 + inb(ioaddr + 1)*0x100 + inb(ioaddr + 2); - if ((vendor_id != OLD_3COM_ID) && (vendor_id != NEW_3COM_ID)) { + if ((vendor_id != OLD_3COM_ID) && (vendor_id != NEW_3COM_ID) && + (vendor_id != BULL_3COM_ID)) { /* Restore the register we frobbed. */ outb(saved_406, ioaddr + 0x406); return ENODEV; diff -Naur linux.orig/drivers/net/3c503.h linux/drivers/net/3c503.h --- linux.orig/drivers/net/3c503.h Thu Feb 19 23:14:05 1998 +++ linux/drivers/net/3c503.h Mon Feb 16 11:41:56 1998 @@ -11,6 +11,7 @@ #define OLD_3COM_ID 0x02608c #define NEW_3COM_ID 0x0020af +#define BULL_3COM_ID 0x000062 /* Shared memory management parameters. NB: The 8 bit cards have only one bank (MB1) which serves both Tx and Rx packet space. The 16bit