I run OmniOS on an Aoostar WTR PRO as my NAS and for most of my self hosting needs. After installing a new fan, I wanted to see if I could read and control the fan speed from the OS instead of just the BIOS. Using Claude chat, I got a working kernel driver that gives me fan speed, PWM control, temperature readings, and even (incorrect) voltage readings.
I wanted to share as an example of what’s currently possible. I’ve even seen people vibe code ethernet drivers for freeBSD.
What do you all think of using LLMs to cobble together drivers like this?


I used a very similar method in a similar situation to albb0920. They describe it as vibe coding too.
The exact chip that handles everything is undocumented, but similar ones in the same series have datasheets. A maintained version of the linux driver handily collated all of the available datasheets and configurations used by different motherboards. Between that and my microcontroller/hardware experience, that side of things wasn’t too bad.
What I didn’t know anything about was writing an Illumos driver. I used the chatbot with a free claude account, compiling and running the code manually myself. I was impressed that it was able to build out the boilerplate and get something going at all. Course it took a few tried to get something that compiled and worked somewhat correctly. At some points I needed to look through the generated code and point out exactly what what wrong, but at least it would address it.
Code running in the context of the kernel is definitely not something I would have autonomously executing by a LLM. The end result is absolutely not something I would want put into the official Illumos source.