• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Silicon Image SIL3112 Flashing: Easier Way Using flashrom

dosdude1

Well-known member
Mine is am28f010. I'm going to try directly programming it when I get the chance since trying with flashrom ended with it unable to find the rom chip.
AM28F010 requires 12V for programming, so it can't be done on the card itself. It must be done externally using an EEPROM programmer, unfortunately.
 

treellama

Well-known member
I had a couple with AM28F010s, swapped them to AM29F040B (non LV) and they programmed fine with the Mac app and work great. Is there any reason to use a 512K ROM on these since they have room, versus the 128K ROM?
 

dosdude1

Well-known member
I had a couple with AM28F010s, swapped them to AM29F040B (non LV) and they programmed fine with the Mac app and work great. Is there any reason to use a 512K ROM on these since they have room, versus the 128K ROM?
There's no reason to go out of your way to get a 512K chip, as with my patched/compressed version of the SeriTek firmware, there's no need. Though if you have 512K EEPROMs on-hand already, you may as well use them. Really makes no difference.
 

treellama

Well-known member
There's no reason to go out of your way to get a 512K chip, as with my patched/compressed version of the SeriTek firmware, there's no need. Though if you have 512K EEPROMs on-hand already, you may as well use them. Really makes no difference.
Thanks. I meant the image; the only difference is the extra decompression step, right?
 

Powerbase

Well-known member
I had a couple with AM28F010s, swapped them to AM29F040B (non LV) and they programmed fine with the Mac app and work great. Is there any reason to use a 512K ROM on these since they have room, versus the 128K ROM?
Was it just a straight chip-for-chip swap?
 

Hunter259

Active member
I got to be able to take the chip off and flash it. Not sure why but didn't have luck with the latest 128k rom. Read back fine but did work. Using the original 128k it worked just fine. Solder joints looked good but we didn't try redoing it. Either way works perfectly in my 7500/100 with a SSD.
 
I flashed the 128kb firmware from post #56 to a generic Chinese sil3112 card. I am using it in a Blue & White G3 rev A. It seems to work flawlessly in os9.2.2 and 10.4 as long as only one SSD is hooked up to the card. Hooking up a second SSD lead to some extremely bizzare behavior where the G3 was erratic and unstable and would sometimes only see one of the SSDs unless I did a reboot. Eventually the G3 stopped working completely until I removed one SSD and my FireWire/USB PCI card. Another weird thing is 10.3 will install but is unstable and kernel panics a lot, 10.2 will not even boot with the flashed sil3112, they both throw up the same error on the kernel panics, I have attached pictures of the error. I removed all but one stick of known good ram, the video card, and the SATA card and got the same kernel panic error. I removed the SATA card and installed 10.2 to a drive on the original ultra ata bus, that worked and I was able to install and update to 10.2.8 but as soon as I put the SATA card back in I get the same KP error even with no drive connected to the sata card. 10.2 and 10.3 should be supported with the seritek firmware so I am not sure what's going on. It could be a G3 rev A only issue, is anyone else having problems with 10.2 and 10.3. The 10.0 and 10.1 installers boot normally but cannot see the disks on the SATA card as expected. I have not had a chance to test os 8.6 yet.
 

Attachments

  • 20230415_011838.jpg
    20230415_011838.jpg
    1.1 MB · Views: 28
  • 20230415_020453.jpg
    20230415_020453.jpg
    2.2 MB · Views: 16

treellama

Well-known member
10.2 kernel panics for me, too, with an RHC hard card and the 512 k firmware. Also B&W rev A. I could try it in a G4 I suppose. Or try the generic SiI-3112s.

8.6 works fine.
 

Hunter259

Active member
According to a thread on MacRumors about flashing these cards it seems Jaguar is just not a fan. Mine also kernel panics on initializing the card. Panther has been fine although I can't boot OS X installers off a sata dvd rw drive.
 

Carlito

New member
I have an Adaptec 1210SA that I flashed with the patched SeriTek flasher in OS 9. The flashing process went fine, the card was recognized by the flasher and the firmware was programmed. However, on reboot, the card behaves exactly the same as before the flash. It's not recognized by OS 9. I noticed that it has VendorId: DeviceId 9005:0240 and not the correct 1095:3112.

