Author Topic: How to troubleshoot your defective 386/486 motherboard with an oscilloscope  (Read 21227 times)

0 Members and 1 Guest are viewing this topic.

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #25 on: November 19, 2017, 09:27:55 pm »
PG goes to pin 5 of CD4069UB, the output of pin 5 is pin 6. I misread the CD4069UB diagram last night and was looking at the functional diagram, whos input/outputs are in a different order than on the packaged view of the diagram.
  So, correction, pin 6, the output of the inverter, goes to pin 3, the input of another inverter (same package), the output of which (pin 4) goes to pin 13 of DM74LS14 (located under the KBC). DM74LS14 is listed as a Hex inverter with Schmitt trigger inputs. The other end of this inverter is pin 12, which goes to pin 9 of SN74F32 (2-input OR gate).  Pin 9 is one of the inputs to be OR'd. The output of this OR gate goes to pin 146 of UMC 482 chipset, which it labels as RSTIN.  The other input to the OR gate (SN74F32 pin 10) is the output from DM74LS14 (pin 6). The input to pin 6 is pin 5, which is connects to Vcc via a 10K resistor in parallel with a diode.  Looks messy in words.

great, you identified reset circuit.

Pin 4 of CD4069UB also connects to a 1K resistor, which connects to capacitor C14 in series, which goes to GND. 

you drew it wrong on diagram (cap to Vcc instead of Vss), I noticed when logic transitions didnt add up :-)

so here is what happens:

Code: [Select]
power on, PG starts low           -> 6 of 4069 High -> 4 of 4069 Low                                          -> 12 of 74LS14 High -> 8 of 74LS32 High -> RESET is active, system is stopped.
power stabilizes, PG goes High    -> 6 of 4069 Low  -> 4 of 4069 still pulled Low while capacitor is charging -> 12 of 74LS14 High -> 8 of 74LS32 High -> RESET is active, system is stopped.
PG High, nano/microseconds passed -> 6 of 4069 Low  -> 4 of 4069 cap finally charged, letting it go High      -> 12 of 74LS14 Low  -> 8 of 74LS32 Low  -> RESET is inactive, system starts.

The other end of that 1K resistor also goes to pin 6 on UMC 206.  Might be best if I draw all this out.  See attachment.  Do you still want me to draw the circuit diagram for the rest of the CD4069UB pins?  PG only goes to pin 5 of 4069.  Some of the other 4069 pins seem form the oscillator circuit with Y2, probably for the RTC.
 

https://en.wikipedia.org/wiki/Pierce_oscillator standard RTC oscillator on older boards.
Its enough info to check if this circuit works as advertised.

On the working board (and with the PSU powered on), if I hold down the reset button, the logic level of UM482 pin146 is 5 V.  Immediately when I release reset, logic level is 0 V and stays there.  The outcome is identical for that of the dead board.

=manual reset is working

On the working board, UM206 pin 6 is 5V always. On dead board, it is the same result.

just to clarify, we are talking nanosecond pulses here, are you eyeballing the scope, or did you actually set up trigger?
you need to setup scope to trigger on channel 1 high logic level, while the other probe is capturing our event. Then scroll thru the capture and find the reset pulse. Rest at the end of post.

Back on track.  UM482 pin 11 (PDC), starts out at 5 V when holding down RESET button, then bouces around a bit during power on, and ends up being an inconsistent series of pulses in the 8-22 KHz range.  On the dead board, pin 11 stays at 5 V.  However, if I hold the RESET button down for about 4 seconds, then release it, pin 11 shows a pulse train in the 500-800 KHz range.  It is not the same pulse train as on the working board.  Further goofing around with the reset button, and pin 11 can sometimes be made to stay at 0 V.  Not sure what any of this means.

PDC was a red herring, its a signal generated by CPU (DATA/CONTROL), nothing to do with powergood/reset. I mentioned it because it sounded good with that P in front, almost like Power_something :) . BUT! what you wrote here suggests CPU IS actually working. DATA/CONTROL signal is generated _only_ when CPU tries to execute something.

What it means is earlier " ran the two systems with the probe on the CPU's RESET pin.  On the working board, at hard reset, the RESET pin goes to Vcc, then remains at GND.  On the defective board, the RESET pin stays at Vcc" wasnt entirely accurate.
I suspect Im going too fast, throwing 10 things at once and expecting you to keep up, we need to slow down.

Its also OK to remove the KBC to get a sign of life?  If I remove the ISA card, what is the sign of life?   PC Beep perhaps?

YES. For the third time :) Lets start with BAD board stripped out, no ram, no cache, no bios, no KB controller, no ISA cards, no keyboard. Just motherboard with AT supply,20MHz clock gen, and RESET button wired up. This is your base line.
First step setup Oscilloscope, trigger on channel 1 rising edge >3V. 4 captures, Power cycle for capture:

