I am fascinated by the thought of re-purposing systems with modern OSes. For example, I am running a hacked Android Pie ROM on an old Samsung Galaxy S4. A main reason why this isn't more popular is how difficult it is to reverse engineer black-box drivers and hardware to write open-source drivers.


Has there been any attempts to reverse engineer drivers using Artificial Intelligence to breathe new life into old systems?

My searching hasn't found any results, but maybe the community calls what I'm describing by another term? Or maybe this question is too new and I should ask again in two years?

  • 5
    Been there, done that many times and I'd be quite surprised if that approach would make any sense. For one, drivers are usually rather small, thus easy to handle. At the same time knowledge to dechipher the workings is extreme device specific with next to no common pattern beside the OS side - which is documented anyway. Most important, the market is extreme small, as disecting a driver is only a task when some expensive machinery has to continue operation with new controlling eq. Beside, the hardware you mention is not considered on topic here - you might ratehr want to ask on StackOverflow. – Raffzahn Jan 26 '20 at 21:29
  • 1
    I doubt that StackOverflow welcomes that question... this would be seen as too broad there – Jean-François Fabre Jan 26 '20 at 21:38
  • 2
    There is a reverse engineering beta site: reverseengineering.stackexchange.com – alephzero Jan 26 '20 at 22:02
  • 1
    Given that artificial intelligence doesn't exist, no. – Alan B Jan 27 '20 at 10:30
  • 2
    @AlanB: Silly comment. AI is a thriving field, now that Machine Learning has largely replaced Expert Systems and other early-AI techniques.The chief problem would be that there's virtually no suitable learning material available. – MSalters Jan 28 '20 at 14:12

I have no definitive information, but I highly doubt it. Why? Moore's Law.

In short, the very same technology that is (gradually) enabling "artificial intelligence" (or more specifically, machine learning) is also making those "old systems" totally, utterly obsolete.

Think about it: The incredibly inexpensive computers like Raspberry Pi ($35, I think less for some versions), Android phones (many basic models - which are not so basic, including a display, dual cameras, WiFi, cellular, etc. - for under $50), replace computers that cost hundreds or even thousands of dollars just a few years ago (even many computers that are still too new to be on topic for this Retrocomputing site). So making use of those older computers only provides a very minimal cost savings compared to just buying a new computer.

On the other side of the equation, AI/machine learning still pushes the limits of today's technology. By the time you build up the hardware and software to analyze the old driver software, just to be able to connect to some old stuff, you could have bought new stuff (e.g., < $100 laser printers to replace old $2,000 printers and the new ones are 3 times as fast as the old ones and print double-sided too).

Retrocomputing is fun and interesting - or I wouldn't be posting here. But to use leading-edge technology to make partial use (since if was old computers to old peripherals then you wouldn't need to reverse engineer the driver software - you would use it "as is") just doesn't make financial sense.

  • 2
    Well, there is not only fun for hobbyists, but good money in dissecting old drivers. Just not to keep old computers working, but the machinery they control. Think of some production line controlled by embedded systems.They will also work great for years to come, but the controlling host system may not hold up that great - for example due ageing disks (that's BTW the area Gotek really makes their money). While the control software may be available in source, the interfaces are usually proprietary and the provider gone since decades. – Raffzahn Jan 28 '20 at 3:15
  • 1
    At these points companies face the decision to spend a few hundred grands on disassembling the drivers and rewriting them, or spend many millions on a new factory line. Of course there are many variations. The most classic example I know is a arms company using what is essential the last generation of Zuse machines in a calibration setup for high end guns. Still maintained today :) – Raffzahn Jan 28 '20 at 3:16
  • 1
    @Raffzahn And like the US missile launch systems that (supposedly, at least as of a few years ago) were still booting from 8" floppy disks because certifying a rewrite of the software to support new hardware would be a lot more expensive than maintaining a small production line of 8" floppy disks. But in both the military & industrial cases, I would argue that a manual piece-by-piece rewrite or, depending on the situation, building custom hardware adapters between the old & the new, still makes a heck of a lot more sense than trying to make an AI (expert system/machine learning/etc.)... – manassehkatz-Moving 2 Codidact Jan 28 '20 at 3:23
  • 1
    to do the job. Just too many variables in hardware, software, interfaces - the kind of thing where (at least for now), we humans still do it best. Making an AI to iteratively learn video games (which is incredible) is very different (and benefits far more from Moore's law) from trying to figure out how to replace an old current loop interface with Gigabit ethernet. – manassehkatz-Moving 2 Codidact Jan 28 '20 at 3:25
  • 2
    @GlenYates See for example this BLU Advance A4 for $39.99 from Amazon. Unlocked (so no contract needed - pick a carrier like US Mobile), 4" display, 5MP + 2MP cameras, 16 Gig. Not top of the line, but a heck of a lot of technology for $40. – manassehkatz-Moving 2 Codidact Jan 28 '20 at 16:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.