SATA? In an old world PCI Power Mac?! IMPOSSIBRU! (Updated 11/22/23)

AirplaneHome.com

New Tinkerer
Nov 21, 2022
27
4
3
In case my Power Mac 7200 caused some unique problem I installed one of my modified Sil3114CTU SATA cards into a Power Mac G3 Minitower, booted on Mac OS 9.1, then ran Collin's cool SeriTek152 Flasher, but with the same result: The Sil3114CTU SATA card wasn't recognized by the SeriTek152 Flasher. This wasn't surprising of course. I still plan to write the firmware into a lone AM29LV040B EEPROM, then solder that onto another Sil3114CTU four port SATA card, then repeat tests. That might require at least a few days to complete, then I'll report the results here. Cheers!
 

AirplaneHome.com

New Tinkerer
Nov 21, 2022
27
4
3
Booting from a Sil3112 SATA card with an SSD: In my Power Macintosh 9500/120 with a G3 445 MHz processor card running OS 9.1, as I recall I could boot from the SATA SSD in initial experiments, but couldn't later, and generally still can't, a mystery. But by accident I found that if my 9500 tries to boot to a flawed SCSI volume, then I boot with Command + Option + Shift + Delete keys invoked, it boots on my SATA volume irrespective of the selection in the startup volume control panel or any other conditions.

According to this those keys cause the system to "Bypass startup drive and boot from external (or CD)", but OS 9.1's help file just says "Bypass the startup disk when starting up". I don't know which is more accurate.

In my experience so far it only works if the previous boot attempt failed outright irrespective of the setting in the startup volume control panel or any other conditions. So I must always cause a failed boot before I can boot from my SATA SSD.

I plan to install OS 9.2.1 and 10.4.11 or maybe 10.5.8 on separate volumes then reexamine the matter. I might also try moving the SIL3112 card to other PCI slots. I'll report any useful news here, but in the meantime comments welcome of course!
 

AirplaneHome.com

New Tinkerer
Nov 21, 2022
27
4
3
Resolved in my Power Mac 9500/120: The red Sil3112 SATA card's location in the last PCI bus position, slot F2, was the problem. When located there the card's internal SATA port was generally functional but I couldn't boot from it in the normal manner, and the external SATA port was completely dead. After moving the card to the second PCI bus position, slot B1, both ports are fully functional and I can boot from either of them in the usual manner, just like any SCSI or other volume.

I haven't tried any other slots. I should've studied the specs for the Power Mac 9500's PCI bus much earlier since it's key to these issues.

I still can't boot from a SATA volume in my Power Mac 7200 with a green Sil3112 SATA card however, although both SATA ports otherwise function normally. I'll try other PCI slots and seek the specs for that PCI bus as well.

And I still need to upgrade both systems from OS 9.1 to Mac OS 9.2.2 and render some other refinements. I'll report again as new results arise. Cheers!
 

AirplaneHome.com

New Tinkerer
Nov 21, 2022
27
4
3
Resolved in my Power Mac 7200 with a green Sil3112 SATA card: Per the second paragraph in this site evidently Mac OS 9 can't boot from a volume size above 190 GB *. I have a 256 GB SATA storage device in my 7200, so I reformatted it with a Mac MDD running OS 10.5.8 in HFS+, no journaling, with Mac OS 9 drivers, this time into three user partitions for an initial experiment. Now my 7200 boots from the device perfectly smoothly (and clearly faster than from Blue SCSI).

Previously, with just one user partition, my 256 GB SATA storage device operated normally and reliably except that it wouldn't boot with OS 9.1. So I'll probably revise my partition scheme into two user partitions, one of just 500 or 750 MB for the boot volume, the other with all the remaining capacity.

For my PowerMac 9500/120, from a ChatGPT response I edited:

9500/120 PCI bus slot groups:

A1, B1, C1 (32 bit PCI slots): 32 bit PCI slots typically used for various expansion cards such as graphics, network, or other cards.

