# rtlsdr-pure
Pure Rust implementation of librtlsdr, using `nusb` for native USB and
browser WebUSB access.
<https://github.com/ThomasHabets/rtlsdr-pure>
## Purpose
Makes it easier and cleaner to access RTL SDR from the browser.
## Status
Vibe coded test. The LLM took more than a sneak peak at
<https://github.com/osmocom/rtl-sdr/>, so this is a derived work of that, with
the same GPL license.
## If claiming the interface fails in the browser
The browser console may report a `NetworkError` from WebUSB's
`claimInterface` operation.
Then the kernel may have claimed it for the DVB driver. You can either unload
the DVB kernel modules (if they're modules), or just tell the driver to unbind
it.
You can find the device path with:
```
$ lsusb -t
Bus 001.[…]
|__ Port 003: Dev 061, If 0, Class=Vendor Specific Class, Driver=dvb_usb_rtl28xxu, 480M
```
The format is `<bus-port>:<config>.<interface>`.
```