Hello,
I have been communicating with the Linuxbios mailing list on and off (mostly off lately). I'm interested to try out the linuxBIOS on my old dual CPU board MSI-6120. The current MSI/AMI BIOS V2.0 does not support newer CPUs than Coppermine.
Currently I have two old PII processors (Mendocino) installed and would like to upgrade to one Celeron 2 or dual PIIIs (Tualatin) using one or two SLOT-T slot 1 to socket 370 adapters. A 1.3GHz Celeron 2 boots with this new CPU but runs _extremely_ slow, at aronund 8MHz compared to expected 1.3GHz. This has been reported before in the thread 'Level 2 cache activation code' in late 2003.
Where can I purchase a replacement BIOS chip? Placed in a socket on the main board is a 2x16 pin DIL labeled: 686 AMI BIOS 1995 CS 92222.
lspci shows: 0000:00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03) 0000:00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03) 0000:00:07.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02) 0000:00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01) 0000:00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01) 0000:00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02) 0000:00:0f.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 30) 0000:00:10.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 05) 0000:00:10.1 Input device controller: Creative Labs SB Live! MIDI/Game Port (rev 05) 0000:01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP (rev 04)
--- Svante Signell svante.signell@telia.com wrote:
dual CPU board MSI-6120. The current MSI/AMI BIOS V2.0 does not support newer CPUs than Coppermine.
Porting 440bx to V2 is on my TODO list but it's currently blocked by a few other priorities.
The V1 code should work for you fine. All you need to do is find out what superIO you have and change the serial port setup accordingly so you can get debug messages.
in V1 look at the ./mainboard/bitworks/IMS I think thats the most complete 440bx port.
===== Richard A. Smith Bitworks, Inc.
__________________________________ Do you Yahoo!? Read only the mail you want - Yahoo! Mail SpamGuard. http://promotions.yahoo.com/new_mail
On Wed, 2005-01-12 at 07:53 -0800, Richard Smith wrote:
--- Svante Signell svante.signell@telia.com wrote:
dual CPU board MSI-6120. The current MSI/AMI BIOS V2.0 does not support newer CPUs than Coppermine.
Porting 440bx to V2 is on my TODO list but it's currently blocked by a few other priorities.
The V1 code should work for you fine. All you need to do is find out what superIO you have and change the serial port setup accordingly so you can get debug messages.
The super IO chip is a Winbond W83977TF-AW (AM.MEGA.87-96, 845AC2830694028a) Is is supported by V1?
in V1 look at the ./mainboard/bitworks/IMS I think thats the most complete 440bx port.
On Thu, 13 Jan 2005, Svante Signell wrote:
The super IO chip is a Winbond W83977TF-AW (AM.MEGA.87-96, 845AC2830694028a) Is is supported by V1?
a lot of the winbond's are all very similar. If you find a w839xy in the source tree, you can try using that and it might work. The only thing we really use on the superio is the serial port.
ron
The V1 code should work for you fine. All you need to do is find out what superIO you have and change the serial port setup accordingly so you can get debug messages.
The super IO chip is a Winbond W83977TF-AW (AM.MEGA.87-96, 845AC2830694028a) Is is supported by V1?
There is a W83977ef. Probally close enough.
On Wed, Jan 12, 2005 at 10:38:57AM +0100, Svante Signell wrote:
Where can I purchase a replacement BIOS chip? Placed in a socket on the main board is a 2x16 pin DIL labeled: 686 AMI BIOS 1995 CS 92222.
Please remove the shiny sticker and check how the actual package is marked. You're looking for thin letters and numbers "engraved" on top of the black plastic. Look for 29F020 or something similar.
//Peter
On Wed, 2005-01-12 at 18:12 +0100, Peter Stuge wrote:
On Wed, Jan 12, 2005 at 10:38:57AM +0100, Svante Signell wrote:
Where can I purchase a replacement BIOS chip? Placed in a socket on the main board is a 2x16 pin DIL labeled: 686 AMI BIOS 1995 CS 92222.
Please remove the shiny sticker and check how the actual package is marked. You're looking for thin letters and numbers "engraved" on top of the black plastic. Look for 29F020 or something similar.
I found the BIOS chip brand and version: Its a Winbond W290C020-90 (84400M282325601VA). Any suppliers available somehere? Is it large enough to host LinuxBIOS?
My dual-CPU MSI-6120 MOBO has on-board dual channel Adaptec 7895 SCSI support. Does V1 support this? What about the FSB settings avalaible in the MSI/AMI BIOS v2.0: 100MHz, 103MHz, 112MHz, 133MHz? It would be nice to run the board at 133MHz, eqipped with an 1.4GHz Tualatin Celeron 2 or dual PIIIs. (Or VIA C3 1.0-1.4GHz, currently single CPU, and hopefully soon dual CPU)
On Thu, 13 Jan 2005, Svante Signell wrote:
I found the BIOS chip brand and version: Its a Winbond W290C020-90
a nice common safe part. Try hamilton-avnet or arrow. WARNING: when you call them, use the EXACT part #. Their databases are not able to do fuzzy logic.
Is it large enough to host LinuxBIOS?
yes, but not a kernel in there.
My dual-CPU MSI-6120 MOBO has on-board dual channel Adaptec 7895 SCSI support. Does V1 support this? What about the FSB settings avalaible in the MSI/AMI BIOS v2.0: 100MHz, 103MHz, 112MHz, 133MHz?
No, but linux might.
no idea on the FSB settings -- I think linuxbios always goes with the fastest :-)
This is an area we are weak in: FSB settings.
ron
On Thu, 13 Jan 2005 14:59:08 -0700 (MST), Ronald G. Minnich rminnich@lanl.gov wrote:
On Thu, 13 Jan 2005, Svante Signell wrote:
I found the BIOS chip brand and version: Its a Winbond W290C020-90
a nice common safe part. Try hamilton-avnet or arrow. WARNING: when you call them, use the EXACT part #. Their databases are not able to do fuzzy logic.
http://www.digikey.com is your friend.
Well really almost any JDEC part 2MBits and larger will work. If you use a larger part you might have to ground the unused address lines if they left them floating on the pcb.
no idea on the FSB settings -- I think linuxbios always goes with the fastest :-)
The FSB is set via the clock chip. The clock chip we have is set via straps. I'm not sure what your commercial bios is doing but the 440bx is not rated for over 100Mhz. So those other settings are overclockings. And they will change the speed of your PCI bus as well.
I suspect your board has a small microcontroller on it with eeprom that sets the strap settings on boot and then de-asserts reset. That or it boots in 66Mhz and then sets the clock chip after that.
Anybody know what clock chip is on that board?
On Thu, 2005-01-13 at 16:23 -0600, Richard Smith wrote:
On Thu, 13 Jan 2005 14:59:08 -0700 (MST), Ronald G. Minnich rminnich@lanl.gov wrote:
On Thu, 13 Jan 2005, Svante Signell wrote:
I found the BIOS chip brand and version: Its a Winbond W290C020-90
a nice common safe part. Try hamilton-avnet or arrow. WARNING: when you call them, use the EXACT part #. Their databases are not able to do fuzzy logic.
http://www.digikey.com is your friend.
Well really almost any JDEC part 2MBits and larger will work. If you use a larger part you might have to ground the unused address lines if they left them floating on the pcb.
Thanks for the links. No luck with any of the links given, however. How to find a replacement part?
no idea on the FSB settings -- I think linuxbios always goes with the fastest :-)
The FSB is set via the clock chip. The clock chip we have is set via straps. I'm not sure what your commercial bios is doing but the 440bx is not rated for over 100Mhz. So those other settings are overclockings. And they will change the speed of your PCI bus as well.
I know about the 100MHz rating for 440BX. However, on the board you can select 66/100 MHz FSB and the BIOS supports the higher FSB speeds. Also the board has multiplier settings (3-5) x (66,100) MHz = 200-500 MHz for CPUs with changable clock multipliers. The board runs today with dual Celeron (Mendocino, 300MHz, before Intel disabled dual on Celerons) at 103/66*300MHz = 466MHz stably for many years now.
BTW: The memories I have installed are all PC133 parts.
I suspect your board has a small microcontroller on it with eeprom that sets the strap settings on boot and then de-asserts reset. That or it boots in 66Mhz and then sets the clock chip after that.
Anybody know what clock chip is on that board?
Where to look for that chip?
The board also has a system manager jumper: Selectable between the SuperIO chip (default) vs. the PIIX4E (southbridge). Wht is the meaning of this choice?
I have the board description in pdf-format available if someone is interested.
http://www.digikey.com is your friend.
Well really almost any JDEC part 2MBits and larger will work. If you use a larger part you might have to ground the unused address lines if they left them floating on the pcb.
Thanks for the links. No luck with any of the links given, however. How to find a replacement part?
They are there but you just don't know what to look for. *grin* First off you part number is incorrect it should be W29C020 not W290C020. But there are't that many people who sell windbond. But you don need a windbond any 2MBit part will work as long as the footprint is the same... any 29?020 part will work.
Oh wait a minute... I bet you don't have a programmer do you? Ick. In that case foget what I said. You will need a part supported by the hot swap trick.
Ron. What flash parts are supported by your hotswap trick?
I know about the 100MHz rating for 440BX. However, on the board you can select 66/100 MHz FSB and the BIOS supports the higher FSB speeds. Also the board has multiplier settings (3-5) x (66,100) MHz = 200-500 MHz for CPUs with changable clock multipliers. The board runs today with dual Celeron (Mendocino, 300MHz, before Intel disabled dual on Celerons) at 103/66*300MHz = 466MHz stably for many years now.
The mutipler settings cannot be set by software. The P6 samples several pins on the transition from Active RESET to inactive RESET to determine its multiplier. The driver of those pins must tri-state after the sample because they are used for other things. At this stage BIOS code hasn't even been started.
So that means that there is a small microcontroller (or some other hardware) that is configureable and will see that those straps are set correctly at de-assertion of reset.
This will be difficult to figure out. If you are lucky the chip responsible for this is on the smbus and you could reverse engineer the commands. But in any case it would be a lot of work.
However this may also mean that once they are set they will never change. So you might be able to put in the BIOS that came with the board. Set your settings and then use LinuxBIOS after that.
On Thu, 2005-01-13 at 18:14 -0600, Richard Smith wrote:
http://www.digikey.com is your friend.
Well really almost any JDEC part 2MBits and larger will work. If you use a larger part you might have to ground the unused address lines if they left them floating on the pcb.
Thanks for the links. No luck with any of the links given, however. How to find a replacement part?
They are there but you just don't know what to look for. *grin* First off you part number is incorrect it should be W29C020 not W290C020. But there are't that many people who sell windbond. But you don need a windbond any 2MBit part will work as long as the footprint is the same... any 29?020 part will work.
Oh wait a minute... I bet you don't have a programmer do you? Ick. In that case foget what I said. You will need a part supported by the hot swap trick.
Ron. What flash parts are supported by your hotswap trick?
I did find out the extra zero in my search, thank you. Now I got a few hits at digikey. No, I don't have a FLASH programmer, but i can purchase one if needed, and the price is not to high. According what you write it does not seem to be possible to program an empy BIOS with a boot floppy similar to re-programming an existing one. Can I copy the content of the old BIOS with a programmer and start from there? How to proceed?
I did find out the extra zero in my search, thank you. Now I got a few hits at digikey. No, I don't have a FLASH programmer, but i can purchase one if needed, and the price is not to high. According what you write it
Depends on the model.. You can spend anywhere from $200 to $2000. There is a USB one from batronix that is fairly cheap but I can't recommend it since the software sucks and its never worked correctly for me. Others on the list have not had issues with it though.
Google for "flash programmer" or "eprom programmer" and see if you can find one in your price range. Also unless your chip is a DIP you will have to buy an adapter which will be around $100.
One quick check. Your flash chip is socketed right?
does not seem to be possible to program an empy BIOS with a boot floppy similar to re-programming an existing one. Can I copy the content of the old BIOS with a programmer and start from there? How to proceed?
Right. You cannot program a blank BIOS chip with a floppy. Since the board needs the bios to boot. Most setups have a recovery image that you select with a jumper or something that will boot the machine up enough to load from a floppy. This recovery image or "Boot block" is protected so it cannot be erased. So you never really fully erase your flash.
If you have a programmer then you can extract your bios image from the existing part (or get a copy from the web) and program whatever you want back in the chip. Or get any 2Mbit chip supported by your programmer and use that. Flash parts program differently but they all read exactly the same.
On Thu, 2005-01-13 at 18:57 -0600, Richard Smith wrote:
I did find out the extra zero in my search, thank you. Now I got a few hits at digikey. No, I don't have a FLASH programmer, but i can purchase one if needed, and the price is not to high. According what you write it
Depends on the model.. You can spend anywhere from $200 to $2000. There is a USB one from batronix that is fairly cheap but I can't recommend it since the software sucks and its never worked correctly for me. Others on the list have not had issues with it though.
Google for "flash programmer" or "eprom programmer" and see if you can find one in your price range. Also unless your chip is a DIP you will have to buy an adapter which will be around $100.
One quick check. Your flash chip is socketed right?
Thank for your prompt replies. Yes, I have a socketed chip. Unfortunately it is a 32 PIN DIP package and the chips found at digikey are using an PLCC package. Atmel seem to have replacement chips, but they are packaged in either PLCC or TSOP... Things get complicated. Are socket converters available on the market?
I never use flash programmers. My flash programmer has been in a drawer for 5 years now. Just hot swap.
ron
On Fri, 14 Jan 2005 09:30:31 -0700 (MST), Ronald G. Minnich rminnich@lanl.gov wrote:
I never use flash programmers. My flash programmer has been in a drawer for 5 years now. Just hot swap.
Your programmer will fit in a drawer? You must have a newer one. *grin*
Ok then refresh me on the details of this. What programs to use and so forth. I may start using this. I'm turning a lot of revs lately to get my IRQ routeing correct and my emulator seems to have an issue.
On Fri, 14 Jan 2005, Richard Smith wrote:
Ok then refresh me on the details of this. What programs to use and so forth. I may start using this. I'm turning a lot of revs lately to get my IRQ routeing correct and my emulator seems to have an issue.
Build linuxbios.rom
put in your flash part
flash_rom linuxbios.rom flash_rom -v linuxbios.rom (verify step)
all done!
flash_rom -r some-file-name
to save off the fuctory bios.
You can try to use the mtd drivers, they're very good, but they have had some troubles for us if the parts are not reliable.
ron
Build linuxbios.rom
put in your flash part
flash_rom linuxbios.rom flash_rom -v linuxbios.rom (verify step)
Cool pretty simple. I don't even have to remove the chip since I don't care if it waxes it. I'm assuming that the flash_rom from V2 is the latest and I should use that over whats in V1?
to save off the fuctory bios.
In this case I _am_ the factory BIOS. *grin*
You can try to use the mtd drivers, they're very good, but they have had some troubles for us if the parts are not reliable.
I've not a clue how to use the mtd stuff. I briefly looked at it but found no good docuementation on trying to use that stuff with an 29F040b so I moved on.
At the time none of it was as fast as my emulator but that dosen't seem to work anymore.
On Fri, 14 Jan 2005, Richard Smith wrote:
I'm assuming that the flash_rom from V2 is the latest and I should use that over whats in V1?
yes.
In this case I _am_ the factory BIOS. *grin*
good!
I've not a clue how to use the mtd stuff. I briefly looked at it but found no good docuementation on trying to use that stuff with an 29F040b so I moved on.
The mtd drivers are complex but they cover a lot of corner cases flash_rom does not (16-bit flash bus, etc). We have not hit those cases yet, so we can use either flash_rom or mtd.
I know Eric uses MTD heavily so he and LNXI have a lot of expertise in this area.
ron
On Thu, 13 Jan 2005, Richard Smith wrote:
Ron. What flash parts are supported by your hotswap trick?
we've never seen one that won't work. So an SST 29 020 ought to work.
Ollie Lo calls this the 'infamous hot plug-and-play'. It scared me the first time I tried it, but in 5 years I've never seen it fail.
The trick is to read the speed grade. Make sure the part you get is as fast as the part you're replacing. This bit me on one board I had.
However this may also mean that once they are set they will never change. So you might be able to put in the BIOS that came with the board. Set your settings and then use LinuxBIOS after that.
This could explain a problem we had with a via vt5426 once. We asked the fuctory bios to overclock. The board never came back; after that point it could only be booted with linuxbios.
ron
Ron. What flash parts are supported by your hotswap trick?
we've never seen one that won't work. So an SST 29 020 ought to work.
Perhaps the question I should have asked is what chip Mfg and types are supported by your flashing program. Not just the hotswap. All the flashes have different programming sequences so I don't see how they all could just work.
Ollie Lo calls this the 'infamous hot plug-and-play'. It scared me the first time I tried it, but in 5 years I've never seen it fail.
I'm not really that suprised. We hotswap a lot of stuff thats not really setup for that. As long as you don't short and address line or data line the system dosn't care if the chip is there or not at that stage since its all been shadowed. Occasionaly though it does bite.
The trick is to read the speed grade. Make sure the part you get is as fast as the part you're replacing. This bit me on one board I had.
Yeah if you grabbed a slow 120ns part that would cause you some issues.
You should only need a speed grade that is as fast as the ISA bus. <= 90ns should pretty much work. Unless its using some different method of reading the bios out thats faster than an ISA cycle.
However this may also mean that once they are set they will never change. So you might be able to put in the BIOS that came with the board. Set your settings and then use LinuxBIOS after that.
This could explain a problem we had with a via vt5426 once. We asked the fuctory bios to overclock. The board never came back; after that point it could only be booted with linuxbios.
Overclock the FSB or the CPU?
On Fri, 2005-01-14 at 09:50, Richard Smith wrote:
Ron. What flash parts are supported by your hotswap trick?
we've never seen one that won't work. So an SST 29 020 ought to work.
Perhaps the question I should have asked is what chip Mfg and types are supported by your flashing program. Not just the hotswap. All the flashes have different programming sequences so I don't see how they all could just work.
As long as the data sheet is avaliable, adding support for new flash part is trival. The programming sequences are not that different.
Ollie
On Fri, 14 Jan 2005, Richard Smith wrote:
Perhaps the question I should have asked is what chip Mfg and types are supported by your flashing program. Not just the hotswap. All the flashes have different programming sequences so I don't see how they all could just work.
We just figure out the new ones as they come along. flash_rom and the mtd drivers do a very good job of working it all out.
Overclock the FSB or the CPU?
My memory does not tell me. I *think* we asked it to overclock both? Not sure, I didn't do it, the guy doing it moved too fast for me to say "wait a second" ... boom ... machine never worked again under fuctory bios.
ron
On Thu, Jan 13, 2005 at 10:54:59PM +0100, Svante Signell wrote:
I found the BIOS chip brand and version: Its a Winbond W290C020-90 (84400M282325601VA). Any suppliers available somehere?
Farnell has an equivalent part in stock at the very fair price of 46,43 SEK (USD 7) for single quantities.
I can't seem to reproduce a working direct link, but go to http://se.farnell.com/ and search for 4376146, it should come up with the AT29C020-90PI from Atmel. It has some extra bells and whistles compared to the Winbond, but it will do the job just fine.
If for some reason that doesn't work out, you could contact Memec in Stockholm and ask for the SST39SF020A-70-4C-PH or anything else they suggest/stock with similar parameters.
If you don't represent a company they may not want to do business with you directly but in that case I have good connections with them and would be happy to help you get some flash parts. They usually have a minimum order value of 1000 SEK, but they might have good programmer products for sale as well.
I checked ELFA and Bejoken too; ELFA has no suitable part, Bejoken has one which would work although it's not a perfect match. It's a Macronix 512kb part (4Mbit) - but their web order is down right now so I can't find the pricing.
http://www.bejoken.se/bejokenweb/item/iteminfo.asp?ItemId=252521
(ELFA and Bejoken both retail electronic components here in Sweden.)
Is it large enough to host LinuxBIOS?
My dual-CPU MSI-6120 MOBO
You could check if pin 1 (adress line 18) is connected anywhere, in that case you could plug a 4Mbit part into the socket instead of the 2Mbit originally there, improving the odds of fitting LinuxBIOS and the kernel into the flash quite a bit. But even with 512kb the kernel still requires an effort to get the size down.
has on-board dual channel Adaptec 7895 SCSI support. Does V1 support this?
No, but Ollie Lho's recent success with x86emu running VGA BIOSes means it's certainly within reach for V2. I'm not sure if it will have the same high priority once VGA support is worker, however.
//Peter
On Fri, 2005-01-14 at 02:57 +0100, Peter Stuge wrote:
On Thu, Jan 13, 2005 at 10:54:59PM +0100, Svante Signell wrote:
I found the BIOS chip brand and version: Its a Winbond W290C020-90 (84400M282325601VA). Any suppliers available somehere?
Farnell has an equivalent part in stock at the very fair price of 46,43 SEK (USD 7) for single quantities.
Thanks a lot everybody, your response is overwhelming. I found where to try to purchase the flash ROM chips due to Peter Stuge. I'll be back when I've succeeded to purchase these flash BIOSes and found out where to find a flash programmer. Maybe we even have one at school.
I'll be back in one week (Business trip).
I can't seem to reproduce a working direct link, but go to http://se.farnell.com/ and search for 4376146, it should come up with the AT29C020-90PI from Atmel. It has some extra bells and whistles compared to the Winbond, but it will do the job just fine.
//Peter _______________________________________________