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

0 Members and 1 Guest are viewing this topic.

Offline feipoaTopic starter

  • Contributor
  • Posts: 48
  • Country: ca
I'm looking for two things:

1) Someone who has experience in troubleshooting dead 386/486/socket7 motherboards with an oscilloscope and is willing to share their knowledge. 

2) An all inclusive hand holding self-help guide to troubleshooting dead 386/486 motherboards with an oscilloscope. 

My situation is as follows:

I have four MSI MS-3131 motherboards.  They are 386 motherboards.  All four were originally dead - that is no signs of life, no display on the screen, no beep codes.  I was able to get two of the boards working.  One issue was that one of the leads on the 206 DMA memory controller had separated from the solder pad.  I resoldered it, and the board worked fine thereafter.  On the second board, I discovered that one of the cache size-set jumpers was overly loose.  Replacing the jumpers brought the board back to life.

On the remaining two boards, I have tried the following:  check for CLK2 signal at CPU and on ISA slot.  The signal appeared clean on the scope and at the expected frequency; confirmed all jumpers tight; confirm PSU working properly as it works with the other two boards; checked all SMD solder points for loose contacts; checked bottom of board for visible cold solder joints; ran the multi-meter across all resistors and caps checking for shorts (often tantalum caps of this age short out before exploding); ensured the BIOS is working by using a known working BIOS from one of the working boards; tried new CMOS battery; tested all SRAM in an SRAM tester; tested SRAM from a known working board; replaced the KBC chip from a know working board.

The board has no electrolytic caps, and no MOSFETS.  The board basically has a QFP 206 DMA controller, and what looks like a QFP north bridge (UMC 481), a QFP south bridge (UMC 482), and various other TTL 74F DIP and QFP ICs. 

Other than confirming that each chip is making contact with Vcc and GND, I do not know the start-up routine of these boards and do not know what to start probing with the scope.   These boards come with a QFP AMD 386DX-40 CPU soldered on, but also contain a PGA-132 socket.  I find it odd that the motherboard manufacturers didn't implement a float jumper for the 386DX-40.  The FLT# pin on the 386DX is connected to Vcc.  My next course of action is to cut the trace leading FLT# to Vcc and connect FLT# to GND to allow the 386DX to float its pins.  Once this is done, I can insert a CPU to the PGA-132 socket.  This will allow me to test a known working 386 CPU.  If that fails, I will remove the QFP AMD 386DX and, again, test a CPU in the PGA-132 socket. 

Once I have determined that the CPU is not the issue, I'm left at trying to figure out what is wrong with this motherboard.  Either some trace/via/solder point is not making contact, or one of the components are dead.  And I assume this is where the oscilloscope is needed to start tracking down the bad part; this is where I require assistance.

I have the datasheet and pinouts for the UMC 206, 481/482 chipsets but do not know what to look for in fault diagnosis. 

The nice aspect of these UCM 481/482 boards is that there is a MR BIOS-branded BIOS available for them, as opposed to the feature-limited AMI/MSI BIOS.  MR BIOS is like the Rolls-Royce of BIOSes for this era.  They are feature rich and somehow eliminate wait states when you use 60 ns DRAM as shown in benchmarks.  I've tried, both, the AMI/MSI BIOS and MR BIOS on the dead and working boards.

I'm attaching an image of the board.  I've done my best to provide as high resolution as possible while conforming to the 1 MB limit imposed by this forum.  For this reason, the image is split in two.
 

Online Alex Eisenhut

  • Super Contributor
  • ***
  • Posts: 3338
  • Country: ca
  • Place text here.
Hoarder of 8-bit Commodore relics and 1960s Tektronix 500-series stuff. Unconventional interior decorator.
 

Offline feipoaTopic starter

  • Contributor
  • Posts: 48
  • Country: ca
Thanks for the suggestion.  Yes.  I have one of those, but I don't find them all that helpful in general.  I'll have to pull it out again and note what code it hangs on for this particular case.   In the past, though, and on different motherboards, the POST code might hang on CPU initialisation, yet I know a working CPU is installed without any cold solder joints.

I'd really like to learn how to troubleshoot this with an oscilloscope.
 

Online Alex Eisenhut

  • Super Contributor
  • ***
  • Posts: 3338
  • Country: ca
  • Place text here.
OK, but why specifically an oscilloscope? As opposed to a logic analyzer, or just a DMM and frequency counter?
Hoarder of 8-bit Commodore relics and 1960s Tektronix 500-series stuff. Unconventional interior decorator.
 

Offline feipoaTopic starter

  • Contributor
  • Posts: 48
  • Country: ca
Well, I guess because I have a oscilloscope (2-channel, 100 MHz), do not have a logic analyser, and am not sure what else I can do with my DMM aside from what I've already done.  I am by no means an expert and am hoping to learn.

Attached is an image showing the result of the ISA PC Analyser board. It displays only a double dash -- and no error code
« Last Edit: November 14, 2017, 10:36:20 am by feipoa »
 

Offline feipoaTopic starter

  • Contributor
  • Posts: 48
  • Country: ca
Floating the onboard QFP AMD 386DX by connecting FLT# to GND and inserting an AMD 386DX or TI486DLC into the PGA-132 socket did not help.

Measuring resistance from Vcc to GND is in the k-ohm range on all four motherboards.
 

Offline Twoflower

  • Frequent Contributor
  • **
  • Posts: 737
  • Country: de
Attached is an image showing the result of the ISA PC Analyser board. It displays only a double dash -- and no error code
OK, that might be a mistake by me. But doesn't one of the unpopulated sockets say 80286? In that case any POST value would be a big surprise to me.

EDIT: Yes, it has a processor installed. I fell over the same point again in the past (many years ago). So please ignore my post. But out of interesting: What is the number in the open socked?
« Last Edit: November 14, 2017, 12:54:00 pm by Twoflower »
 

Offline cdev

  • Super Contributor
  • ***
  • !
  • Posts: 7350
  • Country: 00
You can find a 8 bit Sigrok compatible LA on ebay starting at around $6, a 16 bit one for less than $20 (even less if you simply use a $8 FX2 dev board with your own wires and cable) and a 400 MHz one for $99 so absolutely no reason not to have one.