At the end of page 9 of this old post, https://icrontic.com/discussion/20543/new-sii3x12-serial-ata-sata-raid-ide-bios-v-4250-released/p9 , someone mentions that the SIL3112 first looks at external flash for the PCI information, then fall backs to the firmware in the regular EEPROM.

1. Could this missmatch of 9005:0240 instead of 1095:3112 cause the driver not to load?
2. Has anybody had the same problem and solved it by removing the 24WC02J EEPROM that contains 0240?
 
Last edited:

Carlito

New member
I have an Adaptec 1210SA that I flashed with the patched SeriTek flasher in OS 9. The flashing process went fine, the card was recognized by the flasher and the firmware was programmed. However, on reboot, the card behaves exactly the same as before the flash. It's not recognized by OS 9. I noticed that it has VendorId: DeviceId 9005:0240 and not the correct 1095:3112.

At the end of page 9 of this old post, https://icrontic.com/discussion/20543/new-sii3x12-serial-ata-sata-raid-ide-bios-v-4250-released/p9 , someone mentions that the SIL3112 first looks at external flash for the PCI information, then fall backs to the firmware in the regular EEPROM.

1. Could this missmatch of 9005:0240 instead of 1095:3112 cause the driver not to load?
2. Has anybody had the same problem and solved it by removing the 24WC02J EEPROM that contains 0240?
Desoldered pin 8 (VCC) of the 24WC02 and the card changed identity to 1095:3112 and started to work (since I'd flashed it before). So, if you have a 1210SA and want it to work on a Mac, remove or disable the 24WC02!

So the answer to 1. is yes!
 
Last edited:

Phipli

Well-known member
Desoldered pin 8 (VCC) of the 24WC02 and the card changed identity to 1095:3112 and started to work (since I'd flashed it before). So, if you have a 1210SA and want it to work on a Mac, remove or disable the 24WC02!

So the answer to 1. is yes!
Thats really good information. Thank you very much. I'd not heard of this issue before.
 

mg.man

Well-known member
So... work's a time drain atm, so took me 'til today to do some testing. Here are the results (using HDT 4.5.2) :
20230716_112913.jpg
Upper left is my ACARD with a 8Gb DoM, lower left is my B&W's onboard IDE targeting a 160Gb rust spinner, on the right, the Adaptec/SIL3112 targeting an old 64Gb SSD I had to hand. Me thinks I'll be getting a few more of these!!

Thanks @dosdude1 & @Carlito! Rock on!! 🤘
 

Carlito

New member
Glad it worked not only for me! Some benchmarks on my SP 1,25 GHz MDD 2 GB RAM!

SD to IDE adapter on ATA-66 (would not work on ATA-100 for some reason). Fairly high class SanDisk micro SD card used.
ide-sd.jpg

Intenso 2.5 TOP 128 GB SSD on flashed Adaptec 1210SA.
1210sa-intenso.jpg
 

RunAway

Member
I FINALLY got it figured out, well, sort of... I couldn't figure out what in my implementation was causing the issue, so I decided to make a new implementation, based off a different C implementation along with a (broken) Forth implementation I came across. With this decompression routine implemented, the USB probing issue stopped happening on my MDD! So now, finally, we have a fully working ROM that fits onto a 128K EEPROM! I have attached this new ROM below, along with my patched copy of the OS 9 SeriTek flasher tool with said ROM embedded (which will allow you to flash a "blank" card with any EEPROM), as well as the Forth source of the new decompression implementation.
Thank you for your amazing work.
I'm planning to upgrade a PowerMac G4 and since I already have a SiI3114 card can I use your patched firmware with that instead of buying a Sil3112 card (losing 2 ports wouldn't be an issue)?
 

joshc

Well-known member
Thought I'd get on the bangwagon... actually had one of the Sil3112 cards hanging around for a few years and just never gotten around to putting it into my G4. Thanks to @max1zzz for the flashed card.

I had a few issues with other PCI cards conflicting with it or perhaps drawing too much power so I had to remove those, and then the card was seen properly under OS 9 and I could format the SSD via Drive Setup.

The drive I hooked up to my card is a PNY 120GB SSD, formatted with two partitions. I'll be doing a test with OS X 10.4 later on.

A nice little speed boost, especially on access time...

G4_SSD_Benchmark.png
 
Top