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?

  • paper_moon@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    1 day ago

    That’s awesome! Can you describe your set up for vibe coding this? I’d like to take a look at porting postmarketOS linux, or ubports to some phones I have laying around.

    • Scrubbles@poptalk.scrubbles.tech
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day ago

      First I asked it how to create a dump file. I hooked up ADB debugging to my phone, then used the scooter’s app as normal, with the logging turned on in Android developer tools. It created a very long and complex dump file of hex that I could not understand.

      However, then I had Claude get to work. I describe that in that I had opened the scooter’s app, and turned it on, paused a few seconds, then turned it off and closed the app. It started attempting to mimic the commands through the computer’s local bluetooth device, to get a successful response. Eventually, after something like 20 attempts it found a hidden clue that was basically a pattern that it had detected, and it was able to finally get an ACK from the scooter. Something I would have never been able to do. From there we have a plan on how to map out all of the other commands, but it was a huge win for the day.