VOGONS


First post, by perhenden

User metadata
Rank Member
Rank
Member

I've got a Asus ISA-486sv2 rev 3.1, with SiS 85C461 chipset, AMI bios 1993 and Intel/AMI MEGA-KB-H-WP keyboard controller.
It fails to boot. I've debugged it, but wasn't able to fix the issue, so I ask the Vogons 😀

I've tried reseating RAM and all chips, another CPU, other RAM, with and without a display adapter, without cache, and verified jumper settings.
There was a small battery leak, but I don't see any bad traces. The keyboard connector was damaged by the battery leak, I replaced it with an identical one. There is connectivity from all pins of the keyboard connector to the keyboard controller.
The last bios post codes are 12 and 13 in every case. When I remove the RAM, the speaker beeps, and different codes show.

My theory is that is does not reach step 14 "keyboard kontroller OK", because the keyboard controller is bad. Got any other ideas?
I can't find the datasheet for that keyboard controller. Do you know of any compatible controllers I can buy (for cheap)?

Motherboard specs:
http://www.win3x.org/uh19/motherboard/show/822

Reply 1 of 15, by zami555

User metadata
Rank Newbie
Rank
Newbie

Have you tried to boot up the board without that Keyboard Controller? Any noticable difference vs already found bios post codes 12 and 13?

Reply 2 of 15, by perhenden

User metadata
Rank Member
Rank
Member

Thanks, that's a good test. I tried it out and got the exact same results with the keyboard controller removed. What can this mean?

Reply 3 of 15, by mkarcher

User metadata
Rank l33t
Rank
l33t

To me, the symptom indicates that some traces that connect the chipset to the keyboard controller are broken, likely due to the battery leakage. A picture of the board, where the battery is immediately next to the KBC socket supports this theory. The keyboard controller has some "I'm ready" bits, and while sometimes the BIOS has timeouts on waiting for the status bits, that doesn't mean there aren't some loops where there is no timeout. So my theory is that one of the status bits ("I got data for the CPU" or "I am ready for the next byte from the CPU") is not properly getting from the keyboard controller through the chipset to the CPU, and makes the BIOS hang.

Usually, the keyboad controller is at least partially on the ISA bus. You should most likely have connectivity like this:

KBC RD (pin 8) -> ISA /IOR (pin B14)
KBC WE (pin 10) -> ISA /IOW (pin B13)
KBC A0 (pin 9) -> ISA A2(!) (pin A29)

Furthermore, KBC CS (pin 6) is likely connected to a pin on the chipset. If the 85c461 on your mainboard uses the same common optimization as the 85c460, KBC CS and BIOS ROM CS are unified, so KBC CS should be connected to pin 20 or 22 of the BIOS ROM chip.

The SiS 85c460 has a separate data bus for ISA slots and onboard components (called "system bus" and "x-bus"), so you can't trace the ISA data bits to the KBC, but the BIOS ROM should be connected to the X-Bus, too.