Its probably super useful with signals within its data capture range. check sigrok.org and the 'opentechlab' youtube channel (the author of pulseview, the GUI program for sigrok LAs, is great for learning how to use pulseview and LA's generally)


Well, I guess because I have a oscilloscope (2-channel, 100 MHz), do not have a logic analyser, and am not sure what else I can do with my DMM aside from what I've already done.  I am by no means an expert and am hoping to learn.

Attached is an image showing the result of the ISA PC Analyser board. It displays only a double dash -- and no error code
"What the large print giveth, the small print taketh away."
 

Offline feipoaTopic starter

  • Contributor
  • Posts: 48
  • Country: ca
OK, that might be a mistake by me. But doesn't one of the unpopulated sockets say 80286? In that case any POST value would be a big surprise to me.
Yes, the unpopulated PGA-132 socket says 80286 and it is clearly a typo.  It should read 80386.

You can find a 8 bit Sigrok compatible LA on ebay starting at around $6, a 16 bit one for less than $20 (even less if you simply use a $8 FX2 dev board with your own wires and cable) and a 400 MHz one for $99 so absolutely no reason not to have one.

Its probably super useful with signals within its data capture range. check sigrok.org and the 'opentechlab' youtube channel (the author of pulseview, the GUI program for sigrok LAs, is great for learning how to use pulseview and LA's generally)
cdev, for someone who has not used a logic analyser before, perhaps you can explain the benefit of a logic analyser over that of an oscillscope, aside from the fact that the logic analyser can view significantly more channels simultaneously?  If the advantage is simply one of more simultaneous channels, then it seems this can be performed on a oscilloscope with more switching of the probe.  And don't I still need to know what to probe and what is the expected behaviour?  Some insight on this would be appreciated.
 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
cdev, for someone who has not used a logic analyser before, perhaps you can explain the benefit of a logic analyser over that of an oscillscope, aside from the fact that the logic analyser can view significantly more channels simultaneously?  If the advantage is simply one of more simultaneous channels, then it seems this can be performed on a oscilloscope with more switching of the probe.  And don't I still need to know what to probe and what is the expected behaviour?  Some insight on this would be appreciated.

you have 2 good boards + 2 bad ones, perfect situation for differential analysis
you could put logic probes on bios chip address pins, or ISA bus data lines and capture good board boot, then do the same with bad one (using same bios) and compare
this will give you an idea about
-is cpu starting
-how far does it execute before freezing
-where exactly does it stop, this one requires bios dump in idapro and smarts/dedication

$6 Cypress FX2 board can capture 16 bit at 10MHz

do faulty boards beep at all? keyboard leds flash once? have you checked that post card in the good board?


without logic analyzer you can power both good/bad boards side by side and use multimeter/scope to ~randomly probe and compare until you find something odd. Use scope to check supply on all the big chips. Powering them from lab supply and looking at the power draw is another good way, this is what I do first when troubleshooting dead laptops. If you dont have lab supply just splice your meter into supply line and measure the draw.
« Last Edit: November 14, 2017, 10:11:01 pm 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 #10 on: November 15, 2017, 09:07:16 am »
Thank you for your comments.  Could you provide a web address for the $6 logic analyser which you are recommending?  e.g. https://www.ebay.ca/itm/CY7C68013A-56-EZ-USB-FX2LP-USB2-0-Develope-Board-Logic-Analyzer-EEPROM-M36/351494353170

The BIOS has 16 address pins and 8 Data in/out pins.  Aren't these values going to change rapidly during the boot process on the working board?   If so, how would it be possible to pause the scope right at the moment where the output catches the very first event sequence and not the nth state during the boot process? 

Could you please explain by way of example how probing all the address pins on the BIOS will let me know if the CPU is starting and how far along it is in the boot process?  It seems to me if the dead boards have no codes from the PC analyser card that almost nothing is starting?  Wouldn't this provide some insight as to the high liklihood items for the failure?  Like which components must be broken or contain disconnect for this to happen?  For example, it doesn't seem like the 206 DMA controller chip needed to be connected for the motherboard to output a PC speaker beep sequence, and that is, in fact, how I troubleshooted one of the now working boards.

Let's say I am able to take a snapshot of the exact moment in the boot process in which the working board turns on, call it item sequence 1 in the boot process. Now if address A0, for example, on the working board has a pulse, and A0 on the dead board does not, how does this information assist in troubleshooting the faulty component?

Concerning probing the chipsets, how would I get the probes onto the pins?  In the absence of some sort of clip-on adapter for QFP chipsets, wouldn't I need to solder a wire to the tiny leads on the chipset?  And would the same ring true for probing the CPU and other soldered ICs?  If so, then wouldn't it be easier to replace the 206, 481, and 482 chips?  Is there not a more systematic and sequential approach to finding the fault? 

If I remove the QFP AMD CPU, then probing the PGA-132 socket would be fairly straight-forward and no soldering required.  But do you think probing the PGA-132 CPU socket in a power-on state without the CPU installed be of any value?  If so, where to start probing and what to look for? 

Alternately, as the system has a QFP AMD CPU installed and the board contains a PGA-132 CPU socket, perhaps this combination would be of value to have easy probing access to the CPU's pins.  If so, what to probe and what are the expected results at the 0th state in the boot process?   Unfortunately, when I went to check if CLK2 on QFP AMD CPU is connected to CLK2 on the PGA, they were not.  This is true for these boards.  So if CLK2 on PGA doesn't make a direct connection to CLK2 on QFP, then other pins may not be directly connected as well.

To directly answer your questions - the faulty boards do not beep at all; the keyboard LED does not flash; the POST card does run through the codes in sequence on the working boards.

Is there a systematic approach to probing rather than random probing of the boards?  I do not know what to look for, when it should occur, and on which pins.  Do you know?  It seems like we would want to know the very first course of action the motherboard takes upon power up, e.g. like initialise the keyboard controller, and if so, which pins should look like what on the scope?

In a power-off state, I have confirmed that Vcc and Vss are reaching the chipsets and the CPU.  What I found a little odd was that, according to the AMD datasheet, pin 34 = Vss and pin 35 = Vcc. For this set of pins only, the motherboard is wired such that pin 34 = Vcc and pin 35 = Vss.  I figure it might be a typo because the working boards are wired the same as the dead ones.

I suppose could measure the supply current.  What information will this provide for the troubleshooting process?  I figure the dead board will have a lower current draw than the working one.  The easiest for me would be to plug-in a kilo-watt meter, albiet with less significant digits then splicing in the DMM.  EDIT: working board runs with 0.43 A ac and dead board runs with 0.36 A ac, as measured with a Kill-A-Watt.
« Last Edit: November 15, 2017, 10:30:07 am by feipoa »
 

Offline CJay

  • Super Contributor
  • ***
  • Posts: 4136
  • Country: gb
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #11 on: November 15, 2017, 10:01:14 am »
Ahh, back in the day, happy memories...

I miss my Antron ICEs, if you're going to make a habit of repairing old 286, 386 etc. boards then it might be worth trying to track down an old CPU in circuit emulator, exceptionally handy for this sort of problem as you can delve in and initialise the chipset, test register read write, get instant status of CPU operation etc.

An EPROM emulator can be a useful diagnostic tool if you get the right one, we had a couple, one of which would allow you to alter the contents on the fly as well as allowing you to check the address bus so you could 'seed' the EPROM code with HLT instructions for a 'checkpoint' diagnostic.

There were other ISA POST cards that came with a set of EPROMs to replace the BIOS chips too, they were more useful as they could run diagnostics on the chipset as long as the board was out of reset, some of the later ones even had their own CPU!

(It dawns on me it may even be possible to plug in a CPU card from an industrial PC and run diagnostics on the host board that way but it's *very* involved)

Sadly those UMC boards were crap but...

You've answered most of the questions I was going to ask already, the POST cards work in good boards so we can make the assumption the bad boards aren't getting out of the first few bytes if they are even beginning to run BIOS code (POST codes are generated a way into the BIOS code) so first step is to watch RESET on the '386, also take a look at OE on the EPROM and check for activity.

If they check out then work through the address and data lines on the EPROM, you're not looking specifically for content but levels, if any are stuck high or low, if any are 'odd', not making full amplitude then you may have a problem there.

Same follows for RAM and cache, removing RAM and/or cache might give an insight too. 

I'm pretty sure the QFP '386 chip pins will be directly connected to the equivalent pin on the PGA socket so you can probe signals on that instead of worrying about how to make contact on the QFP chip, it would be useful to meter out the connections though, I spent an awful lot of time reworking QFP chips in that era, applying moderate pressure to the tops of chips and watching for changes to the control signals on EPROMs, RAM, Cache etc. can be a useful diagnostic.

Running a meter on continuity to ground and along those ISA sockets would be a worthwhile quick and dirty test too.

Some boards output POST codes on parallel ports if they have headers fitted, depends on BIOS version so I'd at least confirm the BIOS EPROM is the same on all boards (don't rely on labels), by swapping if necessary, and test again.

*edit* Found a very useful resource, others may know it but I reckon it's worth a mention, http://www.minuszerodegrees.net/manuals.htm

 
« Last Edit: November 15, 2017, 10:21:14 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 #12 on: November 15, 2017, 08:23:25 pm »
Thank you for your comments.  Could you provide a web address for the $6 logic analyser which you are recommending?  e.g. https://www.ebay.ca/itm/CY7C68013A-56-EZ-USB-FX2LP-USB2-0-Develope-Board-Logic-Analyzer-EEPROM-M36/351494353170

yep, some more details: http://forum.hobbycomponents.com/viewtopic.php?f=102&t=1891
Just keep in mind this wont be out of the box experience, you pay $6 + time to set everything up and learn somewhat primitive tool etc.

The BIOS has 16 address pins and 8 Data in/out pins.  Aren't these values going to change rapidly during the boot process on the working board?   If so, how would it be possible to pause the scope right at the moment where the output catches the very first event sequence and not the nth state during the boot process? 

Thats why I suggested going that route only with logic analyser. its perfectly capable of capturing all this traffic up to your computers memory capacity, ~ 50 seconds per GB. btw you dont have to capture both address and data lines, one or the other will be enough for comparison.

Could you please explain by way of example how probing all the address pins on the BIOS will let me know if the CPU is starting and how far along it is in the boot process?  It seems to me if the dead boards have no codes from the PC analyser card that almost nothing is starting?

ISA postcode boards work by mapping Port 80h. Bios writes codes like this:

Code: [Select]
mov   al, 0D5h ; some post code
out   80h, al     ; out it goes to the postcard

no post codes can mean not executing bios at all, but it can also mean executing bios and hanging before having opportunity to output first post code, or something wrong with ISA address decoders, or something between

Wouldn't this provide some insight as to the high liklihood items for the failure?  Like which components must be broken or contain disconnect for this to happen?  For example, it doesn't seem like the 206 DMA controller chip needed to be connected for the motherboard to output a PC speaker beep sequence, and that is, in fact, how I troubleshooted one of the now working boards.

Let's say I am able to take a snapshot of the exact moment in the boot process in which the working board turns on, call it item sequence 1 in the boot process. Now if address A0, for example, on the working board has a pulse, and A0 on the dead board does not, how does this information assist in troubleshooting the faulty component?

This means you know there is something bad between bios chip and cpu(not necessarily the cpu itself). First thing 386 CPU does is fetch BIOS contents (mapped to 0xF0000 - 0xFFFFF) starting with 0xFFFF0 address (actually 0xFFFFFFF0, but thats beside the point).
Why didnt it try fetching bios? many possibilities:
-no clock
-bad cpu
-bad chipset (translates between cpu and peripherals like ISA slot/bios chip, decodes addresses)
-something blocking one of the data or address busses. Chipset <-> bios, chipset <-> cpu, for example stuck bit somewhere, broken connection etc.

Concerning probing the chipsets, how would I get the probes onto the pins?  In the absence of some sort of clip-on adapter for QFP chipsets, wouldn't I need to solder a wire to the tiny leads on the chipset?  And would the same ring true for probing the CPU and other soldered ICs?

needle and steady hand, good eyes or glasses.

If so, then wouldn't it be easier to replace the 206, 481, and 482 chips?  Is there not a more systematic and sequential approach to finding the fault? 

sure, its even easier to replace whole motherboard :)

If I remove the QFP AMD CPU, then probing the PGA-132 socket would be fairly straight-forward and no soldering required.  But do you think probing the PGA-132 CPU socket in a power-on state without the CPU installed be of any value?  If so, where to start probing and what to look for? 

why are you so hell bend on removing the cpu? first make sure its bad. Extra cpu socket is a great spot for scope probing, download 386 pinout
http://pdf.datasheetcatalog.com/datasheet/Intel/mXtuvqv.pdf
and scope  CLK2, RESET, A2-A31, D0-D31, VCC, compare with working board

Alternately, as the system has a QFP AMD CPU installed and the board contains a PGA-132 CPU socket, perhaps this combination would be of value to have easy probing access to the CPU's pins.  If so, what to probe and what are the expected results at the 0th state in the boot process?   Unfortunately, when I went to check if CLK2 on QFP AMD CPU is connected to CLK2 on the PGA, they were not.  This is true for these boards.  So if CLK2 on PGA doesn't make a direct connection to CLK2 on QFP, then other pins may not be directly connected as well.

clock is most likely connected thru separate TTL buffer gates, scope it


To directly answer your questions - the faulty boards do not beep at all; the keyboard LED does not flash; the POST card does run through the codes in sequence on the working boards.

Is there a systematic approach to probing rather than random probing of the boards?

start with critical stuff:
-clocks. CPU, but also RTC 32.768 kHz and ISA ~8MHz (B20 on the slot, https://en.wikipedia.org/wiki/Industry_Standard_Architecture )
-supply on individual chips, correct voltage and noise levels
-important signals like CPU reset, W/R, ADS etc


CJay made very good points, try pressing on chips with your finger(gently but firmly) and then boot while maintaining presure. He also mentioned removing non required chips - try booting naked board with no ram/cache/isa cards - this wont be a problem for early boot stages, enough to monitor biosA0/cpu A2 with scope.


I do not know what to look for, when it should occur, and on which pins.  Do you know?  It seems like we would want to know the very first course of action the motherboard takes upon power up, e.g. like initialise the keyboard controller, and if so, which pins should look like what on the scope?

Some of the info is in Intel docs, some in bios code, some you learn repairing computers. I cant really point you at one spot on the web with all of that knowledge :( Its all spread around
x86 bootup sequence is in intel pdfs, some here:
 https://0xax.gitbooks.io/linux-insides/content/Booting/linux-bootstrap-1.html
bios :
 https://github.com/pinczakko/BIOS-Disassembly-Ninjutsu-Uncovered
 https://sites.google.com/site/pinczakko/bios-articles
power sequence in modern computers:
 https://www.elvikom.pl/szkolenie-nr-1-podstawy-diagnostyki-plyt-glownych-laptopow-t986.html half translated, might be readable with google translate


It all starts with chipset resetting CPU, CPU fetches bios, CPU starts executing bios, first thing BIOS does is most likely memory controller initialization.
side note: more modern systems based on CPUs with L1/L2 cache do tricks to treat cpu cache as temporary ram in order to speed up initial bios load and execution.

In a power-off state, I have confirmed that Vcc and Vss are reaching the chipsets and the CPU.  What I found a little odd was that, according to the AMD datasheet, pin 34 = Vss and pin 35 = Vcc. For this set of pins only, the motherboard is wired such that pin 34 = Vcc and pin 35 = Vss.  I figure it might be a typo because the working boards are wired the same as the dead ones.

looks like typo, Intel has same pinout as your boards http://www.nj7p.org/Manuals/PDFs/Intel/241267-003.PDF

I suppose could measure the supply current.  What information will this provide for the troubleshooting process?  I figure the dead board will have a lower current draw than the working one.  The easiest for me would be to plug-in a kilo-watt meter, albiet with less significant digits then splicing in the DMM.  EDIT: working board runs with 0.43 A ac and dead board runs with 0.36 A ac, as measured with a Kill-A-Watt.

no :) , you need milliamp range, temporal readout is a bonus(https://www.eevblog.com/forum/beginners/how-to-measure-current-on-an-oscilloscope/). Using power draw for troubleshooting is an art, mastered by Chinese cellphone/laptop repair gurus. The trick is to map out power draw over time of a booting 100% working system and correlate that to sequence of initialization stages said booting system goes thru. Additionally you build a list of known faults with subsequent readings.
In your case it could be something like first milliseconds after power applied CPU should still be held under reset - low draw, then when it starts it goes up a little, then CPU puts out its first read command on the bus - draw changes, then chipset has to translate this command to 16bit isa bus and interrogate bios chip - again different draw, etc etc. You can graph such power sequence with power on Y axis and consecutive stages on X.

With such map in hand it takes mere second to diagnose broken unit, just plug lab supply and watch the sequence, you automatically know when it deviates from norm.

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

Offline CJay

  • Super Contributor
  • ***
  • Posts: 4136
  • Country: gb
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #13 on: November 15, 2017, 10:03:15 pm »
ISA postcode boards work by mapping Port 80h. Bios writes codes like this:

Code: [Select]
mov   al, 0D5h ; some post code
out   80h, al     ; out it goes to the postcard

no post codes can mean not executing bios at all, but it can also mean executing bios and hanging before having opportunity to output first post code, or something wrong with ISA address decoders, or something between

Absolutely, 80H is the most common and it is highly likely to be 80H on the OP's boards but it's not always there, even on contemporary ISA boards.

If you 'scope the parallel port data pins pre VGA init on an IBM PS/2 ISA machine you'll see some very interesting activity which can be decoded with a couple of HP hex LED displays
 

Offline rhb

  • Super Contributor
  • ***
  • Posts: 3483
  • Country: us
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #14 on: November 16, 2017, 12:46:39 am »
Make a free run harness.  This is a device that sits between the CPU and the MB.  It feeds a NOP to the CPU, forcing it to cycle through all the addresses no matter where it starts.  A scope probe on the address lines will tell you if you have an address line fault and a probe on the data lines will tell you if you have a data line fault.

I made one for a 6502 using a socket and a pull up resistor. Construction will be more complicated for your needs, but the idea is the same. 

There *should* be a way to single or slow step them, but the Intel manuals are not indexed, so I can't find out how easily.  I'll let you sort that out. There *is* a way.

Cycling through the addresses will give you a ROM dump which you can compare against the working boards.  But you'll need an LA which dumps to disk to do that.

The first thing to do would be to check the power rails at various locations with a suitable load resistor and look for bad capacitors.

There's a lot more to it, but you're trying to acquire a lost art.  When I did this, the 386 didn't even exist.
 

Offline feipoaTopic starter

  • Contributor
  • Posts: 48
  • Country: ca
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #15 on: November 16, 2017, 10:41:00 am »
Thanks to everyone for their time-involving responses.  Some further comments now...

CJay:

Do you have a link to provide for such a circuit emulator? 

I do not really intend to spend much money on this.  I know there was a logic analyser on eBay within the past few months which also contained the sandwich layer interposer boards for PGA-132 and PGA-168, but the cost was in the hundreds before shipping. 

ISA Post cards with various EPROM sets - could you provide a weblink?

Why do you say these UMC boards were crap?  These particular boards were made by MSI, which has a decent reputation and still exists today.  The UMC 480 chip set series was a bit slow with RAM throughput if you use the AMI BIOSes, but when using MR BIOS, the performance is similar to that of the SiS Rabbit (386) or VLSI 330 series chipsets.  I did run a simple benchmark analysis of about a half dozen 386 chipsets and these three came out on top.  The aspect I don't really like about the UMC 480 series is that it was also used in early 486 designs, which diminishes the novelty of running a pure 386 motherboard.

OK, so you are recommending that I probe RESET on the AMD386DX and probe OE on the BIOS socket? I can certainly do this.  Is it helpful to probe any of these without the CPU's presence?  I was thinking to remove the AMD 386DX on one of the dead boards, and keep one on another.

OK, on the EPROM, I will probe addresses A0-A15, Data I/O's Q0-Q7, and OE.  Let the power be on 20 seconds or so to view changes?  Or is a 5s timeframe good enough?  Also, is using the native MSI AMI BIOS preferred, or is MR BIOS OK? 

I also thought that the PGA and QFP 386 would be connected 1 to 1, but CLK2 is not.  Perhaps CLK2 goes to different output ports of a line driver chip?  I have another brand UMC 480 series board and CLK2 also is not directly connected on PGA and QFP.  I'll check a few of the other pins to ensure that CLK2 is the only abnormality.

When looking at the EPROM's address and data pins, should each of them at least have one incident of a low-to-high or high-to-low swing?  From your wording, it sounds each of them should have at least one transition.

OK, I will apply pressure to the 4 QFP chips when cycling the power.  Which pins in particular am I probing while doing this?  chip select, write enable, and output enable inputs?

For running the continuity meter from GND to X pins on the ISA slots, I assume with power off?

I did check all the BIOS chips in working boards, they all appear to be of the same revision.  But I generally use the MR BIOS for um480 series.  I've used it for years in another UMC 480 series board and it seems to work in this MSI um480 boards.  The board does not have a parallel port built onto the motherboard - it is on an ISA I/O card.  How can I read the post codes from the parallel port?

Thanks for the weblink.  It does contain a user manual for the UMC 481B / 482A chipset, although my board has the 481A revision marking.  Unfortunately, that manual makes no mention of the 386, only the 486.  Perhaps that is where the difference from B to A is.


Rasz & rhb:

I ran out of time to read your next posts in detail.  Its getting late and I'll have to pick this up again tomorrow.  I only have about 1 hour each night to play with this hobby. 

Quickly, though, I do have an extra PGA-132 which I could sandwich in there and solder a 30 AWG wire to.  The kynar jacket on the wire is pretty thin and a lot of wires will be bundled up, so not sure if there will be a capacitative coupling issue between adjacent wires.

For $6, I might just grab that LA board.  Actually, if there is a slightly better one (e.g. faster & more ports) for under $25, any recommendations?

why hell bent on removing the QFP AMD - you are observant!  And the reason is because, at the end of the day, I plan to remove it anyway, or at least float it, so that I can use the PGA-132 with different CPUs, e.g. TI 486SXL, DRx2, IBM DLC3, etc.  If I don't want the CPU on there, and plan to remove it, doing it sooner would allow for a quick test if the CPU is bad.

I'll try to read the rest of the posts tomorrow.

Thanks again for all your comments.
« Last Edit: November 16, 2017, 10:49:20 am by feipoa »
 

Offline CJay

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

Do you have a link to provide for such a circuit emulator? 
There are plenty via Google but I get no hits at all for the Antron ones I used.

Intel, Agilent, Tektronix all produced them back in the day as did a few smaller companies.

I do not really intend to spend much money on this.
ICE pods were several thousand when current, the Intel ones were in the tens of thousands, they're a bargain at a couple of hundred if you can find one but I appreciate they will probably be more money than you want to spend, if you intend to repair a lot of boards they're an excellent investment.
ISA Post cards with various EPROM sets - could you provide a weblink?
Probably not, it's a *long* time ago, we're talking about the time when the boards you have were new on the market and the web probably wasn't even a twinkle in Tim Berners-Lee's eye.

Why do you say these UMC boards were crap?  These particular boards were made by MSI, which has a decent reputation and still exists today.
Thing is, MSI weren't always a quality brand and the UMC chipset wasn't great, there were much better boards out there and, undoubtedly, worse.

OK, so you are recommending that I probe RESET on the AMD386DX and probe OE on the BIOS socket? I can certainly do this.  Is it helpful to probe any of these without the CPU's presence?  I was thinking to remove the AMD 386DX on one of the dead boards, and keep one on another.
Yes, but you won't see any activity on the EPROM if there's no CPU.

OK, on the EPROM, I will probe addresses A0-A15, Data I/O's Q0-Q7, and OE.  Let the power be on 20 seconds or so to view changes?  Or is a 5s timeframe good enough?  Also, is using the native MSI AMI BIOS preferred, or is MR BIOS OK? 
If you're not seeing activity after a second of power on then it's either in RESET or dead.

Track down and try to follow POWERGOOD as well.

When looking at the EPROM's address and data pins, should each of them at least have one incident of a low-to-high or high-to-low swing?  From your wording, it sounds each of them should have at least one transition.
On power up and release from reset the CPU should start to fetch code from the EPROM almost immediately (after a few microseconds at most), it gets complicated on some boards because very early on they 'shadow' copy the EPROM into RAM and run from there but you should at least see the activity while that's happening and possibly beyond that.   

OK, I will apply pressure to the 4 QFP chips when cycling the power.  Which pins in particular am I probing while doing this?  chip select, write enable, and output enable inputs?
Not necessarily any pins, pressing down on the chips can temporarily bypass dry joints that may have developed, if you spot a change when you do it, reflow the chip.

For running the continuity meter from GND to X pins on the ISA slots, I assume with power off?

Yes, definitely, you're looking for shorts to ground or 5V where there shouldn't be any, comparing readings from a good board with a bad board can also be useful.

I did check all the BIOS chips in working boards, they all appear to be of the same revision.  But I generally use the MR BIOS for um480 series.  I've used it for years in another UMC 480 series board and it seems to work in this MSI um480 boards.  The board does not have a parallel port built onto the motherboard - it is on an ISA I/O card.  How can I read the post codes from the parallel port?
Plug in an ISA parallel port card :)

Your BIOS may not output codes to $378 though, it was just to point out for future reference that not all boards output POST codes to $80, indeed on some of the cards I used there were jumpers which allowed you to change the port they 'listened' on.

Thanks for the weblink.  It does contain a user manual for the UMC 481B / 482A chipset, although my board has the 481A revision marking.  Unfortunately, that manual makes no mention of the 386, only the 486.  Perhaps that is where the difference from B to A is.
It was a very confusing time, there were all sorts of oddities which would bite you if you weren't careful so I'm not at all surprised there are discrepancies and changes like that, it's a *lot* simpler to build machines these days.

why hell bent on removing the QFP AMD - you are observant!  And the reason is because, at the end of the day, I plan to remove it anyway, or at least float it, so that I can use the PGA-132 with different CPUs, e.g. TI 486SXL, DRx2, IBM DLC3, etc.  If I don't want the CPU on there, and plan to remove it, doing it sooner would allow for a quick test if the CPU is bad.
You probably don't need to remove that QFP chip to use the PGA socket, at least on the boards I remember the on-board CPU was disabled either by jumper or automatically.
 

Offline rhb

  • Super Contributor
  • ***
  • Posts: 3483
  • Country: us
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #17 on: November 16, 2017, 02:42:39 pm »
A bit more about the free run harness. 

The pins on the data line which are logic low can just be tied to any adjacent ground.  I don't know the op code for the 386 NOP, but the only other wires will be the ones that tie via  pullup resistors  to a nearby power pin.  SMD parts glued to the bottom of the socket might work.   Put some nail polish on to protect it after soldering the lines.  It might be a good idea to use clear nail polish as the glue to prevent shorts and then carefully scrape any excess off the pins.  Nail polish has pretty good dielectric properties at 386/486 clock speeds.

Use a scrap memory card to make a way to probe the address and data lines.

Another construction option might be to use a dead CPU for the pins after splitting the ceramic package.  But that involves a lot more work to wire up.  I'd suggest doing that only if the socket hack proves too difficult.

Just for fun I tried a search on ["free run harness" computer]  and got no hits other than a post of mine from 5 years ago.  I have a large library with quite a few books on computer hardware and troubleshooting.  I've only seen the concept mentioned one time.  I'd post the citation but it would probably take a few hours to locate.  I did *not* invent the idea.

Edit:

I neglected to mention that the data lines coming to the CPU must be floated.

The source of the free run harness idea:

"Troubleshooting On Microprocessor Based Systems"
G. B. Williams
Pergamon Press 1984
ISBN 0 08 029988 1

A couple of other good books on the topic:

Practical Electronics Troubleshooting
James Perozzo
Delmar Publishing 1985
ISBN 0 8273-2433-2

Microcomputer Troubleshooting
James Perozzo
Delmar Publishing 1986
ISBN 0 8273-2500-2

I seem to recall having another good book on the topic of component level microprocessor repair, but do not find it.  Not sure if it's MIA or a spurious memory.
« Last Edit: November 16, 2017, 03:29:00 pm by rhb »
 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #18 on: November 16, 2017, 03:51:54 pm »
If you 'scope the parallel port data pins pre VGA init on an IBM PS/2 ISA machine you'll see some very interesting activity which can be decoded with a couple of HP hex LED displays

same on Toshiba Laptops until they dropped LPT, Toshiba even used LPT dongle (every other pin connected) to reset bios password.


Quickly, though, I do have an extra PGA-132 which I could sandwich in there and solder a 30 AWG wire to.  The kynar jacket on the wire is pretty thin and a lot of wires will be bundled up, so not sure if there will be a capacitative coupling issue between adjacent wires.

why go to all that trouble when you can just shove scope probe into socket holes one by one? EDIT: ah, you are already planning on removing soldered on cpu :)

For $6, I might just grab that LA board.  Actually, if there is a slightly better one (e.g. faster & more ports) for under $25, any recommendations?

Im afraid no, and its NOT an LA, this is just a simple dev board that can be used as one, there is no threshold control, no clamping diodes, no resistors, this is very basic and crude tool. Its biggest strength is its simplicity - it doesnt trigger on anything, it just pumps raw logic level on its pins over USB to the computer at set frequency, up to 16 bit x 12MHz, or 8 x 24MHz. When using 'normal' LAs you need to know what to trigger on, and have limited memory buffer to work with (in old designs as ridiculous as 4Kbit).


why hell bent on removing the QFP AMD - you are observant!  And the reason is because, at the end of the day, I plan to remove it anyway, or at least float it, so that I can use the PGA-132 with different CPUs, e.g. TI 486SXL, DRx2, IBM DLC3, etc.  If I don't want the CPU on there, and plan to remove it, doing it sooner would allow for a quick test if the CPU is bad.

I suspected as much (Ultimate 386 Benchmark?). Me personally I would wait until Im sure its the CPUs fault (doesnt do anything after reset). Im guessing you already tested using socketed cpu on one of the working boards to confirm its fully operational on this board model, and experimented with 50MHz(or even 25MHz) clock gen chip?

You already know of http://datasheet.datasheetarchive.com/originals/scans/Scans-067/DSA2IH00218654.pdf UMC datasheet. It has a very nice reference design block diagram that will help you visualize whats connected to what, and all inter dependencies.
It shows that with board stripped out (no ram/cache/bios chip/KB controller chip) you need at minimum working:
-481(address bus)
-482(data bus)
-clock generator
-U23 74f244(http://www.ti.com/lit/ds/symlink/sn74f244.pdf) clock buffer <- this is why clock pins are not directly connected between socket and cpu.
-finally cpu

to see any activity on BIOS chip pins, you can probe bios address pins or/and pins 20/22 (chips select/output enable). If you see signals here it will mean at least that path works and we can move on with troubleshooting.


Track down and try to follow POWERGOOD as well.

good idea! didnt even think of that :/

On power up and release from reset the CPU should start to fetch code from the EPROM almost immediately (after a few microseconds at most), it gets complicated on some boards because very early on they 'shadow' copy the EPROM into RAM and run from there but you should at least see the activity while that's happening and possibly beyond that.

shadow copy is usually(always?) a bios function, requires already initialized ram controller with running refresh and the idea about amount of ram installed, chipset cant do it on its own


For running the continuity meter from GND to X pins on the ISA slots, I assume with power off?

Yes, definitely, you're looking for shorts to ground or 5V where there shouldn't be any, comparing readings from a good board with a bad board can also be useful.


wouldnt be stupid to do the same for the BIOS/keyboard controller sockets - they are on the other side of ISA slot TTL buffers (fried buffer might screw with data/address lines on one side)


A bit more about the free run harness.

I suspect its impractical for 32bit data bus cpu.
« Last Edit: November 16, 2017, 06:03:52 pm 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 #19 on: November 17, 2017, 11:46:09 am »
OK.  I still haven't finished reading all your comments and items to test yet, but what I have done is setup the test bed. I'll attach a photo.  On the right is the working board (CH1 on scope - yellow); on the left is the dead board (CH2 on scope - blue).  Each board has an identical ISA graphics card, 256 K of cache, 4 MB DRAM, and the MSI AMI BIOS.  I'm using the PGA-132 to probe the CPU's pins.  The dead board is using a native AT power supply, while the working board is using an ATX power supply with AT converter cables and latching switch.  Both are setup with a speaker and reset button.  Both are on a KVM.

I managed to source and download the datasheets for every IC on the motherboard, omitting the crystal oscillator, resistors, caps, diodes, inductors, etc.  This task consumed a lot of time.  In brief, I have the UMC 206/481/482 chipset (though I suspect the 206 datasheet I have might not be correct), EEPROM (using W27C512), AMD 386DX QFP-132, AMD 386DX PGA-132 (top and bottom views), ISA pinout, 30-pin SIMM pinout, SRAM (using W24257A), and keyboard controller (using Winbond W83C42, but also have the sheet for the AMI Megakey).  The 7400 series chips on the board include: 74FCT244 (Buffer/Line Driver - I'm pretty sure this is the chip which splits CLK2 to QFP and PGA CPUs), 74F244 (Octal buffer/driver), 74F245 (Octal bus tranceiver), 74F32 (Quad 2-input OR gate), 74F74 (D-type flip-flop), 74ALS245A (Octal bus tranceiver), 74F00 (Quad 2-input NAND gate), DM7407 (Hex buffer), DM74LS14 (Hex inverter w/schmitt trigger inputs), and CD4069UB (Hex inverter).

It is quite late now and I will have to stop for the evening, however, I did do a quick check of the ISA pins - no pin other than GND is shorted to GND.

I also 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.  What can we deduce from this information?

Here is the photo of the test bed.
 

Offline CJay

  • Super Contributor
  • ***
  • Posts: 4136
  • Country: gb
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #20 on: November 17, 2017, 02:17:22 pm »
The processor isn't being released from reset so *nothing* happens, there won't be activity on any EPROM pin, the ISA bus or anything.

Check the processor reset pin isn't shorted to 5V.

I don't know/remember the UMC chipset well enough but one of the chips will be handling clock generation and RESET, it should have an input from the power good circuitry so you can trace this back (If PG is not asserted the board shouldn't* come out of reset).


* Some boards completely ignored PG from the PSU and came up anyway, as I mentioned before, it was a weird time where there were all sorts of odd things out there
 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #21 on: November 18, 2017, 03:47:57 am »
I have done is setup the test bed. I'll attach a photo.

nice and tidy


I have the UMC 206/481/482 chipset (though I suspect the 206 datasheet I have might not be correct)

82C206 is a famous chip, born at Chips & Technologies as part of NEAT chipset https://en.wikipedia.org/wiki/NEAT_chipset
Everyone and their dog made clones, most 386, and lot of early (no integrated FDC/IDE) 486 boards(*) had one made by C&T, SiS, Opti, UMC, even Samsung.

umc: http://www.datasheet.hk/view_online.php?id=1293506&file=0098/um82c206_1018292.pdf
http://www.elenota.pl/datasheet-pdf/58717/UMC/UM82C206
C&T: http://www.elenota.pl/datasheet-pdf/60708/others/82C206
Cant find pinout for the 100 pin package :(

* even some shitty first generation Pentium reference designs still had 82c206 http://bitsavers.trailing-edge.com/pdf/opti/brochures/PTMAWB_Chipset_Brochure_1992.pdf


I also 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.  What can we deduce from this information?

The processor isn't being released from reset

Yep.

UM82C206 takes powergood, but only uses it to float itself on the bus in case of bad logic level. Most likely 482 will be responsible for reset, its the one handling main clock.
 You will have to trace CPU reset pin back to the origin.


Edit: if you want to see what is needed for 386 cpu to run here are some good resources:
https://blog.lse.epita.fr//articles/77-lsepc-intro.html <- homemade 386SX dev board
http://www.s100computers.com/My%20System%20Pages/80386%20Board/80386%20CPU%20Board.htm <- homemade S100 386DX40 motherboard, included are examples of debugging with USB logic analyser dev board I mentioned earlier.
« Last Edit: November 18, 2017, 04:19:51 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 #22 on: November 18, 2017, 01:11:53 pm »
That looks to be the same datasheet for the UMC Um82C206 that I have. The pin count is wrong for what I have and I am measuring GND (Vss) pins for the 206 in completely different locations as specified on that datasheet.  I'm getting GND around pins 71, 55, and 14.  I also do not measure a Vcc anywhere on the 206, even on the working motherboard.  Does the Vcc from the PSU head to a resistor greater than 50 ohm, in series, before heading to the 206?   Or does Vcc from PSU head to one of these IC's, perhaps to change the output impedance?

From what I can  tell by DMM probing, the power good (PG) pin from the power supply heads only to GD4069UB (HEX Inverter), the output of which heads to one of the pins on the UMC 206 (6th in from the top left), or around pin 69 on the wrong datasheet, which is HRQ, which is an output, which cannot be.  I'm assuming the real pin name for where the output of GD4069UB goes to is PWRGD on 206.

Nice 386 resources; wish I had time to really get into them.  These days, I hardly have time to shop for groceries.

The RESET pin from the CPU goes to pin 5 (PESCPU) on the 482 chip. I couldn't find any description for what PESCPU stands for.  Under which conditions does the 482 change PESCPU's output from high to low?  Faulty 482, or could it be something else?  Should I cut the trace and force RESET to GND?

I checked to ensure that RESET is not shorted to Vcc.

One other item of note is that on this particular dead motherboard, I do get the three keyboard lights illuminating at power on.  They go on for less than a second, then all go out.  If connected to the KVM, they go on, out, on, then out again.

I tried exerting a good amount of thumb pressure on all the QFP chips, then hit reset while still holding pressure, however the board did not come to life.

I measured the clocks along 481, 482, ISA and KBC.  On 481, CLX2/CLK measures 80 MHz; TIMCLK measures 0.  On 482, ATCLK measures 6.67 MHz; KBCLK measures 7.17 MHz; TIMCLK measures 80 MHz; CLK2/CLK measures 80 MHz.  On the ISA slot, CLK measures 6.67 MHz; OSC measures 14.39 MHz.  On KBC, KCLK measuers 5V dc. On the working board, it measures 0 V dc.

I probed OE on the BIOS chip.  Working board has a square wave pulse at about 1 MHz, but the freq. bounces around during the boot process. Dead board has 5 V dc.

I probed A2 on CPU socket.  Working board pulse in KHz range. Dead board, 5 V dc.

Without CPU RESET pin going low, what is left to probe?  I assume I can disregard the previous probing recommendations at this point.  Is the evidence pointing towards the 482, or more likely some other component which feeds into the 482 is faulty, and is making the 482 not want to set RESET to low?

CJAY
Quote
You probably don't need to remove that QFP chip to use the PGA socket, at least on the boards I remember the on-board CPU was disabled either by jumper or automatically.

I thought the FLT# pin had to be connected to GND to float the CPU?  For whatever reason, on this board FLT# is connected to Vcc, even though I think it should have be left unconnected (there is an internal pull-up in the CPU to prevent this pin left floating).  Unfortunately, this motherboard does not have a jumper which connects FLT# to GND to flat the QFP AMD 386DX.  However, you are saying that I can leave the QFP enabled and insert a PGA CPU?  From what I understand, I must connect FLT# to GND to disable the QFP CPU.

Rasz
Quote
Im guessing you already tested using socketed cpu on one of the working boards to confirm its fully operational on this board model, and experimented with 50MHz(or even 25MHz) clock gen chip?
I did not test my PGA AMD 386DX CPU in one of the working boards because there is no float jumper for the soldered-on QFP AMD 386DX.  If inserting the PGA CPU shows a working motherboard, I would not know if it is the QFP or PGA CPU which is working. I know the PGA AMD 386DX works in other boards (not this MSI board). But this is a good point, perhaps I should try a really low OSC to see if that does anything.   OK, I removed the 80 MHz osc and tried a 20 MHz, still showing no signs of life.  The working boards works with the 20 MHz osc.

I have checked the ISA, KBC, and BIOS to ensure that no pins, other than those indicated on the datasheet, are connected to the corresponding Vcc or GND.

 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: How to troubleshoot your defective 386/486 motherboard with an oscilloscope
« Reply #23 on: November 18, 2017, 06:54:06 pm »
That looks to be the same datasheet for the UMC Um82C206 that I have. The pin count is wrong  for what I have

its for different package

for what I have and I am measuring GND (Vss) pins for the 206 in completely different locations as specified on that datasheet.

of course, you cant just expect different package to have same pinout.

I'm getting GND around pins 71, 55, and 14.  I also do not measure a Vcc anywhere on the 206, even on the working motherboard.  Does the Vcc from the PSU head to a resistor greater than 50 ohm, in series, before heading to the 206?   Or does Vcc from PSU head to one of these IC's, perhaps to change the output impedance?

1 sounds like you are measuring on powered off system, try powered on. homemade probe made out of a needle is perfect for this kind of thing, or high quality sharp meter probe.
2 later you used "6th in from the top left" phrase, which combined with inability to find VCC makes this whole thing highly suspect
http://www.lapis-semi.com/en/package/images/drawing/dr_l_qfp100-p-1420-0.65-bk.jpg
are you using correct pin numbers? qfp100 pin 1 is clearly marked on the silkscreen with a giant white triangle
3 UM82c206 Vcc is NOT directly connected to power supply (datasheed page 49/50), you cant use continuity/resistance to find it, 206 has integrates real time clock and needs power 24/7, thats what the battery is for ;) D1 Q1 D2 Q2 form two circuits switching power between Battery/external battery J1 connector(J1 is not a keyboard connector as claimed by motherboard pinout floating on the web) and AT supply.


Just looking at 206 PLCC84 pinout, 482 qfp160 pinout and picture of the board with 206 qfp100 I can guess how the pinout shifted.
pin 78 is Vcc, probably also 30
nonetheless UM82c206 is not our problem at this time, it has no mechanism to generate RESET or manage powergood (PG is only an input)

From what I can  tell by DMM probing, the power good (PG) pin from the power supply heads only to GD4069UB (HEX Inverter), the output of which heads to one of the pins on the UMC 206 (6th in from the top left), or around pin 69 on the wrong datasheet

what is 6th from the top? which top?
http://www.lapis-semi.com/en/package/images/drawing/dr_l_qfp100-p-1420-0.65-bk.jpg

and What is the logic level on that pin on good vs bad board when powered on?
also where are the rest of 4069 inputs connected, and where are the outputs going? most likely it splits powergood to at least one more chip, is it also feeding UM82C482?

Nice 386 resources; wish I had time to really get into them.  These days, I hardly have time to shop for groceries.
arent you retired? ;)

The RESET pin from the CPU goes to pin 5 (PESCPU) on the 482 chip. I couldn't find any description for what PESCPU stands for.  Under which conditions does the 482 change PESCPU's output from high to low?  Faulty 482, or could it be something else?  Should I cut the trace and force RESET to GND?

again with the cutting ..
PESCPU might be a typo for RESCPU, reset cpu
we dont know, but we will if we fix this board, charm of reverse engineering.

One other item of note is that on this particular dead motherboard, I do get the three keyboard lights illuminating at power on.  They go on for less than a second, then all go out.  If connected to the KVM, they go on, out, on, then out again.

of course they are, KVM has its own embedded keyboard controller and initializes connected keyboard. Its not possible to hot swap keyboards, they have to be emulated. PC keyboard is not a dummy array of switches, it has its own processor inside.
Irrelevant, I asked you about leds of keyboard plugged into the motherboard, not kvm :). I asked because its a cheap indicator of CPU executing bios without resorting to POST cards. One of the things BIOS does quite early on is initialize keyboard - this resets keyboard controller and makes the embedded chip inside keyboard flash all 3 leds once. its a small trick of the trade, useful when sitting in front of dead computer and trying to guess whats going on - keyboard blink but otherwise dead computer indicates at least CPU, CPU power circuit, and bios are fine, so most likely bad ram or graphic card.

