Author Topic: Help troubleshoot 286 motherboard  (Read 1680 times)

0 Members and 1 Guest are viewing this topic.

Offline quicknickTopic starter

  • Contributor
  • Posts: 12
  • Country: ro
Help troubleshoot 286 motherboard
« on: January 29, 2018, 11:52:23 am »

I'm looking for any advice that can help me bring back to life this oldie:
https://imgur.com/a/dQLXn
It's a DTK PTM-1030 motherboard based on the VLSI chipset:

- VL82C100 peripheral controller
- VL82C101 system controller
- VL82C102 memory controller
- VL82C103 address buffer
- VL82C104 data buffer

I think this was a fairly common chipset in the era, as i have three other working boards based on it. I have the datasheets of the chips, but without knowing what to look for, i'm afraid most of the test that i've done fall in the "random probing" category. The tools i have at my disposal are two meters, one of which can measure frequency/duty cycle, a POST diagnostic board and soldering iron. No scope unfortunately.

Ok, so back to the faulty board; this one had some corrosion from the battery. After thoroughly cleaning the corrosion i checked to see if any trace is broken (there was none), and applied some solder to the now bare copper traces in order to protect them.
The board seemed to boot normally, but wouldn't accept any input from the keyboard, except for the following:

- sometimes (but not on all attempts) it would recognize the Esc key being pressed and cancel the memory test accordingly;
- it always displays "Keyboard error" if i keep any key(s) pressed during POST.

After that it displays "CMOS system options not set / checksum failure / display type mismatch / press F1 to continue", but that's as far as it goes. It never reacts to F1, ctrl-alt-del or any other keys.

Feeling determined, i swapped the original AMI bios and keyboard controller with ones from a working board equipped with Phoenix ones. In this situation, all i can get are a series of beeps and the board hangs with a code 22 on the POST card (Test 8742 keyboard controller), no video output of any kind.

Next step, i swapped again the bios and KBC chips with Award ones, and these seem to offer a bit more details about the problem:
https://imgur.com/a/8VVGB
And that's about all, board hangs after these messages. Last POST display is 26 (Enable slots 6;Initialize slot 6.Test protected mode exceptions). What i've done so far in trying to solve this:

- double and triple-checked all the traces affected by corrosion, there are no interruptions or shorts;
- tried two keyboards and three different isa vga cards (Cirrus Logic, Ahead and WD). Might be important: one of the vga cards (the WD one) doesn't work - instead displays some garbled rectangular pattern and the monitor warns me of out of range V-frequency. With this vga card the last POST code displayed is 18 (Test 8259 interrupt functionality; Force an interrupt and verify the interrupt occurred. Test video memory). The same vga card works ok on other motherboards.
- traced all the connections to the pins of the keyboard controller, comparing them to the three working boards. This i think was largely irrelevant, as there are some differences between the boards despite having the same chipset, but at least i've established that every pin of the KBC connects to something on the board (except the NC ones of course). I've even removed the original socket of the KBC to check for corrosion or other problems underneath it, but everything was clean.
- unsoldered the original MC146818 RTC and soldered a socket, which allowed me to test the board with a known good RTC. This step was to ensure the problem doesn't stem from a faulty RTC chip, as the above error message sometimes says "OK" on the battery test, even if there is no battery connected (and most of the times it fails even if there is a battery), so there's a degree of randomness in that. Testing with other RTC chips didn't change anything.
- as the error messages seem to suggest there is a problem with the interrupt system, i measured some voltages and frequencies around the VL82C100 peripheral controller, again comparing with the working boards; the only notable difference is that on all three working boards, pin 46 (INTR - output line to the CPU) pulses at exactly 18.20Hz, whereas on the faulty one it always stays low. The pulses must be extremely brief because my meter reports 0.0% duty cycle. As i don't know how the interrupt system works, i cannot make anything from this info.

I'll stop here as this post is getting too long and somewhat messy (sorry for that, i think it's clear by now that i'm not an electronics expert :D ), i'll provide any test or measurement suggested. Thanks.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Help troubleshoot 286 motherboard
« Reply #1 on: January 29, 2018, 09:51:53 pm »
If you suspect the interrupts, you should be able to check the individual interrupt lines, I think all of them are accessible on the ISA bus. It's possible you have one interrupt shorted to another somewhere, or a bad pullup resistor or something. Where did the battery leak? Are you sure it didn't seep underneath something? Battery fluid does nasty things to PCBs, I've seen it short out underneath parts and rot out vias. Sometimes it will start eating a trace and flow underneath the solder mask.
 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: Help troubleshoot 286 motherboard
