Silicon Image SIL3112 Flashing: Easier Way Using flashrom

Daniël

Well-known member
Yeah ...

Interestingly enough, I just pulled an actual SeriTek 1SE2 from FirmTek out of the G5 2.0 Dual and stuck it the G4 800 Dual.

Same "version" of firmware as in the cheap Chinese cards from RHC that I flashed last night I believe.

Boots up fine (off the OS X backup hdd on the built-in ATA bus) ... with video.

Go figure.

Haven't tried booting off the SSD on the SeriTek ... due to what is likely a pooched Tiger installation.

I wouldn't be surprised if SeriTek designed their card with whatever quirks the Quicksilver has in mind.
When I had a Quicksilver years ago, I spent hours pulling my hair out why it wouldn't start at all with a flashed el cheapo SiI3112 card, only to find out it worked fine on my MDD...
 

GorfTheChosen

Well-known member
I wouldn't be surprised if SeriTek designed their card with whatever quirks the Quicksilver has in mind.

It would seem so ... given that they claim compatibility.

I do have to say that I find FirmTek's implementation of - I guess it's the whole eSATA/hot-swap thing ? - just a little weird.

It seems like the card protests when volumes are unmounted via an app ... like when using Disk Utility to repair a volume. No way that I've seen to turn it off either ... though I probably need to go back and look.

I've also experienced volumes disappearing under certain circumstances (like possibly with Disk Utility above as an example) and then failing to remount when they should.

Fairly alarming at first ... but then I figured out that if you remove power from the external drive and then reapply it the drive will remount.

Just seems to be a little less than elegant to me.

Let me rephrase that: it's basically complete crap ... because you get things like this:

Picture 1.png

Nothing going on there ... other than what Carbon Copy Cloner and the SeriTek 1SE2 card are themselves doing.

But the final result is this:

Picture 2.png

Picture 3.png

That's just nuts ...

Someone tell me what I'm missing here.

Another thing that was odd, was when I had that card installed in the 9600 it would operate fine for a while ... and then the drive activity light on on the Acomdata case it was in would start flicking constantly and the volumes were unreponsive. That has not occurred (yet) with the 1SE2 installed in the G4 800 ... but as you can see there are other issues.

I had assumed that it was an incompatibility with that particular external drive case ... but now I'm not so sure.

When I had a Quicksilver years ago, I spent hours pulling my hair out why it wouldn't start at all with a flashed el cheapo SiI3112 card, only to find out it worked fine on my MDD...

Interesting.

This is really my first attempt at installing a 3112 card in that machine.

The SSD that was in there was previously attached to the built-in ATA bus via a StarTech SATA bridgeboard.

This machine suffers from a particular oddity - when cold booted, it will suffer a kernal panic within a couple of minutes of making it to the desktop. Sometimes it panics earlier without even getting to the desktop.

But ffter that one initial panic it mostly seems to run fine.

Had the PSU repaired/recapped about 4 years ago.

The above issue (the kernal panic) was present prior to the work on the PSU.

All of the machines and hdd's here have sleep set to "never".
 

GorfTheChosen

Well-known member
Maybe of some relevance here concerning the Quicksilver? (per V.Yakob)

Likely relevant ... at least as far as the generic Chinese cards I got from RHC and then flashed goes.

I moved the one that was in the Quicksilver into the G5 2.0 Dual and will probably stick the other one in the G4 450 Dual (Gigabit) and see how they fare in those machines.

Originally was going to put them in the 7600 and 9600 but decided those machines are just too old and slow to see much of a benefit ... and the IDE ---> SATA bridgeboard solution should be fine. Will need to come up with IDE card for the 7600 though.

Doesn't seem particularly relevant for what I consider to odd behavior (random disappearing volumes) with the FirmTek cards though.

Have seen that behavior on 2 different FirmTek cards (SeriTek/1SE2 and SeriTek/1VE4) ... in 3 different machines (9600, G4 800 Dual, G5 2.7 Dual) ... so I'm assuming that it isn't just a random bad card but is actually how the cards were designed/created/programmed ... but who knows ?

Maybe that's part of the reason why FirmTek faded away into oblivion ... ¯\_(ツ)_/¯
 

GorfTheChosen

Well-known member
Got the RHC SATA card installed in the G4 450 Dual, boots with no problem.