Without CPU RESET pin going low, what is left to probe?  I assume I can disregard the previous probing recommendations at this point.  Is the evidence pointing towards the 482, or more likely some other component which feeds into the 482 is faulty, and is making the 482 not want to set RESET to low?

not disregard, leave for later once we get cpu going and board still doesnt work

UM82C482 pins 11 PDC and 12 PWR are interesting
Edit2: nope, those are Processor Data/Control, Processor Write/Read
Edit: also  13 PMIO  and 25 ATRDY
Edit2: nope, Processor Memory/IO, ATready is for ISA bus

146 RSTIN and 26 RESMCP
trace the RESET header (one for the case reset button) and check if its not stuck high, and where its going
Edit: so my guess is something external(4069 + capacitor?) generates reset and feeds 146 RSTIN


Rasz
Quote
Im guessing you already tested using socketed cpu on one of the working boards to confirm its fully operational on this board model, and experimented with 50MHz(or even 25MHz) clock gen chip?
I did not test my PGA AMD 386DX CPU in one of the working boards because there is no float jumper for the soldered-on QFP AMD 386DX.  If inserting the PGA CPU shows a working motherboard, I would not know if it is the QFP or PGA CPU which is working. I know the PGA AMD 386DX works in other boards (not this MSI board).

I assumed you did the FLT mod on working board already.

