Jump to content
MacJunky

Sil3112 flashing (SATA)

Recommended Posts

Protocol7 and I traded quite a few PMs on this one.

Summary:

 

** There is macbootable Sil3112 firmware. FirmTek SeriTek/1s2 is the card. aka Sonnet Tempo SATA (TSATA). These cards can boot pre-G3 PowerMacs and boot 7.6.1.

See here:

http://www.sonnettech.com/support/kb/kb.php?cat=343&expand=_a2_b37&action=b206#b206

206 The Tempo SATA card does not seem to work properly in my Power Mac G4. Do I need different firmware? Apr-25-10

 

Some customers have experienced problems with the current version of the firmware in older G4 machines. Sonnet suggests downgrading the firmware to the Version 5.13, which can be found at http://www.firmtek.com/download/SeriTek1S2_513.zip

 

** newest recommended FirmTek firmware (5.13) is 136k. This is too big to fit on any Sil3112 card currently tested and also a crossflashed Sil3512 based card. FirmTek firmware 5.11 is 131k, still too big.

Either need to find a bigger chip to solder onto the card or reduce the size of the firmware or find a card that has a bigger chip already. Protocol tried multiple times to reduce 5.13 it but no luck yet. :( Not sure if he tried with 5.11 since then though.

(The Silicon Image updates are 128k, Weibetech's are only 64k, but we need the FirmTek one)

 

** There was an OS9 flasher mentioned in a MacGuru article. It has not been located yet.(hoping that it might come with a smaller fimware file)

 

 

 

Props to Protocol7 for his legwork searching the vast internet and editing the ROMs.

And RIP to the new-in-box 3.5" floppy disk I seem to have killed with all the flashing activity. :p

 

 

Protocol7, if I have missed anything or if you have updates please post it.

To others, if you want to try to reduce a firmware or have a card that can take a full-size FirmTek firmware please let it be known. :)

Share this post


Link to post
Share on other sites

There's also a Japanese card that uses the Sil3112 and appears to only have a 512kbit eeprom (64kB firmware file). Finding a firmware from that would be immensely helpful. I can't say with any degree of certainty that the Mac cards are otherwise identical to the PC ones. It'll take a suitable firmware file to find out for sure.

Share this post


Link to post
Share on other sites

What is the Flash on these cards? Is the flash chip distinct from the main controller chip? If so, is it a tiny little serial flash (eight pin SOIC) or is it a larger parallel flash chip? What are the markings on the cards with too small capacity? On the stock card where it works?

 

Get me that info and I bet I can find a replacement flash easily enough. That might not be enough to make it work, but it might and if it is a serial flash, those things really aren't that hard to remove and replace.

Share this post


Link to post
Share on other sites

I just picked up this card on Ebay for about $9:

 

http://www.ebay.com/itm/290674393057?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649

 

I haven't tried any conversions on it yet, but it has its Flash chip in a socket and the capacity of the chip is 4Mbits or 512Kilobytes.

 

Unless there's some gotcha in the boards wiring, this should be ideal for experimenting. The flash is four times as large as some others, and it's in a socket.

Share this post


Link to post
Share on other sites

any news here yet?

 

I grabbed a couple cards as well- I also have an original sonnet i can try dumping the retail FW from its eprom of we get nowhere on the downgrader...

Share this post


Link to post
Share on other sites

I bought a few cards as well and couldn't wait to give these a try.

 

I flashed the SeriTek/1s2 v5.13 firmware to one card using the DOS utility

It returned the 0 code, which means successfull flashing.

I then installed that card in my QuickSilver.

The QS boots* but...

 

The flashed card is listed as a SCSI controller with the name "Athena_3112" but as you can see below, no driver is loaded.

 

f0snt.png

 

For comparison, here's how system profiler shows an unflashed card:

 

25khsgj.png

 

 

*(it won't boot with a flashed Sil3512 variant)

Share this post


Link to post
Share on other sites

Wiebtech's flasher refuses to flash that card because of the "unsupported eeprom".

Should be possible to flash wiebtech firmware using UPDFLASH.EXE on a PC, but I don't see the point in trying that.

Any Sil3112 based card theoretically works with this small fimware.

Share this post


Link to post
Share on other sites

did anyone try just putting a bigger flash chip on one of the cards? i assume there's no reason it shouldn't work. may buy a few cheapo cards and try

Share this post


Link to post
Share on other sites

Using a hex editor, I paged through the TSATA firmware file which can be extracted from one of the updaters and it looks like every ninth byte is a blank which needs to be removed. Except the pattern is not that simple.

 

My guess is that when the updater software writes the firmware file to the TSATA card, it removes the extraneous material from the firmware file during the process. However, simply copying the firmware file to a Flash chip doesn't look like it is going to work.

 

The firmware needs to be obtained directly from a flash chip on the TSATA card, not from the updating software package.

Share this post


Link to post
Share on other sites

Just brought a dirt cheap sil3112 card (http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=180796383734) my plan is to try and put a bigger (2mbit or bigger) chip on the card, my only worry is weather the card will work without a firmware on the chip? since i have no external programmer i need to program it in place (or possibly if the chips are compatible with those on a old dual bios gigabit board i have solder the chip on there and hope the bios flasher on there has no integrity checks)

Share this post


Link to post
Share on other sites
Wiebtech's flasher refuses to flash that card because of the "unsupported eeprom".

Well, Wiebtech's flasher actually accepts to flash that 4mbit-eeprom card, but it doesn't turn it into an usable card :

 

mini_249278Sil31124Mbitflahed.png

 

:?:

Share this post


Link to post
Share on other sites

Bumping this thread because I plan on testing this on my Sil3112 card. I've had this card for ages and am gonna try it in a G4. I googled the flash chip and apparently it has a 1 Mbit capacity.

 

8322426693_1a77d242c3.jpg

Share this post


Link to post
Share on other sites

Google always leads me back here!

 

I have made a mistake, and I'm trying to fix it.

 

I downloaded the wiebetech flash utility, which supports my card (supposedly), but it keeps producing a bus error.

 

Are there any command arguments I can enter which would allow flashing to proceed?

 

Also, once I flash the card with this firmware, would I be able to reflash properly using the proper (SeriTek) firmware for this card?

 

c

 

p.s. I'm sorry for hijacking this thread!

Share this post


Link to post
Share on other sites

intresting that it throws a error, never seen the wibie flasher do that

 

what i would do is replace the firmware file in the webie flasher with the SeriTek firmware, i have done that to flash sil3112 cards with the SeriTek firmware before

 

if it fails you will just have to try the dos flasher (i personally have never done this, so can't help you there)

Share this post


Link to post
Share on other sites

I figured it out -- Unsupported EEPROM.

 

Anyway, I guess I'll try taking the firmware from the updater, and use a DOS flasher in a PC to put it on the card.

 

Does anyone have this very same card (Sonnet Tempo SATA)? If so, perhaps one could kindly "lend" me the firmware (off the forums, of course).

 

c

Share this post


Link to post
Share on other sites

I'm pretty sure that the TSATA ROM is munged in some way so that simply lifting a copy and programming a chip with just won't work.

 

I don't know whether the Sonnet programmer has a little routine built in to decode/demunge the ROM code as it programs the TSATA chip, or whether the Flash on the TSATA actually has some of its pins swapped around in odd ways.

 

In either case, I'd be surprised if a simple programming job gets it working again.

 

Ultimately, one of us needs to desolder the flash from a working TSATA card, compare the contents to the resource used from programming the card, and check the connections between the Flash and controller chip on the circuit board to see if it matches reference designs.

 

I have it on my list, but that list has only gotten longer in the last four years and never shorter.

Share this post


Link to post
Share on other sites

I've been trying to help CC_333 with his missing firmware problem.

 

I see exactly what you're talking about with the weird "every 9 bytes" thing, trag. I can't figure out what's going on either. I've gone so far as to play around with debugging and disassembling the FirmTek 1S2 5.1.3 firmware update utility, but I haven't really gotten anywhere. I've found where it loads the firmware update file into RAM, but I can't find any decoding routine or anything. I was thinking maybe it could be compressed with something like LZSS compression, but I just don't know. Nothing jumps out as obvious. :-(

 

I found a FirmTek 1S2 card on eBay and bought it. I'll desolder and dump the chip to figure out what is actually flashed to it. This problem has me stumped enough that I have to figure out what's going on for real :-)

Share this post


Link to post
Share on other sites

Thank you very much, dougg3!

 

Your help (and speculation) have been extremely useful, and I learn a lot just reading your posts!

 

Anyway, since my card's useless to me in its current state, would you like me to send it to you for experimentation?

 

It seems I have little to lose at this point...

 

So let me know via PM!

 

c

Share this post


Link to post
Share on other sites

I'd be glad to have you ship it to me to fix (if worse comes to worse I can simply copy the flash contents of a known working card to your card manually with my chip programmer).

 

Before we go that far though, let's wait until my eBay purchase arrives. I might be able to get the info needed to get you up and running with the Windows flasher tool. (Also see your other thread where I discovered there's an OS 9 version of the update program you might want to try)

Share this post


Link to post
Share on other sites

Back onto here with my results. Here's the deal.

 

The FirmTek 5.1.3 updater contains a file called ROMFILE.1S2. It looks like it's compressed or something as trag pointed out. That's because somehow during the boot process, Mac OS X extracts two compressed kexts from it and installs them into /System/Library/Caches/com.apple.romextensions. However, it *is* the firmware file that needs to flashed onto the chip. No weird encodings, weird data line hookups, or anything like that.

 

The FirmTek updater will only update a card that already has FirmTek firmware on it, because it checks to see if its own driver is associated with the card. The WiebeTech updater can fail because it doesn't support all of the chips that FirmTek used. It may be possible, given a copy of the two kexts, to manually load them when a card has blank firmware and then get the FirmTek updater to work. Initial experimentation with that was successful for me...but you need the kext files first, so it's kind of a catch-22 unless you can figure out how to extract them from the firmware file or get them from someone else.

 

Silicon Image's DOS-based UPDFLASH.EXE utility seems to do the trick when booted from a FreeDOS boot floppy, but it is notoriously unreliable. I don't trust it. But if you give it enough tries, it should succeed. I had a TON of problems trying to run it direct from Windows 98 DOS mode though. I'd stick with the FreeDOS floppy. I would also make sure to put the firmware into it as a 256 KB file padded with 0xFF bytes at the end to make it a power of two. It appears maybe UPDFLASH won't correctly flash the end of the file otherwise.

 

Most importantly: the FirmTek firmware checks the ID of the flash chip on the card. It has a whitelist of allowed flash chips. If it's not a PMC Pm39LV040 or a Macronix MX29LV040, it won't load. There may be other possible chips, but I found the IDs of those two for sure, and I know the SST39VF040 is not supported.

Share this post


Link to post
Share on other sites

Forget what I said about getting the FirmTek updater to work. If you have a partially flashed card, the FirmTek updater might be able to recover if you manually load the kext, but if you have a blank chip, you will have to resort to a different flashing method.

Share this post


Link to post
Share on other sites

How about a card with a partial flash by UPDFLASH?

 

Also, do you know how I can get the kexts so I can try the FirmTek updater "hack"?

 

Thanks for your help!

 

c

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×