Moved the connection for the 120 GB OWC Mercury 3G SSD - which was connected via a StarTech IDE ---> SATA bridgeboard to the G4's IDE bus - over onto to the RHC card ... which yielded a very substantial increase in performance (about 25% better in reads, and 35% better in writes)

Also installed a bracket with an external eSATA connection in one of the PCI slots and connected that to the second port on the RHC card. Still need to connect something to it and test it out.

So far so good though ...
 

GorfTheChosen

Well-known member
Got the RHC SATA card installed in the G4 450 Dual, boots with no problem.

Moved the connection for the 120 GB OWC Mercury 3G SSD - which was connected via a StarTech IDE ---> SATA bridgeboard to the G4's IDE bus - over onto to the RHC card ... which yielded a very substantial increase in performance (about 25% better in reads, and 35% better in writes)

Also installed a bracket with an external eSATA connection in one of the PCI slots and connected that to the second port on the RHC card. Still need to connect something to it and test it out.

So far so good though ...

What the RHC card doesn't do however is recognize a second drive when it's attached to the external port.

Not sure if that's an issue with the card itself ... or with the drive I tried to attach.

And still having lots of trouble with the SSD I'm trying to attach to the SeriTek 1SE2 in the external case on the Quicksilver.

It was recognizing and mounting it at one point.

I tried to save a copy with CCC of the pooched 10.4 installation so I would have my user files and and the copy would abort part way through.

Found out that was due to a power issue - the external cases came with a (short) power cable with a mini USB on one end to attach to the external drive case and 2 USB A connectors on the other end to attach to a power source. They suggest attaching the second "A" connector if the drive requires more power.

I had substituted longer cables (without a second "A" connector) because where I wanted to locate the drives (to avoid having to crawl under the desk)

Swapped in the original douvle "A" power cable that came with the drive and was able to complete the back up successfully.

After that I tried to reinitialize the drive and clone a 10.4 install from the Quicksilver's backup drive onto the SSD.

That failed when the crazy FirmTek firmware intervened and reported the drive(s) had been "removed improperly".

Nothing I did was able to get the 3 partitions on that drive to come back and mount on the desktop again. When that happens I go to this procedure ... which typically resolves the problem:

So I pull the SSD out of the external eSATA case and stick it in a Sabrent USB 3.0 external case and connect it to the G5 2.7 and all 3 partitions immediately pop up on the desktop.

Thinking about that after the fact, I really didn't even need to go to all that trouble ... since if you connect the USB power cable for the external cas to a computer (rather than a charger adapter) the drive will mount on the desktop.

Which explains why you need to use a charger adapter as your power source ... rather than a USB port on the computer.

Checked the SSD using Disk Utility and it sees no issues with the SSD ... so back into the eSATA case it goes.

Attempt to attach it to the Quicksilver and ... NADA ... partitions won't mount.

Funny thing about that: the crazy FirmTek firmware reports the adding and/or removal of the drive ... but it won't mount the partitions. Disk Utility sees NADA ... no drive, no partitions.

Tried reflashing the card with the FirmTek 5.1.3 firmware, then run the app for Tiger ... NADA.

Can't boot into OS 9 on the Quicksilver because the OS 9 partition is on the SSD that isn't being recognized ... but I did check whether the SSD drive that's on the RHC card (flashed with dosdude's modified firmware) in the G4 450 would boot in OS 9 and it did.

Somewhere in some of FirmTek's documentation they make mention of using the same firmware on all cards due to conflicts ... if you have more than one card installed in a system.

I'm guessing that's probably poorly worded ... because it seems to me that if there's firmware conflict between various versions of firmware that conflict in a (single) system ... that just might carry over to different cards with different firmware ... in different systems.

As if no one using drives attached to cards with "e" (external) SATA connections would ever think of swapping drives between computers ?

Which brings me to where I'm out now:

SeriTek/1VE4 in the G5 = firmware 5.3.x something or another.

SeriTek/1SE2 in the G4 Quicksilver = firmware 5.1.3

Don't recall at this point where (which card) the SSD in question was initialized and partitioned.

Anyways, it's back to the drawing board at this point.
 

GorfTheChosen

Well-known member
A quick little update to this madness ...

Tried attaching the G4 800 SSD to the external port on the RHC SATA card in G4 450 yesterday to see if it would be seen there. It wasn't.

Shut the computer down overnight, leaving the SSD connected and powered on.