probe1 on +5V, probe2 on PowerGood
probe1 on PowerGood, probe2 on Pin 6 of UM82C206
probe1 on PowerGood, probe2 on Pin 146 of UM82C482
probe1 on PowerGood, probe2 on Pin 5 of UM82C482

Trigger set to channel 1 falling edge <3V. 1 capture, press RESET to capture:
probe1 on Pin 146 of UM82C482, probe2 on CPU reset pin (or Pin 5 of UM82C482)

play with timebase so you get both events on the screen (if there are events on both channels), take screenshots.
Btw this is why I suggested that $6 dev board, its faster to setup and capture everything at the same time than constantly swapping scope probes around.

Who logs in to gdm? Not I, said the duck.
My fireplace is on fire, but in all the wrong places.
 

Offline feipoaTopic starter

  • Contributor
  • Posts: 48
  • Country: ca
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #26 on: November 20, 2017, 05:46:56 am »
Yes.  I am trying to accomplish more than I have time for, and trying to do it too quickly while tired.  This is evident from the dialogue -  as you pointed out, I worded the circuit diagram correctly, yet I drew the cap to Vcc incorrectly. Yet I wrote that paragraph before I drew the diagram.  I have since updated the diagram.

Nice write-up on the reset ckt.  Its been so long since I've thought about these circuits, I probably would have overlooked the RC time constant in charging that capacitor.

OK, so you think it is worthwhile to confirm the RTC osc ckt.  Will check.

When I said 5 V, I was, in fact, eyeballing the scope w/out trigger. From your previous responses, I was under the impression that we were looking for rough signals at this stage.  I did not zoom all the way in to look for ns pulses because they are usually, but not always, evident in the zoomed out view. So when I said 0V, I see what appears to be a 0V DC. When I said 5 V, I see what appears to be 5 V DC.  If I'm zoomed out too far, I might not notice pulses.  Should I check this again?  I thought to start we were just looking for obvious high-level differences between the working board and dead board.  Once a difference was detected, then we would view in greater detail with timing and triggering. Is this a flawed approach? 

Glad you're counting, because I lost count!

Moving forward, is this the correct order of operation, or is there something else in the middle text somewhere I also need to re-check?:

1) Confirm RTC OSC CKT

2)
Quote
no ram, no cache, no bios, no KB controller, no ISA cards, no keyboard. Just motherboard with AT supply,20MHz clock gen, and RESET button wired up. This is your base line.
First step setup Oscilloscope, trigger on channel 1 rising edge >3V. 4 captures, Power cycle for capture:

probe1 on +5V, probe2 on PowerGood
probe1 on PowerGood, probe2 on Pin 6 of UM82C206
probe1 on PowerGood, probe2 on Pin 146 of UM82C482
probe1 on PowerGood, probe2 on Pin 5 of UM82C482

Trigger set to channel 1 falling edge <3V. 1 capture, press RESET to capture:
probe1 on Pin 146 of UM82C482, probe2 on CPU reset pin (or Pin 5 of UM82C482)

play with timebase so you get both events on the screen (if there are events on both channels), take screenshots.

I appreciate all your help with this, but tonight, I need to catch up on some lost shut-eye.  I'll look into ordering that dev board; hoping to find the package with the female-to-clip jumpers.
 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #27 on: November 20, 2017, 11:07:46 am »
1) Confirm RTC OSC CKT

Im mostly sure 32KHz is fine, and even if it wasnt its not being fed to main chipset so doesnt matter at this time.
I meant checking part responsible for reset.


That happy coincidence of me telling you to measure wrong thing (PDC) and there actually being transitions on it (impossible with RESET stuck high, Intel "5.2.9.4 RESET (RESET)" 386 datasheet) after hard reset might mean power on reset doesnt work, but hard reset is fine. We will see after you measure everything again on stripped board.

You can throw in additional:
Trigger set to channel 1 falling edge <3V. 2 captures, powercycle and press RESET to capture:
probe1 on CPU reset pin (or Pin 5 of UM82C482), probe2 on A2 of CPU
just to be sure
Who logs in to gdm? Not I, said the duck.
My fireplace is on fire, but in all the wrong places.
 

Offline martinator

  • Contributor
  • Posts: 49
  • Country: gb
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #28 on: November 21, 2017, 07:49:25 am »
How have you been removing the chips from their sockets, with a screwdriver?

If so check under the chips and socket body for damaged traces. It's easy to fumble around and miss the actual chip and try to lever up the socket instead especially if someone tried this in the past (swapping parts) while the board was still inside a confined space like a case. Make sure all the data and address traces connect to the correct places.
 

Offline feipoaTopic starter

  • Contributor
  • Posts: 48
  • Country: ca
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #29 on: November 21, 2017, 12:51:01 pm »
I haven't yet had time to probe the board w/triggering, but I did check a few items this evening.

1) Drew the RTC OSC circuit diagram and measured the freq. on the two dead and one working board.  They all are 32.77 KHz and the clock goes to UM206 pin 75. 

2) While removing all the board's components, I ran a few tests.

