Re: [Etherboot-users] sis900 driver
Brought to you by:
marty_connor,
stefanhajnoczi
From: Timothy L. <tl...@ro...> - 2004-06-26 11:17:04
|
On Thu, 2004-06-24 at 16:30, David Krovich wrote: > I'm working with a FoxConn motherboard with a SiS 650GX + SiS 962L > chipset. Etherboot version 5.2.4 doesn't seem to work correctly, if > just prints the MAC address as FF:FF:FF:FF:FF:FF, however things work > fine using with etherboot 5.3.8. > > I'm hoping someone can easily backport what works in the sis900 driver > in 5.3.8 to the stable production release. There are no real differences between the two drivers but typically the MAC address will show as all FF's if the function that read the eprom tried to read it too fast. >From a quick review of the linux driver it looks like there are a bunch of ways to get the MAC address based on the chip revision: /* Get Mac address according to the chip revision */ pci_read_config_byte(pci_dev, PCI_CLASS_REVISION, &revision); ret = 0; if (revision == SIS630E_900_REV) ret = sis630e_get_mac_addr(pci_dev, net_dev); else if ((revision > 0x81) && (revision <= 0x90) ) ret = sis635_get_mac_addr(pci_dev, net_dev); else if (revision == SIS96x_900_REV) ret = sis96x_get_mac_addr(pci_dev, net_dev); else ret = sis900_get_mac_addr(pci_dev, net_dev); The Etherboot driver seems to implement all of these. Maybe a quick review of the correct function will help: Are you compiling from the source? If so add: printf("Chip Revision: %hX\n", revision); around line 338 and report the revision number back to us. Tim |