0 users browsing Engineering. | 1 bot  
    Main » Engineering » The DS128(8)7(A), the RTC from Hell
    Pages: 1
    Posted on 19-10-01, 12:30 (revision 1)
    Dinosaur

    Post: #564 of 1282
    Since: 10-30-18

    Last post: 4 days
    Last view: 22 hours
    After the last blackout yesterday, I had to spend the next 3 hours on this:



    Yup, that's the very same reworked DS12887A from my 386SX box, that I had to pull and put in service on Saki, my routerbox. This time I actually bothered to solder a proper coin-cell battery holder! Not fun to solder things at 11 PM under low light, particularly when I had to redo my rework because the solder broke at one of the chip-side wires :/

    The story starts this way: I've already mentioned earlier in other threads that Saki was giving nothing but headaches in the last months, mostly product of the constant blackouts (yes, I have an UPS, no, it can't hold for more than 20 minutes, while the average blackout on this zone usually lasts ~2 hours at least). First there were the constant segfaults every now and then, sometimes several of them in a row in minutes (turns out that it was VRM-related: I ended getting rid of that by bumping Vcore to 2.9V - not the right voltage for a Pentium MMX as those are 2.8V parts, but they're happy with that nonetheless, and they don't even heat that much anyway - maybe some aging capacitor is not doing its job and the VRM actually experiences "brownouts"?).

    One of the HDDs recently died (fortunately it was a junk drive) due to a cute design fault (where the heads click but it's actually the MCU on the PCB that develops a curious malfunction - look for "WD Tornado head mimic fault", as it happens to a few select WD families, including early WD Czviar Blue drives). And then, the whole RTC problem. Battery started running low, so I had to reset the clock after every blackout, but in the last two incidents, I got the dreaded "CMOS battery fail - defaults loaded" error at POST. The first time it was enough to enter BIOS setup, fix settings, save, and machine booted OK. But this second time it wasn't doing the trick anymore: not only the error was coming even after soft reboots, the settings weren't sticking anymore! (except for the clock). Have fun trying to boot from a non-existing floppy drive, and with your RAM running slower than it should... The dead battery had to go, somehow.

    Reworking this brick o' doom at 10 PM wasn't feasible, so I had to swap ICs. Not fun neither comfortable by any stretch of the word. First, everything is tightly packed on those Baby AT motherboards: on my PCCHIPS M535/8 (never figured out which one I actually got - mine lacks the COAST slot, but has the integrated VRM which early versions lacked and instead provided a connector for). The RTC module (originally a Houston Tech/VIA brick, but an original Dallas IC will work fine despite that Maxim says otherwise, and that's what I've been using since 2007) sits surrounded by the AT power connectors, the DRAM slots and the parallel port ribbon connector. I don't have a chip extractor, and pulling the brick without breaking anything with only my fingers was... let's call it what it was: PAINFUL. The DIMM slots (which partially extend at the top of the RTC socket) make things quite difficult, and hurtful for your fingers. Surprisingly I was able to pull the module at first, with only two bent legs! (I must give credit whenever it's due to the Dallas Semiconductor motherfuckers: those pins can stand quite a lot of abuse, more than a EPROM/Flash IC - more bending than Bender Bending Rodriguez itself!).

    Plugged the reworked IC... and it rocked freely on the socket! Uh-oh. Even pushing it while powering ON failed to achieve POST. Something was... obstructing the IC? Tried putting the original (dead) brick back, and it actually fitted snuggly. WTF!? Long short story: had to carefully bend the pins, both on the socket (again, not fun inside of a very cramped space full of wires you don't want to remove), and the IC itself (it helps if you slightly bend the pins inwards a couple of degrees or so). After hurting my fingers a few times, I managed to securely seat the reworked brick, and lo and behold, we got liftoff!

    Reset everything, disable the FDC I'm not using anymore, set the proper DRAM speed, save, power off, turn on again, settings now stick! Saki is back to business... but not before one of the network cards started playing hooky (thankfully I only had to blow off some dust and reseat it on its PCI slot). She really really REALLY HATES whenever someone play with its innards (even replacing a HDD can imply trying to reseat everything for the next 3 hours until she boots again), and being shutdown by extended periods of time. Talking about a picky system, huh?

    But once everything is set, it's one of the most reliable boxes I've seen in my life, thus why I'm not swapping her by a RPi or your favorite ARM toy anytime soon :)

    And now, I have another DS12887A to rework. Of course, if you don't live at a communist hellhole, you have better solutions at your reach. But in my case, this will have to do...

    Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
    Posted on 19-10-01, 15:51
    Dinosaur

    Post: #565 of 1282
    Since: 10-30-18

    Last post: 4 days
    Last view: 22 hours
    Rework of the 2nd brick went successfully, aced it at the first try.

    The toughest parts are:
    1) clearing enough epoxy to expose the battery pins. Hope your knife/cutter is sharp enough!
    2) Severing the (-) pin close enough to the battery. On the first IC I reworked I nearly fucked it here (ended breaking the pin too close to the IC, making soldering of the battery wire needlessly difficult). On this one I managed to break it at the right spot, but once again, hope you're using a very sharp tool!

    Solder a CR2032 holder (others recommend using a CR1125 holder instead as it exactly matches the original battery footprint), leave enough wire so you can reroute the battery holder (in my Acer 386sx case, I ran into clearance issues with the bottom-most ISA slot, so I had to set the battery aside, and to prevent shorts, fix it in place with a couple pieces of styrofoam), and you're done. Worked just fine after reconfiguring the BIOS stuff (this Acer BIOS is as stubborn as the Award BIOS on Saki, or worse: a flat battery means you can't boot from the HDD!)

    I still am awaiting for a reasonable explanation of why those sealed RTC modules even exist. No, I don't want to hear the word "embedded". To the Dallas engineers that came up with this abomination (and those that dared cloning it): rot in hell, choke on a dick, step on a Lego, blah blah blah, you and me can't be friends, ever.

    At least you have options for the DS128(8)7 if you don't want to solder (unless if your OEM decided to save 3 cents on a DIP24 socket, like Acer did on the AcerMate 333s line; in that case you're in trouble if can't solder like a pro). Some systems used its close brother, the DS1387 (same IC, but with 4KB NVRAM instead of "just a few bytes") - all relevant parts are long EOL, and noone has designed yet a homebrew replacement, so it's reworking or bust :/

    Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
    Pages: 1
      Main » Engineering » The DS128(8)7(A), the RTC from Hell
      This does not actually go there and I regret nothing.