a) On the dead board I've been working with thus far, when I remove the KBC, I do get beep codes and my ISA PC analyser card seems to respond.  It runs through all the codes that the working board does when the KBC is removed.  When I put the KBC back in (on the dead board), the ISA analyser card shows nothing and there are no beeps.  I tried swapping KBC's in the past, and the KBC itself is not the issue.  So perhaps some other component connected to the KBC is at fault.  Might this help narrow down the issue?

b) On dead board #2, removing the KBC does not yield any codes on the ISA PC analyser card - the analyser card still shows nothing, that is, --.  There are no beeps.  So there is a stronger likelihood that each board has a different affliction.

3) I have ordered the DEV board.  I do not know when it will arrive, so I'll continue with the scope this week.

martinator: Thanks for chiming in.  Fortunately, the sockets and board look fairly pristine with no evidence of rough housing to report.
 

Offline CJay

  • Super Contributor
  • ***
  • Posts: 4136
  • Country: gb
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #30 on: November 21, 2017, 01:23:56 pm »

a) On the dead board I've been working with thus far, when I remove the KBC, I do get beep codes and my ISA PC analyser card seems to respond.  It runs through all the codes that the working board does when the KBC is removed.  When I put the KBC back in (on the dead board), the ISA analyser card shows nothing and there are no beeps.  I tried swapping KBC's in the past, and the KBC itself is not the issue.  So perhaps some other component connected to the KBC is at fault.  Might this help narrow down the issue?

KBC can and will hold down the system if there's a problem, at this point it would be really useful for you to get hold of a copy of the IBM AT hardware reference manual, it should have schematics and a circuit description which will explain an awful lot about the KBC and how/why it can prevent a system starting.

 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #31 on: November 22, 2017, 12:32:03 am »
brilliant, lets focus on dead board #1 since it sounds closer to a fix.

1: mark dead board #1 somehow visibly, big sticker on the chipset for example, so we dont get them mixed during debugging :)
2: mark dead board #2 and put it away for now
3: put stickers on KBC chips so they wont get mixed, and rerun the test swapping KBCs around, just to be sure

similar vintage 486 board diagram, SiS85C460 :
http://www.textfiles.com/bitsavers/pdf/samsung/pc/98134-925-009_DeskMaster_486Q_SD925E_Service_Manual_1993.pdf  "SHEET NO. 9/17" has typical 8042 keyboard controller circuit
8042 compatible datasheets:
http://www.s100computers.com/My%20System%20Pages/MSDOS%20Board/HT6542B%20Keyboard%20Controller.pdf
http://www.diakom.ru/el/elfirms/datashts/Smsc/42w11.pdf

KBC pins that can screw with the boot are 2,3,4,8,10,12,13,14,15,16,17,18,19,40
This sounds mechanical, like putting KBC in the socket shorts one of the those pins.
I would measure resistance (powered off systems) to ground on all of them on empty good/bad board, and repeat good/bad board with same KBC chip in socket. Compare good/bad board readings. If that doesnt find a fault repeat with powered on system measuring voltage instead, again empty/full socket both good/bad boards.
I would lean towards on of KBC chips being bad tho, either pooling reset or clock hard to one of the rails.
Who logs in to gdm? Not I, said the duck.
My fireplace is on fire, but in all the wrong places.
 

Offline feipoaTopic starter

  • Contributor
  • Posts: 48
  • Country: ca
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #32 on: November 22, 2017, 04:24:11 am »
Actually, I already did put the KBC from the known working board into the dead board in question.  I did it last night as a recheck, and swapping KBC's did not help.

I'll probe these KBC pins after the wife and kids have retired for the evening.
 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #33 on: November 22, 2017, 06:24:35 am »
Now that I think about it, start by going over all KBC socket solder joints with soldering iron. Then check with multimeter if all the pins have good contact.
Maybe cracked joint makes one of the pins float and thats the problem. Would explain mechanical nature of the fault.
Who logs in to gdm? Not I, said the duck.
My fireplace is on fire, but in all the wrong places.
 

Offline feipoaTopic starter

  • Contributor
  • Posts: 48
  • Country: ca
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #34 on: November 22, 2017, 08:06:27 am »
That's not a bad idea and is certainly a simple test.  I'll reflow the KBC pins right now.

EDIT: reflowed with rosin core, Kester, SN60 PB40 - showed no improvement though
« Last Edit: November 22, 2017, 08:18:35 am by feipoa »
 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #35 on: November 22, 2017, 10:54:56 am »
then back to measuring
its also possible one of the ttls got weak with age, and addition of KBC loading its output blocks that signal, luckily you have good board to compare to.
Who logs in to gdm? Not I, said the duck.
My fireplace is on fire, but in all the wrong places.
 

Offline feipoaTopic starter

  • Contributor
  • Posts: 48
  • Country: ca
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #36 on: November 22, 2017, 11:07:44 am »
It was rather tedious, but I managed to finish probing the KBC with a digital multi-meter.  I am including the raw data, but a quick summary follows.

