Discussion in 'MDL Projects and Applications' started by truthinjection, Feb 22, 2010.
Got a link for it?
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
Press Any Key to Continue
ROM Checksum [Initial/Fixed] AD/53
That's it. Did not see the "Activation" part.
What could be the issue?
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?
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?)
The new entry in my BIOS (top most one)is : "WindSLIC".
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.
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!
Never saw this thread wow... Great work btw
You need to login to view this posts content.
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)
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)
can you give some more info about the VBox comment below? What to do to make it work on vBox?
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,
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.
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.
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.
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.
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.
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).