* TinkerDifferent *
Retro Computing Community
Home | Forums | What's New | Search | Settings
Flashing the Silicon Image Sil3112 to work in Macs (2025 Edition)

Forums > Vintage Apple > Macintosh > Beige PowerPC (Old World ROM) > PCI-based Power Macintosh

dosdude1
Tinkerer
--------
Joined: Jan 10, 2022
Posts: 18
Likes: 32
Feb 24, 2023 - #41
>> Borgmac said:
Hi, I have a card with Silicon Image SATALink Sil3112ACT144 bridge and an AM28F010 prom. I cannot flash it on my PowerMac G3. Card in recognize in OS 9 but I could not use the flashrom updater as the computer freezes when I click "Flash". I am under OS 9.2. Dosdude1, should I try with OS 9.1? I tried with voidlinux Flashrom. The card is listed with lspci (see attached picture), but flashrom gives error Error: No supported PCI device found. Main difference between AM29F010 and AM28F010 is that it does use a 12V for programming. Any idea? Click to expand...
Yeah, the AM28F010 is one of the EEPROMs that the OS 9 flashing utility doesn't like. You'll need to use Flashrom on a PC running under DOS or Linux to flash the card, or you can desolder the EEPROM and flash with a programmer.

Liked by AirplaneHome.com

Borgmac
Tinkerer
Richmond, KY
--------
Joined: Dec 21, 2021
Posts: 68
Likes: 82
Feb 24, 2023 - #42
>> dosdude1 said:
Yeah, the AM28F010 is one of the EEPROMs that the OS 9 flashing utility doesn't like. You'll need to use Flashrom on a PC running under DOS or Linux to flash the card, or you can desolder the EEPROM and flash with a programmer. Click to expand...
Unfortunately I do not have a PC.
Do you know why I cannot use flashrom from Linux either?

Liked by AirplaneHome.com

dosdude1
Tinkerer
--------
Joined: Jan 10, 2022
Posts: 18
Likes: 32
Feb 25, 2023 - #43
>> Borgmac said:
Unfortunately I do not have a PC. Do you know why I cannot use flashrom from Linux either? Click to expand...
The PowerPC version of Flashrom does not support satasil programmer mode.

Liked by AirplaneHome.com

speakers
Tinkerer
San Jose, CA
--------
Joined: Nov 5, 2021
Posts: 154
Likes: 99
Feb 25, 2023 - #44
>> dosdude1 said:
The PowerPC version of Flashrom does not support satasil programmer mode. Click to expand...
The open-source flashrom project (https://www.flashrom.org/Flashrom) does indeed support satasil. I've used it many times to read and write cards under Debian 8 on several PCI Macs.

In fact, I've used it to patch the SeriTek OSX driver to accept other eprom types. But I could never work out how to do the same for Classic Mac OSes .. so I salute your accomplishment, dosdude1!

As to why Borgmac sees flashrom failing, I can't say. Perhaps other PCI cards are confusing it??

Liked by AirplaneHome.com

dosdude1
Tinkerer
--------
Joined: Jan 10, 2022
Posts: 18
Likes: 32
Feb 25, 2023 - #45
>> speakers said:
The open-source flashrom project ( https://www.flashrom.org/Flashrom ) does indeed support satasil. I've used it many times to read and write cards under Debian 8 on several PCI Macs. In fact, I've used it to patch the SeriTek OSX driver to accept other eprom types. But I could never work out how to do the same for Classic Mac OSes .. so I salute your accomplishment, dosdude1! As to why Borgmac sees flashrom failing, I can't say. Perhaps other PCI cards are confusing it?? Click to expand...
Interesting, someone mentioned PPC-compiled Flashrom didn't allow programming of these SATA cards. Must not have been accurate in that case.

Liked by AirplaneHome.com

Borgmac
Tinkerer
Richmond, KY
--------
Joined: Dec 21, 2021
Posts: 68
Likes: 82
Feb 25, 2023 - #46
>> speakers said:
The open-source flashrom project ( https://www.flashrom.org/Flashrom ) does indeed support satasil. I've used it many times to read and write cards under Debian 8 on several PCI Macs. Click to expand...
Strange thing is that the card is recognized on my B&W G3 and G5 computers but flashrom is giving following error message which is the same as when there is no SATA card in the computer.

>> speakers said:
As to why Borgmac sees flashrom failing, I can't say. Perhaps other PCI cards are confusing it?? Click to expand...
I just have the AGP video card and I have tried the SATA card in every slot, always same result
Attachments:
IMG_2165.jpeg [View]

Liked by AirplaneHome.com

Borgmac
Tinkerer
Richmond, KY
--------
Joined: Dec 21, 2021
Posts: 68
Likes: 82
Feb 25, 2023 - #47
>> dosdude1 said:
Interesting, someone mentioned PPC-compiled Flashrom didn't allow programming of these SATA cards. Must not have been accurate in that case. Click to expand...
Actually I had some Flashrom version were satasii was not existing, but most recent one have it

Liked by AirplaneHome.com

Borgmac
Tinkerer
Richmond, KY
--------
Joined: Dec 21, 2021
Posts: 68
Likes: 82
Feb 25, 2023 - #48
After digging a little bit more, I realized that OS9 was actually recognizing the card as a 6112 card

And that OpenFirmware also

I found that lspci was giving me more information and that 6112 is the raid controller. See attached file for better reading.

I remember and old video from dosdude1 , thanks again for all the job that you have been doing!!!) There was some issue with the card being RAID or IDE Mass Storage depending about the level of the pin 42 of the SIL3112.(around 10 min in the video)
I check that, unfortunately Pin 42 has 2.2 M Ohms to GND and 2.2 V while the computer is running.
Dosdude1, could the last picture with all the details means something to you? For me, I don not understand half of it but it could help us finding a reason why some cards cannot be flashed.
Attachments:
IMG_2167 (1).jpeg (257 KB)
IMG_2081.jpg [View]
IMG_2075.jpg [View]
IMG_2167.jpg [View]

Liked by AirplaneHome.com

dosdude1
Tinkerer
--------
Joined: Jan 10, 2022
Posts: 18
Likes: 32
Feb 26, 2023 - #49
>> Borgmac said:
After digging a little bit more, I realized that OS9 was actually recognizing the card as a 6112 card View attachment 11097 And that OpenFirmware also View attachment 11098 I found that lspci was giving me more information and that 6112 is the raid controller. See attached file for better reading. View attachment 11100 I remember and old video from dosdude1 , thanks again for all the job that you have been doing!!!) There was some issue with the card being RAID or IDE Mass Storage depending about the level of the pin 42 of the SIL3112.(around 10 min in the video) I check that, unfortunately Pin 42 has 2.2 M Ohms to GND and 2.2 V while the computer is running. Dosdude1, could the last picture with all the details means something to you? For me, I don not understand half of it but it could help us finding a reason why some cards cannot be flashed. Click to expand...
Hmm, that could be why. Something in the PC ROM causes the device ID to change to "6112" on a Mac for some reason. If you boot the machine into Open Firmware, and run the following commands, the device ID should then be the correct "3112", and hopefully get detected properly by Flashrom. (This assumes your Sil3112 card is in location "@4", as shown in your image. You can run "dev / ls" to see, just replace the "@4" in the below commands with the correct value. Also, "pci" may need to be replaced with "pci1" on some systems).

dev pci/@4
: open true ;
" pci/@4" select-dev
h# 3112 encode-int " device-id" property
h# 3112 encode-int " subsystem-id" property
" pci1095,3112" encode-string " name" property

Then continue booting by entering "mac-boot" or "multi-boot". Rebooting or powering off the machine will revert these changes, as they're only done for the current session.

Liked by AirplaneHome.com

Borgmac
Tinkerer
Richmond, KY
--------
Joined: Dec 21, 2021
Posts: 68
Likes: 82
Feb 26, 2023 - #50
>> dosdude1 said:
Hmm, that could be why. Something in the PC ROM causes the device ID to change to "6112" on a Mac for some reason. If you boot the machine into Open Firmware, and run the following commands, the device ID should then be the correct "3112", and hopefully get detected properly by Flashrom. (This assumes your Sil3112 card is in location "@4", as shown in your image. You can run "dev / ls" to see, just replace the "@4" in the below commands with the correct value. Also, "pci" may need to be replaced with "pci1" on some systems). Code: dev pci/@4 : open true ; " pci/@4" select-dev h# 3112 encode-int " device-id" property h# 3112 encode-int " subsystem-id" property " pci1095,3112" encode-string " name" property Then continue booting by entering "mac-boot" or "multi-boot". Rebooting or powering off the machine will revert these changes, as they're only done for the current session. Click to expand...
thanks a lot for all this information, from where do you know all this???
Do not have a lot of time this morning but I have tried this. Good and bad news.
good news is that 6112 has been replaced everywhere by 3112 in the listings.
bad news is that in voidlinux flashrom still does not recognize the card. I will try later OS9 and flash seritek.

Liked by AirplaneHome.com

Borgmac
Tinkerer
Richmond, KY
--------
Joined: Dec 21, 2021
Posts: 68
Likes: 82
Feb 26, 2023 - #51
>> dosdude1 said:
Hmm, that could be why. Something in the PC ROM causes the device ID to change to "6112" on a Mac for some reason. If you boot the machine into Open Firmware, and run the following commands, the device ID should then be the correct "3112", and hopefully get detected properly by Flashrom Click to expand...
Made some other tests, but result is the same.
Changes are done in the device properties, everything is at 3112 but flashrom still do not recognize the card.
Before changes

After changes


Made tests on B&W G3 with voidlinux, card in slots 2 and 4
Made tests on G5 with voidlinux, same.
Attached a picture showing more details from lspci data
Any other idea?
Attachments:
IMG_2175.jpeg (229.7 KB)
IMG_2184.jpeg [View]
IMG_2185 (3).jpeg [View]

Liked by AirplaneHome.com

dosdude1
Tinkerer
--------
Joined: Jan 10, 2022
Posts: 18
Likes: 32
Feb 27, 2023 - #52
>> Borgmac said:
Made some other tests, but result is the same. Changes are done in the device properties, everything is at 3112 but flashrom still do not recognize the card. Before changes View attachment 11121 After changes View attachment 11124 Made tests on B&W G3 with voidlinux, card in slots 2 and 4 Made tests on G5 with voidlinux, same. Attached a picture showing more details from lspci data Any other idea? Click to expand...
Maybe it's the class code? Try setting that, and maybe the compatible property for good measure. Add the following to the previous commands:

h# 18000 encode-int " class-code" property
" pci1095,3112"(00)pci1095,3112"(00)pciclass,018000" encode-string " compatible" property

Liked by AirplaneHome.com

speakers
Tinkerer
San Jose, CA
--------
Joined: Nov 5, 2021
Posts: 154
Likes: 99
Feb 27, 2023 - #53
For reference, here's what my B&W G3 reports for a flashrom-programmable PCI SATA card under Tiger:



And running Debian, I see:

root@blue:~# lspci 00:00.0 Host bridge: Motorola MPC106 [Grackle] (rev 40) 00:0d.0 PCI bridge: Digital Equipment Corporation DECchip 21154 (rev 02) 00:10.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Rage 128 GL PCI 01:00.0 FireWire (IEEE 1394): Texas Instruments PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (rev 02) 01:01.0 IDE interface: Silicon Image, Inc. PCI0646 (rev 05) 01:02.0 Mass storage controller: Silicon Image, Inc. SiI 3112 [SATALink/SATARaid] Serial ATA Controller (rev 01) 01:03.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8169 PCI Gigabit Ethernet Controller (rev 10) 01:05.0 Unassigned class [ff00]: Apple Inc. Paddington Mac I/O 01:06.0 USB controller: OPTi Inc. 82C861 (rev 10) root@blue:~# lspci -vv -s 01:01.0 01:01.0 IDE interface: Silicon Image, Inc. PCI0646 (rev 05) (prog-if 8f [Master SecP SecO PriP PriO]) Subsystem: Silicon Image, Inc. PCI0646 Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 64 (500ns min, 1000ns max) Interrupt: pin A routed to IRQ 26 Region 0: I/O ports at 1890 [size=8] Region 1: I/O ports at 1880 [size=4] Region 2: I/O ports at 1870 [size=8] Region 3: I/O ports at 1860 [size=4] Region 4: I/O ports at 1850 [size=16] Capabilities: [60] Power Management version 1 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=3 PME- Kernel driver in use: pata_cmd64x
Attachments:
1677458480017.png [View]

Liked by AirplaneHome.com

dosdude1
Tinkerer
--------
Joined: Jan 10, 2022
Posts: 18
Likes: 32
Feb 27, 2023 - #54
>> speakers said:
For reference, here's what my B&W G3 reports for a flashrom-programmable PCI SATA card under Tiger: View attachment 11125 And running Debian, I see: root@blue:~# lspci 00:00.0 Host bridge: Motorola MPC106 [Grackle] (rev 40) 00:0d.0 PCI bridge: Digital Equipment Corporation DECchip 21154 (rev 02) 00:10.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Rage 128 GL PCI 01:00.0 FireWire (IEEE 1394): Texas Instruments PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (rev 02) 01:01.0 IDE interface: Silicon Image, Inc. PCI0646 (rev 05) 01:02.0 Mass storage controller: Silicon Image, Inc. SiI 3112 [SATALink/SATARaid] Serial ATA Controller (rev 01) 01:03.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8169 PCI Gigabit Ethernet Controller (rev 10) 01:05.0 Unassigned class [ff00]: Apple Inc. Paddington Mac I/O 01:06.0 USB controller: OPTi Inc. 82C861 (rev 10) root@blue:~# lspci -vv -s 01:01.0 01:01.0 IDE interface: Silicon Image, Inc. PCI0646 (rev 05) (prog-if 8f [Master SecP SecO PriP PriO]) Subsystem: Silicon Image, Inc. PCI0646 Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 64 (500ns min, 1000ns max) Interrupt: pin A routed to IRQ 26 Region 0: I/O ports at 1890 [size=8] Region 1: I/O ports at 1880 [size=4] Region 2: I/O ports at 1870 [size=8] Region 3: I/O ports at 1860 [size=4] Region 4: I/O ports at 1850 [size=16] Capabilities: [60] Power Management version 1 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=3 PME- Kernel driver in use: pata_cmd64x Click to expand...
I would expect it to work properly there, as the card has already been flashed. This issue only arises when the card still has the PC BIOS ROM on it (at least, the issue of the incorrect device IDs and class code).

Liked by AirplaneHome.com

speakers
Tinkerer
San Jose, CA
--------
Joined: Nov 5, 2021
Posts: 154
Likes: 99
Feb 27, 2023 - #55
>> dosdude1 said:
I would expect it to work properly there, as the card has already been flashed. This issue only arises when the card still has the PC BIOS ROM on it (at least, the issue of the incorrect device IDs and class code). Click to expand...

indeed. Alas, I have no recollection of what device/class I saw when I originally flashed the card. It had BIOS firmware installed originally, but I guess it was advertising compatible IDs for flashrom to grok.

Liked by AirplaneHome.com

Borgmac
Tinkerer
Richmond, KY
--------
Joined: Dec 21, 2021
Posts: 68
Likes: 82
Feb 27, 2023 - #56
>> dosdude1 said:
Maybe it's the class code? Try setting that, and maybe the compatible property for good measure. Add the following to the previous commands: Code: h# 18000 encode-int " class-code" property " pci1095,3112"(00)pci1095,3112"(00)pciclass,018000" encode-string " compatible" property Click to expand...
Thanks again for your help, but I still have the same flashrom error with this setting
Attachments:
IMG_2191.jpeg [View]

Liked by AirplaneHome.com

dosdude1
Tinkerer
--------
Joined: Jan 10, 2022
Posts: 18
Likes: 32
Feb 27, 2023 - #57
>> Borgmac said:
Thanks again for your help, but I still have the same flashrom error with this setting View attachment 11129 Click to expand...
Well, that's a much as you can do from Open Firmware. That is exactly how it should be for an unflashed Sil3112. Maybe try using a different version of Linux, such as Debian? If that still doesn't work, then I think you're just going to have to use a PC to flash, or flash the EEPROM externally with a programmer.

Liked by AirplaneHome.com

Borgmac
Tinkerer
Richmond, KY
--------
Joined: Dec 21, 2021
Posts: 68
Likes: 82
Feb 27, 2023 - #58
>> speakers said:
And running Debian, I see: Click to expand...
Thanks a lot for this information.
Here are the differences:

Control: I/0+ Mem+, you have Men-
Status: Cap+ 66MHz+, you have 66MHz-
Latency: 16, Cache Line Size: 32 bytes, your's is different
Interrupt: pin A routed to IRQ 25, you have 26
Region A: I/0 ports at 1090 , you have 1890
Same for other regions, 10xx, you have 18xx
Capabilities: I601 Power Management version 2, you have version 1
Flags: PMECIk- DSI+, you have DSI-
Kernel driver in use: sata sil, you have pata_cmd64x

No idea what is important.
Several items are + while you have -

Does it make any sense for someone?

I might try to install Debian on my G5, which version do you have?

Liked by AirplaneHome.com

Borgmac
Tinkerer
Richmond, KY
--------
Joined: Dec 21, 2021
Posts: 68
Likes: 82
Feb 27, 2023 - #59
>> dosdude1 said:
Well, that's a much as you can do from Open Firmware. That is exactly how it should be for an unflashed Sil3112. Maybe try using a different version of Linux, such as Debian? If that still doesn't work, then I think you're just going to have to use a PC to flash, or flash the EEPROM externally with a programmer. Click to expand...
Again thanks a lot, I was thinking also to install Debian hoping it will make a difference

Liked by AirplaneHome.com

speakers
Tinkerer
San Jose, CA
--------
Joined: Nov 5, 2021
Posts: 154
Likes: 99
Feb 27, 2023 - #60
>> Borgmac said:
Thanks a lot for this information. Here are the differences: Control: I/0+ Mem+, you have Men- Status: Cap+ 66MHz+, you have 66MHz- Latency: 16, Cache Line Size: 32 bytes, your's is different Interrupt: pin A routed to IRQ 25, you have 26 Region A: I/0 ports at 1090 , you have 1890 Same for other regions, 10xx, you have 18xx Capabilities: I601 Power Management version 2, you have version 1 Flags: PMECIk- DSI+, you have DSI- Kernel driver in use: sata sil, you have pata_cmd64x No idea what is important. Several items are + while you have - Does it make any sense for someone? I might try to install Debian on my G5, which version do you have? Click to expand...

Oh .. my mistake .. I hit the wrong device. It should read:
01:02.0 Mass storage controller: Silicon Image, Inc. SiI 3112 [SATALink/SATARaid] Serial ATA Controller (rev 01) Subsystem: Silicon Image, Inc. SiI 3112 SATALink Controller Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 16, Cache Line Size: 4 bytes Interrupt: pin A routed to IRQ 23 Region 0: I/O ports at 1840 [size=8] Region 1: I/O ports at 1830 [size=4] Region 2: I/O ports at 1820 [size=8] Region 3: I/O ports at 1810 [size=4] Region 4: I/O ports at 1800 [size=16] Region 5: Memory at 80881000 (32-bit, non-prefetchable) [size=512] Expansion ROM at 80900000 [disabled] [size=512K] Capabilities: <access denied> Kernel driver in use: sata_sil

On my B&W G3 I'm running:
$ uname -v #1 Debian 3.16.56-1+deb8u1 (2018-05-08)

Liked by AirplaneHome.com

<< First | < Prev | Page 3 of 8 | Next > | Last >>

Home | Forums | What's New | Search | Bookmarks | RSS | Original | Settings
XenForo Retro Proxy by TinkerDifferent.com