All pins showed similar characteristics, except for the following:

On the good board, pin 3 had a 15 M-ohm resistance to GND (PSU:off, w/out KBC), while the bad board was open circuit (drawn as infinite in the raw data).

On the good board, pin 9 had a 286 K-ohm resistance to GND (PSU:off, w/out KBC), while the bad board measured 1.76 M-ohm.

That was about it for resistance measurements.


On the good board, pin 2 measured 900 mV to GND (PSU:on, w/KBC), while the bad board measured 1.96 V.

On the good board, pin 11 measured 900 mV to GND (PSU:on w/KBC), while the bad board measured 4.08 V.

On the good board, pins 12 - 19 measured about 4.4 V (PSU:on w/KBC), while the bad board measured 5.1 V.  This is about the voltage drop of a standard forward biased diode.  Some component on the bad board is shorted out? Perhaps an IC's internal diode or transistor?  Or even an on board diode?

On the good board, pins 35 & 36 measured about 0 V (PSU:on w/KBC), while the bad board measured 5.1 V.

On the good board, pins 34, 32, 31, 30, 29, 28, 27, 23, 22, and 21 measured 5.1 V (PSU:on w/KBC), while the bad board measured 0 V.

On the good board, pin 24 measured 1.17 V (PSU:on, w/out KBC), while the bad board measured 1.77 V.  Again, this difference is about that of the drop across a pn junction diode.

Can any conclusions be drawn from this?  If not, should I pickup with the triggering and screen capture on the 482 and 206 as discussed previously?

There are two IC packages under the KBC: DM74LS14 and DM7407.  I ran a quick check to see if any of the outputs were shorted to inputs, but they were not.

The conditions of measurement were: no SRAM, no BIOS, no RAM.  Soldered on QFP AMD 386 yes, OSC yes, reset SW yes, speaker yes.  Used a digital multi-meter.
« Last Edit: November 22, 2017, 11:18:10 am by feipoa »
 

Offline CJay

  • Super Contributor
  • ***
  • Posts: 4136
  • Country: gb
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #37 on: November 22, 2017, 11:38:35 am »
Nope, buzz out those pins that show a difference on the good board (power off, KBC out) and track down what they connect to, if your meter continuity check is fast then it will take a minute or two as you can 'sweep' the moving probe across the other chips (I'd also have a look at the schematics and ref manuals)

Check again on the dead board and see if the connections are the same.

I'm also wondering if there's a battery on the board that might have leaked and corroded some tracks now?

No battery on the pics you posted.

I'm inclined to agree the KBC is good, it's a connection problem or a bad solder joint somewhere.

I don't think you're far from the problem now
« Last Edit: November 22, 2017, 11:41:35 am by CJay »
 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #38 on: November 22, 2017, 03:15:02 pm »
pin 3 looks promising, there should be a clock around 5-12MHz fed there, or directly connected crystal.
can you make a picture of the socket under KBC?

trace where pin 3 is going
Who logs in to gdm? Not I, said the duck.
My fireplace is on fire, but in all the wrong places.
 
The following users thanked this post: feipoa

Offline paulca

  • Super Contributor
  • ***
  • Posts: 4034
  • Country: gb
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #39 on: November 22, 2017, 03:22:46 pm »
You do know they don't need to boot to be used for their best purpose as a door stop?
"What could possibly go wrong?"
Current Open Projects:  STM32F411RE+ESP32+TFT for home IoT (NoT) projects.  Child's advent xmas countdown toy.  Digital audio routing board.
 

Offline feipoaTopic starter

  • Contributor
  • Posts: 48
  • Country: ca
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #40 on: November 23, 2017, 02:41:50 am »
I have attached a photo of the PCB under the KBC.

I may have found the disconnect.  Rasz was right on the money with pin 3 of the KBC.   Pin 3 goes to a via; from the VIA, the trace goes to C5.  Using the continuity feature of the DMM, I get a beep with Pin 3 to via.  I get a beep from via to C5.  The issue is that even the mildest pressure from the DMM's probe causes that VIA to make contact with the trace.

These boards did have some mild battery acid leak in the past, which I cleaned up with gentle scrapping, ISO, acetic acid, ISO, drying, etc.  It was the most mild case of acid leak I have come across, but I still treated the clean-up as if it was a major corrosive explosion.  I checked all the traces after cleanup.  The issue is that even the mildest pressure from the DMM allowed for contact between trace and VIA.  I'll correct this and report back this evening.

I also made a small correction to the PG circuit shown on page 1.  I missed a pull-up resistor, and cap to GND.
 

Offline feipoaTopic starter

  • Contributor
  • Posts: 48
  • Country: ca
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #41 on: November 23, 2017, 12:47:42 pm »
A great weight has been lifted.  The issue was that one via not making electrical contact.  In fact, the other dead board had the same issue with the same via!  One of the boards also had one SRAM module which was bad.  A bad SRAM module does not allow the system to even beep, nor does the PC analyser card show anything but --.  So happens the bad SRAM was the TAG.  I haven't extensively tested the result, but the system did boot into Windows 3.11.

I was mildly disappointed with the outcome.  I was hoping to learn new troubleshooting techniques and tricks of the trace with the scope and that DEV board I ordered.  I may get the chance yet.  I'll post it in another thread, but I have been working on a PGA-132 to PGA-168 adapter specifically for the TI 486SXL2-66 (same CPU, different package + lower voltage). I was wanting to prototype before designing a custom PCB.

One other comment about this MSI MS-3131 motherboard is that you cannot merely insert a CPU into the PGA-132 when the soldered-on QFP AMD 386DX is installed.  I tried to put in a TI486DLC, but the system did not show any signs of life.  The good news is that desoldering the FLT# pin, and connecting it to GND, allows for use of the PGA-132.  I'm not sure why MSI did not include a float jumper with this motherboard.

Special thanks to Rasz and CJay for their invaluable insight during the troubleshooting process!  Until next time...
« Last Edit: November 23, 2017, 12:57:04 pm by feipoa »
 

Offline CJay

  • Super Contributor
  • ***
  • Posts: 4136
  • Country: gb
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #42 on: November 23, 2017, 01:16:26 pm »
Congratulations, glad you got there :)