I have checked the ISA, KBC, and BIOS to ensure that no pins, other than those indicated on the datasheet, are connected to the corresponding Vcc or GND.

remove everything removable(except clock gen) from bad board, you dont need any removable chips to at least get a sign of life (cpu starting and trying to access bios), removing redundant chips helps with shrinking our troubleshooting surface
« Last Edit: November 19, 2017, 09:20:20 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 #24 on: November 19, 2017, 01:27:54 pm »
I do not expect different pin quantity packages to have the same pinout. In the beginning, I did not realise it was QFP-84 vs. QFP-100. I have only managed 4-hrs of sleep per night for the past week. It is catching up with me.  To clarify, I was trying to use the pin numbers on the QFP-84 to provide some idea as to where I'm measuring my current findings.  I was using the numbers closest to any edge as a reference platform.  Instead, I should have counted up the appropriate PGA-100 pin number designations, but was too tired to do so.  When I said a reference from the "top left", I was refering to the top left of the chip with the markings on the chip in the reading position to the viewer.  Again, I should note down the proper QFP-100 pin number.  I have now printed out a blank UM82C206 QFP-100 diagram so I can write on it.  Previously, all I had was the QFP-84 to write on.  GND goes to QFP-100 pins 3, 52, and 77.

Yes, I was measuring with the system powered off.

