Idea: Embed SLIC into Intel PCI Network Card ROM

Discussion in 'Windows 7' started by truthinjection, Aug 27, 2009.

  1. truthinjection

    truthinjection MDL Member

    Aug 27, 2009
    247
    46
    10
    Hi all,

    I've been thinking about the different ways to accomplish SLIC insertion into various BIOSes.

    Since the initial way (China SLIC Mod) was via a specially-crafted ISA / PCI Option ROM inserted into a BIOS, I've been thinking that for people that perhaps don't want to risk the loaders or risk bricking their BIOS during a bad flash upgrade, perhaps an Intel PCI card might be an option.

    I'm a big user of discrete PCI network gigabit cards from Intel (I've had bad luck with almost all motherboard LAN chipsets, so I gave up and just bought the $30 newegg intel cards).

    Two things are possibly useful about the intel cards:
    1. They seem to have a 64K or 128K flashrom on them, which can be updated using a DOS utility (ibautil.exe, i think). They don't seem to use all the space in the ROM, at least on the PRO1000/MT I'm looking at as I type.

    2. They have an accessible/modifyable EEPROM for storing the card's MAC Address/TCP-Offload settings/whatever. It appears to be 4K, but it looks like large portions of it (at least 374 bytes at the end) aren't used.

    Those two things mean that, in theory, you could take the normal PXE boot rom, concatenate the SLIC PCI rom onto the end, and change the initial CALL pointer to point to the SLIC PCI Rom, then have the SLIC Rom do its thing, and then jump to the original PXE ROM CALL pointer, thus keeping the normal PXE capability, while adding the ability to do SLIC patching.

    Further, if you stored the 374-byte SLIC table in the eeprom, rather than the PXE boot flash-rom, you could, in theory, update that whenever the need arose (such as the vista -> windows 7 SLIC version issue).

    Even further, if you used a byte of the EEPROM to store a desired status, you could have the SLIC ROM always apply, or only apply if there was not already a SLIC table in the bios, etc, etc. You could even have a nice boot-time Ctrl-A menu to control it.

    I realize this isn't as cheap as modifying a BIOS or anything, but it seems like it might be an idea worth exploring.

    What do you guys think?
     
  2. ifeife2

    ifeife2 MDL Member

    Apr 25, 2008
    135
    3
    10
  3. truthinjection

    truthinjection MDL Member

    Aug 27, 2009
    247
    46
    10
    Neat!

    Cool. I didn't see that one when it went by.

    Thanks for the pointer!

    -truthinjection