Thing is, the vast majority of the things we discussed *are* the fault finding techniques you need, a multimeter will do, a 'scope if you want to get fancy (flippant I know but often all you're looking for is an indication of a signal, not the content of), it's really that simple.

I'm not saying don't buy the test gear, just that the more complex stuff has limited utility because most faults just don't need that much effort to repair, you can plug in 50K of test gear to every board you get but if you don't understand how the board works in the first place then you stand no chance of interpreting the avalanche of information it will produce and it can actually make it way more complex to find the fault.

(I mentioned processor emulation pods because they can turn up occasionally and be *very* cheap, they're very complex but the ones I had were pre-loaded from factory with a bunch of simple to use test routines that would initialise most PC boards and/or test the various support/peripheral chips, RAM, Cache etc.)
 
The following users thanked this post: feipoa

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #43 on: November 24, 2017, 06:48:53 am »
A great weight has been lifted.  The issue was that one via not making electrical contact.

good job

  In fact, the other dead board had the same issue with the same via!

weird coincidence, or solder mask imperfection in source design in that one spot leaving bare copper exposed?

One of the boards also had one SRAM module which was bad.  A bad SRAM module does not allow the system to even beep, nor does the PC analyser card show anything but --.  So happens the bad SRAM was the TAG.

did you try that board without cache before the fix? What usually happens is you get chip in undetermined state hogging the bus, like KBC without clock signal has undefined behavior, can crap on the data bus, can randomly drive its output pins (in fact thats what your measurements shown)
Jumpers dont allow no cache option, but usually cache has to be explicitly enabled by the bios(needs to be pre filled etc), before that every access is treated as cache miss and goes straight to ram.


I was mildly disappointed with the outcome.  I was hoping to learn new troubleshooting techniques and tricks of the trace with the scope and that DEV board I ordered.

I do hope you learned something  :-[ at least how to approach the problem, and more or less what happens when system starts, order of things, whats required etc.

I may get the chance yet.  I'll post it in another thread, but I have been working on a PGA-132 to PGA-168 adapter specifically for the TI 486SXL2-66 (same CPU, different package + lower voltage). I was wanting to prototype before designing a custom PCB.

I follow your 486->386 adventures on vogons. Love this kind of stuff. Happy to help.
Edit: Btw it could be possible to clone GAL 16V8 chips from your 486HPi converter, depending on what they are doing.

One other comment about this MSI MS-3131 motherboard is that you cannot merely insert a CPU into the PGA-132 when the soldered-on QFP AMD 386DX is installed.  I tried to put in a TI486DLC, but the system did not show any signs of life.  The good news is that desoldering the FLT# pin, and connecting it to GND, allows for use of the PGA-132.  I'm not sure why MSI did not include a float jumper with this motherboard.

chabuduo
you want fun stories? listen to guy leading Wireless division under Jobs in the nineties (~1999 iMacs/iBooks, Apple was the first to come out with 802.11b, not many people know this)


« Last Edit: November 24, 2017, 06:55:11 am by Rasz »
Who logs in to gdm? Not I, said the duck.
My fireplace is on fire, but in all the wrong places.
 

Offline feipoaTopic starter

  • Contributor
  • Posts: 48
  • Country: ca
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #44 on: November 24, 2017, 07:51:42 am »
ouch, a 3-hour video.  I'll have to span that over a 3-week period to watch.  I'm going to spend this evening getting this guy's MS-3131 board ready with the hardware I agreed to trade him for two working boards, then ship him some hardware and [finally] a working board back to him.

Yes, I tried that board without cache before the fix.  It came with no cache!  It had the same via contact issue.  The via separation may have something to do with my cleaning of the via with various gauge of solid core wire to get any residual corrosion out, usually with 24-30 AWG.  It could also be the combination of mild corrosion plus my cleaning technique.  But I cleaned about 3 vias like this on each board.  Why just these two?  Perhaps they were the most corrosive.  I've had board a lot more corrosive than this in which the vias were fine with lots of cleaning of the vias.  Oh well, water under the bridge now.

What I would like to do is integrate the ultimate 386 benchmark comparison into a new 486 benchmark comparison.  Ideally, use every PGA-132 CPU available, including the Transcomputer module which lets you use an Am5x86 at 160 MHz on a 386 motherboard.  I don't know what motherboard I'll use for this - probably the fastest board which supports all the crazy upgrade modules for PGA-132.  Before I can begin such a task, I would like to get ahold of a TI 486SXL2-66.  They are rare and only one guy on Vogons seems to have one and he paid a ridiculous amount for it.  This is why I set to make my own.  I'm not sure if you've seen these two posts on the subject?

http://www.vcfed.org/forum/showthread.php?58780-How-to-troubleshoot-a-486SXL2-upgrade-CPU-with-an-oscilliscope
and
http://www.vogons.org/viewtopic.php?f=46&t=54953

Do you think its worth starting a thread on eevblog?  I wasn't able to find anyone who was knowledgeable enough to help in those forums, certainly not to your level anyway.  I ended up putting the project on hold.  I'm starting to think I might have an issue with capacitative coupling between the wires, as these 30 AWG wires use a pretty thin kynar cladding and are very tightly pressed against one another.  If you have time to read those posts, what do you think could be the issue?  I still plan to try the module using 8-12 MHz oscillators in hopes to get some signs of life.  What I did not mention in any of those posts, is that I finally got two motherboards to at least display the initial start screen, but the board won't continue into the boot routine.  I think I was using a 33.3 MHz crystal osc.  Aside from those two boards, the other boards act as if the system is dead.

When using a TI486SXL2-66 on a PGA-132, I should not need any GALs or PALs.  From viewing the SXL reference book, the PGA-168 QFP-144, and PGA-132 form factors for the 486SXL are nearly identical.

Are you a vogons of vcforum member?  I'm not sure that I recollect your user name.

Yes, definitely learned more about troubleshooting this time around, but could always learn more.  It would be nice to see more involved troubleshooting threads popup for 386/486 motherboards.  I'd like to come across one in which the chipset went bad.  The worst I've had to replace so far is the Super I/O on a 486 board. e.g. https://www.vogons.org/viewtopic.php?f=46&t=49337  I have sense bought thinner solder for this type of work. 
 

Offline Paul Moir

  • Frequent Contributor
  • **
  • Posts: 926
  • Country: ca
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #45 on: November 24, 2017, 06:09:24 pm »
The via separation may have something to do with my cleaning of the via with various gauge of solid core wire to get any residual corrosion out, usually with 24-30 AWG.
FWIW, I think it was the original corrosion that caused this.  I've seen open vias many times with boards subjected to corrosive chemicals.  I don't know exactly why they seem more susceptible to damage than traces.  When PCBs are manufactured the vias are plated after drilling the hole, so maybe the plating is much thinner than the traces.  Or the lack of soldermask means the damage happens there earliest.  Or perhaps the liquid likes to wick in there and only very slowly evaporate so they have more time to act.  Either way, a caveat when repairing anything with liquid damage.
 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #46 on: November 25, 2017, 03:15:16 am »
ouch, a 3-hour video.  I'll have to span that over a 3-week period to watch.

forum ate my timestamp, lets see
Code: [Select]
https://youtu.be/Tj5NNxVwNwQ?t=1h34mat 1h34m there is a 2 minute story about attitude of Chinese factory managers. Art was responsible for spinning up wireless card factory in Taiwan, and had a very hard time with chabuduo, culture of least effort good enough. PCChips fake cache is another result of that culture trait.

http://www.vcfed.org/forum/showthread.php?58780-How-to-troubleshoot-a-486SXL2-upgrade-CPU-with-an-oscilliscope
and
http://www.vogons.org/viewtopic.php?f=46&t=54953

yeah, dont know about that. 33MHz is the max for IDE cables, and those are multistranded and parallel, not to mention drive strength is huge compared to CPU.
 Original interposer is at least 4 layer for a reason.

...8-12 MHz oscillators...
good idea, this rats nest has a chance of working somewhat reliably around 5-8MHz.
You might also buy/build a cheap clock circuit/signal gen for this sort of thing instead of collecting/manually swapping fixed frequency can generators.
For example 0-160MHz:
$8 https://www.adafruit.com/product/2045
$7 https://www.adafruit.com/product/1500
https://ceworkbench.wordpress.com/2015/05/19/controlling-the-si5351-via-usb/

or borrow/buy real signal gen (>$200 decent used ones).

What I did not mention in any of those posts, is that I finally got two motherboards to at least display the initial start screen, but the board won't continue into the boot routine.  I think I was using a 33.3 MHz crystal osc.

That sounds like signal integrity problems, you can check that with scope capturing all the important lines and analyzing signal shape.

Do you think its worth starting a thread on eevblog?

We have few people into retro here posting in the "Microcontrollers & FPGAs" section, building 8bit computers from scratch etc.
As for other resources on the web for this kind of thing, there is John from S100computers with his great 386 and 486 S-100 compatible boards  http://www.s100computers.com/My%20System%20Pages/80486%20Board/80486%20CPU%20Board.htm
and recently Andrew trying to build 486 SBC at https://www.retrobrewcomputers.org/doku.php?id=dev:boards:linux-sbc:start


When using a TI486SXL2-66 on a PGA-132, I should not need any GALs or PALs.  From viewing the SXL reference book, the PGA-168 QFP-144, and PGA-132 form factors for the 486SXL are nearly identical.

I meant in case you were thinking of replicating HPI converter.

Are you a vogons of vcforum member?  I'm not sure that I recollect your user name.

Im just a passive member on both.

Yes, definitely learned more about troubleshooting this time around, but could always learn more.  It would be nice to see more involved troubleshooting threads popup for 386/486 motherboards.  I'd like to come across one in which the chipset went bad.  The worst I've had to replace so far is the Super I/O on a 486 board. e.g. https://www.vogons.org/viewtopic.php?f=46&t=49337  I have sense bought thinner solder for this type of work.

and again with cutting/replacing when it wasnt necessary :) especially when you have working unit for comparison. I would lean toward breaks in address/data bus traces.
At the end of that thread Synoptic describes similar defect, but his serial ports wander around, means most likely damaged config pin traces.
Who logs in to gdm? Not I, said the duck.
My fireplace is on fire, but in all the wrong places.
 

Offline feipoaTopic starter

  • Contributor
  • Posts: 48
  • Country: ca
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #47 on: November 25, 2017, 12:09:25 pm »
I am looking forward to watching that video.  missing caps and supreme commander!  I have noticed many motherboards, the MSI MS-3131 included, that there are missing capacitors.  There are solder pads and values silkscreened.  I assume this is a cost-saving measure, or sometimes when you want to exclude features on the board, e.g. no onboard audio.  Looking at the MSI board now, there are a few 0.1 uF caps missing.  Any value in soldering these in?

Wasn't multi-stranded cables mainly for flexibility?  And possibly to take advantage of the skin effect at higher frequencies?  I noticed that the MSI motherboard, usually the trace which contains a clock signal is quite a bit wider.  I think I used a larger wire for the CLK on that PGA168 to PGA132 interposer, 28 or 26 AWG.  Perhaps I should have used 26 AWG or 28 AWG for the whole routing of wires as the cladding is much thicker, then multiply that by 2.  I'll be looking for some troubleshooting steps to see exactly what is the issue, but will start another thread (not now). I'll look into posting a thread in the Microcontrollers and FPGA section later on.

I first need to ensure that the motherboard will work reliably with an 8 MHz oscillator using a packaged CPU.  With an 8 MHz osc, the CPU will be running at only 4 MHz.

I've always liked the convenience of Adafruit products.  I used to work more with the Arduino.   I do have a benchtop signal generator, but it only goes up to 2 MHz.  8K to 160M for $8 is a bargain.   

I probably wouldn't want to replicate the Transcomputer 486HPi upgrade module, for two reasons.  1) It does not work with the PGA-168 486SXL2-66, even when setup as a i486SX.  According to the TI reference manual, there are a few differences between the i486SX and 486SXL which would require some hacking of the module; 2) for my personal interests, using a 486SXL-2 in such an upgrade module which can take an Am5x86-160, feels like one hasn't fully upgraded the system; 3) In my opinion, the TI 486SXL-2 and IBM DLC3 are the last processors which could be argued as still "386-class".  I'd rather use a 486DX with a true 486 motherboard.  This is just my personal preference.

