[linux-dvb] New Leadtek Winfast DTV Dongle support investigation

simfu at free.fr simfu at free.fr
Wed Dec 26 18:25:32 CET 2007

Here is the state of my investigation to get the second revision of the Leadtek
Winfast DTV Dongle (usb id 6f01) supported.

The tuner can receive streams as the first revision did. The driver just needs
to know the new usb id.

The current problem is about the remote controller, several previous posts
report that the driver can only handle the first keypress, then you have to
unplug/replug the dongle if you want to handle one more key press.

A previous post
(http://www.linuxtv.org/pipermail/linux-dvb/2007-November/021836.html) tells
that this remote controller uses the NEC ir protocol. There is a patch for this
but it is not in the main sources (http://www.grunau.be/dib0700_rc_query.diff).

If you use this patch and modprobe with the dvb_usb_dib0700_ir_proto=0 param (is
there any way to use this option by default for this card ?), you can see in
dmesg that several keypressed can be handled. I had the keycodes in
dib0700_devices.c to stop the logs in dmesg and transmits the events to the

But there is still one problem : once you pressed a key, the driver continiously
receive a remote control query (a call to the function dib0700_rc_query). In
this function, the NEC ir protocol patch specify that the key[3-0] state of the
query (filled with a call to the function dib0700_ctrl_rd) have to change (which
i suppose means that a key is pressed) to transmit the event to the kernel. But
for me, most of the time, this state never change and stay at Oxff (some times
and for some keys, it turns to 0x00 and the event is transmitted to the kernel.
Can someone confirm this behaviour ?)

The only solution i found is to had a variable that store the last pressed key
and allow to transmit the event to the kernel only if the pressed key has
changed. So the event will not be transmitted if the same key is pressed several

So for now, the driver can handle several key press, but most of the time not
the same key consecutively.

I attach the patch i use that includes all the modifications (usb id
recognition, nec ir protocol patch, and the "last pressed key" stuff).

-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.diff
Type: text/x-patch
Size: 5896 bytes
Desc: not available
Url : http://www.linuxtv.org/pipermail/linux-dvb/attachments/20071226/a91f3559/attachment-0001.bin 

More information about the linux-dvb mailing list