WindSLIC - PCI Replacement ROM for SLIC Injection

Discussion in 'MDL Projects and Applications' started by truthinjection, Feb 22, 2010.

  1. BigG

    BigG MDL Junior Member

    Aug 26, 2008
    50
    0
    0
    Got a link for it?

    Thanks.
     
  2. BigG

    BigG MDL Junior Member

    Aug 26, 2008
    50
    0
    0
    #102 BigG, May 26, 2010
    Last edited: May 26, 2010
    tij,

    I changed the several options in the windslic.asm file, and re-compiled the flash file.

    Here is the screen shot with the new flash

    Initializing WindSLIC v2010.02.22.01 (DELL M09)
    PCI-BIOS Version 02.10
    Press F5 to Skip..
    Rom Base: 0000C800
    Continuing..
    Press Any Key to Continue
    Continuing..
    ROM Checksum [Initial/Fixed] AD/53

    That's it. Did not see the "Activation" part.

    What could be the issue?

    UPDATE:

    I re-compiled the flash rom file by using the previous release of Windslic (windslic-2010-01-15), and the activation worked (there is a WindSLIC entry in my BIOS now).

    Thanks very much for your wonderful tools.

    p.s. why the latest one did not work?
     
  3. truthinjection

    truthinjection MDL Member

    Aug 27, 2009
    247
    46
    10
    #103 truthinjection, May 27, 2010
    Last edited: May 27, 2010
    (OP)
    Sure thing. I'm not sure why the newer version isn't working. You said that with the newer version, the BIOS reported "BEV Device (not installed)". WindSLIC is definitely a BEV Device, so I'm not sure why it doesn't show up.

    What does the BIOS show now with the working-version? (As in, how is the entry listed?)
     
  4. BigG

    BigG MDL Junior Member

    Aug 26, 2008
    50
    0
    0
    The new entry in my BIOS (top most one)is : "WindSLIC".
     
  5. bp1

    bp1 MDL Member

    May 11, 2009
    210
    50
    10
    I trieed the windslic sometime ago with the windslic programs from the old threads.
    In the older version (Tried all versions) i never really had any problems on various test motherboards. However i do also have a very old Asus CUV4X-E which has always been problamatic with bios mods and windslic where the slic never shows in slic_tool_kit. With Windslic the problem with windslic has always been that at boot i either get a lock up after windslic message at boot or a message that says "Press any key to Reboot" and then a reboot occurs.
    Today i have just tried the new version of windslic-2010_02_22_01.
    This version just worked first time. The most important thing i had to do was to find the PCI_Vendor/DeviceID and correctly ensure that as instructed this was incorparated within "windslic.asm".

    My test consisted of the following:-

    Motherboard:- Asus CUV4X-E
    PCI NIC:- Intel Pro 100S
    SLIC:- Asus 2.1
    PCI_VENDOR_ID = 8086h;Intel
    PCI_DEVICE_ID = 1229h;Intel Pro/100+

    Many thanks to truthinjection for carrying on with the development of this great project.
    Also many thanks to nononsense for his windslic projects and threads which are also like this very informative.

    Kind Regards
    bp1
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. FreeStyler

    FreeStyler MDL Guru

    Jun 23, 2007
    3,544
    3,771
    120
    I just used this on a Server, using 'unmodifiable' Phoenix SecureCore Bios (Fujitsu)
    I recently equipped the server with a 2nd NIC which is recommended for a Hyper-V environment, so I did the obvious and took one of the supported intel NIC's, eg: Intel Pro1000/CT (VID/DID: 8086h,10D3h)
    I flashed the Intel Pro1000/CT Card ROM with WindSlic ROM and it came back as expected, with SLIC and it activated nicely... great work! ;)
     
  7. flare4000

    flare4000 MDL Senior Member

    Apr 23, 2010
    414
    113
    10
    Never saw this thread wow... Great work btw
     
  8. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,226
    1,958
    210
    Good to know about HP Microserver N36L
    Slic 2.0 is in BIOS, but not visible (and there are no known SLP tools for Proliant servers to enable it)

    sebus
     
  9. truthinjection

    truthinjection MDL Member

    Aug 27, 2009
    247
    46
    10
    #110 truthinjection, Jan 23, 2011
    Last edited: Jul 24, 2011
    (OP)
    Hi all,

    I added a new version of WindSLIC.

    The big change is that it now works with the Asus P8P67 Deluxe (original and B3-chipset revision) Sandy Bridge CPU / Cougar-Point Chipset motherboard, at least in Legacy (non-GPT/UEFI) boot mode.

    (see the first post in this thread for download link)

    Thanks,
    -tij-
     
  10. FreeStyler

    FreeStyler MDL Guru

    Jun 23, 2007
    3,544
    3,771
    120
    can you give some more info about the VBox comment below? What to do to make it work on vBox?

     
  11. truthinjection

    truthinjection MDL Member

    Aug 27, 2009
    247
    46
    10
    #112 truthinjection, Feb 2, 2011
    Last edited: Feb 2, 2011
    (OP)
    Ideas for WindSLIC future versions

    I didn't do anything "New" with regards to making WindSLIC work with any new environments. All I did was take some of the settings you have to set to get it to work with VMWare or VBox and make a single config entry to set that makes/overrides the settings changes for you. Basically if you tell it to use vmware-ws-virtual, it will set the Vendor and Device ID to the default values that VMWare expects. VBox cares about the 4KB alignment, so I think that's the override I set if you pick vbox.

    I didn't do any testing on vbox for this release, just vmware and qemu, though, so undoubtedly I forgot something. But, WindSLIC, if all the knobs are properly set, does work on VBox, if I remember correctly. I always have trouble getting/keeping VBox running correctly for testing. But, I'll try and remember to take a look at it tonight and see if I can put out a release that has all the knobs included in that single config option that need to be set for vbox.

    My reason for release of what is, in many ways, a more-"BETA" release of WindSLIC is that the last version didn't work on Sandy-Bridge motherboards (at least the one I had access to). I think that the fix was probably the reserved-memory-clearing that nononsense added when he did his variants. I haven't really had enough focus to get back into WindSLIC development as of late.

    Nononsense's versions took what I had figured out and ran with it, to great results, so part of what I have been doing is looking at his work and trying to put some of it back into WindSLIC original. But that takes a while. His stuff isn't as fully-commented as my stuff, but it does do a fair bit more in various areas than mine does currently.

    I'm considering trying to switch to a "Pinczakko ASM/C-Based" development environment, hoping that would buy additional clarity and ease of creation/updates of code. But, that comes with the disadvantage of needing a more robust dev-environment to compile the code, instead of just needing FASM.

    As for where I'd like to see WindSLIC go:

    • Add/expand the chipset/memory-controller based "unlocking" of the write-protected areas of memory. Nononsense resurrected that in his versions from early versions of my code, and I've started adding it back as well, but there's no support for Gen1-i7s, or Gen2-i7s (Sandy Bridge) or anything at all for AMDs. AMDs don't have sufficient documentation PDFs available as far as I can find. Gen1-i7s are weird. They have memory controllers on PCI Bus 255 or PCI Bus 127 or PCI Bus 63 (there's a memory-size register that controls which of the three gets used, but it's confusing). Gen2-i7s (Sandy-Bridge) seem to have cleaned up all that mess, putting memory-controller back on PCI-Bus 0, but I haven't gotten quite far enough to test my code yet.
    • Shrink the code using the C-based development or maybe just toss and rewrite my assembly to make it compact instead of easily understood. I want a sufficient WindSLIC to be able to fit in 4-5K, which is the amount of space that exists and at least some of the NVidia video card roms. I want WindSLIC to be able to prepend a video card ROM and act as part of it. I think I have the knowledge, but I'm short on focus. If I had a couple of folks that wanted to spearhead/work on that, I'd help out.
    well, back to (real-life) work,
    -tij-
     
  12. truthinjection

    truthinjection MDL Member

    Aug 27, 2009
    247
    46
    10
    Right, I worked on it for an hour or so last night. All that the vbox preset does is make sure the rom is 4K aligned. It doesn't set any of the PCI IDs, which would still need to be set before it would ever work. Unfortunately, I wasn't able to get it to work in vbox last night. I will try to mess with it again at some point and see if I can get it working again.

    -tij-
     
  13. truthinjection

    truthinjection MDL Member

    Aug 27, 2009
    247
    46
    10
    VirtualBox is a strange beast. I worked on it for another several hours, with no real luck. It boots to WindSLIC's first half (INIT), and that looks like it loads correctly, but it never loads the second half (BEV). The PXE ROM for the Intel Pro/1000 MT that Oracle includes in their "Extensions" Pack doesn't actually even have a PCIR header in the ROM, and looks like an ISA ROM with a $PNP header, yet somehow that ROM appears to work.

    I have seen forum posts about gPXE vs the newer VirtualBoxes, and they say something about that Big Real Mode is not implemented correctly in VirtualBox. That would cause WindSLIC to fail for sure, but I would expect it to fail more spectacularly than just apparently skipping the BEV routine at all.

    Very weird.
    -tij-
     
  14. darknite323

    darknite323 MDL Novice

    Oct 27, 2009
    2
    0
    0
    Hi, just wondering if anyone has been able to get WindSLIC to work on a NIC with a realtek chip
    I have one Realtek 8139
    and two Netgear GA311 (uses Realtek 8169 chip)
    but i have no Intel based NICs

    If some one has succeeded with a Realtek NIC, please describe how. I'm at a loss with how to flash it, have tried a few things but none seemed to work.

    Thanks
     
  15. truthinjection

    truthinjection MDL Member

    Aug 27, 2009
    247
    46
    10
    #118 truthinjection, Sep 23, 2011
    Last edited: Sep 23, 2011
    (OP)
    In general, most of the Realtek cards I have seen have not supported PXE booting, meaning they have no ROM to flash. There's nothing in WindSLIC that's tied to it being an Intel card (other than the PCI Vendor and Device ID, which is something you will need to set based on whatever card you're using anyway), but so far as I have seen, only Intel cards tend to have the required Flash ROM on board. You can get Pro/100 cards on ebay, etc, relatively cheaply, or you can get at $30ish Intel gigabit card from lots of places. Note: if you buy a card, make sure it has PXE support. Not all do, but anything recent by Intel (and I think, all the Intel gigabit ones) will.

    My recommendation is:

    If you have an extra PCI slot, get an Intel Pro/100S. They usually have the needed FlashROM and are like $4 plus shipping on ebay, etc. That is by far the easiest way to use WindSLIC.

    If you don't have an extra PCI slot, get an Intel Pro/1000MT or 1000GT or 1000PT. All have been tested and worked.

    I wish RealTek cards included the PXE ROM, but most don't, even though they may have a socket for a DIP to be inserted.

    Technically speaking, you don't even have to use a network card. An old PCI Promise RAID card probably works just as well. The first card they used for this sort of ROM trick was an Adaptec AHA-2940 SCSI card, tricked into pretending to be a network card by flashing a different ROM. :cool:

    Good Luck,
    -tij-
     
  16. darknite323

    darknite323 MDL Novice

    Oct 27, 2009
    2
    0
    0
    Thanks a lot, i have access to quite a few old pci cards, as the company a friend of mine works for is replacing a lot of really old workstations. Unfortunately for me what ever brand they were, they preferred realtek based NICs, no intel whatsoever.
    Ill ask him if there are any other PCI cards not just NICs, i'm sure their old server would have had a PCI RAID card.

    If none of that works ill just pick one up off ebay like you said.

    Oh and before anyone says: "why do you bother wasting your time its only 10$ for a NIC off ebay" i do this more for the educational value, and also for others as if i find it works on other cards then less people have to go looking for one on ebay and can just use what they've got lying around like me :) .

    Thanks again TIJ ill post back my success/failure.
     
  17. truthinjection

    truthinjection MDL Member

    Aug 27, 2009
    247
    46
    10
    #120 truthinjection, Sep 24, 2011
    Last edited: Sep 24, 2011
    (OP)
    Hi all,

    Just a note: No changes have been made to WindSLIC, but WindSLIC has now been successfully tested on a Z68 Chipset motherboard.

    WindSLIC versions after v2011.01.22.01 are compatible with a: [ Asus P8Z68-V ] when flashed to an add-on PCI board (just like always).

    Thanks,
    -tij-