Modern USB Controllers On Win98 (and Up)

[Yeo Kheng Meng] has a problem: he likes Windows 98, but he also likes his 2020 ThinkPad, which only has an xHCI USB controller– you know, the kind needed for USB 3.0, something that post-dates Windows 98 by a full decade. Drivers? Finding none existed, he decided to do it himself, or at least guide the process of using  LLMs to produce drivers for Windows 98 and up.

Some of you just stopped reading, but can you blame him for making a demonic pact for this project? Driver development isn’t really a one-man show, especially as a part-time hobby project you’re not sure anyone else will ever use. If you do want to use it, you can find the code on GitHub.

It does work, though, he admits it might be buggy. Unlike purely vibe-coded projects, [Meng] intends to address bugs put forth in the repo, at least. If you want to know how he did it, check out the link to [Meng]’s blog– which is human-authored, we can tell– and the videos embedded therein. He demonstrates it working on a 2020 ThinkPad, which should be usable even with Windows 11, and another model from 2016– neither of which have any old-style USB ports. Older laptops might, while any desktop can just use a PCI card with a USB2.0 controller– or you can do like [Meng] did prior to this project, and use the PCI card via adapters. 

[Yeo Kheng Meng] evidently gets as much of a kick out of joining old and new as we do, like running DOS a modern ThinkPad X13, and running Slack on Windows 3.11 For Workgroups on a slightly-less-modern but still 21st Century Thinkpad T400.

