15 comments

  • hexmiles3 minutes ago
    I know that it is a heavyweight solution, but it could be useful for some situations with old driver/devices/applications. I have some old hardware that is compatible only with pre-WinNT OS, and I could do something similar to provide a simple solution for the end user.
  • morpheuskafka3 hours ago
    If you are using an LLM, wouldn't it have been a lot easier to just have the LLM find the relevant CUPS driver decompile or just capture the USB traffic, and rewrite it in Go or something native? (No need to deal with the system printing framework, the goal was just an app that accepts JPEG input.)
    • gmac3 hours ago
      Interesting suggestion: I guess that would have been possible. On the other hand I think this is a more general solution, and it does minimal reinventing-the-wheel.
    • dolmen3 hours ago
      Or ask the agent to write a Dockerfile (to abstract the build environment) that builds CUPS and all your stuff around it directl in WASM, instead of targeting x86 and then emulating x86 with WASM.
      • jojomodding2 hours ago
        Is there a Docker-to-WASM pipeline, and how does it do anything differently from emulating x86?
    • huflungdung2 hours ago
      [dead]
  • ale4221 minutes ago
    I'm using an ancient Canon Selphy photo printer... on Windows 11 without any issues. Using the Windows 7 64-bit driver, worked basically out-of-the-box. It's definitely not officially supported, but to date it works totally fine.
    • gmac18 minutes ago
      Huh, interesting. Is the driver built in to Windows, downloaded from Canon, or acquired some other way?<p>TBH the web app story on Windows isn’t ideal anyway because you have to install Zadig before it will work.
  • PunchyHamster14 minutes ago
    Doesn&#x27;t Apple outright uses CUPS in the first place ? Did they just removed old drivers in their version ?
  • Gabrys11 hour ago
    &gt; I must apologise that I haven’t so far open-sourced any part of this that I don’t have to. Mainly that’s because I think this would be an awesomely sticky web property for a printer consumables firm to integrate with their sales site. And I’d much prefer it if they paid me to white-label it for them, rather than just forking a repo and getting it all for free.<p>They might be interested if they cared at all about the ease of use of their printers
    • jeroenhd25 minutes ago
      These printer makers have the source code and the ability to write firmware. If they wanted to support WebUSB, they could and would.
    • kube-system1 hour ago
      They are referring to aftermarket ink cartridge companies, not the printer OEM.
  • bityard2 hours ago
    Okay, this is reasonably genius. I have quite a few USB devices lying around that are either old enough or were niche enough that they don&#x27;t work on modern _anything_, even Linux. One of them is a GameBoy Advance flash cartridge.
    • yjftsjthsd-h2 hours ago
      Oh, there&#x27;s a thought - v86 supports lots of old DOS&#x2F;Windows versions too, so assuming you could get the right port through (probably easy with anything USB, maybe possible with other things?) you could probably use your choice of old drivers:)
  • juancn3 hours ago
    Thank you, loved this and it made me &quot;duh!&quot;.<p>I have an old-ish Samsung laser printer that works perfectly and a Linux file server at home and the printer no longer supports AirPrint.<p>I never thought about using the Linux box as an AirPrint server! This will free me from all the odd print requests from my kids! (probably)
    • asteroidburger1 hour ago
      It’ll work great if you can get the drivers all aligned properly. I’ve tried a few times to get my 12 year old Brother laser setup like that, and each time I end up throwing in the towel.<p>Maybe I’ll try it again someday with an LLM assisting.
    • mikepurvis2 hours ago
      I have a Samsung ML-1740 kicking around still that I just can&#x27;t bear to part with; I&#x27;ve been meaning forever to RasPi-ify it, but it&#x27;s one of those projects that feels like it&#x27;s going to end up being a rabbit hole.
      • HeyMeco23 minutes ago
        ML-1740 is supported by the driver available here: <a href="https:&#x2F;&#x2F;www.bchemnet.com&#x2F;suldr&#x2F;index.html" rel="nofollow">https:&#x2F;&#x2F;www.bchemnet.com&#x2F;suldr&#x2F;index.html</a> Works on my arm64 sbc as a cups printer for another samsung printer
  • SoftTalker2 hours ago
    I have an old Epson MX80 dot-matrix printer in the closet, have thought about getting a Raspberry Pi and setting that up so we can wirelessly print to it. But... who would really want that?
    • mrighele2 hours ago
      For a printer like an Epson MX80 an esp32 should be enough to share the printer on a raw TCP interface (AppSocket I think the protocol is named) on port 9100. It is supported by Windows and CUPS.<p>Very easy implementation as it essentially it just forwards the data to the printer. Since it&#x27;s a raw interface you need the proper driver, but luckily Epson provides a Windows 10 driver for the Epson MX-80 (!) [1] CUPS doesn&#x27;t have driver for the MX-80 but it has a number of generic Epson drivers and my guess is that one of those will work.<p>The most difficult part is probably the parallel interface (unless you have a printer with a serial interface in which case it will be much easier)<p>[1] <a href="https:&#x2F;&#x2F;epson.com&#x2F;Support&#x2F;Printers&#x2F;Impact-Printers&#x2F;MX-Series&#x2F;Epson-MX-80&#x2F;s&#x2F;SPT_M80?review-filter=Windows+10+64-bit" rel="nofollow">https:&#x2F;&#x2F;epson.com&#x2F;Support&#x2F;Printers&#x2F;Impact-Printers&#x2F;MX-Series...</a>
  • hahn-kev3 hours ago
    This is pretty cool! Thanks for sharing.
  • monocasa2 hours ago
    Isn&#x27;t cups a de facto apple project? What&#x27;s the VM getting you?
    • yjftsjthsd-h2 hours ago
      The gutenprint drivers to support the specific printer don&#x27;t support darwin
      • monocasa2 hours ago
        Gutenprint supports macos as a first class citizen, including this particular printer AFAICT.
        • gmac2 hours ago
          From the Gutenprint home page, <a href="https:&#x2F;&#x2F;gimp-print.sourceforge.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;gimp-print.sourceforge.io&#x2F;</a>:<p>As of July 7, 2024 the Gutenprint project has formally deprecated MacOS support. This means that no further MacOS-compatible binaries will be produced.<p>Gutenprint has not had an active MacOS maintainer for over three years, and the remaining developers lack the technical ability to produce MacOS binaries, much less undertake the substantial amount of work necessary to produce, test, and support binaries on newer (post-Mojave&#x2F;10.14) MacOS releases.
          • monocasa2 hours ago
            It looks like it&#x27;s just because they had no way to test, and bandwidth to deal with it. But should still mostly work, once whatever issue (that sounds like app notrization) is fixed.<p>It seems like the better option would have been to fix whatever was blocking them just two years ago, rather than this wild rube goldberg machine of a Linux VM emulated in a browser tab.
            • gmac1 hour ago
              I mean, anyone is welcome to do just that! But I guess coding Rube Goldberg machines in JS (to push the boundaries of the web) is a thing I really kind of enjoy.
    • merb2 hours ago
      No. Most cups changes nowadays happen in <a href="https:&#x2F;&#x2F;github.com&#x2F;openprinting&#x2F;cups?tab=readme-ov-file" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;openprinting&#x2F;cups?tab=readme-ov-file</a><p>See here for the details: <a href="https:&#x2F;&#x2F;openprinting.github.io&#x2F;achievements&#x2F;#cups-upstream-home-is-openprinting-now" rel="nofollow">https:&#x2F;&#x2F;openprinting.github.io&#x2F;achievements&#x2F;#cups-upstream-h...</a>
      • monocasa2 hours ago
        Oh, OK, new information, thanks!<p>But this driver is older than OpenPrinting&#x27;s fork from Apple CUPS.
  • DeathArrow2 hours ago
    I would have asked Claude to write a driver. But this works, too. :)
  • leptons2 hours ago
    Too bad Apple is still preventing the WebUSB spec from being standardized. They won&#x27;t even make suggestions to get it through committee because WebUSB might cut into their native app store.
    • davsti41 hour ago
      From: <a href="https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;API&#x2F;WebUSB_API" rel="nofollow">https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;API&#x2F;WebUSB_API</a> &quot;WebUSB provides a way for these non-standardized USB device services to be exposed to the web. This means that hardware manufacturers will be able to provide a way for their device to be accessed from the web, without having to provide their own API.&quot;<p>That doesn&#x27;t sound secure at all!
      • monocasa58 minutes ago
        Which is why Firefox doesn&#x27;t support it either.
    • cosmic_cheese1 hour ago
      Mozilla doesn’t want it either.
  • randusername1 hour ago
    what the heck we&#x27;re not in web 1.0 anymore are we
  • hulitu3 hours ago
    Another AI add.
  • redeeman3 hours ago
    surely a glorious OS like osx would not be without support for hardware that linux supports? when will it be year of osx desktop?
    • akdev1l2 hours ago
      wdym?<p>OSX has literally always been supported only on very limited hardware so how would it support anything else?
      • redeeman2 hours ago
        did you read what this is about? support for a printer people buy in stores. the kinda thing people expect working?