Well, we don't know 100% that the Super I/O on that MB-8433UUD board was still working.  There is the possibility that it did die.  There is also the possibility that it was fine.  I get your point though; I will try to restrain myself with the scalpul until absolutely certain it is needed.  With my knowledge at the time, it seemed like a logical conclusion. 

Back to the MSI MS-3131 motherboards now - I may have pulled the cork out of the champagne bottle a little prematurely.  After having time to text them in greater depth, it appears as if 1 board hasn't been fully rectified.  It is the board which had that bad SRAM module in the TAG position.  My SRAM tester confirmed that this module as bad.  I did replace the module and ran a quick test of the board and seem to recall it booting fine (though it was late in the evening and I was tired).  When I tested the board tonight, I cannot boot the system when the L2 cache is enabled.  I must go into the BIOS to disable the L2 cache, then it boots fine.  If I boot with the L2 enabled, I receive the PC analyser code and screen shoot as shown in the attachments below.

When using the MSI-native AMI BIOS, my PC analyser card spits out: EA E8.  I assume that E8 is the last successful test and EA is the failing one.  Unfortunately, the poorly translated booklet which came with the PC analyser card has a blank box for code EA and E8. 

When I use MR BIOS in the afflicted board, I get code 28 24.  Using the MR BIOS reference code list found online,
Code: [Select]
28: HOOK 6. OEM specific, typically enables shadow, cache, turbo. and 
Code: [Select]
24: Set typematic rate.  A photo of the pc analyser code and screenshot are attached below.  The MR BIOS screen at boot is usually blank at POST, though it sometimes spits out that garbled mess.