Booted the G4 450 this morning, SSD still not being seen. The RHC card shows up in ASP though.

Cut the power to the SSD and unplugged it ... no messages from the SeriTek firmware.

Connected the SSD via eSATA to the G4 800 and powered the drive on and started up the G4 800.

It's does its normal kernal panic from a cold boot so I hit the reset button on the front, computer reboots (from the 10.4 install on the backup hdd) ... it makes it to the Desktop ... and I get this:

Picture 2.png

Then this:

Picture 3.png

Then finally this:

Picture 4.png

And all three partitions on the SSD have now magically appeared on the OS X desktop ... Yippeee !

Picture 5.png

WTF ???

Open up Sys Prefs and set the Start Up Disk to the OS 9 partition (on the SSD) and reboot the computer.

It reboots but with a message along the way that the computer was improperly shutdown and it going to repair the OS 9 start up partition which it does.

Comes up to the OS 9 desktop with no other issues.

So I open the Start Up Disk Control panel and set it to boot from the 10.4 install on the SSD (cloned from the G5 via USB and CCC) ... no issues there, comes up to the OS X desktop just fine.

Then I tempted fate and tried to drag-select a bunch of crap that was on the G5's desktop (where this cloned install came from) to toss them in a folder and declutter things.

That brought us to where the cursor went to the spinning beachball of death ... cursor was hung ... but the clock in the menu bar was still ticking off the seconds.

At some point while flipped back over to the G5 and I was typing all this up (on the G5 2.7) the screen on the G4 800 went to sleep and blanked and the video wouldn't come back.

So I hit the reset button on the front, machine reboots and seems confused about partition it be booting off of (folder with question mark) ... but it eventually finds the OS X install on the backup drive and boots and makes it to the desktop ... and we're back once again to the 1SE2 not seeing the partitions on the SSD.

Disconnect the SSD from the SeriTek card and connect it via the 800's built-in USB and all 3 partitions pop right up on the desktop.

I did have Activity Monitor open at one point and noticed that TechTool Pro had a process running. It's a leftover from previous times - not currently using it and the install is probably funky at this point - so, since it deals with writing files to disk, I figured it would probably be a good idea to just go ahead and fully uninstall it ... which you can do with the original installer.

So I dug out the TechTool 4.0.1 CD and stuck it in the 800 ... which brings us to our next bit of apparent programming insanity:

While it true that there is an "Uninstall" option available in the TTP Installer, when you launch the Installer (before completing the full install process) it immediately writes 3 copies of the TTP app ... in 3 different locations on the current boot drive.

If you then select the "Uninstall" option it searches the specific drive/partition you have selected for copies of TechTool Pro (and its associated files ?) and tells you to select one to uninstall. There is no option to select multiple copies at the same time.

And there is no option for a "Global Uninstall" for all drive partitions currently mounted that I can discern.

If you do that, and tell the process to run and uninstall it goes through and claims to remove upwards of 1500 items (I believe on a single partition)

And then it tells you that to "complete the process" you need to quit the Installer app ...

Ahh ... anyone see a problem there ?

So I'm supposed to quit the Installer to complete the uninstall process (of one of the 3 TTP app files) ... and the next time I launch the Installer to get one of the two remaining apps it's going to reinstall what I just removed ?

Is that how this is supposed to work ?

The only solution that I can see is to ignore the instructions and remove multiple copies of the TTP before quitting.

And the "Uninstall" process has to be run for each partition that may have the TTP app and/or protection files installed on it.

Insanity.

There's still more on all this ... but I've had enough for the moment.
 

cgp

Well-known member
Thanks for your insights! Need to google a little to understand more of it. :)

Installing and booting into 10.2.8 succeeds, if only the SCSI part is active and the SATA controller is removed. Even if the SATA controller is present, but not used, whilst booting Jaguar from the SCSI hard drive, booting stops at the upmentioned point.

...

Any more hints?
I ran into this panic trying to run Jaguar on a machine (PM7600) with a Sil3112 SATA-PCI card. I've successfully used a reflashed Sil3112 on various G3s running MacOS9, Tiger, etc. I was disappointed that the PM7600 failed. I can run various flavors of Linux and classic Mac on this hardware but Jaguar barfs. I can't go later than 10.2.8 with this machine since it has a 604 processor.