28 thoughts on “Modern USB Controllers On Win98 (and Up)

  1. How much longer are we going to call AI-assisted coding things like “Making a demonic pact?” Virtually all major corporations are using it for their software. The Linux kernel is ok with it, and Linus Torvalds himself is officially using it.

    The sooner we move past trying to force a stigma on it, the shorter amount of time we’ll cringe when we look back at this era and see ourselves like people who raged at automobiles and the printing press.

    1. No idea where you’re from but this is such an US American view, IMHO.
      “The competition uses it, so we must do it, too to stay competitive!” Ew.
      My old math teacher would likely answer: “If another person jumps off a bridge, would you do that, too?”
      Personally, I’m glad to live in medival Europe were we are years behind sometimes and often have slow internet access.
      Anyway, I can see the positive use for LLMs for casual use or for education purpose, but I’m worried about careless use in business, industry or in medical field. Or in soviety as a whole.
      One of the reasons is that software has to be predictable and understandable in its internal working.
      So that steps can be repeated over and over during testing.
      However, this is the opposite what the tech bros imagine (any software generated on the fly).
      Even Eliza was more consistant here.
      If there’s an electronic Oracle of Delphi, then it should be rather an predictable expert system, IMHO.
      Something that doesn’t hallucinate.

      1. Adopting new cost-saving technologies is not that crucial in countries where public spending and market regulation is the major economic driver.

        When the people are taxed into poverty and then lifted back out of it by giving them public services instead, people lose the ability to vote with their wallets. There’s nothing in their wallets to vote with. The state has the money and chooses where and how to spend it, and the people may sometimes have some influence over it, by asking pretty please.

        Public spending in the US is 34%, in Germany it’s 50.5% of GDP. Governments don’t reward cost-efficiency and competitiveness. They hire the same corporations project after project no matter how much they screw up, because it’s a political choice, not an economic one.

        1. But in Germany you don’t go bankrupt and lose your house when you get cancer, spend a year in treatment and survive it.
          Germany also has trains. They kinda suck, but still they are better than what the USA has.
          Furthermore, have you considered the possibility that not every government is as corrupt as the USA one? I am very well aware that in Europe we are more and more edging towards USA levels of stupidity, but that does not mean it has to be like that.

    2. The Linux kernel is ok with it, and Linus Torvalds himself is officially using it.

      Alright, if a messy Unix imitation and an old man say so then it’s a totally different case, of course!

    3. The sooner we move past trying to force a stigma on it, the shorter amount of time we’ll cringe when we look back at this era and see ourselves like people who raged at automobiles and the printing press.

      Pardon me for another reply (-it’s nothing personal, you’re probably a fine person-), but this is exactly what many people get wrong.
      The printing press, the camera and industrialization reduced physical laboou but not the mental work.
      All this invention had in common that people could get new jobs in more sophisticated areas.
      A farmer could become an expert in agriculture, for example.
      A former portrait painter would switch to expressionism, maybe.

      But A.I. does the opposite. It tries to reduce the value of human thinking and human judgement.
      In worst case, people would have to let A.I. do art, music and science while human beings are reduced to hard, manual labour.
      The expert in agriculture would have to go back to fieldwork.

      Or do lower work that machine can’t do or is too precious for.
      Just like the engineer in Westworld II (Futureworld), who worked in a humid environment.
      https://en.wikipedia.org/wiki/Futureworld

      1. All this invention had in common that people could get new jobs in more sophisticated areas.

        The common theme with reducing manual and now mental human labor has been to push people off to services and entertainment, and governance, rather than into expert work.

        The trap is that experts and specialists are born out of experience, which gets reduced. The people who were initially displaced may move up the ladder, but those who come after do not even pick careers in the field because they aren’t needed nor paid to train themselves to be experts for that matter. The “experts” that are still needed then become products of shallow and narrow training through the formal education systems that fail to capture the real institutional knowledge. Like programmers that merely “direct” an AI to do their work without properly understanding what’s going on.

        The second issue is that while automation and AI could enable everyone to become abstract experts, specialists and leaders, the continued demand for their labor rests on the whole social pyramid with a wide base of working class people producing the value and wealth that sustains the whole society and its productive capacity. When the working class no longer produces the wealth they consume, with surplus to sustain the experts, people become a liability rather than an asset. The working class becomes a dependent class that cannot sustain itself, and does not own any of the real productive assets.

        When the social pyramid is inverted, the productive base becomes a narrow wedge at the bottom, controlled by the few, and the rest of the society teeters on top of this unstable pivot trying desperately to redistribute wealth among itself through various political schemes and make-work “value adding” services that merely recycle value through the society without really adding to it. Consumerism happens: you have to consume so people can get paid, which is a tremendously inefficient and harmful way to run a society because it treats waste and consumption as a crucial wealth distribution mechanism. More and more people subsist simply on selling each other stuff, taking a cut from the middle, and adding cost on cost. People become superfluous: a cost on the society that needs to be managed and controlled rather than appreciated for their efforts and contributions to the common social good.

        1. Side note: off-shoring production to cheap countries in east Asia is effectively the same thing as replacing workers with automation. This effect has been going on since the rise of China after year 2000: productive work has been lost, and with it the institutional knowledge of the experts and specialists. First the muscles go, then the brain.

    4. 100% Agree! We already have LLM’s that we can run at home. It is too late to put the stopper back in the jar – the genie is out! If you wanted to, you could use your home running LLM to build a better LLM (with data from the internet which just keeps growing also) and then use that to build a better LLL and use that… you get the idea! Arguing against AI is now like shouting at the wind and yet there are people who sill don’t understand that.

      1. To run the better LLM you need a large amount of RAM, which is expensive because AI companies are buying all the RAM chips, which forces people to subscribe to their cloud services instead of setting up their own systems.

    5. I can’t speak for anyone else, but I’m going to keep calling things silly names for so long as it remains amusing unto me. That may be considerably longer than you want to hear, or it may not. Mileage may vary.

    1. Yes. The way I understand it the author did use the LLM for assistance.
      Which is understandable considerung how complex USB in general or an XHCI implementation in particular is.
      It wasn’t simple vibe coding, in short. The author used it with care.
      But even if it was (OS8088 ?), then it would likely be okay if it was “just for fun” and if it was clearly labeled as vibe coded.
      Many people simply want to be able to know the truth,
      just the way it is done with incredients listed on food packaging.
      So they can decide if they want to consume gene manipulated food/food with additives or not.

  2. Many years ago, Microsoft had a device drive kit that had samplea for most types of devices. I don’t know what is available now, but from my experience, even with samples, writing a device driver is not a trivial undertaking. In this instance, I am okay with the use of vibe coding for a one off project. I wouldn’t vibe code the entire driver, just likely generate a akeleton framework and fill in as much as I could first.
    I do agree with the sentiment the more ai uaed, the weaker cognitive thinking becomes.

    1. “the more ai used, the weaker cognitive thinking becomes.”

      If a master greybeard coder who writes drivers for a living started vibe coding all his drivers, then yes I think his cognitive abilities would decrease.

      But if your average coder used it to create a driver that he couldn’t do himself, wouldn’t that be an increase in knowledge for him?

      It’s not the Great Equalizer, it’s the Great Averager.

      1. In either case, the question is not that the AI was used create code, but whether the person looks at and tries to understand the code that was created. If you just make it and run it without looking at it, you’re not learning much.

          1. Then the question becomes, what was the point of the result? Getting AI to do some clever trick may be amusing, but what use is it if you’re not increasing your expertise while doing it?

          2. If I wanted an advanced full-metal RC scale model of a car or some construction machinery I could gather knowledge from all the different domains, set up a home workshop, design, build and assemble parts, implement electronics and software etc.

            Or I could simply spend $3000 and buy a ready-made kit from some hobby store in Germany catering to the needs of rich and lonely old white men.

            First approach way will keep me occupied, mentally stimulated and entertained for years.

            With second approach I will probably play with my new toy a few times, get bored and put it on a shelf. $3000 down the drain for an expensive display item.

      2. But if your average coder used it to create a driver that he couldn’t do himself, wouldn’t that be an increase in knowledge for him?

        If a poor coder uses AI to do work above their own level, they’ll still remain a poor coder, because the AI does not magically transmit the knowledge into their brain. Getting results and learning from the experience are two different things.

  3. One forgets windows 98 couldn’t handle .ZIP files or USB sticks on its own without extra software. And barely even JPG files let alone photo management — all things we take for granted since XP and OSX days

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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