Author Topic: DVB-T / ISDB-T International + R820T  (Read 3469 times)

Offline @lex

  • Full Member
  • ***
  • Posts: 157
  • Karma: +4/-0
    • View Profile
DVB-T / ISDB-T International + R820T
« on: October 01, 2015, 10:15:43 pm »
Somehow i got a binary driver for the RTL2832U (2838) and built-in support for several tuners, my primary interest is on R820T for the device i have. This driver loads on kernel 3.4.103 and should work for DVB-T and ISDB-T and could be of interest for someone who could not find or build one.

I am still having problems with dvbv5-scan (version 1.01) and i am investigating.
If you have time and want to check if it works for your device, try it on DVB or ISDB (depends on where you are) and let me know.

The device:
Code: [Select]
Bus 002 Device 007: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T

Code: [Select]
Bus 002 Device 007: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0bda Realtek Semiconductor Corp.
  idProduct          0x2838 RTL2838 DVB-T
  bcdDevice            1.00
  iManufacturer           1 Realtek
  iProduct                2 RTL2838UHIDIR
  iSerial                 3 00000001
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          4 USB2.0-Bulk&Iso
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              5 Bulk-In, Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              5 Bulk-In, Interface
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      2
Device Status:     0x0000
  (Bus Powered)

Here is the kernel log showing it was detected:
[   16.012938] usbcore: registered new interface driver dvb_usb_rtl28xxu
[   17.904270] usbcore: registered new interface driver dvb_usb_rtl2832u
[  196.940438] dvb-usb: found a 'RTL2832U DVB-T USB DEVICE' in warm state.
[  196.948248] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[  196.955714] DVB: registering new adapter (RTL2832U DVB-T USB DEVICE)
[  197.930847] DVB: registering adapter 0 frontend 0 (Realtek DVB-T RTL2832)...
[  197.941424] input: IR-receiver inside an USB DVB receiver as /devices/platform/sw-ehci.1/usb2/2-1/2-1.1/input/input6
[  197.947317] dvb-usb: schedule remote query interval to 287 msecs.
[  197.961007] dvb-usb: RTL2832U DVB-T USB DEVICE successfully initialized and connected.

Steps to get it loaded

a) You should load the following modules, manually or editing /etc/modules and adding
dvb-usb-rtl28xxu
dvb-usb-rtl2832u

b) Kernel must be 3.4.103 and dvb-core and dvb-usb must be enabled

c) Your Modules loaded in memory would look like this
Module                  Size  Used by
disp_ump                 861  0
ppdev                   7982  0
lp                      8121  0
parport                34531  2 lp,ppdev
dvb_usb_rtl2832u      395360  0
dvb_usb_rtl28xxu       10637  0
rtl2830                 6751  1 dvb_usb_rtl28xxu
dvb_usb                17560  2 dvb_usb_rtl2832u,dvb_usb_rtl28xxu
dvb_core               92100  1 dvb_usb
rc_core                21139  2 dvb_usb_rtl28xxu,dvb_usb
sunxi_ir                3684  0
leds_sunxi              3721  0
gpio_sunxi              8910  0
sunxi_ts               20294  0
rfcomm                 58145  0
bnep                   14129  2
bluetooth             264397  10 bnep,rfcomm
sunxi_cedar_mod         9962  0
mali_drm                2608  1
drm                   208790  2 mali_drm
mali                  111115  0
ump                    51991  4 mali,disp_ump
lcd                     3778  0


d) Install the dvb-tools

The binary driver is here: https://drive.google.com/file/d/0B7A7OPBC-aN7ZWsycTZzZ0w4Nnc/view?usp=sharing

Download and decompress it to /lib/modules/3.4.103/kernel/drivers/media/dvb/dvb-usb
Boot, attach your device and see if it gets recognized.

I hope this can be useful.

Offline actkk2000

  • Hero Member
  • *****
  • Posts: 572
  • Karma: +2/-11
    • View Profile
Re: DVB-T / ISDB-T International + R820T
« Reply #1 on: October 01, 2015, 10:18:51 pm »
Thank you! :)

Offline @lex

  • Full Member
  • ***
  • Posts: 157
  • Karma: +4/-0
    • View Profile
Re: DVB-T / ISDB-T International + R820T
« Reply #2 on: October 04, 2015, 05:32:33 pm »
Here is the driver for kernel 3.4.108 !
https://drive.google.com/file/d/0B7A7OPBC-aN7WEwtempBU0JmNlU/view?usp=sharing

Decompress it to: /lib/modules/3.4.108/kernel/drivers/media/dvb/dvb-usb/
and load the module, attach the device and check dmesg.

Update:
I think this will work for danand kernel 3.4.108-sun7i+ [ 3.4.108-c ]
https://drive.google.com/file/d/0B7A7OPBC-aN7TUVTVGNPLXlQeVU/view?usp=sharing

Decompress it to: /lib/modules/3.4.108-sun7i+/kernel/drivers/media/dvb/dvb-usb/
and load the module, attach the device and check dmesg.


PS:
If you get errors while loading the module, you may need to run : depmod -a
« Last Edit: October 05, 2015, 05:58:24 pm by @lex »