| Time on Sun, 17 Nov 2002 20:50:08 -0500 |
|
On Sun, Nov 17, 2002 at 07:05:40PM -0500, Greg Lopp wrote:
> Check the source of the sis900_get_mac_addr() func in
> /usr/src/linux/drivers/net/sis900.c Chances are pretty high that this
> is where modprobe is going arry (how many places in the code is EEPROM
> misspelled as EERPOM?)
Thanks Greg,
The code seems to being doing what its supposed to be doing (afaik):
/**
* sis900_get_mac_addr: - Get MAC address for stand alone SiS900
* model
* @pci_dev: the sis900 pci device
* @net_dev: the net device to get address for
*
* Older SiS900 and friends, use EEPROM to store MAC address.
* MAC address is read from read_eeprom() into @net_dev->dev_addr.
*/
static int __devinit sis900_get_mac_addr(struct pci_dev * pci_dev,
struct net_device *net_dev)
{
long ioaddr = pci_resource_start(pci_dev, 0);
u16 signature;
int i;
/* check to see if we have sane EEPROM */
signature = (u16) read_eeprom(ioaddr, EEPROMSignature);
if (signature == 0xffff || signature == 0x0000) {
printk (KERN_INFO "%s: Error EERPOM read %x\n",
net_dev->name, signature);
return 0;
}
/* get MAC address from EEPROM */
for (i = 0; i < 3; i++)
((u16 *)(net_dev->dev_addr))[i] = read_eeprom(ioaddr,
i+EEPROMMACAddr);
return 1;
}
: which is checking to see if the device is present, and if not
returning a sane value, exiting.
I'm getting the feeling this has something to do with that unknown
device? (of course, speculation on my part is usually a bad idea)
> The EEPROM on the card is returning a bad value. Maybe try reseating
> it? (yeah yeah, works in that other OS, I don't know what to tell ya)
Unfortunately, its an on-board chipset. 8\
--
Regards,
Time
13
\
9 . 3 clockbot.net
/
6
Attachment:
pgpThjOqZibdD.pgp
|
|