What do you recommend testing?  Similar to what we did with the KBC - pin to GND cache in/out, pin to Vcc cache in/out? 

Lastly, a photo of the AMD 386DX pin mod to get the onboard CPU to float.  Luckily, and adjacent pin is GND.

EDIT: I may have located the cause - some shrapnel on the chipset.  All the rubbing of the multi-meter probe across the pins creates metal dust particles.  I'll test it again later to confirm.  I'm also uploading the CMOS switching circuit to the post with the PG circuit.
« Last Edit: November 25, 2017, 02:11:22 pm by feipoa »
 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #48 on: November 26, 2017, 07:15:58 am »
I have noticed many motherboards, the MSI MS-3131 included, that there are missing capacitors.  There are solder pads and values silkscreened.  I assume this is a cost-saving measure, or sometimes when you want to exclude features on the board, e.g. no onboard audio.  Looking at the MSI board now, there are a few 0.1 uF caps missing.  Any value in soldering these in?

http://www.analog.com/en/analog-dialogue/raqs/raq-issue-116.html

I've always liked the convenience of Adafruit products.  I used to work more with the Arduino.   I do have a benchtop signal generator, but it only goes up to 2 MHz.  8K to 160M for $8 is a bargain.   

arduino code to control this clock chip https://vk3hn.wordpress.com/2017/02/02/arduino-and-si5351-dds-vfobfo/

