82 comments

[ 2.6 ms ] story [ 76.3 ms ] thread
I feel like ubiquitous hardware support in every OS is going to be a solved problem soon. We're very close to just being able to set an AI coding agent to brute-force a driver for anything. The hardware designer would have to go well out of their way to obfuscate the interface if they really wanted to forbid it, instead of just not bothering to support an OS like BSD or Linux.
> We're very close to just being able to set an AI coding agent to brute-force a driver for anything.

Yeah, but that only works for so long as the AI doesn't brute force a command that hard-bricks the device. Say, it causes a voltage controller to give out way too high voltages by a command, burns e-fuses or erases vital EEPROM data (factory calibration presets come to my mind here).

Tell me you've never developed a driver, without telling me you've never developed a driver.
I think we're closer than most people realize, but the hard part isn't generating the code — it's testing it. Drivers need to handle edge cases that only show up under specific hardware conditions, timing issues, power states, etc. An AI can write a first draft pretty fast, but validating it still requires actual hardware in the loop. The FreeBSD case worked because brcmfmac is well-documented and the author could test on real hardware. For more obscure chipsets with no public datasheets, we're still stuck.
Software is still eating the world, now even faster. I wonder how soon we will adapt to this new situation where software is vibe coded for anything and make use of this software without caution as expressed in the article.

For most people the main difference will be: Will it run and solve my problem? Soon we will see malware being put into vibe coded software - who will wants to check every commit for write-only software?

This is exciting! This sounds like a great application because it’s mostly tedious work to adjust an existing driver to another device.
It'd be nice to have drivers for newer Mac's for a better Asahi Linux experience. Good use of AI imo.
This used to be more common right? Back in the winmodem days?
That AI was trained on the GPLv2 Linux source code, which does have a driver for your Wi-Fi.

How is this not copyright laundering?

The general question is worth asking, but in this particular case, the article says

> Brcmfmac is a Linux driver (ISC licence) for set of FullMAC chips from Broadcom

This is really neat, I'm glad it worked.

This is atrocious C code.

Had an experience like this recently. QEMU stopped compiling for old versions of MacOS (pre-13) w/M1 arch, due to it requiring newer SDKs which don't support older MacOS versions. I put Sonnet 4.6 on the case, and it wrote a small patch, compiled and installed it in a matter of minutes, without giving it any instructions other than to look at errors and apply a fix. I definitely would have just given up without the AI.
Mind sharing the prompt?
It was along the lines of "try to install colima with macports, look at errors, apply a fix". GitHub Copilot w/Sonnet 4.6 model
Why would you solve an issue like this and then not supply a patch upstream, or at the very least contact someone that could? It seems to be like the FLOSS equivalent of posting about a problem on a forum and then replying "nvm, solved it".
1) The upstream only supports latest versions of SDK, they're not going to accept a patch to make the app work on an older SDK

2) I sent the patch to MacPorts which is what I was using and also had failed builds, and the maintainers closed my submission as a dupe (of a ticket which actually didn't have the full patch nor anyone testing it). I offered to do more investigation, no response

3) It's open source, I really don't owe anyone anything, nor they me

I've had a similar experience with a very long standing bug on a github project that really annoyed me but I didn't have time nor experience with the project's context to work on it. So Claude investigated and after many iterations (>100, very complex project), it managed to make it work.
My Nintendo Switch 2 Pro Controller didn't work with my Mac, so I had Claude write me a driver. Amazing times we live in. (As long as I still have a job so I can buy controllers in ten years.)
> Instead of continuing with the code, I spawned a fresh Pi session, and asked the agent to write a detailed specification of how the brcmfmac driver works

Planning markdown files are critical for any large LLM task.

(comment deleted)
The future is that people stop buying software and just build it themselves. The spam filter in thunderbird was broken for me, I built my own in hours and it works way better. Oh that CRM doesn’t have the features you want? Build one that does. It will become very easy to built and deploy solutions to many of your own bespoke problems.
Definitely feels like that is the bigger take away. Not that it "solves all problems" or "isn't good enough to be merged". But that we are arriving to a place where solutions can be good enough to solve the problem you have. Reminds me of early Github when custom and unique software became much more accessible to everyone. Way less digging or going without.
What I want is to be able to use AI to modify the software we already have. Granted I've wanted to do that long before AI, but now maybe plugins will get more popular again now that AI could write them for us
But people don’t actually want to just build it themselves - they never have, and I don’t see any reason to believe they ever will.
Totally agree. I've found in many cases it's easier to roll your own software/patch existing software with AI than to open an issue, submit a PR, get it reviewed/merged, etc. Let alone buying software
This is honestly one of the more naive takes I've seen in awhile. People includes more than people that frequent HN. My wife and I are discussing I'd like to keep finance and related things in a password manager. She is in the social sciences (has a couple of degrees) and isn't a fan.