D2, E2, F2 (64 bit PCI slots): 64 bit PCI slots which provide higher bandwidth. Some specialized cards may be designed for these slots.

I only tested one 64 bit slot but I suspect all are dysfunctional with all external devices connected to my red SATA PCI card. But the 32 bit slots seem fully functional, including bootable, at least for volumes of 190 GB or less (I've not tested booting my 9500 with larger SATA volumes yet).

The inexpensive green Sil3112 SATA cards from China provide no eSATA connection nor provisions to add one, a shame. I revised one by creating a rectangular hole and two bolt holes for a panel mounted eSATA to SATA cable, then installed the cable, completing an external eSATA receptacle. I ordered 7 more such cables here. It should be easy to clamp a side guide to a drill press table to render milling semi-circular ending slots in several panels quickly and easily, and of course drilling the two bolt holes is quick and easy. (With the circuit board removed for the work of course, then replaced.)

I'm preparing several because eSATA seems like the best option for moving data between classic systems with a bus which can host a SATA card. It's fastest, seems most solidly reliable, covers all systems with accessible buses except NuBus, and is easy to use with modern systems as well (via USB with an ordinary bridge case or cable if the system provides no eSATA ports). For SCSI systems with NuBus or no accessible bus, BlueSCSI or SCSI2SD seems like the only practical option, but for all else eSATA seems clearly best to me. Many kudos to DosDude1 / Collin and all other noble contributors for making this superb option practical!

I still need to upgrade both systems from Mac OS 9.1 to 9.2.2 and render some other refinements. And find a way to install Collin's cool firmware into my Sil3114CTU SATA cards then test those. I'll report again as new results arise. Cheers!

* I don't recall whether I've tried booting in OS 9 from a Blue SCSI volume larger than 190 GB.
 

bakkus

Moderator
Staff member
Mar 18, 2022
86
61
18
Just a quick point: ChatGPT seems to have hallucinated slightly - the 9500 doesn't have any 64-bit PCI slots:
1705347059164.png
 

AirplaneHome.com

New Tinkerer
Nov 21, 2022
27
4
3
Many thanks, I (and ChatGPT) stand corrected! Glaring mistake on my part... So evidently an interaction with one or more of my other PCI cards or some protocol the 9500 utilizes to communicate with specific slots caused the SATA card dysfunction when it was in F2. Currently I have a video card in A1, my red SATA card in B1, then the last four are FireWire or USB cards, including one FireWire & USB combo card. If I ever discover why my SATA card wasn't fully functional in slot F2 I'll relate the information here.

My PowerMac 7200's three PCI slots contain my green SATA card, a video card, and a combo FireWire card. Although not rigorously tested my sense is they're all fully functional in any PCI slot and irrespective of their order in the slots. Cheers!
 

AirplaneHome.com

New Tinkerer
Nov 21, 2022
27
4
3
I recomposed my Mac PCI Card SATA tutorial. I labored for many hours to try to create a very clean and efficient guide but it lacks information and experience in several areas so I hope to refine it substantially as further insights develop. This effort is in like spirit to XodiumRetro's terrific work but forged in a more compact and clinical style.

Any feedback, including information deficits or corrections, composition refinement suggestions, acknowledgment failures or turf trespassing offenses, or other comments highly appreciated. Thanks bunches and cheers!
 

phunguss

Tinkerer
Dec 24, 2023
234
221
43
Stillwater, MN
Success with a one dollar card from the local Free Geek store.
PCI-SATARAID.jpg


Put it into my Sawtooth and it was not recognized under 10.4.11, so booted into OS9 and it showed up as unknown.
PCI-wrong.jpg


Correct VendorID, so did the flash.
PCI-found.jpg


And rebooted in OS9 just to verify post-flash.
PCI-flashed.jpg


Booted fine with SSD connected to the PCI sata card in 10.4.11, further testing to be done.
PCI-SATA-success.jpg


My previous IDE->Sata adapter is limited to the IDE 66/100 bus so 120GB max. Now the same drives show full capacity on the PCI card.
partitioncity.jpg
 

AirplaneHome.com

New Tinkerer
Nov 21, 2022
27
4
3
Do any AM29LV040 device files exist for SP200S or EZP2023 USB connected PROM programmers? If so references highly appreciated of course! Or can a device file be manually forged for the AM29LV040 or similar? Many thanks and cheers!
 

phunguss

Tinkerer
Dec 24, 2023
234
221
43
Stillwater, MN
I still need to upgrade both systems from Mac OS 9.1 to 9.2.2 and render some other refinements. And find a way to install Collin's cool firmware into my Sil3114CTU SATA cards then test those. I'll report again as new results arise. Cheers!

* I don't recall whether I've tried booting in OS 9 from a Blue SCSI volume larger than 190 GB.

I just picked up a Sil3114CTU Sata card, have you made any progress?
 

AirplaneHome.com

New Tinkerer
Nov 21, 2022
27
4
3
Not yet Phunguss, but I'm actively working on the Sil3114 based card specifically, and all other PCI SATA challenges generally, with current focus on programming completely empty AM29LV040 PROMs, which I suspect is my only significant hurdle to rendering Sil3114 based cards functional.

My sense is that the AM29LV040 PROMs I installed on my two test cards can't be programmed through the PCI bus only because they're empty and thus unresponsive to any PCI bus query or command (but I have no proof of that). But neither of my two external programmers (SP200S and EZP2023) are compatible with my AM29LV040 PROMs. I'll purchase one which is compatible (perhaps a month delivery time) or maybe try to modify one of the two I have , a long shot perhaps involving adding 3.3 V provisions and editing existing device driver software.

But in the meantime I'm in the very early stages of investigating FlashROM v1.3.0, which seems to be a Unix based package which detects PROMs in numerous locations, including via PCI bus, and provides a port to read or program them. I'm just beginning to study it and have found only a tarball version whose structure isn't clear to me thus far, but it's about 2.9 MB and might be promising.

I suspect, but have no proof, that Sil3114 and other bridges detect and can exchange data with PROMs whether empty or not. If true empty PROMs wouldn't be a hurdle if any of the tools we've discussed here could initiate an exchange with it. My guess is that one of us will find a way to resolve that hurdle, either by revising the SeriTek1S2 firmware installer or the Silicon Image SilG3114101UpDriveR1, or finding a means to utilize FlashROM v1.3.0 to install firmware.

I'm trying to keep my rendition of this adventure here up to date too. Cheers!
 

AirplaneHome.com

New Tinkerer
Nov 21, 2022
27
4
3
FlashROM v1.3.0, evidently a command line based utility, for the Mac evidently (linked from here) requires an intel based desktop Mac. I have none so I hope someone who does will explore FlashROM and enlighten us with their experience. This, from my archives, which I suspect I acquired from Collin (but it doesn't seem to be on his site now), includes CWSDPMI.exe and FlashROM.exe files which might be simple command scripts for using FlashROM in Windows. I might try that option if I can find a Wintel system with a GPI bus in my stock, if time permits.

But I ordered a T48 ( evidently aka TL866-3G) ROM programmer which seems to be AM29LV040 compatible, though I can't be certain until after it arrives on 21 February or a bit earlier. I probably won't be able to explore Sil3114 SATA PCI cards further until then, sorry. Cheers!
 

joevt

Tinkerer
Mar 5, 2023
73
32
18
FlashROM v1.3.0, evidently a command line based utility, for the Mac evidently (linked from here) requires an intel based desktop Mac. I have none so I hope someone who does will explore FlashROM and enlighten us with their experience. This, from my archives, which I suspect I acquired from Collin (but it doesn't seem to be on his site now), includes CWSDPMI.exe and FlashROM.exe files which might be simple command scripts for using FlashROM in Windows. I might try that option if I can find a Wintel system with a GPI bus in my stock, if time permits.

But I ordered a T48 ( evidently aka TL866-3G) ROM programmer which seems to be AM29LV040 compatible, though I can't be certain until after it arrives on 21 February or a bit earlier. I probably won't be able to explore Sil3114 SATA PCI cards further until then, sorry. Cheers!
I ported FlashROM to PPC Mac OS X. See the previous page (page 5) of this thread.
 
  • Like
Reactions: AirplaneHome.com

AirplaneHome.com

New Tinkerer
Nov 21, 2022
27
4
3
Many thanks for your reminder JoeVT! I carefully reread the comments you and Speakers contributed about FlashROM.

If you or Speakers have time please advise the status of your FlashROM variants and your recommendations for the best current method to program Sil3114 card ROMs.

My rough impression from your comments is that FlashROM will program Sil3114 card ROMs in a G3 Minitower running Debian. If so, what version of FlashROM and of Debian please? And is that version of FlashROM a command line script, or if not how is it utilized?

Or would you recommend using a Windows system to program Sil3114 card ROMs at this time?

I have at least two PCI equipped G3 Macs into which I could install Debian and a Compaq Presario 3550 into which I'm currently trying to install Windows XP Pro (or Debian if you suggest). If you like I'll experiment with them in whatever manner you suggest and report results here (and on my nerd cave notes site).

Many thanks and cheers!
 
  • Like
Reactions: phunguss

joevt

Tinkerer
Mar 5, 2023
73
32
18
If you or Speakers have time please advise the status of your FlashROM variants and your recommendations for the best current method to program Sil3114 card ROMs.

My rough impression from your comments is that FlashROM will program Sil3114 card ROMs in a G3 Minitower running Debian. If so, what version of FlashROM and of Debian please? And is that version of FlashROM a command line script, or if not how is it utilized?

Or would you recommend using a Windows system to program Sil3114 card ROMs at this time?

I have at least two PCI equipped G3 Macs into which I could install Debian and a Compaq Presario 3550 into which I'm currently trying to install Windows XP Pro (or Debian if you suggest). If you like I'll experiment with them in whatever manner you suggest and report results here (and on my nerd cave notes site).

I think @dosdude1's flashrom for Linux on PPC Mac should work for Debian.

My flashrom fork should work in Mac OS X (PPC and Intel) but I need to make some updates to make my source code buildable on PPC Mac OS X 10.4.11 again. I'll work on it today. I don't think anyone's used it yet to flash a SIL3114 card ROM but it has been tested to read the ROM.
 

AirplaneHome.com

New Tinkerer
Nov 21, 2022
27
4
3
Just quick notes for now. I'll check accuracy and compose a more elegant review later:

The T48 PROM programmer does successfully install firmware into AM29LV040B PROMs. I removed the two blank PROMs I'd installed in two of my AliExpress Sil3114 cards earlier, installed this firmware into those PROMs with the T48 PROM programmer, then soldered them back onto the cards with success - the Sil3114 cards are now functional in Mac OS 10 up to at least 10.5.8. (But as we already knew they're not functional under Mac OS 9 or earlier.)

And as best I recall the Terminal script based Silicon Image SilG3114101UpDriveR1 now detects the card and presumably could program the PROM but it won't do so upon detecting an already up to date Sil3114 firmware version. This seems to confirm that a PROM must have some installed firmware to be detectable by the Silicon Image SilG3114101UpDriveR1 installer - presumably enough for it to communicate through the Sil3114 and PCI bus.

I plan to install some other firmware into an AM29LV040B PROM, solder that to another card, then test whether the Silicon Image SilG3114101UpDriveR1 can install up to date Sil3114 firmware under those circumstances.

The Silicon Image SilG3114101UpDriveR1's instructions state that it must be used under Mac OS 10.1 but it appears to be functional up to at least Mac OS 10.5.8.

More later after I've checked my facts and composed a better review. Cheers!
 
Last edited:

AirplaneHome.com

New Tinkerer
Nov 21, 2022
27
4
3
Yes Kai, my AliExpress Sil3114 cards are fully functional in my Mirror Door Drive (FireWire 400) with all four ports simultaneously active, and performance seems in my merely qualitative observations to be ideal. I copied the same roughly 500 MB file from one of the four attached solid state storage devices to the other three in very swift drags, then watched as all the copies completed mere moments later, suggesting to me that the Sil3114 manages the data transfer itself with very little PCI bus action involved. That is, the speed seemed limited only by the storage devices themselves. But it was just an informal qualitative observation...

I have two Sil3512 based cards natively equipped with Eon EN29LV040A PROMs which were never modified in any way so I assumed the Silicon Image SilG351210UpDriveR1 would detect them and be able to install the Silicon Image Sil3512 PROM firmware. But surprisingly the Silicon Image SilG35121oUpDriveR1 failed to detect them in my Mirror Door Drive in any of its PCI slots. So I removed the PROMs, used my T48 PROM programmer to install the Silicon Image Sil3512 PROM firmware, then soldered them back onto the cards with success - the Sil3512 cards are now fully functional in Mac OS 10 up to at least 10.5.8. (But not functional under Mac OS 9 or presumably earlier.)

The Terminal script based Silicon Image SilG35121oUpDriveR1 now detects a card but won't program it because it already contains up to date Sil3512 firmware.

So contrary to my earlier thoughts not only do empty PROMs render the Silicon Image SilG3114101UpDriveR1 and Silicon Image SilG35121oUpDriveR1 evidently unable to detect a suitable card under Mac OS 10, alien PROM contents (presumably Windows OS compatible contents) defeat their ability to detect a card too. So my sense is that until FlashROM or some other installer becomes functionally available we must physically remove the PROMs from Sil3114 and Sil3512 cards then use an independent programer to install Mac compatible firmware, then solder them back onto the cards, a considerable inconvenience of course. (And evidently we must use an external programmer to program Silicon Image Sil3124 cards too since there seems to be no 'Silicon Image SilG31241oUpDriveR1' or other functional installer for Sil3124 cards.)

The Silicon Image SilG3114101UpDriveR1 and Silicon Image SilG35121oUpDriveR1 seem to provide no means to overwrite the same version of firmware which in my opinion is quite unfortunate because the heat stress of soldering a PROM to a circuit board must cause some flash storage data fade so for best firmware longevity they should be overwritten in a cool state when no further heat stress will occur. So I view identical version overwrite prohibition as a significant software development mistake.

I have one more Sil3512 card, but of different design, I might try to make functional, starting with a study of its insufficient capacity PROM voltage options. (it seems to have a 3.3 V three terminal regulator but it's not yet clear to me how to activate it.)

And I have one two port HighPoint HPT372NLF card which I might experiment with, primarily by trying all the two port Silicon Image firmware options in case the HighPoint HPT372NLF is miraculously compatible with any of them, a long shot of course.

I'll report results here when able, as well as on my "Notes From the Nerd Cave" page, which I'll update to account for the work described in this post and my last one, hopefully within a couple of days.

Cheers!
 
Last edited:

AirplaneHome.com

New Tinkerer
Nov 21, 2022
27
4
3
I updated my SATA section of my Nerd Cave notes. Corrections or any other comments highly appreciated of course. Anyone, including TinkerDifferent, is welcome to republish it in full or quote portions of it if I'm attributed properly. I think it's reasonably well organized and thorough yet concise, but if a FlashROM variant which provides a direct means to install firmware on Silicon Image SATA cards through the PCI bus arises a considerable update would be required. I hope that day comes...

In the meantime I'll proceed with experiments with my last Sil3512 and my HighPoint HPT372NLF based cards as time permits then report results here.

My AliExpress Sil3114 cards are my favorites thus far because they provide four independent and simultaneously active SATA ports, seem superb in very swift and flawless performance, and their aft rails provide sufficient room to install an eSATA connector as Robin-Fo illustrated here. They upgrade data storage in all my PCI equipped Macs to wonderfully high levels - they rock!

Cheers!
 
  • Like
Reactions: Nitram78