8 ms·
Claude writing a macOS driver for my obscure HP printer built only for Windows
https://xcancel.com/kuberwastaken/status/2089377982536388964 https://xcancel.com/kuberwastaken/status/2089377982536388964
https://cdn.kuber.studio/chat/hp-laser-1008a-driver https://cdn.kuber.studio/chat/hp-laser-1008a-driver
- 1970-01-01 2mo agoObscure? Sir, the printer is sold on Amazon. It is not obscure.
- leecommamichael 2mo ago"HP" "obscure" Cool nonetheless.
- kotaKat 2mo agosliiiiightly obscure in that it seems to use the ULD drivers (or a variant of); HP's "unified linux driver" that talks Samsung's printing language. it's weird. https://wiki.debian.org/CUPSPrintQueues#hpuld https://wiki.debian.org/CUPSPrintQueues#hpuld claude seems to have realized it was one of the samsung printer variants and just shoehorned in a samsung MFP driver to the OS.
- amelius 2mo agoNext try writing a printer driver for your iPhone.
- kotaKat 2mo agoif you shoehorn it into CUPS you might as well just expose CUPS on your home network and use AirPrint via IPD at that point ;)
- TMWNN 2mo agoAs kotaKat said, it's possible to use CUPS to talk to non-AirPrint printers with AirPrint. This is what I do with two 4" USB-only thermal printers. They are connected to a Raspberry Pi running CUPS, so I can print labels to them from within my home network. I never need to print labels from my phone, but do sometimes need to print photos to one of the printers. Avahi on the Pi enables AirPrint, and iOS sees that and lets me do so.
- jwr 2mo agoFreedom -- that's what it is. There are now more and more cases where we don't have to ask for permission. Unfortunately, as I look around, I see most of the hardware vendors around me as gatekeepers. They prevent me from writing custom code in various ways. Apple restricts access to NFC or their UWB positioning, Supernote Manta does not let me access a bluetooth microphone, the list goes on. Denon at least has an API in their amps/receivers: buggy, but it's there.
- throwaway613746 2mo ago[flagged]
- ramijames 2mo agoI think, from a business perspective, they just don't see us at all. We're such a small, inconsequential part of the market that building open, free hardware with code that we can update, change, or alter for our needs is just.. not part of their business use-case.
- itchyouch 2mo agoI hope that with AI, this becomes a far more compelling selling point that consumers demand.
- ramijames 2mo agoI think right now AI is mostly providing a much better experience for using a computer for people that already have deep knowledge of how to use a computer. For example, no matter how many times I've tried to explain how to use it, my wife is just happy to keep plugging away at what she does without leveraging AI for automating away the repetitive parts of her work. I think she's a much more real-world use-case than I am. I like to tinker. She just wants to do what she does.
- Avamander 2mo agoDenon is definitely one of the better examples, there's so much expensive home hardware out there that gives you basically nothing. Starting from ACs ending with TVs. I unfortunately can't see it becoming in any way legally mandated either, just have to hope for a good vendor.
- theturtle 2mo ago[dead]
- nullify88 2mo agoOn a similar experience, I use moonlight on my Android TV to stream video games from my computer in another room. I use my own fork from an unmerged PR which enables me to use an Xbox One Wireless adapter so I can play with my pad wirelessly. These pads have a 3.5mm jack on them which on Windows and Linux enables me to route audio from the game to headphones connected to the pad. Moonlight and the xow driver it bundled, was nowhere near being able to provide this as a feature. After about 5 hours, feeding it the GIP spec, an export of sniffed usb traffic from Windows, prior art (xone driver for linux), and giving Claude connectivity to my Shield via adb, I had it working. This continuously blows my mind that I dont have to beg a developer on Github to do it for me. Claude could do it for me for $20.
- netruk44 2mo agoI have another controller-related anecdote. I have a Razer Wolverine Xbox controller that has extra back paddle buttons. The controller doesn't expose the paddles directly to PC's over USB. You have to use button remapping on the controller to map them to 'real' Xbox buttons for the PC to see them. But I wanted to use the back paddle buttons on Steam as separate controls. So I downloaded the latest firmware update off the internet (because what device doesn't have firmware updates these days), installed Ghidra and an MCP server for it, and told Sol to look for how I can expose these extra buttons to a PC host. Maybe we could write a firmware patch? Turns out the controller already has a special mode to expose those buttons, possibly as a hardware test. But it was enough to write a Linux driver to put the controller into that mode, and a little bit of extra driver code to map the paddles to a Linux controller button, and voila. Paddles working in Steam. And it only took a few hours to do, too. I spent more time making an open source repository out of the concept than I spent making it work.
- rivetrune 2mo agoWhat's the repository link? I think it would be fascinating to have a corpus of "hacked" solutions like this. Can't tell you how many times a couch co-op game night got sabotaged by some piece of hardware failing to communicate with another.
- qarl2 2mo agoYeah. I have a Stratasys J55 3D printer. Industrial and closed. And now I can print to it via my Mac. It's a fun time to be alive.
- foodandart 2mo agoNice! I've an ML-1710 that is sitting in a closet that I'd love to get properly working on macOS. I've tried with SPLIX and followed the directions to the letter to install the drivers, but it just doesn't stick, in that I can only manage to get one print queue through the device for each time the computer is turned on. I gave up and repaired a junked Epson and put that into service, but I really prefer the formar printer for making line tenplates.
- JKCalhoun 2mo agohttps://xcancel.com/kuberwastaken/status/2089377982536388964 https://xcancel.com/kuberwastaken/status/2089377982536388964
- throwaway613746 2mo ago[dead]
- jorl17 2mo agoRecently, I had bizarre situation: I wanted to play a game from my childhood on Windows 11, but, without changing two booleans in the settings, I could not reliably move my in-game cursor. The catch is that to change those values in the settings, I needed to move my in-game cursor. So I was stuck. After digging around, I found a file that looked like it could be the settings file, but it was not plaintext. Naturally, I told Claude all the options I knew existed in the settings and told it what I needed it to change. After about 10 minutes poking around my system and the file, it correctly identified the bits (not bytes!) that corresponded to the two settings, and flipped them on. It. Just. Worked! (Well, then I found out I actually needed to do quite a lot more than flipping those bits, but I still found it worth sharing). I have many more experiences similar to these. LLMs are an amazing superpower.
- txomon 2mo agoI have a similar experience. I'm playing minecraft lately and I have patched already like 5 issues in the server that I would never put together time to trace/debug/understand/fix, including some o(n^3) integration between mods that was lagging the server. Same thing for utilities, managing backups, etc.
- jorl17 2mo agoI've said this time and time again but with LLMs I got the joy of being a little kid learning to code and build stuff again. I haven't had such a custom-built setup since my earliest college days, because I had lost the time to tinker and looked for stuff that just worked. Now tinkering is so much easier that I mod the software I use all the time as well. For example, I needed to change something in a particular function of firefox (which was in and of itself an amazing claude adventure to find that solved a problem I've had for well over 2 years), but only that very specific function. I didn't want to fork firefox and have to constantly rebuild it just because of this one function. So I setup an LD_PRELOAD (well, not LD_PRELOAD, but the macOS equivalent) trick that injects only my modified function, as well as a full mechanism that traps firefox's auto-update process to reinject/re-arm the LD_PRELOAD trick into newer versions. I've had it going on for 3 months without any issues. I counted and I have about 18 custom built apps ranging from "full blown swift GUI" to "tiny helper script" that have really changed how I interact with my computers for the better. It's so cool to be living this revolution.
- joshmarinacci 2mo agoI was able to get Claude to write an embedded Rust driver for an unsupported epaper screen in a couple of hours by providing it with the spec and some existing C drivers. It’s still not as fast as the arduino versions, but it let me make progress in a project that I’d been stuck on for months. Reverse engineering seems like an AI sweet spot.
- ramijames 2mo agoIn general I've been really happy to leverage Claude to quickly build software that only I use. It fits my needs exactly and I don't have to worry so much about how others will use it, if it is generalized enough, if the documentation is up to date, etc. It's kind of nice.
- cushychicken 2mo agoI love seeing things like this. Is it not kind of a magical thing to see AI make stuff like this reality? This was always possible but not worth a human’s time. Now this guy has a working printer again. That’s pretty doggone neat.
- 2dahg 2mo agoPerforming Stallman's stunt. Cool story bro, but unverified. Guy is marketing AI on X with an "attention is all you need" picture etc.
- nerevarthelame 2mo agoI'm all for being skeptical, but it doesn't take too much digging to find the proof (it's in the original tweet thread): https://github.com/Kuberwastaken/hp-laser-1008a-macos https://github.com/Kuberwastaken/hp-laser-1008a-macos
- mariuolo 2mo agoBut it's not completely native, it's a wrapper around the original linux driver (or parts thereof) running in a container. Still better than nothing.
- AH36 2mo agoThat runs the original HP driver in a Docker container, using two minuscule Python scripts. Bro is marketing it as a (native) MacOS driver.
- finchisko 2mo agoI would like to see driver for my samsung printer. Drivers for mac was only for some very old macOS
- gmac 2mo agohttps://printervention.app https://printervention.app (also co-written by Claude) may be useful in similar cases.
- Razengan 2mo agoIf you see articles from old computing magazines or TV shows in the 1980s (there’s some good rabbit holes on YouTube), the prevailing optimism was that everyone would have a computer in their kitchen and write their own programs for whatever they need to do.. But programming languages and operating system fragmentation didn’t let that really take off Maybe now that original promise of personal computers can be realized :) Imagine instead of going to the App Store, just telling ChatGPT etc to make a custom app and run it right away on your phone
- thewebguyd 2mo agoThat'd be an interesting future for sure but first we need Google to stop their power trip of needing to ID you before you can install an app on your phone, and likewise Apple will never allow that either without paying the Apple tax. I feel like both Google and Apple see that future, and are now actively working to make sure it can't happen to protect their app store commissions.
- kuberwastaken 2mo agoThanks for sharing :) linking this here for those who don't wanna read the threads https://github.com/Kuberwastaken/hp-laser-1008a-macos https://github.com/Kuberwastaken/hp-laser-1008a-macos genuinely very interesting case to learn from for me because this was one of the HP branded Samsung printers which doesn't have native non-windows support !
- swerner 2mo agoI tried to get Copilot to port the Linux drivers for my HP CP1025 to macOS, but it failed. Even modern Linux can’t print to it any more, I had to put an older distribution on a RasPi and now I’m printing at reduced quality. It was crazy how the LLM held on to outdated information. It suggested so many things that might have worked on an older macOS but very obviously wouldn’t nowadays. It also tried to port from Linux for a while until it eventually discovered that cups on Linux didn’t support that printer either.
- anthk 2mo agoDoesn't HPLIP handle it?
- ValdikSS 2mo agoCP1025 is supported in foo2zjs. You need to manually download a color profile data (getweb script) though. Make sure there's /usr/share/foo2zjs/icm/hp-cp1025-rgb-392-bpp1.icm file. If you tried to use foo2zjs in Fedora / Redhat or similar distro, they now require additional configuration with obscure error message: https://fedoraproject.org/wiki/Changes/FoomaticRipRejectsUnknownValues https://fedoraproject.org/wiki/Changes/FoomaticRipRejectsUnk...
- dolmen 2mo agoHave you tried https://printervention.app/ https://printervention.app/ ?
- pwython 2mo agoI have actual obscure RGB corner floor lamps with BLE in my office. I had Claude find the BLE protocol and use my Office 365 calendar feed to change their color to red when I'm in a scheduled meeting (event), and back to warm white when the meeting is over, so co-workers know I'm busy without doing "are you busy" sign language through my window. The script is polled every 60 seconds. Tinkering with stuff like this is a lot of fun.
- m4rtink 2mo agoI've seen this explained as LLMs being well - language models. Driver binaries are just a language understood by the machine executing the binary. While its basically unreadable for normal humans, it is just another language for LLMs & they are able to operate on it, changing the result & translating it (e.g. correlating with specs, logs, docs, etc.). Given the positive results from what I've heard, this might be actually one are where LLMs could prove useful for once.
- seiferteric 2mo agoI just fix a long standing bug on my Linux desktop I have had for years and kept meaning to look into to see if I could fix. The issue was I have a sound blaster katana sound bar and it works okay but the volume on the device is not in sync with the volume in Linux. In Windows it stays in sync. I can work around it by each time I boot, I press the button to go to max volume, then lower the volume in Linux to the desired level but it's been an annoyance. I described the issue to codex and within a few minutes it had it fixed by updating the pipewire device profiles to use the volume control it exposes. Honestly amazing since I doubt I would have ever gotten around to figuring this out since I didn't even know what level of the stack the issue was, I thought maybe it was in the driver itself.
- brabel 2mo agoYou just gave me an idea to fix lots of little annoyances in my old Linux laptop that had been retired because of those! Maybe the old little laptop can still give me a few more years of fun.
- jrflo 2mo agoStuff like this is so nice, I wonder where it will go in the future. Recently on my PC I had a failed windows update that killed the bluetooth driver, I tried to fix it for over an hour and got no where (even consulting chat gpt). I just let codex loose with full authority on the problem and the driver was working again in 5 minutes with no reboot needed.
- asveikau 2mo agoI'm pretty sure I've used that exact printer on Linux without issue. Long ago, deep into the pre ai era. Edit: no, I was thinking of the older p1008.
- aniceperson 2mo agofrom the screenshot, i believe it took the linux driver and transcribed to the mac kernel.
- asveikau 2mo agoBut the dominant print daemon on Linux, CUPS, was literally acquired by apple to form the basis of their printer architecture.
- jambalaya8 2mo agoThis is very very cool. But now it has me worried about device driver coders being out of work. Why pay for months of low level coding. Grumble.
- ano-ther 2mo agoI wasn’t so lucky with my attempt for a Windows 11 driver for an old emaguc MT4 MIDI interface. It works on Macs, but no longer on PCs. Claude worked for a while and then spun itself into a loop of making a mistake, correcting it, then making it again. That was 9 months ago so perhaps I should try again.
- jaen 2mo agoThe slightly sad part is that most of these LLM-assisted fixes probably never make it upstream, so life for non-technical Linux users does not improve... If you do AI fixes, for the greater good, at least publish them (or even better, try to submit upstream, although expect to be ignored if the upstream does not like slop...)! :)
- ssdspoimdsjvv 2mo agoIf I understand correctly, it just wraps an existing Linux driver in a container. You can hardly call that writing a driver.
- ncr100 2mo agoWould calling it a "driver adapter" fit more accurately .. ?
- unregistereddev 2mo agoI don't think so, no. It does not appear to be functioning as an OSX device driver. It's just hosting a network print server in docker.
- happyPersonR 2mo agoTbh I actually like this even more than writing a driver … Makes it so if there’s an issue I don’t get a kernel panic Maybe it could write something CUPS compliant though ?
- 05 2mo agoTo be fair print drivers have mostly been user mode. On Windows since win2000, and on macOS - since macOS 10 Cheetah.
- kuberwastaken 2mo agoIt works with Cmd + P https://x.com/kuberwastaken/status/2089961185047437729 https://x.com/kuberwastaken/status/2089961185047437729
- ASalazarMX 2mo agoWhy not call it a containerized driver?
- josteinhylin 2mo ago[dead]
- kuberwastaken 2mo agoUpdate: I saw a bunch of comments on the post asking how I got Claude to do this I usually answer saying there's not really a hack for it, you just work with it, convey thoughts decently and try out things with educated guesses until it sticks with these projects. But I actually went ahead and exported the chat in a readable format for anyone curious enough to go through :) https://cdn.kuber.studio/chat/hp-laser-1008a-driver https://cdn.kuber.studio/chat/hp-laser-1008a-driver
- 3129476 2mo agoClaude did not write any macOS driver. It uses the HP Linux driver inside docker. Here is prior art from 2017. In contrast to the AI gibberish, one can understand it: https://www.alecburton.co.uk/2017/printing-from-a-docker-container/ https://www.alecburton.co.uk/2017/printing-from-a-docker-con... There are many such tutorials and Claude just plagiarized as usual.
- skydhash 2mo agoSomething similar can be done on freebsd to use the much faster wireless drivers in Linux by passing the PCI device to a VM.
- ASalazarMX 2mo agoOn the bright side, I hope LLMs erode IP copyright so much we can have a cultural renaissance. China is always put as a horrible piracy heaven, but it is precisely their disregard of IP that got them where they are today. The exhorbitant copyright length of today is a net loss to society.
- fl0id 2mo agohow would that be a cultural renaissance? quantity without at least discoverability just makes it worth-(less). And it's not like chinese companies are by default anti ip, they do like their work protected like most companies...
- srmatto 2mo agoThen I guess we need someone to sic Claude on trying to re-write the linux driver for MacOS then and see what happens.
- abadar 2mo agoI've been taking Windows only apps from github and having Claude rewrite them for Linux. It's been awesome.
- benimar 2mo agoThe test printout mentions Samsung ML2010 which had a Mac osx driver (had a Ml2020 till a couple of weeks ago).. by the picture of the printer it seems they had an identical plastic mold..they most likely came from the same oem (xerox).. but still nice from Claude to figure it out..
- sylvinus 2mo agoI did the same for a scanner that was missing an driver for latest macOS! https://github.com/sylvinus/freethescan https://github.com/sylvinus/freethescan
- ValentineC 2mo agoSee also: https://news.ycombinator.com/item?id=49344643 https://news.ycombinator.com/item?id=49344643
- saejox 2mo agomy Brother dcp-t230 also doesn't have macos drivers and it's a usb only printer. if i ever get some tokens to burn, i would try the same.
- f0cus10 2mo agoi have a label printer that's in the same boat. I wonder how many tokens this convo was
- trollbridge 2mo agoI did a similar project for another make of printer, but used DS Flash and GPT-5.6-Sol, so it was effectively free ($2-$3 of Flash and maybe 5% of a monthly Max sub, so $10?)
- asveikau 2mo agoIt didn't write a driver. It used a linux driver. You don't need an LLM.
- altmanaltman 2mo agosomeone already burned those tokens for you: https://github.com/farafonoff/Brother-DCP-T230-MacOS-driver https://github.com/farafonoff/Brother-DCP-T230-MacOS-driver
- thrownaway561 2mo agoI don't see anywhere in the post or the repo how much it cost him to do this in tokens.
- kuberwastaken 2mo ago~4-5% of my monthly max usage so like ~$10
- TacticalCoder 2mo ago> my Brother dcp-t230 also doesn't have macos drivers and it's a usb only printer. Same thing here brother: DCP-L2510D (laser printer + scanner). Wife is on MacOS and cannot print/scan from there, so I'm the scanman.
- LeoPanthera 2mo agoClaude Code is extremely "honest", and uses that word 10 times in that short transcript.
- DougN7 2mo agoI find it uses “faithful” an awful lot. But it comes in waves - not at all for a few days and then 10 times in an hour.
- physicalecon 2mo ago[dead]
- Brendinooo 2mo agoIt's a load-bearing term, a belt-and-suspenders descriptor.
- iluvcommunism 2mo ago[dead]
- IronWolve 2mo agoClaude is great at that. I have a usb keypad with no linux version of the app to program it. Since its just a vial/qmk based, claude built me a linux version in qt/python.
- kccqzy 2mo agoClaude can do Linux drivers too. A friend bought a second-hand Intel Mac, installed Linux, and found that some of the hardware didn’t work. It wasn’t very hard to get Claude to write those drivers.
- Tiberium 2mo agoUnfortunately this is a very misleading article and headline. I don't doubt the end result - it's useful that it works, but it's not "natively" and, unlike what some people assume, Claude didn't write a driver. It basically used HP's existing proprietary driver in a Linux VM on macOS, and just bridged that to macOS. It also requires a root launcher that runs code from the user ~/.hp1008 dir, so security is weakened.
- xyst 2mo agoyup, clocked this in just the first few lines of the transcript. I am sooo tired of this AI generated slop.
- perching_aix 2mo agoIt's strange, because I have zero doubt in my mind that Claude could 100% genuinely reimplement the driver and port it to actually natively run on macOS, were it prompted that way.
- qingcharles 2mo agoAgreed. I bought some cheap host-managed SATA drives the other day that the BIOS can't see and Windows won't recognize. I asked Claude to write a Windows app so I can use them, and it resisted at first, but then gave up and wrote it and they now work great. It had to implement the entire stack of bare-metal drive functions over SATA and a whole new filesystem to go with it.
- bombcar 2mo agoGenerate the VM, send it crafted PDFs to print, see what it produces, and build a driver. Not that “hard” even for a human, an AI could probably one-shot it.
- pudgywalsh 2mo agoFor the amount of electricity wasted by the LLM in the data center it would have been more efficient to buy a new printer that works out of the box.
- ChrisArchitect 2mo ago[dupe] Discussion, including activity from the dev https://news.ycombinator.com/item?id=49344643 https://news.ycombinator.com/item?id=49344643
- feintruled 2mo agoSo the critique from the other story holds true - it really is just running the Linux driver inside docker, and (perhaps) dressing it up as something more - though I note the claim on this page is walked back from the original 'writing the driver'. On the other hand, it really did get him printing from his Mac, so in this new LLM results based world we live in it did its job admirably.
- ryandrake 2mo agoI was able to (through heavy Claude use) successfully reverse engineer a golf cart motor controller that is programmable over USB, but only was supported by a Windows application. Claude walked me through using ILSpy on the .NET assembly, using Wireshark to capture the protocol over USB, and to completely map out all of the functionality in the Windows application. The output was a portable C library and CLI program which, so far, has worked well. I consider myself kind of an AI detractor but even I'll admit that the tool allowed me to do something it would have taken weeks-to-months to learn to do the hard way.
- sinpif 2mo agoHad a similar thought today - maybe we could finally get Linux drivers for more HW...
- ryandrake 2mo agoI don't understand the technology enough to see why, but LLMs seem unusually skilled at reverse engineering proprietary software.
- fl0id 2mo agoTo some degree. But esp for drivers, you still need to know when they go wrong, and steer them right, or your code will either just not work or be an unmaintainable, not-upstreamable mess.
- mmh0000 2mo agoLLMs are good at producing what they/the public know. In this case: LLMs know the USB Spec very well. LLMs know how to read raw packet dumps. LLMs know how to convert a packet dump to USB spec LLMs know how to write code to generate USB packets from the spec. LLMs are also VERY good at transliteration, i.e., converting known-good Python to Rust. Basically, If you have a well-documented problem, the LLM is a shortcut to learning it yourself. LLMs fail when you have a novel or poorly documented problem. They also fail when you provide the LLM with terrible context or too much context.
- embedding-shape 2mo agoSomehow, I'm not exactly sure why, I got creeped out by Claude's finishing line: > Thanks for being such a game debugging partner through all the test pages. Enjoy printing, you and the family. Maybe it's because my own LLM usage is very "Question > Answer" or "Do this > Agent does that" and I never say "Wow, that's crazy it works, thank you!" at the end or such, so I don't see that sort of things, but if I saw that regularly I'd turn me off so badly from using LLMs. I'm not exactly sure where this feeling is coming from though, it's relatively innocent but just feels so inauthentic, I'm guessing because it's simply a machine.
- ex-aws-dude 2mo ago> Leave my family out of this!
- mag7269 2mo agohttps://peepshow.gifglobe.com/scene/?id=HAGUFD3NuzO4 https://peepshow.gifglobe.com/scene/?id=HAGUFD3NuzO4
- theultdev 2mo agoI'd be willing to bet somewhere in that conversation he said family printer or something. Seems an oddly specific thing to hone in on otherwise.
- hmokiguess 2mo agoThat's funny, 'Ctrl + F' for 'family' returns a lot of uses of that word in different contexts, so I guess it must have scored heavy eh
- deleted 2mo ago[deleted]
- yakz 2mo agoThe way that you talk to it influences the way that it responds to you and it is not subtle. I don't want to hitch on to the "it's just really complicated autocomplete" bandwagon, but this is one of the ways that it does feel like that.
- TacticalCoder 2mo agoIf this could all finally solve, once and for all, printing and scanning issues it'd be lovely (btw there are entire businesses who's only raison d'etre is "installing printers at clients and fixing them when they stop printing"). But of course it's hard not to both marvel and lament (at) the fact that in the mid-1990s (so yup 30 years ago) I could: nc 192.168.1.150 9100 < tiger.ps And the native PostScript printer (also an HP laser btw: a LaserJet) would just start printing. I know, I know, about garbled print jobs, pages of codes being printed, etc. But still: it's hard to not at least wonder if some things haven't been lost. For a start printers with their own IP addresses were sweet (instead of a USB cable and, now, people setting up, say, a Pi just to expose a LAN IP for/to their printer). Then of course another talk could be had about the "quality" of modern day HP laser printers compared to what you'd get int the nineties.
- ryandrake 2mo agoI've always thought USB-only made no sense on a printer. If there was one device in your house that multiple computers (and phones, don't forget) would want to use simultaneously, it's a printer. I'll only buy a printer that has its own built in network connectivity. Infuriating to have to stick a Pi onto your printer just so it can do what should be basic, table-stakes functionality.
- skydhash 2mo agoA usb controller is way less expensive than something that can run a TCP stack and the associated software.
- ValdikSS 2mo agoUSB-only is a cost cutting measure. Canon CAPT printers have so low amount of RAM that the page is streamed over USB. There's not enough RAM (1-2 MB) to accept the full compressed page at once for complex pages. Network/Wi-Fi printers have at least 16 MB of RAM, usually 64+ MB nowadays.
- tonyarkles 2mo agoI was digging into the history of PostScript engines inside laser printers and Adobe made tons of royalty money off of that for quite a long time.
- tracespect 2mo agogüzel bir çalışma olmuş
- sgjohnson 2mo agoThis is awesome. I take it your plans for the next weekend include actually cleanrooming the driver so you can skip running it in a linux container? =P
- xyst 2mo agobro is going to need opus and a couple thousand dollars in tokens for something that _may_ work.
- mjmvisser 2mo agoHad a similar experience. I bought an ePaper display and a Pi 4 to run a calendar widget on. I got stuck because the open source project I was building off expected the previous generation of ePaper display, and the firmware had changed completely. I found the new firmware examples, but got stuck trying to get it to work. With Claude assisting we banged it out in two sessions of about 3 hours each. codeberg.org/mjmvisser/infoframe if anyone’s interested.
- oneplane 2mo agoWouldn't it have made more sense for Claude to suggest using the existing Linux-Airprint-VM project/product that already does this exact thing? There's even a zero-install method via https://printervention.app https://printervention.app where it runs that Linux VM isolated inside a WebUSB-capable browser. That website itself was posted right here on HN not too long ago. I get that the LLM code assistant software prefers writing stuff, but constantly re-writing the same solution seems a bit inefficient.
- Lucasoato 2mo agoBut it wouldn’t have used so many tokens ;)
- kuberwastaken 2mo agoused like $10 of tokens btw :)
- moffkalast 2mo agoAre you sure that approach would work? Usually I find these sort of projects end up not working just for the specific device I happen to have, which is always unsupported lol.
- oneplane 2mo agoIt usually does, in this case as well since it's SPL.
- bredren 2mo agoNotably done on Opus 4.8.
- bethekidyouwant 2mo agoDoesn’t every printer work with CUPS?
- inguz 2mo agoReminded me of when I had a Teletype ASR33 on AirPrint (https://github.com/hughpyle/ASR33/tree/master/cups https://github.com/hughpyle/ASR33/tree/master/cups). With LLMs that would have taken a half hour. It would have maybe been less fun? but there's a lot of time faffing around on PPD that I'll never get back.
- theturtle 2mo ago[dead]
- etothet 2mo agoVery cool. I want to do something similar to ressurect old Orb disks from over 25 years ago.
- leftouterjoins 2mo agoNice! About a year ago I used Claude to make a macOS driver for an ancient laser engraver that only ever worked with Windows. https://github.com/leftouterjoins/EpilogDriver https://github.com/leftouterjoins/EpilogDriver
- colingauvin 2mo agoAll the people saying "it's not a driver, it didn't write a driver, it's wrapping the Linux one" are missing the point: no one cares - the printer prints. It didn't before, and now it does.
- bulder 2mo agoPersonally, "AI wrote a driver" and "AI rebottled an existing solution and sold it as Dr. Claude's Miracle Driver" are semantically very different claims to be making in the public square. If you're only making it to use by yourself sure they might behave similarly, but when you're doing it for a public audience people will want to know if you're fibbing with your verbiage.
- rymndhng 2mo agoI've had a lot of success (and fun) getting Claude to write a MacOS userland driver for a pointing device (ZSA Navigator). See https://git.sr.ht/~rymndhng/teach-touch https://git.sr.ht/~rymndhng/teach-touch
- Dban1 2mo agotbh at times it feels like my fear of failure and lack of imagination is now the limiting factor.
- oliwarner 2mo agoFour hours of a machine looping through a cycle of repetition, guessing and failure, gratuitous air-punching and premature celebration, before eventually landing on a hideous "solution" that just uses an existing driver from another platform. LLMs can do stuff but this isn't a good example.
- eisbaw 2mo agowhy are people still surprised that this is possible? To me, this is has been normal for the past 1.5 years.
- dackdel 2mo agothats great but man I want a printer that is not manufactured by hp, epson or any of the giants. new player has entered the game
- alexnorton 2mo agoAlong similar lines I used Codex to reverse engineer and build a modern driver for the niche, proprietary Sony USB protocol for an old camcorder I have lying around, having never done anything like that or used Rust before. It feels like LLMs could be a huge force in making older hardware usable again. https://github.com/alexnorton/handycam-rs https://github.com/alexnorton/handycam-rs
- column 2mo agoVery impressive and enjoyable good experience. This was done with Opus 4.8! In theory Qwen 3.8-27B could do it too. ...I would have asked Fable.
- joachimma 2mo agoDoes anyone know if Apple would actually agree to sign and allow the distribution of such a driver? The vendorid and productid clearly belong to another entity, which could hypothetically want to create their own driver?
- msyea 2mo agoAwesome. I had a crack at the Xerox Travel Scanner 150, which had niche drivers for some reason, only shipped Windows and didn't make it into SANE. Wireshark and prior art from SANE got me most of the way. Getting the stepper motor working was really hard and I didn't manage to get it completely working Maybe I'll resurrect 15 year when it's a little older. I really fancied a Pi+Scanner pipeline with OCR/AI to file all my documents as they arrive. Maybe I should just take a photo?
- kuberwastaken 2mo agoUpdate: We're actually fully MacOS native now! https://github.com/Kuberwastaken/hp-laser-1008a-macos https://github.com/Kuberwastaken/hp-laser-1008a-macos
- PeterStuer 2mo agoAmazed Claude didn't refuse this for "cybersecurity". Then I noticed this was this Opus 4.8? Did the author start with 4.8 or was this a fallback from the 5 series?
- rocky_raccoon 2mo agoA lot of people are going back to 4.8 because of the over-verbosity of 5.0. It's pretty painful to read through anything "English" that is output by Opus 5. It's like a whole separate pidgin language.
- fagnerbrack 2mo agoMajority of people are still completely blind to what's going on
- fzeindl 2mo agoThis adds to my feeling that LLMs are incredible at storing compressed information and accessing it in a versatile way. Apart from occasional hallucinations we celebrate their ability to dissect information and to find obscure links between facts. Hence their stunning effectiveness in finding security holes or new approaches to math problems. Interestingly the generative part - producing the answers - is what we are criticizing a lot: we think the code is verbose, texts have a weird repetitiveness to them etc.
- pmdr 2mo agoHow much longer until such use is deemed unwanted by our AI overlords?
- stlahxm 2mo ago[flagged]
- cyansands 2mo agoPrinter drivers Is this Product market fit?
- a2ff6eeb0 2mo agoYeah, it's incredible how we turned something that used to need talent into something you can just pay a big model provider for and have it done for you. Programming is now easy for anyone to do, no skill needed.
- johnboiles 2mo agoI've been having great success with the robots reverse engineering things too. https://github.com/johnboiles/ble-label-printers https://github.com/johnboiles/ble-label-printers https://github.com/eastbaymakersclub/pixcut-s1 https://github.com/eastbaymakersclub/pixcut-s1 I've been using Codex in the ChatGPT app for this and it's been really neat to watch it download the vendor's app, decompile it, and make the hardware work.
- Topology1 2mo agoI did this at my university, where printing is not supported on Linux. Thanks to Fable, I can now print from my linux laptop and don't pay their ridiculous per-page fee
- ValdikSS 2mo ago!!! If you have MATRIX PRINTER, please consider running GhostScript regression tests per release (twice a year). The developer is looking for volunteers. Otherwise upcoming GhostScript version will remove widely used LQ850 driver and you won't be able to use it in the next Debian/Ubuntu/whatever. https://bugs.ghostscript.com/show_bug.cgi?id=709659 https://bugs.ghostscript.com/show_bug.cgi?id=709659 !!!
- sushibowl 2mo agoI found this bit in the chat log, where the user got an "adverserial LLM" to look at the driver, decidedly humorous: > This is exactly the kind of feedback worth taking seriously, and it's checkable. [...] But I don't take an LLM's word for it, especially citing specific commits.
- kakwa_ 2mo agoMy personal experience reversing things relying mostly on Claude or other LLMs is a bit hit and miss. Sometimes it worked great, but sometimes it gets stuck. When it occurs, it kind of sucks because suddenly you have to catch up and assimilate the reverse all in one go if you want to unlock it Also, having tried my luck recently on an old scanner (Canon 9950f), a word of cautious: These devices, specially older ones, may not have built-in safety limits in their firmware. In my case, it ended-up only being a few belts rubbing a bit, but it could have been more serious. Don't let the LLM test stuff unattended, and be ready to pull the plug.