« Reply #2 on: January 29, 2018, 10:05:54 pm »
18.2 ticks/second is standard timer interrupt on PC
http://webpages.charter.net/danrollins/techhelp/0105.HTM

fixing this without scope or logic analyzer will be hard
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: quicknick

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Help troubleshoot 286 motherboard
« Reply #3 on: January 29, 2018, 11:42:46 pm »
My memory regarding PC architecture is a little fuzzy but there is a collection of interrupts, 16 as I recall on an AT although I think one of the lower ones is used as a cascade to read the upper 8 and some internal peripherals are hardwired to specific interrupts. As I recall, any device wishing to trigger an interrupt pulls its IRQ line low which will then result in a low on the IRQ out to the CPU. The CPU then queries the interrupt controller to find out precisely which IRQ line was triggered. I'm sure I'm missing a few details here but this should get you going.

I would suggest starting at the IRQ pins in the ISA bus and figure out where they go back to, there may be an IRQ controller in the chipset, I don't actually know. Anyway figure out if any of the IRQ lines are stuck low, if they all look good then look at what they connect to. If I had to make a guess, I'd say you likely have an IRQ line stuck low, either due to a malfunctioning part or a bad connection such as a rotted out via somewhere.

Oh and yes the IRQ pulses will be very short, you won't get much of any useful information from a multimeter, you'll need at minimum a logic probe.
 
The following users thanked this post: quicknick

Offline quicknickTopic starter

  • Contributor
  • Posts: 12
  • Country: ro
Re: Help troubleshoot 286 motherboard
« Reply #4 on: January 30, 2018, 01:14:30 am »
Thank you for your replies.
Regarding the damage from the battery, i've seen (and repaired) much worse than this board. Corrosion was confined to the upper layer, partly because the vias on this board have a particular construction (not as the usual hollow "tube" that most of the times conducts the electrolyte to the bottom layer, but instead filled all the way with solder). Indeed the liquid seeps under the solder mask, but i've removed the mask more than was necessary, just to be on the safe side. I also "doubled" all the affected vias with thin wire (terminals from a very small resistor actually), soldered on the bottom layer and bent 90 degrees and soldered to the corresponding trace on the upper layer.

Inspired by the link Rasz posted, i did a quick check on a working board and then on the malfunctioning one.
On the working one, i get pulses from KBC pin 35 (output buffer full interrupt, connected directly to pin 14 (IRQ1) of the VL82C100 peripheral controller) whenever i press a key. I also have pulses on RTC pin 19 (-IRQ), which goes through a 7404 inverter to pin 81 (IRQ8) of the peripheral controller. These pulses are not 1024 per second, but somewhat random, jumping from a few hundred Hz to a few KHz, but since that board has no problem in keeping the time i'll assume that my meter cannot cope with the signal.

On the bad board, no pulses whatsoever from the KBC or RTC. The chips' power supply and clocks are ok (8/10MHz for the KBC, 32.768KHz for the RTC), but they generate no IRQs. Maybe the whole IRQ system is dependent on the 1024Hz from the RTC, and since this is missing...

Not all IRQ lines are available at ISA slots, but all of them are available at the peripheral controllers' pins (well, all but IRQ2 which is used internally by the chip - i'm attaching a diagram below). None of the lines are shorted to GND, +5V or to each other and almost all are pulled up by 10Kohm resistors (except IRQ8 on the bad board, that has the pull-up resistor before the 7404 inverter and IRQ13 on the working board - 3.1Mohm resistence to ground).

« Last Edit: January 30, 2018, 01:16:44 am by quicknick »
 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: Help troubleshoot 286 motherboard
« Reply #5 on: January 30, 2018, 06:35:53 am »
it would help to know what 'initializing interrupt controller #1 Failed" means exactly, maybe by disassembling the bios
afaik RTC needs initialization before generating anything, same for keyboard, one of the address/control/data lines used to access them could be broken?
Who logs in to gdm? Not I, said the duck.
My fireplace is on fire, but in all the wrong places.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf