[linux-dvb] Freecom DVB-T USB Stick (25451-rev.3)

Steve Brokenshire steve at kyou.co.uk
Tue Jan 9 20:32:12 CET 2007


Hi,

(Before I start... sorry if this a bit long but hopefully someone will find 
something useful here)

Software running (on PVR):
Debian 3.1
Linux kernel 2.6.19
InitNG 0.6.7
IVTV Driver 0.9.1
VDR 1.4.4 (no patches applied, compiled under 2.6.17.11)
pvr350 VDR plugin 0.0.4pre1 (with patch applied to work properly in VDR 1.4.x 
from Gentoo CVS)
dvb-apps version dated 19/10/2006

Hardware being used (on PVR):
VIA EPIA M Motherboard
Hauppauge PVR-350 PCI card
Freecom DVB-T USB Stick* (25451-rev.3**, using the dvb-usb-wt220u-fc03.fw 
firmware file, has the ID 14aa:0226)***

* Digital only NOT Analog/Digital Hybrid version
** The previous version had a number of 25452
*** I do note that support for this DVB-T stick has appeared recently.

----

When VDR starts up (with the DVB-T stick concerned connected and firmware 
loaded), the video and audio works fine for around 60 to 90 seconds or so and 
then the video freezes and the audio disappears.  If I leave it alone for a 
few minutes this appears in dmesg:

dvb-usb: recv bulk message failed: -110
dvb-usb: recv bulk message failed: -110
dvb-usb: bulk message failed: -110 (1/0)
dvb-usb: bulk message failed: -110 (1/0)
dvb-usb: bulk message failed: -110 (1/0)
dvb-usb: bulk message failed: -110 (2/0)
dvb-usb: bulk message failed: -110 (1/0)
dvb-usb: bulk message failed: -110 (1/0)
dvb-usb: bulk message failed: -110 (1/0)
dvb-usb: bulk message failed: -110 (3/0)
dvb-usb: bulk message failed: -110 (1/0)
dvb-usb: bulk message failed: -110 (1/0)
dvb-usb: bulk message failed: -110 (1/0)
dvb-usb: bulk message failed: -110 (1/0)
dvb-usb: bulk message failed: -110 (1/0)
dvb-usb: bulk message failed: -110 (1/0)
dvb-usb: bulk message failed: -110 (2/0)
... (goes on for a while) ...

When I change channels (after doing the above), the same messages as above 
appear. To get it working again, I have to kill VDR and unplug and plug the 
DVB-T stick back in and restart VDR for it to work again.

When I change channels (straight away upon VDR starting up) this appears in 
dmesg:

dvb-usb: recv bulk message failed: -110
dvb-usb: recv bulk message failed: -110
dvb-usb: recv bulk message failed: -110
dvb-usb: recv bulk message failed: -110
dvb-usb: recv bulk message failed: -110
dvb-usb: recv bulk message failed: -110
dvb-usb: recv bulk message failed: -110
dvb-usb: recv bulk message failed: -110
dvb-usb: recv bulk message failed: -110
dvb-usb: recv bulk message failed: -110
dvb-usb: recv bulk message failed: -110
dvb-usb: recv bulk message failed: -110
... (goes on for a while) ...

VDR becomes unresponsive for around a minute or so and when it does become 
(eventually) responsive again, I get video and audio again sometimes from a 
couple of seconds to a couple of minutes, and the cycle repeats with video 
freezing and no audio and more 'dvb-usb: recv bulk message failed: -110' 
messages appearing in dmesg.

In both cases (only one or twice), -110 is replaced with -75.

When I go into the /dev/dvb directory, there's two adapters (adapter0 and 
adapter1) which belong to the DVB-T stick and are registered in dmesg:

usb 4-1: new high speed USB device using ehci_hcd and address 10
usb 4-1: configuration #1 chosen from 1 choice
dvb-usb: found a 'WideView WT-220U PenType Receiver (Typhoon/Freecom)' in cold 
state, will try to load a firmware
dvb-usb: downloading firmware from file 'dvb-usb-wt220u-fc03.fw'
usb 4-1: USB disconnect, address 10
dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.
usb 4-1: new high speed USB device using ehci_hcd and address 11
usb 4-1: configuration #1 chosen from 1 choice
dvb-usb: found a 'WideView WT-220U PenType Receiver (Typhoon/Freecom)' in warm 
state.
dvb-usb: will use the device's hardware PID filter (table count: 15).
DVB: registering new adapter (WideView WT-220U PenType Receiver 
(Typhoon/Freecom)).
DVB: registering frontend 0 (WideView USB DVB-T)...
input: IR-receiver inside an USB DVB receiver as /class/input/input9
dvb-usb: schedule remote query interval to 300 msecs.
dvb-usb: WideView WT-220U PenType Receiver (Typhoon/Freecom) successfully 
initialized and connected.
dvb-usb: found a 'WideView WT-220U PenType Receiver (Typhoon/Freecom)' in warm 
state.
dvb-usb: will use the device's hardware PID filter (table count: 15).
DVB: registering new adapter (WideView WT-220U PenType Receiver 
(Typhoon/Freecom)).
DVB: registering frontend 1 (WideView USB DVB-T)...
input: IR-receiver inside an USB DVB receiver as /class/input/input10
dvb-usb: schedule remote query interval to 300 msecs.
dvb-usb: WideView WT-220U PenType Receiver (Typhoon/Freecom) successfully 
initialized and connected.
dvb-usb: recv bulk message failed: -110

I can bodge it, it works some of the time but the 'recv bulk message 
failed: -110' does appear when the video freezes and the audio disappears. 
This can be done by removing one of the adapter directories in /dev/dvb so 
that VDR will only use one of the adapters

Is it correct that this device (Digital only not Digital/Analog hybrid) should 
have two adapters? Considering I paid around £30 (which sounds cheap to me), 
it just sounds a little too good to be true to me. ;)

----

To make sure it isn't a problem with VDR itself, I preformed some commands on 
both adapters: 

tzap -a0 -r -S "BBC ONE" > /dev/null &
ts2ps /dev/dvb/adapter0/dvr0 0 0 > /dev/video16

Video appears and audio is heard on the TV. After killing ts2ps and tzap, I 
try the other adapter using the commands below:

tzap -a1 -r -S "BBC ONE" > /dev/null &
ts2ps /dev/dvb/adapter1/dvr0 0 0 > /dev/video16

Again, video appears and audio is heard on the TV (I then kill ts2ps and 
tzap). However, if I tzap both adapters and use ts2ps on one of the adapters 
nothing appears on the TV screen using the commands below:

tzap -a0 -r -S "BBC ONE" > /dev/null &
tzap -a1 -r -S "ITV1" > /dev/null &
ts2ps /dev/dvb/adapter0/dvr0 0 0 > /dev/video16

After killing both tzaps and ts2ps, I tzap the first one and ts2ps it 
into /pvr/test/BBCONE.mpg:

tzap -a0 -r -S "BBC ONE" > /dev/null &
ts2ps /dev/dvb/adapter0/dvr0 > /pvr/test/BBCONE.mpg &

When I do ls -l twice the file size increases: 

-rw-r--r--  1 root root 2086876 2007-01-09 14:52 BBCONE.mpg

-rw-r--r--  1 root root 3829326 2007-01-09 14:52 BBCONE.mpg

Now, when I do this:

tzap -a1 -r -S "ITV1" > /dev/null &

and do ls -l again twice the file size does not increase as it has stopped 
writing since the tzap for the second adapter was started:

-rw-r--r--  1 root root 38865603 2007-01-09 14:53 BBCONE.mpg

-rw-r--r--  1 root root 38865603 2007-01-09 14:53 BBCONE.mpg

When I do ts2ps on the second adapter (adapter1), the data 
from /dev/dvb/adapter1/dvr0 is written into /pvr/test/ITV1.mpg

ts2ps /dev/dvb/adapter1/dvr0 0 0 > /pvr/test/ITV1.mpg &

After I've killed both tzaps and ts2ps processes, I pipe the BBCONE.mpg file 
into /dev/video16 and that plays fine until the point where I had entered the 
second tzap command (which is where the video ends). However, when I pipe the 
ITV1.mpg file into /dev/video16 nothing appears on the screen, so I transfer 
the file to my PC and play it on there. What I get is a garbled picture 
(picture, parts of it out of place and parts of the video frames having MPEG 
artifacts on it).

In theory, if I tzap both adapters at the same time and save the data from 
both, both should be writing data at the same time or am I wrong on that?

I think what's going on with VDR is that it's using the second adapter to get 
EPG data but currently it doesn't work on the DVB-T stick (as it can't seem 
to use two adapters at the same time) I'm using and so causes the video and 
audio to stop (like the BBCONE.mpg file has).

----

Finally, if I reboot my PVR when a load of 'recv bulk message failed: -110' 
messages have appeared (not switch off and turn on but reboot) leaving the 
DVB-T stick in a warm state, when I log into the PVR I sometimes get a kernel 
oops in dmesg like the one below (partial dmesg output follows as this message 
is somewhat big enough already, please ask for full dmesg output):

usb 4-1: new high speed USB device using ehci_hcd and address 2
dvb-usb: bulk message failed: -71 (1/1)
dvb-usb: bulk message failed: -71 (1/1)
usb 4-1: configuration #1 chosen from 1 choice
dvb-usb: found a 'WideView WT-220U PenType Receiver (Typhoon/Freecom)' in warm 
state.
dvb-usb: will use the device's hardware PID filter (table count: 15).
DVB: registering new adapter (WideView WT-220U PenType Receiver 
(Typhoon/Freecom)).
DVB: registering frontend 1 (WideView USB DVB-T)...
input: IR-receiver inside an USB DVB receiver as /class/input/input2
dvb-usb: schedule remote query interval to 300 msecs.
dvb-usb: WideView WT-220U PenType Receiver (Typhoon/Freecom) successfully 
initialized and connected.
dvb-usb: bulk message failed: -71 (1/1)
dvb-usb: found a 'WideView WT-220U PenType Receiver (Typhoon/Freecom)' in warm 
state.
dvb-usb: will use the device's hardware PID filter (table count: 15).
DVB: registering new adapter (WideView WT-220U PenType Receiver 
(Typhoon/Freecom)).
DVB: registering frontend 2 (WideView USB DVB-T)...
input: IR-receiver inside an USB DVB receiver as /class/input/input3
dvb-usb: schedule remote query interval to 300 msecs.
dvb-usb: WideView WT-220U PenType Receiver (Typhoon/Freecom) successfully 
initialized and connected.
hub 4-0:1.0: over-current change on port 5
usb 1-1: USB disconnect, address 2
dvb-usb: recv bulk message failed: -110
dvb-usb: bulk message failed: -22 (1/-1072529693)
dvb-usb: WideView WT-220U PenType Receiver (Typhoon/Freecom) successfully 
deinitialized and disconnected.
dvb-usb: recv bulk message failed: -110
usbcore: registered new interface driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
dvb-usb: recv bulk message failed: -110
BUG: unable to handle kernel paging request at virtual address 694c202c
 printing eip:
694c202c
*pde = 00000000
Oops: 0000 [#1]
PREEMPT
Modules linked in: usbhid ehci_hcd cx8800 cx88xx bttv video_buf ir_common 
compat_ioctl32 btcx_risc lirc_i2c lirc_dev ivtv_fb msp3400 saa7127 saa7115 
tuner dvb_usb_dtt200u dvb_usb dvb_core dvb_pll ivtv cx2341x tveeprom videodev 
v4l1_compat v4l2_common uhci_hcd ohci1394 ieee1394 parport_pc parport usbcore
CPU:    0
EIP:    0060:[<694c202c>]    Not tainted VLI
EFLAGS: 00010246   (2.6.19 #2)
EIP is at 0x694c202c
eax: c1929f28   ebx: f7ae6000   ecx: f7ae6fa8   edx: c18f53a8
esi: c18f53a0   edi: f7ae6fa4   ebp: f7ae6000   esp: c1929f14
ds: 007b   es: 007b   ss: 0068
Process events/0 (pid: 3, ti=c1928000 task=c1910030 task.ti=c1928000)
Stack: f899747e f7ae6000 c1929f28 c1929f2c 00000296 c18f53a0 f6170fa4 00000296
       c0124a44 f7ae6000 00000005 f7ac2550 f8997450 c18f53a0 c18f53a0 c1929f84
       fffffffc c0124bd7 c18f53a0 c1929f70 00000000 ffffffff ffffffff 00000001
Call Trace:
 [<f899747e>] dvb_usb_read_remote_control+0x2e/0xf7 [dvb_usb]
 [<c0124a44>] run_workqueue+0x99/0xf2
 [<f8997450>] dvb_usb_read_remote_control+0x0/0xf7 [dvb_usb]
 [<c0124bd7>] worker_thread+0x13a/0x169
 [<c01122cd>] default_wake_function+0x0/0x12
 [<c01122cd>] default_wake_function+0x0/0x12
 [<c0124a9d>] worker_thread+0x0/0x169
 [<c0127aba>] kthread+0x8d/0xb2
 [<c0127a2d>] kthread+0x0/0xb2
 [<c0103227>] kernel_thread_helper+0x7/0x10
 =======================
Code:  Bad EIP value.
EIP: [<694c202c>] 0x694c202c SS:ESP 0068:c1929f14

This doesn't happen when I take the DVB-T stick out, reboot, and put the DVB-T 
stick back in (thus putting the DVB-T stick in a cold state).

----

Anyone else having problems that I'm having? Any suggestions and ideas (any 
other tests I should do?) are appreciated. 

Thanks,
Steve



More information about the linux-dvb mailing list