Hacker News new | ask | show | jobs
by BrainInAJar 3836 days ago
>By pretty close you mean no where near a usable system then you'd be correct. If you're not a hardware person, as I'm not, I don't think I could go from blank fpga and parts to a working laptop with a keyboard, trackpoint, and lcd screen in any reasonable amount of time, nor with any certainty that it would work and not be error-prone.

The exact same argument can be made about the operating system.

2 comments

I can and have patched bugs in my operating system.

I have no clue where I'd even start to patch a bug in my hardware.

If you're lucky it's off-chip and your soldering iron and a very sharp knife will come in handy.

The problem with 'patching' hardware these days (oh, I'm that old) is that most of the time you'll find your problem is located inside a chip, and it isn't the traces are in planes that you can't access (if you're lucky they might run in a spot where you can dremel through and then cut and solder two small wires to the buried trace). Via's don't help either (especially not in layers that start and end under BGAs).

Patching hardware was never easy, but with todays degree of integration of components and SOCs it is harder than ever and frequently downright impossible.

Lots of things have gotten easier since the hole-through era, but hardware fixes aren't one of those.

I guess the counterpoint is that there are things you can now fix in microcode that would have previously required messing with the hardware?
That depends. Microcode tends to be used in CPUs rather than regular ASICs and not all CPUs have re-writable microcode (though quite a few of them do). So unless you're talking about a CPU the answer is probably 'no'.

You probably have a bigger chance that there is an FPGA on board that you can re-load.

I've "patched" my CPU (using a pencil to close some leads on an old AMD cpu to enable overclocking) and I've "patched" a motherboard (replacing a blown capacitor). But that was analogous to patching bugs in your closed source software with a hex editor.
Eh, IDK about that. It's pretty well-understood how to make a simple but usable OS kernel. I think most competent programmers would be able to do it (or at least know where to start) given enough free time.