Reviving old scanners with an in-browser Linux VM bridged to WebUSB over USB/IP

TL;DR

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.

WoneNice USB Laser Barcode Scanner Wired Handheld Bar Code Scanner Reader Black

WoneNice USB Laser Barcode Scanner Wired Handheld Bar Code Scanner Reader Black

Plug and play, This laser handheld barcode scanner has simple installation with any USB port and Ideal for…

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)

Nexiq USB Link 3 Diagnostic Scanner Tool Interface Wired Edition with Repair Information Easy to Use for Universal Truck Excavator Diesel Engine Diagnostic Scanner Tool (All-Software+SSD)

❗❗❗One-year warranty

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

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.

Maintenance Kit for Panini Scanners (One Set)

Maintenance Kit for Panini Scanners (One Set)

This kit contains one Panini Cleaning Card, one Panini Ink Cleaning Wipe and one Panini Swab

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

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.

Eyoyo EYH2 Handheld USB 2D Barcode Scanner, Wired Automatic QR Code Scanner PDF417 Data Matrix Bar Code Reader with Long USB Cable for POS Mobile Payment, Convenience Store, Supermarket, Warehouse

Eyoyo EYH2 Handheld USB 2D Barcode Scanner, Wired Automatic QR Code Scanner PDF417 Data Matrix Bar Code Reader with Long USB Cable for POS Mobile Payment, Convenience Store, Supermarket, Warehouse

Continuous Usage All Day: The EY-H2 USB barcode scanner is designed to always be ready for the next…

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

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

You May Also Like

Honda’s hybrid future starts with new Accord and RDX prototypes

Honda reveals prototypes of new hybrid Accord and RDX models, signaling a strategic shift towards hybrid vehicles amid EV investment reevaluation.

Modder uses Nintendo Switch to boost aging 3D printer’s speed by 90%, dropping 3DBenchy print time from 90 minutes to a mere 8 minutes and 41 seconds — enthusiast claims big quality improvements by using jailbroken quad-core console

A hobbyist uses a jailbroken Nintendo Switch to run Klipper firmware on a Prusa MK3S, reducing print time from 90 minutes to under 9 minutes.

Android’s latest AI feature predicts what you’ll do next

Google is rolling out a new AI feature on Android that predicts user actions based on habits and location, now available on Pixel 10 devices.

Jarred tried rewriting Bun in Rust and it passes 99.8% of the existing test suite we’re not being ambitious enough

Jarred’s effort to rewrite Bun in Rust successfully passes 99.8% of its test suite, signaling significant progress in performance and stability.