The majority of computer users are not on HN.

You profile says "Trying to figure out what I want to do with my life. DM me if you have ideas." - I would recommend exploring connections and opinions outside tech.

Lots of unaudited and battle tested software. Sounds like a nightmare.
Funnily enough, this will make many "tragedy of the commons" / "Goodhart's law hacking" problems more tractable.

Right now, there's only one Google algorithm, one Amazon search and so on. The moment you let agents run wild, each with a different model, prompt and memory, effectively introducing randomness into the process, it becomes much harder to optimize for "metric go up."

I think Greasemonkey scripts to fix the websites you use is an interesting area too. My bank now supports OFX exports because Claude vibecoded me an extractor for it in 10m.
They won't build software, they'll let some AI-based software do the execution of their instructions (which is inefficient, opaque, vendor-locked, not reproducible etc.)
why would F500 FAANG type orgs ever want the consumer to create their own software?

how will stock prices rise, outside of the one holder of the AI?

We'll reverse engineer our way out of planned obsolescence
> I didn’t write any piece of code there. There are several known issues, which I will task the agent to resolve, eventually. Meanwhile, I strongly advise against using it for anything beyond a studying exercise.

Months of effort and three separate tries to get something kind of working but which is buggy and untested and not recommended for anyone to use, but unfortunately some folks will just read the headline and proclaim that AI has solved programming. "Ubiquitous hardware support in every OS is going to be a solved problem"! Or my favourite: instead of software we will just have the LLM output bespoke code for every single computer interaction.

Actually a great article and well worth reading, just ignore the comments because it's clear a lot of people have just read the headline and are reading their own opinions into it.

Programmers have always been in search of an additional layer of abstraction. LLM coding feeds exactly into this impulse.
You're validly critiquing where it is now.

The hype people are excited because they're guessing where it's going.

This is notable because it's a milestone that was not previously possible: a driver that works, from someone who spent ~zero effort learning the hardware or driver programming themselves.

It's not production ready, but neither is the first working version of anything. Do you see any reason that progress will stop abruptly here?

I don’t get this response. This is amazing! What percentage of programmers can even write a buggy FreeBSD kernel driver? If you were tasked at developing this yourself, wouldn’t it be a huge help to have something that already kind of works to get things started?
AI didn't write a driver for him. He ported the Linux driver to FreeBSD with some assistance from an LLM.

What's more interesting to me is the licensing situation when this is done. Does the use of an LLM complicate it? Or is it just a derivative work which can be published under the ISC license [1] as well?

[1] : https://en.wikipedia.org/wiki/ISC_license

It wasn't a straight port, he had an LLM write a spec by reviewing the code, and then in another session another LLM did the development. That is basically a Clean-room approach. It would be unlikely there would be much - if any - code that is exactly the same so showing copyright infringement seems very unlikely.
(comment deleted)
Your LICENSE file reminds me that the copyright status of LLM-generated code remains absolutely uncharted waters and it's not clear that you can in fact legally license this under ISC
Even bigger accomplishment is ai finally figured out how to configure my samba share for guest access! Lol
Omg!!. Similarly, Do you know a way to interface with BIOS so that it can change the parameters?
https://man.freebsd.org/cgi/man.cgi?efivar and underlying APIs should be able to tweak some settings depending on how many variables are exported.

https://unix.stackexchange.com/questions/536436/linux-modify... suggests there may be risks involved using efivar to configure Apple hardware, as there probably isn't any kind of testing or validation present on the variables you set, but if you know what you're doing you should have similar control as you'd have on native macOS I believe.

It used an existing implementation, in theory this was mostly a porting task.

GPL-wise, I don't know how much is inspiration vs "based on" would this be, it'd be interesting to compare.

This looks like my Company peers, as long as there is any existing implementation they are pretty confident they can deliver, poor suckers that do the "no one has done it before" first pass don't get any recognition.

An impressively softwarey alternative to simply pulling out the wifi module and replacing it with an AliExpress Apple wifi module adapter board and a compact M.2 WiFi module with a supported chipset :)
> The person intentionally didn't put in much effort.

And it's incredible that they got a somewhat working wifi driver given just how little effort they put in.

I have no doubt that a motivated person with domain knowledge trying to make a robust community driver for unsupported hardware could absolutely accomplish this in a fraction of the time and would be good quality.

The DNS name has both Russian and Indian in it, and its about vibe coding and AI to make system level software which can access the plaintext of my app comms: nope, nope, nope, nope and oh hell no.