Interesting - I had forgotten about the switching circuit.  I recall now that I have run into this many years ago in dealing with my SiS Rabbit board. With Vcc high, Vcc connects to 206. With Vcc off, 206 connects to EXT BATT positive header via diode(s). 

Previously, I had removed the EXT BATT for probing, although you can still see it connected on the working board in one of my previous photos.

Yes, I realised early on that J1 is for the EXT BATT.  That 5-pin header near the keyboard DIN-5 is for a secondary keyboard connector, KB2.

Seems like I should be able to determine the Vcc pin on the 206 based on where the positive EXT BATT circuit goes. And it looks like BATT heads to two diodes in series and to a 33 ohm resistor before heading to the 206.  So Vcc is at pins 26 and 78.  Good guess.  I realise this is slightly off focus, so thanks for clearing that up.

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.

Pin 4 of CD4069UB also connects to a 1K resistor, which connects to capacitor C14 in series, which goes to GND.  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.

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.

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

Retired?  In a sense.  I have 3 kids between the ages of 0 and 5.  Kids are always sick or needy, can never seem to sleep on time, frequently wake up in the middle of the night screeming... needy wife, appointments all the time, always tired.  Playing with computers and electronics is my escape from my daily life, but to do so requires the sacrifice of sleep. Three kids is really the tipping point, for me anyway. By far more exhausting and less mentally rewarding than my previous occupation.

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.

UM482 pin 12 (PDC), 13 (PMIO), and 25 (ATRDY#) - go to their respective pins on UM481, that is, pins 147, 145, 134.  I cannot seem to determine where else they go.  I did not check all the resistor packs because I do not have easy top access for the sandwiched packs.  Do you want me to probe these 3 pins with the scope?  I was hoping they connected to a via for easy access.

No - I did the FLT mod on a dead board.  I desoldered one of the QFP leads, propped it up, then soldered a 30AWG wire to GND.

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?

EDIT: Also added CMOS battery switching circuit.  I didn't triple check this, so there may be errors.
« Last Edit: November 25, 2017, 02:16:51 pm by feipoa »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf