Driver for the D-Link DSB R-100 USB Radio

Linux Driver for the D-Link DSB R-100 USB Radio

This driver requires both video4linux (part of the standard kernel distribution 2.2.x and 2.4.x) and a fairly recent version of the Linux USB stack (part of the standard kernel distribution 2.4.x). Otherwise, it's a bit on the rough side, but should work pretty well with all tuners using the video4linux interface (most do these days).

Help yourself: dsbr100-0.24.tar.gz (already grown to 10k:-)

This module is part of the 2.4 series of kernels (and actually appeared in the backports for the 2.2 kernels), so chances are you won't need it.

There is a known bug in there that prevents you from plugging in more than one radio (actually, you can plug in more than one, but only one will work). This is in the process of being resolved, but there is an issue with v4l oopsing that needs to be fixed before we can actually include the patch.

Shigeru Moriwake sent in a patch to accomodate the Japanese frequency range. We're looking into auto-sensing this, but for the time being Japanese users should apply this patch:

+++ dsbr100.c Sat Feb 10 04:30:23 2001
@@ -142,11 +142,7 @@

 static int dsbr100_setfreq(usb_dsbr100 *radio, int freq)
-#ifdef CONFIG_JP_TEA5759
-        freq = (freq/16*80)/1000-856;
  freq = (freq/16*80)/1000+856;
  if (usb_control_msg(radio->dev, usb_rcvctrlpipe(radio->dev, 0),
   0x01, 0xC0, (freq>>8)&0x00ff, freq&0xff,
   radio->transfer_buffer, 8, 300)<0 ||
@@ -227,13 +223,8 @@
     return -EFAULT;
    if(v.tuner) /* Only 1 tuner */
     return -EINVAL;
-#ifdef CONFIG_JP_TEA5759
-   v.rangelow = 76*16000;
-   v.rangehigh = 91*16000;
    v.rangelow = 87*16000;
    v.rangehigh = 108*16000;
    v.flags = VIDEO_TUNER_LOW;
    v.mode = VIDEO_MODE_AUTO;
    v.signal = radio->stereo*0x7000;

Finally, there's also a user-mode driver for this device written by Donald Becker of Ethernet fame. It doesn't allow you to use all the usual tuners, doesn't do Japanese or multiple devices either, but it works and is a nice and nifty little program. I probably would have done it the same way if usb-char-generic had been around at the time I wrote this driver. You can find it at

June 2001

Markus Demleitner

Diese Seite darf unter der GNU FDL (auch verändert) weiterverbreitet werden. Näheres in unserem Impressum.


Erzeugt am 01.07.2001