D0: KBC pin 12, ROM pin 11
D1: KBC pin 13, ROM pin 12
D2: KBC pin 14, ROM pin 13
D3: KBC pin 15, ROM pin 15 (ROM 14 is in the corner. It's GND)
D4: KBC pin 16, ROM pin 16
D5: KBC pin 16, ROM pin 17
D6: KBC pin 18, ROM pin 18
D7: KBC pin 19, ROM pin 19

As the barrel battery is immediately next to the Pin 1/Pin 40 end of the keyboard controller, also check that you get connectivity between +5V and Pin 40 of the keyboard controller.

Last edited by mkarcher on 2021-08-01, 14:37. Edited 1 time in total.

Reply 4 of 15, by perhenden

User metadata
Rank Member
Rank
Member

Nice! Thanks mkarcher! I'll check connectivity with a multimeter and report back in a few days 😀

Reply 5 of 15, by waterbeesje

User metadata
Rank Oldbie
Rank
Oldbie

I had this problem with the same board after a little battery damage: ram errors and keyboard error and sometimes no image at all.
I also did test all chips and it still wouldn't work.
In the end I reseated the keyboard chip 25 times in a row, cleaned with some contact spray and repeated the reseat a few times to be sure all corrosion is gone and never had this error again.

Stuck at 10MHz...

Reply 6 of 15, by mkarcher

User metadata
Rank l33t
Rank
l33t
waterbeesje wrote on 2021-08-01, 14:42:

I had this problem with the same board after a little battery damage: ram errors and keyboard error and sometimes no image at all.
I also did test all chips and it still wouldn't work.
In the end I reseated the keyboard chip 25 times in a row, cleaned with some contact spray and repeated the reseat a few times to be sure all corrosion is gone and never had this error again.

Indeed, the problem doesn't have to be broken traces, it could also be a corroded socket for the keyboard controller. If you feel you can manage it, swapping that 40-pin socket for the keyboard controller might be a good idea to save you a lot of trouble.

Reply 7 of 15, by perhenden

User metadata
Rank Member
Rank
Member
mkarcher wrote on 2021-08-01, 19:20:

Indeed, the problem doesn't have to be broken traces, it could also be a corroded socket for the keyboard controller. If you feel you can manage it, swapping that 40-pin socket for the keyboard controller might be a good idea to save you a lot of trouble.

Thanks, I tried cleaning the socket and doing numerous reseats of the keyboard chip now. That didn't make a difference in my case. I've nevertheless ordered a replacement socket from China. It will take some weeks to arrive. I can desolder the old one and insert a new one then.

I did notice that CLK ("Bus clock") and IRDY ("Device ready") does not light up on my postcode test card.

Connectivity test:
All the pins mentioned in the two lists + 5v power->pin 40 have connectivity as specified. I tested without the KBC+ROM chips in their sockets.

With the chip inserted in the socket, I have -much- higher connectivity, B13 connects to most pins on the KBC. Does that point towards the KBC being broken? Perhaps I have both a bad socket and a bad KBC.

EDIT: I had to redo the test because of a mistake. Now the test is complete.

Last edited by perhenden on 2021-08-04, 17:06. Edited 1 time in total.

Reply 8 of 15, by mkarcher

User metadata
Rank l33t
Rank
l33t
perhenden wrote on 2021-08-04, 16:26:
Thanks, I tried cleaning the socket and doing numerous reseats of the keyboard chip now. That didn't make a difference in my cas […]
Show full quote

Thanks, I tried cleaning the socket and doing numerous reseats of the keyboard chip now. That didn't make a difference in my case. I've nevertheless ordered a replacement socket from China. It will take some weeks to arrive. I can desolder the old one and insert a new one then.

I did notice that CLK ("Bus clock") and IRDY ("Device ready") does not light up on my postcode test card.

Connectivity test:
OK -- KBC RD (pin 😎 -> ISA /IOR (pin B14)
OK -- KBC WE (pin 10) -> ISA /IOW (pin B13)
OK -- KBC A0 (pin 9) -> ISA A2(!) (pin A29)

With the chip inserted, I have -much- higher connectivity, B13 connects to most pins on the KBC. Does that point towards the KBC being broken? Perhaps I have both a bad socket and a bad KBC.

IRDY and TRDY don't have to light up all the time. They indicate some kinds of ISA cycles happening, but I don't know which ones. The naming IRDY and TRDY only makes sense for the PCI bus, those LEDs have been repurposed for different bus signals in ISA mode. That's perfectly fine. As far as I know, CLK has to light up if the ISA Clock (or the 14.318 oscillator signal) is present on the bus. CLK not lighting might indicate a broken trace that brings the ISA clock (generated by the chipset) to the ISA bus. It's possible the ISA bus clock and the keyboard controller clock being the same, which brings me to the next idea:

If I understand you correctly, you say that with the the keyboard controller inserted, B13 (/IOW) is connected nearly everywhere on the KBC. That must not happen. Assuming your measurement is valid, it means half of the KBC signals are shorted out. If the pins are only connected with the keyboard controller inserted, but not with the keyboard controller removed, it appears that the keyboard controller had a major meltdown and shorts out most of its pins - which might take ISA CLK down as well. Can you reproduce connectivity between pin 10 and all the other KBC pins (less than 1 Ohm, or less than 10mV in diode test mode) on the keyboard controller when it is not inserted in the board? If yes, the controller is most likely beyond repair.

Reply 9 of 15, by perhenden

User metadata
Rank Member
Rank
Member

Yes, from KBC pin 10 I measure 0 ohm resistance to the others. From pin 1 to the others I measure non-zero resistance.
EDIT: I did more extensive measurements, see my next post.

Last edited by perhenden on 2021-08-04, 18:14. Edited 1 time in total.

Reply 10 of 15, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

How high above non-zero though? a few ohms on some pins and kilohms on others might be okay (Absent specific datasheet showing internal circuit diagram or testing data)

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 11 of 15, by perhenden

User metadata
Rank Member
Rank
Member

I redid the measurements, with the KBC chip removed from the board, using the connectivity test, diode mode and resistance measure modes of the multimeter.
From pin KBC/10 there is no connectivity to other pins.
From pin KBC/10 there is 9M-18M ohm resistance to other pins, except pins 2-9, 11-13, 14, 21, 36, which all measure zero ohm.
From pin KBC/10 there is 0.7v to pin 21 in diode test mode, and 0.5v to pin 20, otherwise zero values.

I verified the measurement method/equipment against a resistor, a diode and a connected path, to be sure I did them the right way.

I no longer get connectivity from B13 to "everything" when measuring. I don't understand why that changed, it did beep on most pins before, but not anymore. One thing I did do in between though, was to clean the ROM socket with contact cleaner.

The board came up with codes F7 13, and EC FF at one point. That's new. It returned to 12 13 at the next and all subsequent reboots, though.

Does this mean I should primarily look into the CLK problem? Or does the KBC chip still appear to be bad?

EDIT: clarified that KBC was removed from the board during measurements.

Last edited by perhenden on 2021-08-04, 18:48. Edited 2 times in total.

Reply 12 of 15, by mkarcher

User metadata
Rank l33t
Rank
l33t
perhenden wrote on 2021-08-04, 18:12:
I redid the measurements, using the connectivity test, diode mode and resistance measure modes of the multimeter. From pin KBC/ […]
Show full quote

I redid the measurements, using the connectivity test, diode mode and resistance measure modes of the multimeter.
From pin KBC/10 there is no connectivity to other pins.
From pin KBC/10 there is 9M-18M ohm resistance to other pins, except pins 2-9, 11-13, 14, 21, 36, which all measure zero ohm.
From pin KBC/10 there is 0.7v to pin 21 in diode test mode, and 0.5v to pin 20, otherwise zero values.

I verified the measurement method/equipment against a resistor, a diode and a connected path, to be sure I did them the right way.

Does this mean I should primarily look into the CLK problem? Or does the KBC chip still appear to be bad?

I have no idea why the connectivity test said "no connectivity", but zero ohm in resistance mode or zero volts in diode test mode sounds bad: A short circuit so good that it should also trigger the connectivity test, too. Well, wait a second. In what resistance range did you measure zero ohm? That reading doesn't tell much if you still are in the 20M range. If your meter is auto-ranging, or you manually switched down to the 200 Ohms range, and still measure zero, it's a dead short.

0.5V to pin 20 is OK, especially if you had the positive (red) probe at pin 20 and the black (negative) probe at pin 10. But you should not measure anything below 0.5V between pin 10 and any other pin. If you measured the values you quoted with the controller removed from the board, the controller very likely is completely dead. If you measured the values while the controller was inserted to the board, the unexpected connections might be caused by other faulty components, too.

Reply 13 of 15, by perhenden

User metadata
Rank Member
Rank
Member
mkarcher wrote on 2021-08-04, 18:44:

In what resistance range did you measure zero ohm?

My multimeter only has auto range. I kept it a while at each of the "zero ohm" pins, and it stayed at 0 ohm. The black probe was at pin 10.
I tried a 22 ohm resistor to see if it changed out of mega/M range, and it did.

While socketed the resistances are in K ohm range, while de-socketed they are in M range. I tried two times to be sure.

Reply 14 of 15, by mkarcher

User metadata
Rank l33t
Rank
l33t
perhenden wrote on 2021-08-04, 19:08:

While socketed the resistances are in K ohm range, while de-socketed they are in M range. I tried two times to be sure.

This sounds fine. But nearly all pins should behave that way, especially there shouldn't be any pins that have zero ohms towards pin 10. Time to get a keyboard controller from a similar board...