Mac OS 9 Lives

Classic Mac OS Hardware => Storage => Topic started by: (S)ATAman on January 05, 2020, 09:51:41 AM

Title: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: (S)ATAman on January 05, 2020, 09:51:41 AM
Straight from horse's mouth AKA Silicon Image (from an almost 16 year old e-mail):

"Our engineering and tech marketing group looked at the Apple system hang in more detail.  We determined that this issue was related to a power sequencing problem caused by the characteristics of the specific regulators used on the PCB board.

Our SiI3112A uses two voltages, 3.3V and 1.8V.  The 1.8V is used as the core voltage and powers the logic that controls the state of the PCI buffers.  The 3.3V powers the external I/O such as to the flash and the PCI buffers.

During power down and resume state, if the power sequencing is not maintained, then the PCI buffers may be in an unknown state when the Apple system goes to sleep and resumes.  In this unknown state, this could hang or conflict with the PCI bus.  This would mean that our 1.8V logic needs to be operational and stable before 3.3V power that is applied to the PCI buffer I/O. 

The hang occurs when the Apple system writes the PCI configuration register but SiI3112A never responds and timeouts. The system holds PCI_RESET more than 1 second after the power is stable.  SiI3112A does not response to the PCI interface but it passes OOB at SATA interface at that time.  If this hang condition occurs during power down, then the PCI configuration registers cannot be read by the Apple system.

Analyzing the power sequencing of the board, we found that the 5V to 3.3V regulator and 3.3V to 1.8V regulator does not gurantee that 1.8V is always available before 3.3V early enough to power the 1.8V core logic.  We have found that if 1.8V is applied by an external power supply and left on all the time, then there is no hang condition.

We have found that if 3.3V is applied before 1.8V, then there is a hang condition. 

As a recommendation and alternatives:

1.  A typical LDO will turn on at 1V.  The 5V to 3.3V Micrel regulator will turn on quicker than the LDO from AMC.  This allows the 1.8V control logic to be one before the 3.3 on the PCI bus.  Using the Micrel regulator could gurantee current power sequencing operation.

2.  Two 5V regulators can be used.  One that supplies 5V to 3.3V and another than supplies 5V to 1.8V.  The same type of regulator should be used to maintain the speed, but typically the 1.8V will be on before the 3.3V."

So there it is. Any 3112 and 3114 can be made compatible with Quicksilver and D/A G4.
Just some diligence and good hands for soldering...

The first batches of 3112 cards were re-soldered by hand!
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: mrhappy on January 05, 2020, 10:47:05 AM
Well that's interesting! ;D
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: (S)ATAman on January 05, 2020, 11:53:58 AM
Well that's interesting! ;D

The reference design board of SImage uses in position marked as "U2" Micrel 29150 3.3V
Exactly the same is used in position marked as "U4" on SeriTek/1SE2 (who would think?) 8)

The older SeriTek/1S2 internal card in the position "U4" uses AMC 1117

I don't have a Quicksilver - but I bet, my SeriTek/1S2 card won't allow it to wake up properly.

So in the theory anyone can buy a SImage 3114 or 3112 - based card from China.
If they intent to use it in Quicksilver or Digital Audio G4 they have to remove the 3.3V regulator (there is only one!) and replace it with MIC 29150.
Unfortunately the MIC 29150 is quite big, so a lot of work is needed and it won't look pretty.

But it will work.
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: vectrex on January 06, 2020, 06:34:32 PM
Thanks for your work with all of this (S)ATAman!

Very impressive stuff!
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: macStuff on January 10, 2020, 06:37:37 AM
i think i have a card that is a clone sil3112 card that works in a quicksilver..
with replaced re-soldered rom

ill have to double check
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: (S)ATAman on January 10, 2020, 09:14:45 PM
i think i have a card that is a clone sil3112 card that works in a quicksilver..
with replaced re-soldered rom

ill have to double check

It will work, except the sleep problem.
Wish I would have a QS, only two working MDD-s.
My own is what is under power. There is an other one on the floor, a recent purchase for our holiday home.
The landlord there always wonders, there are more Macs on his premises than people.


Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: SDG on January 16, 2020, 02:02:01 PM

So in the theory anyone can buy a SImage 3114 or 3112 - based card from China.
If they intent to use it in Quicksilver or Digital Audio G4 they have to remove the 3.3V regulator (there is only one!) and replace it with MIC 29150.
Unfortunately the MIC 29150 is quite big, so a lot of work is needed and it won't look pretty.

But it will work.

Looking at the datasheets, the pinout is different on the 29150 from the 1117 chips you tend to get with generic 3112 cards, like the one I have in front of me.

On the 29150 it goes  Input-Ground-Output, on the 1117-18 chip on my card, for example, it goes Ground-Output-Input. Soldering one of these is going to be very messy.
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: (S)ATAman on January 16, 2020, 09:45:24 PM

So in the theory anyone can buy a SImage 3114 or 3112 - based card from China.
If they intent to use it in Quicksilver or Digital Audio G4 they have to remove the 3.3V regulator (there is only one!) and replace it with MIC 29150.
Unfortunately the MIC 29150 is quite big, so a lot of work is needed and it won't look pretty.

But it will work.

Soldering one of these is going to be very messy.

It will look horrible, but it will work.
The first batch of 1SE2 cards was re-soldered by hand. You will get sick just looking at them - but they do work.
I do not know, why the Chinese manufacturers do not follow the reference design.

Saving very little, losing all the owners of G4 Digital Audio and G4 Quicksilver.
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: FdB on January 17, 2020, 01:01:45 AM
Would someone post close-up pictures of the 3114 / 3112 cards (before)
with the original regulators in place… and afterwards,
with the MIC 29150 regulator in place?
(Even as horrible as they may look?)
Thanks.
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: macStuff on January 17, 2020, 01:28:38 AM
or just get a purple sonnet tempo card because those ones work in the quicksilver
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: SDG on January 17, 2020, 01:33:18 AM
Well, I have a couple of 3112 boards to play with. Have the bios chips already and have ordered a couple of 29150 chips. Let's see if they make a difference with my QSes.

For anyone in the UK, RS seems to be the cheapest supplier for the parts if you don't want to wait an age for stuff to ship from China.

https://uk.rs-online.com/web/p/low-dropout-voltage-regulators/1770555/

https://uk.rs-online.com/web/p/flash-memory/9142796/



Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: SDG on January 17, 2020, 01:52:52 AM
Would someone post close-up pictures of the 3114 / 3112 cards (before)
with the original regulators in place… and afterwards,
with the MIC 29150 regulator in place?
(Even as horrible as they may look?)
Thanks.

To give you some idea, this is the 1117 chip ringed on a card I just received. For the 29150:

The left hand pin below the chip would have to stretch over the other two and be attached to the right hand contact on the PCB.
The middle pin needs to be attached to the left hand contact on the PCB.
The right hand pin on the chip goes to the middle contact on the PCB.

It should be possible, but the chip will probably sit somewhat proud of the board and I haven't worked out if I can get the grounding lug on the top of the chip to fit so that it can make contact with the ground contact above the chip space on the PCB. It is all a fair amount of strain on the chip pins so I hope none snaps off.

Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: FdB on January 17, 2020, 09:30:49 AM
Thanks for the picture.

It should be possible, but the chip will probably sit somewhat proud of the board and I haven't worked out if I can get the grounding lug on the top of the chip to fit so that it can make contact with the ground contact above the chip space on the PCB.

Like this?

(http://macos9lives.com/smforum/index.php?action=dlattach;topic=5279.0;attach=7082;image)

Shifting the 29150 to the left. Trim, snip, clip or cut enough (as necessary) off the top ground lug so that the new positioning won’t interfere with R1 or R2, by also raising everything up a bit from the PCB surface (by bending and clipping whatever is necessary to raise the 29150 up accordingly before soldering). Solder lugs 2 & 3 to the 1st & 2nd positions on PCB (from left) and cut & bend lug #1 up - and solder a small jumper wire to it and then to the 3rd position on the PCB.

“Sitting a bit proud” on the board might more effectively help to dissipate any possible heat generated. Have yet to snap off any lugs or pins from any similar chips here (unless intentional)?
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: SDG on January 17, 2020, 09:55:28 AM
Yup, that would probably be what I would need to do. I might see if there is enough malleability on the pins to avoid having to solder a wire but trimming the top ground lug looks like a good idea.

All being well, my 29150s should be with me tomorrow but I won't be in so hopefully all should be done by Sunday. Then I will need to drag out my QSes from storage and hope that they can be treated to SATA on the cheap. If it doesn't work for whatever reason, I do have a couple of Acard IDE adapters I managed to get cheaply.

Also wondering how long before we see "fully compatible SATA cards" on eBay being sold from HK.
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: FdB on January 17, 2020, 10:19:09 AM
Always "some fun" to be had.
Best of luck and success on Sunday!
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: ssp3 on January 17, 2020, 10:32:55 PM
Just rotate the 29150 180 degrees, trim the legs, bend them and solder to the pads. They are 2.54 mm apart, right?
There's no special need to solder the tab to GND. It is done originally for heat dissipation mostly. TO220 case will be fine as is. Also, it would be the good idea to somehow fix 29150 regulator to the board mechanically, so that it doesn't break loose by accident and don't pull pads and traces off of PCB. Maybe some thick solid core wire soldered from tab to GND pad?
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: SDG on January 20, 2020, 06:05:48 AM
I can report a SUCCESS  ;D

The 29150 chips came today and were a tad larger than I imagined. Unfortunately, they came with shorter pins than depicted on the website so that left me with fewer mounting options as you will see.

First photo shows the current 3.3v 1117 chip in situ (I had previously shown the position of the 1.8v chip in error), and the 29150 chip placed on its left. Given the proximity of the capacitor and the little wiggle room left by the 29150's stumpy legs, I decided to eschew elegance in favour of attaching leads to all the legs and finding somewhere on the PCB to attach the chip later.

The second pic shows the finished solderwork. No prizes for workmanship but I decided to do the least I could so I could reverse it if this left me with a non-functioning card.

The third pic shows the card that I placed in my DA, which previously would not even complete POST with any 3112 card in it, flashed or not. SysProf shows it as a SeriTek 1S2, if the image isn't clear. I also checked it in a Sawtooth under Tiger to confirm it wasn't a fluke. Looked good to me.

Sadly the second 3112 card I got is a dud. Won't complete POST in any PC or Mac I tried it in so I only have this attempt to show you. All in all, the MX29LV040 chip cost me about £1 each in batches of 5 and the MIC29150 £3 in batches of 2 delivered, so it isn't expensive even if it goes wrong.



Title: Root cause 3112 / 3114 hang
Post by: FdB on January 20, 2020, 07:38:28 AM
Congrats!

Unfortunate that the 29150 chip size/ config was different than depicted… yet “all’s well that ends well”.

Maybe the 29150 graphic representation config that I posted (from Mouser) might lend itself better to the application. But again, if it’s working… who cares? And you might have ended up with the very same chip config anyway - if ordered from Mouser.

GREAT to know that this can work! Thanks.
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: SDG on January 20, 2020, 07:55:18 AM
I have a feeling that all websites/datasheets use fairly generic pictures and the actual chips supplied depend on what the factory feels like churning out, so whether you order from Mouser or RS Online, as in my case, it will always be a bit of a gamble.

Fortunately, there is enough clear space on the left of the card to secure the chip to mitigate against any possible heat concentration too close to the caps.
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: macStuff on January 20, 2020, 08:23:17 AM
(http://macos9lives.com/smforum/index.php?action=dlattach;topic=5279.0;attach=7106;image)
embedding the "dlattach" and adding a width= property to the img tag will properly size the photos to be viewed properly
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: FdB on January 20, 2020, 08:37:08 AM
embedding the "dlattach" and adding a width= property to the img tag will properly size the photos to be viewed properly

Thanks macstuff. I forget those parameters myself, occasionally. ;)
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: (S)ATAman on January 20, 2020, 11:23:56 AM
Wow, it looks better than the first batch of the original cards!
Congratulations!
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: SDG on January 20, 2020, 03:09:15 PM
I am actually horrified that my bodge job looked better than the first revision of the retail cards.  ;D

Just to add that I have also tested it in a Quicksilver 2002 and it also played very nicely with it, something I thought I would never see. Thanks (S)ATAman for the necessary info.

I am going to have a go at recapping the dud card and see if that works. If it does then I will have a think about the aesthetics of attaching the 29150 but I cannot see a way past using short connecting leads on all the pins at the moment.
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: IIO on January 20, 2020, 09:33:21 PM
not even the sonnet tempo performs perfectly, it also tends to not wake the disks up again after sleep in some 10% of the cases.
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: SDG on April 26, 2020, 01:18:48 PM
Some bad news with the 3112 card in both my QS and DA. While both the cards I modded showed up and did operate with an existing drive in place, trying to install Leopard on a SATA drive attached to the cards led to kernel panics right after getting past the first couple of screens onto selecting a disk to install on.

Not sure how to capture a log when it doing an installation to a fresh drive so I have no idea what is causing the crash apart from trying to detect a drive. This happened with both cards in both machines and I swapped the SATA disk in case there was a hardware issue there too. I still got the black Restart Notice of Death every time.
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: (S)ATAman on April 29, 2020, 04:23:49 AM
Some bad news with the 3112 card in both my QS and DA. While both the cards I modded showed up and did operate with an existing drive in place, trying to install Leopard on a SATA drive attached to the cards led to kernel panics right after getting past the first couple of screens onto selecting a disk to install on.

Not sure how to capture a log when it doing an installation to a fresh drive so I have no idea what is causing the crash apart from trying to detect a drive. This happened with both cards in both machines and I swapped the SATA disk in case there was a hardware issue there too. I still got the black Restart Notice of Death every time.

Not sure, what driver you used. If it was my driver, it DOES have bugs.

I am working on an update, not merely to enable the "unsupported" ROM-s.
If all you did to "mod" the card was the Micrel regulator, you are fine, just please wait for the update.
The update will also enable the hot-swap on all cards, it was disabled by intent on the cards with internal connectors only.

An other update: the hot-swap dialog will be gone forever. The underlying API (KUNC, KernelUser Notification) was deprecated by Apple and even hooks within the OS removed.
They have it even now, but only for themselves.

That means, a driver code in order to be kept functional for a longer time can't have these calls.

Sorry for being late and lazy, it was quite a bad period of time behind us.
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: SDG on April 29, 2020, 09:19:19 AM
I was using the firmware distributed with the SeriTek cards, version 5.1.x as the later 5.3.x was said to be buggier. If you wrote both then no biggie. In any case, I've plenty to be getting on with at the moment so happy to wait for as long as it takes.
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: (S)ATAman on April 29, 2020, 05:34:24 PM
I was using the firmware distributed with the SeriTek cards, version 5.1.x as the later 5.3.x was said to be buggier. If you wrote both then no biggie. In any case, I've plenty to be getting on with at the moment so happy to wait for as long as it takes.

Yep, I am guilty for both. It was eons ago and at that time no proper debugging tools were available like machine-to-machine firewire debugging.
The base for the new version is going to be 9.0, 6, 7, 8 skipped for different reasons.
The base card is going to be 3114, others (3112 and 680 parallel) are to some degree siblings of 3114.

3114 is not very fast, can't make over 90 MB/Sec on reads and 62 MB/Sec on writes. This is with Samsung 840 EVO.

Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: redstudio on January 29, 2024, 02:41:02 AM
excellent study work for these 3112.. congratulations to everyone for the work done so far.
one question: would changing the 29150 regulator chip make these cheap 3112 cards work on all macs perfectly or just Quicksilver?
I read somewhere that replacing the chip with an FS8860 33C (which has the same shape as the 1117) would still work. has anyone tried?
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: V.Yakob on January 29, 2024, 09:40:03 AM
has anyone tried?

Yes, I have prepared many such boards, and they work great in QS. I wrote about it here (http://macos9lives.com/smforum/index.php/topic,306.msg50873.html#msg50873) and here (https://tinkerdifferent.com/threads/sata-in-an-old-world-pci-power-mac-impossibru-updated-11-22-23.1494/post-25355).
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: redstudio on January 30, 2024, 04:32:25 AM
yes, I was interested to know if once modified it works on all PCI Macs (MDD for example..
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: peeperpc on January 31, 2024, 03:58:15 AM
yes, I was interested to know if once modified it works on all PCI Macs (MDD for example..

MDD Macs don't need this modification. These cards just need the firmware flashing to work with MDDs.
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: redstudio on January 31, 2024, 02:09:32 PM
if I modify the card for Quicksilver I can use the same card ONLY on Quicksilver or then also on MDD or other Macs or then wouldn't it be fine? modified only works for Quicksilver? the same card I mean. or does it become compatible with all PCI macs? even those that don't need modification?
Title: Re: Root cause for 3112 and 3114 hanging on Quicksilver + Digital A/V G4 in "sleep"
Post by: V.Yakob on February 03, 2024, 12:47:30 AM
You probably haven't read the messages on the links I left.
The same card works fine on all PowerMacs.
I tested these cards on PM 9600, PG G3 Minitower, PM G3 B&W, PM G4 QS, PM G4 MDD -- work perfectly.
At one time, when I dealt with all this, I made myself 6 or 7 such boards, and I still have chips for 2x for future projects if they take place.

The last board I made for B&W is still not installed and is waiting for its time to replace another board. 8)
These red boards are ideal for B&W, DA, QS because of the body design.