EDIT: I may have located the cause - some shrapnel on the chipset.  All the rubbing of the multi-meter probe across the pins creates metal dust particles.  I'll test it again later to confirm.

this would be weird, more likely more cracked traces in the area, maybe under cache sockets
Who logs in to gdm? Not I, said the duck.
My fireplace is on fire, but in all the wrong places.
 

Offline feipoaTopic starter

  • Contributor
  • Posts: 48
  • Country: ca
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #49 on: November 26, 2017, 01:26:18 pm »
I have a few arduino products left over, in particular an EtherTen from Freetronics, https://www.freetronics.com.au/products/etherten#.Whq4xrhzORM
I should also have a spare LCD, RTC module, multiplexers, thermistors, numerous 7400 series DIPs, and add-on solder board (goes on top of the EtherTen).  Love these little side projects.  The last project I did many years back was to make an online BTU datalogger for someone off-grid who was using a gasification boiler and a cistern for heating.  When I continue work on the SXL interposer, I'll probably order this little freq. gadget.  What I lack, though, is the opportunity to sit down uninterrupted for more than 1 hr.  Its really difficult to get in the zone under these conditions.  One of the issues I had with the Arduino is that when upgrading IDE's, code written with older IDE's doesn't always work outright, that is without code tinkering.  I'm probably doing something wrong.

I've listened to about 1 hour of that wireless guy's life as an engineer.  Absolutely fascinating.  I started watching while lying down in bed thinking it would be good material to fall asleep with, but on the contrary, it kept me up.

Sounds like the missing components is a result of muntzing, which occurs for 2 main reasons as noted in that URL you shared: 1) cost reduction, and 2) excess components as causing more harm than good.

I mention the electrical wiskers theory because I did notice a small blob bridging two pins of the 482 chip. I removed it, along with double checking all other QFP leads.  Upon doing so, the board worked with L2 cache again.  I noticed in the past that when I've run the multi-meter probes across tightly spaced leads several dozen times that the metal gets smashed and eventually bridges.  This caused much headache for me in the past.  The particular case with these MSI boards may have been left-over residue of solder from when I crossed the leads on the AMD 386DX to float that chip, or it may have been due too much probing, but regardless, there was a small pin bridge on the 482.  I still need to do further testing on this board to convince myself of this.  If it acts up again, I'll have a look at the SRAM traces.

Finally, I have added a double-stacked CR2032 battery holder in place of the rechargeable battery.  It is soldered in the same place, however, I have cut the trace which leads to Vcc and wired it to the EXT BATT header (small wire near R1 and D1).  Refer to the EXT_BATT_CKT on page one of this thread. I also had to desolder the KB2 header.  I don't think I'll ever need that, and if I did, I suppose I could solder the header on the bottom with a 90 degree bend.

My main complaint about this motherboard is that it lacks and async oscillator for the FPU.  The use is limited though.  I suppose if you were running a TI 486SXL2-50 with a 25 MHz FSB, you might want to run your FPU [async] at 40 MHz.
« Last Edit: November 26, 2017, 03:52:34 pm by feipoa »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf