Reviving old scanners with an in-browser Linux VM bridged to WebUSB over USB/IP
AIThis post was created with the assistance of artificial intelligence (AI).

TL;DR

FOR BUSINESS

Open a free Amazon Business account

Business pricing, bulk buying and tax-exempt orders.

Create a free account

As an affiliate, we earn on qualifying purchases.

A new web app enables users to operate old USB scanners through a browser by running an in-browser Linux VM with WebUSB bridging. The project leverages emulation and USB/IP technology, opening new possibilities for legacy hardware.

A developer has created a web-based solution that enables old USB scanners to be used directly in the browser by running an in-browser Linux virtual machine bridged to WebUSB over USB/IP, potentially reviving legacy hardware without native support.

The project utilizes the v86 x86 emulator to run a lightweight Alpine Linux with SANE (Scanner Access Now Easy) installed, enabling scanner control within the browser. The setup involves a custom C program that interfaces with the scanner, streams scan data, and communicates with the browser via JavaScript modules. USB/IP, running on the host machine, packages USB data into TCP packets, which are then bridged to the browser using WebUSB API, effectively allowing the scanner to connect as if directly attached to the computer. The demonstration was tested on a Canon CanoScan LiDE 100, with claims it should work on hundreds of other scanner models from various manufacturers.

Why It Matters

This development could significantly extend the lifespan and usability of vintage USB scanners that are no longer supported by modern operating systems. It offers a portable, browser-based solution that eliminates the need for legacy hardware drivers or virtual machines running on the host OS, making it accessible from any device with a web browser. This approach also demonstrates innovative use of web technologies, emulation, and hardware bridging, potentially influencing future hardware support strategies.

Amazon

USB scanner compatible with Linux

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Background

Legacy USB peripherals, especially scanners, often become unusable as operating systems evolve and driver support is dropped. Previously, users relied on outdated OS or complex setups to access such hardware. The project builds on prior work with in-browser emulation (v86) and USB/IP, integrating them into a seamless web application. The developer, George MacKerron, previously developed printer intervention apps, and this project extends that concept to scanners by combining emulation, network bridging, and WebUSB APIs.

“The core idea was to emulate a Linux environment running SANE in the browser, then bridge the scanner over USB/IP and WebUSB, making old hardware accessible without native drivers.”

— George MacKerron

“The custom C program and JavaScript modules facilitate communication between the emulated environment and the browser, enabling real-time scanner operation.”

— Claude (contributor)

What Remains Unclear

It is not yet clear how well the solution performs across different scanner models, or how stable and secure the system remains under prolonged use. The project has only been tested on one scanner model so far, and broader compatibility or potential limitations are still to be evaluated. Additionally, the open-source status of the code remains limited, with parts not yet publicly available.

What’s Next

The developer plans to test the app with additional scanner models and improve compatibility. Future steps include open-sourcing more components of the project, gathering user feedback, and exploring broader hardware support. Further development may also focus on refining performance, security, and ease of setup.

Key Questions

Can this web app work with any USB scanner?

The app has been tested only on a Canon CanoScan LiDE 100, but the developer claims it should work with hundreds of other models from various manufacturers. Compatibility is not yet fully confirmed across all devices.

Do I need technical expertise to set this up?

Some technical knowledge is required, particularly in running the setup and understanding how to connect the emulated environment. The project is still in experimental stages and not yet a plug-and-play solution.

Is the code open source?

As of now, the developer has not open-sourced all parts of the project, citing ongoing development and privacy considerations. Future plans may include releasing more components publicly.

Will this solution improve over time?

Yes, the developer intends to expand device support, improve stability, and streamline the setup process based on user feedback and further testing.

Source: Hacker News

NFL SEASON / TAI

NFL season / tailgating Picks

As an affiliate, we earn on qualifying purchases.

You May Also Like

Microsoft is retiring Copilot Mode on Edge, because everything is Copilot Mode now

Microsoft is discontinuing Copilot Mode on Edge, integrating its features directly into the browser for desktop and mobile, making dedicated mode obsolete.

Colonel Sanders Through the Eyes of Actors

Keen to uncover how actors like Darrell Hammond and Reba McEntire reimagined Colonel Sanders with humor and charm?

Apparently Google hates us now

Users report significant issues with Google services, raising questions about the company’s current stance and future reliability.

The Nordics: Protect the Worker, Not the Job

Exploring how Nordic countries prioritize worker security over job preservation, enabling smoother transitions amid automation and economic change.