I discovered I get the same panic running Jaguar with this card on G3s too. So it's a software problem. The kext embedded in the Seri-Tek firmware is simply not compatible with Jaguar. Some kernel data structure (I'm guessing locks) probably changed size after 10.2.8 and this results in the stack corruption and panic.

If your system has SCSI drives other than those hosted by the 3112 card, you can boot Jaguar from a SCSI volume by disabling the Seri-Tek card from OFW. To do this, boot into OFW, discover the OFW device name of the card using "dev / ls" (mine is pci1/@e) then use the delete-property as follows:
Code:
dev pci1/@e " driver,AAPL,MacOSX,PowerPC" delete-property
then continue to boot (0 bootr if you're using XPF). Note must be re-done each boot.
 
If your system has SCSI drives other than those hosted by the 3112 card, you can boot Jaguar from a SCSI volume by disabling the Seri-Tek card from OFW. To do this, boot into OFW, discover the OFW device name of the card using "dev / ls" (mine is pci1/@e) then use the delete-property as follows:
Code:
dev pci1/@e " driver,AAPL,MacOSX,PowerPC" delete-property
then continue to boot (0 bootr if you're using XPF). Note must be re-done each boot.
Thanks for this hint.
I'll try this, when I give the SATA controller another go.
 

GorfTheChosen

Well-known member
Wish I could say that I had resolved the problem with the FirmTek/SeriTek 1SE2 card but unfortunately it still remains.

There for a while I thought it might be a conflict with the ACARD IDE RAID card but it doesn't appear that is the case.

I can confirm that the cheap Chinesium cards from RHC are not at all compatible with my Quicksilver at least ... even when flashed with dosdude1's firmware. Pulled all the PCI cards out of the Quicksilver and still no go.

Even went as far as pulling the stock graphics card - a 64MB GeForce2 TwinView - and sticking the original ATI Rage 128 Pro from the G4 450 in there. Same deal ... it will chime at boot ... but no video output ... the monitors remain dark.

Meanwhile, here's what I'm getting with the FirmTek/SeriTek card, as the computer finishes booting and gets to the desktop:

Feb 22 17:41:26 localhost loginwindow[70]: Login Window Started Security Agent
Feb 22 17:41:28 localhost mDNSResponder: Adding browse domain local.
Feb 22 17:41:33 Power-Mac-G4-800 configd[36]: setting hostname to "Power-Mac-G4-800.local"
Feb 22 17:41:49 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt: HotSwap on bus 0, IPM = 0, SPD = 0, DET = 0, SError = 10000
Feb 22 17:41:49 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt (continuing): drive_type: 1, mDeviceDetected[]: 1, first nub non-zero: 1
Feb 22 17:41:49 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::handleDeviceInterrupt: drive removed on chnl = 0
Feb 22 17:41:55 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::FT_handleTimeout() begin
Feb 22 17:41:55 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::FT_handleTimeout() on bus 0 unit 0
Feb 22 17:41:56 Power-Mac-G4-800 kernel[0]: disk1s10: I/O error.
Feb 22 17:41:56 Power-Mac-G4-800 kernel[0]: FirmTekNub::finalize: the super::finalize() returned: 1
Feb 22 17:44:08 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt: HotSwap on bus 0, IPM = 0, SPD = 0, DET = 0, SError = 10000
Feb 22 17:44:08 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt (continuing): drive_type: 0, mDeviceDetected[]: 0, first nub non-zero: 0
Feb 22 17:44:08 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::handleDeviceInterrupt: drive removed on chnl = 0
Feb 22 17:45:40 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt: HotSwap on bus 0, IPM = 0, SPD = 0, DET = 0, SError = 10000
Feb 22 17:45:40 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt (continuing): drive_type: 0, mDeviceDetected[]: 0, first nub non-zero: 0
Feb 22 17:45:40 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::handleDeviceInterrupt: drive removed on chnl = 0
Feb 22 17:46:23 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt: HotSwap on bus 0, IPM = 0, SPD = 0, DET = 0, SError = 10000
Feb 22 17:46:23 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt (continuing): drive_type: 0, mDeviceDetected[]: 0, first nub non-zero: 0
Feb 22 17:46:23 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::handleDeviceInterrupt: drive removed on chnl = 0


And it continues on, regularly repeating itself at fairly regularly intervals (edited for brevity):


Feb 22 20:31:44 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt: HotSwap on bus 0, IPM = 0, SPD = 0, DET = 0, SError = 10000
Feb 22 20:31:44 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt (continuing): drive_type: 0, mDeviceDetected[]: 0, first nub non-zero: 0
Feb 22 20:31:44 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::handleDeviceInterrupt: drive removed on chnl = 0
Feb 22 20:31:46 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt: HotSwap on bus 0, IPM = 0, SPD = 0, DET = 0, SError = 10000
Feb 22 20:31:46 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt (continuing): drive_type: 0, mDeviceDetected[]: 0, first nub non-zero: 0
Feb 22 20:31:46 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::handleDeviceInterrupt: drive removed on chnl = 0
Feb 22 20:32:39 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt: HotSwap on bus 0, IPM = 0, SPD = 0, DET = 0, SError = 10000
Feb 22 20:32:39 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt (continuing): drive_type: 0, mDeviceDetected[]: 0, first nub non-zero: 0
Feb 22 20:32:39 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::handleDeviceInterrupt: drive removed on chnl = 0
Feb 22 20:33:09 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt: HotSwap on bus 0, IPM = 0, SPD = 0, DET = 0, SError = 10000
Feb 22 20:33:09 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt (continuing): drive_type: 0, mDeviceDetected[]: 0, first nub non-zero: 0
Feb 22 20:33:09 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::handleDeviceInterrupt: drive removed on chnl = 0
Feb 22 20:33:11 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt: HotSwap on bus 0, IPM = 0, SPD = 0, DET = 0, SError = 10000
Feb 22 20:33:11 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt (continuing): drive_type: 0, mDeviceDetected[]: 0, first nub non-zero: 0
Feb 22 20:33:11 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::handleDeviceInterrupt: drive removed on chnl = 0
Feb 22 20:38:26 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt: HotSwap on bus 0, IPM = 0, SPD = 0, DET = 0, SError = 10000
Feb 22 20:38:26 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::IsMyHotplugInterrupt (continuing): drive_type: 0, mDeviceDetected[]: 0, first nub non-zero: 0
Feb 22 20:38:26 Power-Mac-G4-800 kernel[0]: FirmtekCtrllr::handleDeviceInterrupt: drive removed on chnl = 0

System is running on a new install of 10.4 (fully updated to 10.4.11) on a freshly formatted Maxtor hdd running on the G4 800's native IDE bus.

I've spent a good part of the last 24 hours screwing around trying to troubleshoot this. Incredibly frustrating to say the least.

If anyone has any insights or thoughts on this, I'd love to hear them.

Beyond that ... does anyone here actually own one of these cards (FirmTek SeriTek 1SE2) ... and has had it work reliably without all these shenanigans ?
 

obsolete

Well-known member
The voltage regulator surgery was successful! My Quicksilver now goes to sleep and wakes up normally with the SATA card installed.

For anybody reading this in the future, I recommend using the Diodes Incorporated AP7361C-33E voltage regulator, and not the MIC29150 that was suggested earlier. The MIC29150 will work, but it's the wrong size and the wrong package. The AP7361C-33E is an exact drop-in replacement, and it's readily available at electronics suppliers for 60 cents.

For making the Quicksilver sleep function work reliably, the important spec is the regulator's dropout voltage. It should be as low as possible. The MIC29150 has a 0.6V dropout voltage, and the AP7361C-33E has a 0.36V dropout voltage. The original regulator was a LD1117 with a substantially higher 1.3V dropout voltage, which is why it caused problems with Quicksilver sleep.

To summarize, here are all the steps required to get a SATA card in your PCI Mac:
  1. Buy an Adaptec 1210SA PCI SATA card for about $20 on eBay. The generic black PCI SATA cards probably work too, and are even cheaper.
  2. Disable the 24WC02 EEPROM chip on the card by lifting its pin 8 off the PCB, or just remove the whole EEPROM chip.
  3. Remove the LD1117 3.3V voltage regulator from the card (mine was stamped "LD33") and replace it with an AP7361C-33E. This is only needed for the G4 Quicksilver, you can skip this step if you have another type of PCI PowerMac or if you don't care about sleep functionality.
  4. Install the SATA card in your Mac.
  5. Download the flashing utility from here and run it under MacOS 9.
Enjoy your new 100 Mbyte/second disk I/O speeds!
Note for anyone planning to do this regulator swap--you want the SOT-223R package, AP7361C-33ER-13. The regular SOT-223 version pin configuration does not match the ST LD1117.
 
Top