Embedded PC Troubleshooting

It’s not uncommon among broadcast equipment that it contains a small off-the-shelf embedded PC, often running Linux.

It’s also not uncommon that the equipment will just up and die one day for no seemingly good reason, however, while the reason is a maddeningly silly one— it’s easy to get it running again!

So here’s the most common one I run into. This is on an SSL (Solid State Logic) NetBridge, which is part of their system that— well, I’ll admit I have no clue what it does.

The problem: After unplugging the box and plugging it back in, it never started up right. A front panel LCD lit up and indicated something weird like it was waiting for connection to the host, but never did anything beyond that point.

Remove about 64 screws aaaaaand…

VIA Mini-ITX motherboard

Believe it or not… nothing too special here. This is an off the shelf VIA Mini-ITX platform motherboard. If you had to, you could track down a replacement entirely. The RAM is just standard RAM, so if it went bad you could swap it. I forget what’s on the other end of that ATA cable but it was probably a CompactFlash card in an adapter.

Now, look under that multiport serial card’s corner. See the coin cell battery standing at attention in the vertical holder? Well, it was more like… a dead parrot nailed to its perch.

You can just see one wire connected to the header for the front panel LEDs and buttons. In this case I think it was on the reset pin. There is nothing on the power switch pins.

The way this box left the factory, it was configured to expect that it would never actually shut down. It was expected that the box would just lose power, and the BIOS settings were set to “resume after power failure”. Worked fine until… the battery died and the settings went byebye.

 

The fix was simple: Open the box, connect a keyboard and monitor, short the pins on the front panel header for “power button” to wake the board up, enter the BIOS settings and configure them appropriately, then put all 64 screws back in the thing.

 

I dunno, maybe it wasn’t actually 64, but it was a LOT, man.

 

I’ve seen the same kind of setup used also with a capacitor across the power button pins as described in this car PC article; a certain type of satellite receiver used in radio stations (I forget the make/model!) and the Comrex Access rackmount units used this as well. I believe on those it was more a backup measure to ensure the box still started if the settings got lost, though.

 

It probably wouldn’t hurt to keep a spare motherboard around for these units. In some cases the software is very dependent of the hardware being JUST so. In advanced and, frankly, ridiculous cases, the software may have a license key linked to the MAC address of the onboard network card, and you may have to swap a surface mount serial EEPROM. (a pox on your house to anyone who implements this…!!!!)

Also, any easily removable storage device may be backed up for future recovery if needed. My usual solution is to just take an image of the whole drive from a Linux system. You’ll probably have to do these as root.
sudo dd if=/dev/sdx of=backupFile.img to create the file (insert appropriate device node of course)
sudo dd if=backupFile.img of=/dev/sdx to restore it (contents of the device will be overwritten!)
If you use a similar size or larger media as the replacement, it should work fine – I’ve never seen anything care that blocks exist beyond where the partition map says they do.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.