Nov 6, 2012

Realtek RTL2832U DVB-T on Ubuntu 12.10 (Quantal)

Some of you might notice the kernel 3.5.x in Ubuntu 12.10 breaks the driver codes of RTL2832U that works on Ubuntu 12.04.  Tried several alternatives found on the net but all came back in no avail.  Luckily I found the driver for USB ID 1d19:1101 was in kernel 3.7-rc4. With minor code modification, my DVB-T dongle works again!

$ lsusb -v | grep "ID.*DVB"

Bus 002 Device 004: ID 1d19:1102 Dexatek Technology Ltd. DK mini DVB-T Dongle

Where 0x1d19 is the vendor ID, and 0x1102 is the product ID.


 Download and extract the kernel source:

$ wget http://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-3.7-rc4.tar.bz2
$ tar xfj linux-3.7-rc4.tar.bz2

Replace the URL and the filename above if newer version is available by visiting kernel.org.

Change the source code at drivers/media/usb/dvb-usb-v2/rtl28xxu.c with our product ID (0x1102 in this case).

from
{ DVB_USB_DEVICE(USB_VID_DEXATEK, 0x1101,

to
{ DVB_USB_DEVICE(USB_VID_DEXATEK, 0x1102,


To compile the kernel, a kernel configuration file is needed.  Download mine at http://dl.dropbox.com/u/76023930/kernel-3.7.0-rc4.config and save as .config in the top-level folder of the kernel source.

Recompile and install the kernel, then reboot the machine. (The kernel compilation takes like 80 minutes on my i5 2.3GHz CPU.)

$ make
$ sudo make modules_install
$ sudo make install
$ sudo reboot


dmesg output:

$ dmesg|grep DVB
[    6.310132] usb 2-1.1: Product: Rtl2832UDVB
[   31.747812] usb 2-1.1: dvb_usb_v2: found a 'Dexatek DK DVB-T Dongle' in warm state
[   31.795283] DVB: registering new adapter (Dexatek DK DVB-T Dongle)
[   32.321089] usb 2-1.1: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))...
[   32.630126] input: Dexatek DK DVB-T Dongle as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/rc/rc0/input7
[   32.630182] rc0: Dexatek DK DVB-T Dongle as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/rc/rc0
[   32.641710] usb 2-1.1: dvb_usb_v2: 'Dexatek DK DVB-T Dongle' successfully initialized and connected



$ uname -a
Linux buffalo 3.7.0-rc4 #2 SMP Mon Nov 5 23:03:56 CST 2012 i686 i686 i686 GNU/Linux



Watching HDTV on Ubuntu 12.10