Bug 183501

Summary: DVB-T card modules fail to recognise the device
Product: v4l-dvb Reporter: Jan Prunk (janprunk)
Component: dvb-usbAssignee: dvb-usb (v4l-dvb_dvb-usb)
Status: NEW ---    
Severity: normal CC: szg00000, w.pelser
Priority: P1    
Hardware: ARM   
OS: Linux   
Kernel Version: 3.10.104-1-pine64-longsleep Subsystem:
Regression: No Bisected commit-id:

Description Jan Prunk 2016-10-26 16:30:49 UTC
Hello, 

I tried to compile the v4l-dvb (DVB-T) drivers for PINE64 (ARM64 running Debian jessie with custom kernel 3.10.104-1-pine64-longsleep #103). Currently the PINE64 kernel is still at 3.10 kernel, because of the SoC compatibility. I did follow the manual explanation for ubuntu at https://help.ubuntu.com/community/DVB-T_%28USB%29

PINE64 board specifications are:
http://linux-sunxi.org/Pine64
- SoC	A64 @ 1152MHz
- DRAM	2GiB DDR3L @ 672MHz 
- USB   2 x USB 2.0
- HDMI port
My storage is on a 64 GB micro-SD card.

The DVB-T USB dongle is a "RTL-SDR Blog R820T2 RTL2832U 1PPM TCXO SMA Software Defined Radio" from
http://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/

After I compiled all drivers, I tried to load them with modprobe (I also tried to optionally rmmod all the other ir_* modules, which might be interfering) :
# modprobe rtl2832
# modprobe dvb_usb_rtl28xxu

# dmesg report is:

[59570.134994] usbcore: registered new interface driver dvb_usb_rtl28xxu
[59995.218466] lirc_dev: module unloaded
[60052.126759] usbcore: deregistering interface driver dvb_usb_rtl28xxu
[60070.533355] usb 1-1: dvb_usb_v2: found a 'Realtek RTL2832U reference design' in warm state
[60070.598372] usb 1-1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[60070.608807] dvbdev: DVB: registering new adapter (Realtek RTL2832U reference design)
[60070.621918] rtl2832 2-0010: Range 0: selector for 0 in window
[60070.628377] rtl2832: probe of 2-0010 failed with error -22
[60070.644011] usbcore: registered new interface driver dvb_usb_rtl28xxu
[60249.342718] usbcore: deregistering interface driver dvb_usb_rtl28xxu
[60304.611609] WARNING: You are using an experimental version of the media stack.
        As the driver is backported to an older kernel, it doesn't offer
        enough quality for its usage in production.
        Use it with care.
Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
        bd676c0c04ec94bd830b9192e2c33f2c4532278d [media] v4l2-flash-led-class: remove a now unused var
        079933dbcb02132cc48ba052882fe0a9e3b0b762 [media] v4l: flash led class: Fix of_node release in probe() error path
        c762ff1f7e3b09293c22ce62135ef550c1b3327c [media] coda: fix the error path in coda_probe()
[60304.702195] dvb_usb_rtl28xxu: `' invalid for parameter `rtl2832'
[60364.122409] usb 1-1: dvb_usb_v2: found a 'Realtek RTL2832U reference design' in warm state
[60364.192481] usb 1-1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[60364.209402] dvbdev: DVB: registering new adapter (Realtek RTL2832U reference design)
[60364.228000] rtl2832 2-0010: Range 0: selector for 0 in window
[60364.240827] rtl2832: probe of 2-0010 failed with error -22
[60364.262389] usbcore: registered new interface driver dvb_usb_rtl28xxu
[60681.746137] ehci_irq: highspeed device disconnect
[60681.756537] usb 1-1: USB disconnect, device number 3
[60688.754716] ehci_irq: highspeed device connect
[60688.981979] usb 2-1: new high-speed USB device number 2 using sunxi-ehci
[60689.158238] usb 2-1: dvb_usb_v2: found a 'Realtek RTL2832U reference design' in warm state
[60689.228550] usb 2-1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[60689.244639] dvbdev: DVB: registering new adapter (Realtek RTL2832U reference design)
[60689.262071] rtl2832 2-0010: Range 0: selector for 0 in window
[60689.274417] rtl2832: probe of 2-0010 failed with error -22

# lsusb -v
Bus 002 Device 002: 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)

# lsmod
Module                  Size  Used by
dvb_usb_rtl28xxu       25651  0 
rtl2832                17781  0 
dvb_usb_v2             17915  1 dvb_usb_rtl28xxu
dvb_core               90288  2 rtl2832,dvb_usb_v2
w1_gpio                12739  0 
wire                   23744  1 w1_gpio
cedar_ve               17368  0 
ss                     33083  0 
mali                  199851  0 
8723bs               1365012  0 
cfg80211              374207  1 8723bs

The end result is that the DVB-T device doesn't get successfully recognised, it has also failed running w_scan and exits with
 the error main:3916: FATAL: ***** NO USEABLE TERRESTRIAL CARD FOUND. *****

Kind regards, 
Jan Prunk
Comment 1 Walther Pelser 2016-12-12 14:59:33 UTC
Same problem described in:
https://bugzilla.kernel.org/show_bug.cgi?id=109521
with 'WideView WT-220U PenType Receiver (Typhoon/Freecom)', but with another kernel (Linux version 4.9.0-rc5-1.g8930e43-default (geeko@buildhost)).
Maybe there is a connection?