Terratec Cinergy HTC Stick, drxk: SCU_RESULT_INVPAR

2012-04-04 Thread wiekaltheut
Hi,

I'm trying to get my Terratec Cinergy HTC Stick to cooperate with Linux 3.3. It 
is going to be detected correctly, the requested firmware file 
dvb-usb-terratec-h5-drxk.fw is the one avaiable on [1].
At the moment, I only can test DVB-C. Which seems to work, from time to time. I 
can tune to some
channels, the most channels are not working. When hitting a non working one, I 
get something like "drxk: SCU_RESULT_INVPAR while sending cmd 0x0203 with 
params", as could be seen in the dmesg output. The device seems to be ok, at 
least with the Windows driver.

How can I debug this?


Thanks.
Steve.

[1] http://www.linuxtv.org/downloads/firmware/#7

== dmesg output ==
[   82.768242] usb 1-6: new high-speed USB device number 3 using ehci_hcd
[   82.902484] usb 1-6: New USB device found, idVendor=0ccd, idProduct=00b2
[   82.902502] usb 1-6: New USB device strings: Mfr=2, Product=1, SerialNumber=3
[   82.902515] usb 1-6: Product: Cinergy_HTC_Stick
[   82.902525] usb 1-6: Manufacturer: TERRATEC
[   82.902535] usb 1-6: SerialNumber: 02?TERRATE
[   83.159089] IR NEC protocol handler initialized
[   83.165677] IR RC5(x) protocol handler initialized
[   83.181250] IR RC6 protocol handler initialized
[   83.199170] em28xx: New device TERRATEC Cinergy_HTC_Stick @ 480 Mbps 
(0ccd:00b2, interface 0, class 0)
[   83.199182] em28xx: Audio Vendor Class interface 0 found
[   83.199188] em28xx: Video interface 0 found
[   83.199193] em28xx: DVB interface 0 found
[   83.199736] em28xx #0: chip ID is em2884
[   83.201072] IR JVC protocol handler initialized
[   83.206244] IR Sony protocol handler initialized
[   83.214044] IR SANYO protocol handler initialized
[   83.219177] IR MCE Keyboard/mouse protocol handler initialized
[   83.225775] lirc_dev: IR Remote Control driver registered, major 251 
[   83.228931] IR LIRC bridge handler initialized
[   83.257485] em28xx #0: Identified as Terratec Cinergy HTC Stick (card=82)
[   83.267576] i2c-core: driver [tuner] using legacy suspend method
[   83.267586] i2c-core: driver [tuner] using legacy resume method
[   83.308536] Chip ID is not zero. It is not a TEA5767
[   83.308568] tuner 14-0060: Tuner -1 found with type(s) Radio TV.
[   83.308591] tuner 14-0060: tuner type not set
[   83.308767] em28xx #0: Config register raw data: 0xbd
[   83.308777] em28xx #0: I2S Audio (5 sample rates)
[   83.308786] em28xx #0: No AC97 audio processor
[   83.336125] em28xx #0: v4l2 driver version 0.1.3
[   83.336150] tuner 14-0060: tuner type not set
[   83.366997] em28xx #0: V4L2 video device registered as video1
[   83.367148] usbcore: registered new interface driver em28xx
[   83.387234] em28xx-audio.c: probing for em28xx Audio Vendor Class
[   83.387244] em28xx-audio.c: Copyright (C) 2006 Markus Rechberger
[   83.387251] em28xx-audio.c: Copyright (C) 2007-2011 Mauro Carvalho Chehab
[   83.389287] Em28xx: Initialized (Em28xx Audio Extension) extension
[   84.203927] drxk: status = 0x639260d9
[   84.203948] drxk: detected a drx-3926k, spin A3, xtal 20.250 MHz
[   85.526425] DRXK driver version 0.9.4300
[   85.540783] drxk: frontend initialized.
[   87.293767] DVB: registering new adapter (em28xx #0)
[   87.293788] DVB: registering adapter 0 frontend 0 (DRXK DVB-C DVB-T)...
[   87.298706] em28xx #0: Successfully loaded em28xx-dvb
[   87.298737] Em28xx: Initialized (Em28xx dvb Extension) extension
[  223.421599] drxk: SCU_RESULT_INVPAR while sending cmd 0x0203 with params:
[  223.421622] drxk: 02 00 00 00 10 00 05 00 03 02..
[  237.329309] drxk: SCU_RESULT_INVPAR while sending cmd 0x0203 with params:
[  237.329331] drxk: 02 00 00 00 10 00 05 00 03 02..
[  299.973528] drxk: SCU_RESULT_INVPAR while sending cmd 0x0203 with params:
[  299.973550] drxk: 02 00 00 00 10 00 05 00 03 02..
[  428.985300] drxk: SCU_RESULT_INVPAR while sending cmd 0x0203 with params:
[  428.985316] drxk: 02 00 00 00 10 00 05 00 03 02..
[  485.533707] drxk: SCU_RESULT_INVPAR while sending cmd 0x0203 with params:
[  485.533730] drxk: 02 00 00 00 10 00 05 00 03 02..
[  496.741663] drxk: SCU_RESULT_INVPAR while sending cmd 0x0203 with params:
[  496.741686] drxk: 02 00 00 00 10 00 05 00 03 02..
[  639.765595] drxk: SCU_RESULT_INVPAR while sending cmd 0x0203 with params:
[  639.765622] drxk: 02 00 00 00 10 00 05 00 03 02..

-- 
NEU: FreePhone 3-fach-Flat mit kostenlosem Smartphone!  

Jetzt informieren: http://mobile.1und1.de/?ac=OM.PW.PW003K20328T7073a
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


UVC video output problem with 3.3.1 kernel

2012-04-04 Thread Chris Rankin
Hi,

I have a UVC video device, which lsusb describes as:

046d:0992 Logitech, Inc. QuickCam Communicate Deluxe

With the 3.3.1 kernel, the bottom 3rd of the video window displayed by
guvcview is completely black. This happens whenever I select either
BGR3 or RGB3 as the video output format. However, YUYV, YU12 and YV12
all display fine.

Does anyone else see this, please?
Thanks,
Chris
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Is xine DVB broken with Linux 3.3.1?

2012-04-04 Thread Chris Rankin
I have just checked the 3.2.14 kernel, and it seems unaffected by this 
issue. So I'm guessing it was introduced recently in the 3.3 kernel.


Cheers,
Chris

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Is xine DVB broken with Linux 3.3.1?

2012-04-04 Thread Chris Rankin
 Hi,

Is anyone else having difficulty watching DVB-T with xine and a 3.3.1 kernel? I 
have tried the following with several different USB adapters:

1) Plug in the device
2) Launch xine.
3) Select DVB-T channel.


and each time, the results are the same. Namely, xine refuses to acknowledge 
any of my channels. However, if I execute scandvb before running xine then xine 
suddenly realises that the exact same channels.conf file is OK after all.

It looks as if scandvb is initialising a piece of the USB DVB device's internal 
"state", and xine cannot tune the adapter into any channel until it has.

Can anyone else reproduce this, please?
Thanks,
Chris

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: Can't capture fluent video with bt878 card (Osprey 210)

2012-04-04 Thread Charlie X. Liu
Have you tried TVTime and/or XawTV? Also, you may try "streamer -c
/dev/video0 -n pal -s 640x480 -r 2 -t 10 -o image_00.jpeg" to confirm it's
really a field order issue. 

The VLC is tricky. You have to specify the options right to get a good
preview or recording.


-Original Message-
From: linux-media-ow...@vger.kernel.org
[mailto:linux-media-ow...@vger.kernel.org] On Behalf Of xige
Sent: Tuesday, April 03, 2012 7:49 PM
To: linux-media@vger.kernel.org
Subject: Can't capture fluent video with bt878 card (Osprey 210)

Hi, everyone

I found a problem with bt878 card under Linux(2.6 ~ 3.x) by v4l2 interface
when I got a raw frame, but it looks like combined with wrong field order.
In other words, I will received Top Bottom Top Bottom... fields sequences in
theory. But now I got random sequence.

My test hardware blew:
HW:
 Xeon 5606, 4G, Asus Z8ND6C
Core i7 980, 4G, Asus P6T

Capture Card:
Osprey 210

OS:
Ubuntu 10.04
Ubuntu 11.10

SW:
VLC 1.0.6 & 1.1.12

Please give me some advice?

PS.
 In attach, that's a video snapshot.
 English not mine mother tongue, sorry my poor English.

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


cron job: media_tree daily build: WARNINGS

2012-04-04 Thread Hans Verkuil
This message is generated daily by a cron job that builds media_tree for
the kernels and architectures in the list below.

Results of the daily build of media_tree:

date:Wed Apr  4 19:00:18 CEST 2012
git hash:296da3cd14db9eb5606924962b2956c9c656dbb0
gcc version:  i686-linux-gcc (GCC) 4.6.3
host hardware:x86_64
host os:  3.1-2.slh.1-amd64

linux-git-arm-eabi-exynos: WARNINGS
linux-git-arm-eabi-omap: WARNINGS
linux-git-armv5-ixp: WARNINGS
linux-git-i686: WARNINGS
linux-git-m32r: WARNINGS
linux-git-mips: WARNINGS
linux-git-powerpc64: WARNINGS
linux-git-x86_64: WARNINGS
linux-2.6.31.12-i686: WARNINGS
linux-2.6.32.6-i686: WARNINGS
linux-2.6.33-i686: WARNINGS
linux-2.6.34-i686: WARNINGS
linux-2.6.35.3-i686: WARNINGS
linux-2.6.36-i686: WARNINGS
linux-2.6.37-i686: WARNINGS
linux-2.6.38.2-i686: WARNINGS
linux-2.6.39.1-i686: WARNINGS
linux-3.0-i686: WARNINGS
linux-3.1-i686: WARNINGS
linux-3.2.1-i686: WARNINGS
linux-3.3-i686: WARNINGS
linux-2.6.31.12-x86_64: WARNINGS
linux-2.6.32.6-x86_64: WARNINGS
linux-2.6.33-x86_64: WARNINGS
linux-2.6.34-x86_64: WARNINGS
linux-2.6.35.3-x86_64: WARNINGS
linux-2.6.36-x86_64: WARNINGS
linux-2.6.37-x86_64: WARNINGS
linux-2.6.38.2-x86_64: WARNINGS
linux-2.6.39.1-x86_64: WARNINGS
linux-3.0-x86_64: WARNINGS
linux-3.1-x86_64: WARNINGS
linux-3.2.1-x86_64: WARNINGS
linux-3.3-x86_64: WARNINGS
apps: WARNINGS
spec-git: WARNINGS
sparse: ERRORS

Detailed results are available here:

http://www.xs4all.nl/~hverkuil/logs/Wednesday.log

Full logs are available here:

http://www.xs4all.nl/~hverkuil/logs/Wednesday.tar.bz2

The V4L-DVB specification from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/media.html
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 04/11] Show timeouts on I2C transfers.

2012-04-04 Thread Steinar H. Gunderson
On Wed, Apr 04, 2012 at 06:43:11PM +0300, Marko Ristola wrote:
> I wrote a patch that uses I2C IRQ.
> I had a feeling that it worked well (with old single CPU desktop computer):
> framerate with HDTV was low, but it was glitchless.
> 
> Do you want to have the patch to be sent for you?

Sure, send it if you want to.

/* Steinar */
-- 
Homepage: http://www.sesse.net/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 04/11] Show timeouts on I2C transfers.

2012-04-04 Thread Marko Ristola

I had a plan to rework I2C handling a lot more,
than log the changes.

I wrote a patch that uses I2C IRQ.
I had a feeling that it worked well (with old single CPU desktop computer):
framerate with HDTV was low, but it was glitchless.

Do you want to have the patch to be sent for you?
I think that I solved in the patch "robust I2C command + exact IRQ response for 
that command",
so that those two will not get out of sync.

I tried to rework the patch to make a bit smaller patch,
but I couldn't test the new one: hardware is too broken.

Regards,
Marko

01.04.2012 18:53, Steinar H. Gunderson kirjoitti:
> From: "Steinar H. Gunderson" 
> 
> On I2C reads and writes, show if we had any timeouts in the debug output.
> 
> Signed-off-by: Steinar H. Gunderson 
> ---
>  drivers/media/dvb/mantis/mantis_i2c.c |   26 --
>  1 file changed, 24 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/dvb/mantis/mantis_i2c.c 
> b/drivers/media/dvb/mantis/mantis_i2c.c
> index e779451..ddd1922 100644
> --- a/drivers/media/dvb/mantis/mantis_i2c.c
> +++ b/drivers/media/dvb/mantis/mantis_i2c.c
> @@ -38,6 +38,7 @@
>  static int mantis_i2c_read(struct mantis_pci *mantis, const struct i2c_msg 
> *msg)
>  {
>   u32 rxd, i, stat, trials;
> + u32 timeouts = 0;
>  
>   dprintk(MANTIS_INFO, 0, "%s:  Address=[0x%02x] [ ",
>   __func__, msg->addr);
> @@ -60,6 +61,9 @@ static int mantis_i2c_read(struct mantis_pci *mantis, const 
> struct i2c_msg *msg)
>   if (stat & MANTIS_INT_I2CDONE)
>   break;
>   }
> + if (trials == TRIALS) {
> + ++timeouts;
> + }
>  
>   dprintk(MANTIS_TMG, 0, "I2CDONE: trials=%d\n", trials);
>  
> @@ -69,6 +73,9 @@ static int mantis_i2c_read(struct mantis_pci *mantis, const 
> struct i2c_msg *msg)
>   if (stat & MANTIS_INT_I2CRACK)
>   break;
>   }
> + if (trials == TRIALS) {
> + ++timeouts;
> + }
>  
>   dprintk(MANTIS_TMG, 0, "I2CRACK: trials=%d\n", trials);
>  
> @@ -76,7 +83,11 @@ static int mantis_i2c_read(struct mantis_pci *mantis, 
> const struct i2c_msg *msg)
>   msg->buf[i] = (u8)((rxd >> 8) & 0xFF);
>   dprintk(MANTIS_INFO, 0, "%02x ", msg->buf[i]);
>   }
> - dprintk(MANTIS_INFO, 0, "]\n");
> + if (timeouts) {
> + dprintk(MANTIS_INFO, 0, "] %d timeouts\n", timeouts);
> + } else {
> + dprintk(MANTIS_INFO, 0, "]\n");
> + }
>  
>   return 0;
>  }
> @@ -85,6 +96,7 @@ static int mantis_i2c_write(struct mantis_pci *mantis, 
> const struct i2c_msg *msg
>  {
>   int i;
>   u32 txd = 0, stat, trials;
> + u32 timeouts = 0;
>  
>   dprintk(MANTIS_INFO, 0, "%s: Address=[0x%02x] [ ",
>   __func__, msg->addr);
> @@ -108,6 +120,9 @@ static int mantis_i2c_write(struct mantis_pci *mantis, 
> const struct i2c_msg *msg
>   if (stat & MANTIS_INT_I2CDONE)
>   break;
>   }
> + if (trials == TRIALS) {
> + ++timeouts;
> + }
>  
>   dprintk(MANTIS_TMG, 0, "I2CDONE: trials=%d\n", trials);
>  
> @@ -117,10 +132,17 @@ static int mantis_i2c_write(struct mantis_pci *mantis, 
> const struct i2c_msg *msg
>   if (stat & MANTIS_INT_I2CRACK)
>   break;
>   }
> + if (trials == TRIALS) {
> + ++timeouts;
> + }
>  
>   dprintk(MANTIS_TMG, 0, "I2CRACK: trials=%d\n", trials);
>   }
> - dprintk(MANTIS_INFO, 0, "]\n");
> + if (timeouts) {
> + dprintk(MANTIS_INFO, 0, "] %d timeouts\n", timeouts);
> + } else {
> + dprintk(MANTIS_INFO, 0, "]\n");
> + }
>  
>   return 0;
>  }

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] af9035: add several new USB IDs

2012-04-04 Thread Gianluca Gennari
Il 04/04/2012 15:09, Antti Palosaari ha scritto:
> On 04.04.2012 15:40, Gianluca Gennari wrote:
>> Il 04/04/2012 13:59, Antti Palosaari ha scritto:
>>> On 04.04.2012 14:47, Gianluca Gennari wrote:
 Add several new USB IDs extracted from the Windows and Linux drivers
 published
 by the manufacturers (Terratec and AVerMedia).
 +[AF9035_07CA_0867] = {
 +USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_0867)},
[AF9035_07CA_1867] = {
USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_1867)},
 +[AF9035_07CA_3867] = {
 +USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_3867)},
[AF9035_07CA_A867] = {
USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_A867)},
 +[AF9035_07CA_B867] = {
 +USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_B867)},
>>>
>>> It have been common practise to use product names for USB PID
>>> definitions instead of USB ID numbers. I vote to continue that practise.
>>>
>>> Also, I am not very sure if it is wise to add new IDs without any
>>> testing. Likely those are just reference design and will work, but
>>> sometimes there is also some changes done for schematic wiring.
>>> Especially for Avermedia, see hacks needed some AF9015 Avermedia
>>> devices. They have put invalid data to eeprom and thus hacks are needed
>>> for overriding tuner IDs etc.
>>> Not to mention, driver supports also dynamic IDs and even device ID is
>>> missing user can load driver using dynamic ID and report it working or
>>> non-working.
>>>
>>> Anyone else any thoughts about adding IDs without testing ?
>>>
>>> regards
>>> Antti
>>
>> Regarding the USB PID definition naming, there is no problem for me.
>> Actually, some product names were used in the modified versions of your
>> old driver, so I converted them to the format above just for
>> convenience. The only problem is that there are so many variations of
>> the Avermedia sticks that it's hard to give them proper names.
>>
>> Some of this IDs are already tested (if we include the several
>> modifications of your old driver).
>>
>> In particular:
>> AF9035_0CCD_00AA : confirmed working on Ubuntu.it forum with the old
>> driver (don't have the link);
>> AF9035_07CA_0825 : confirmed working on OpenPli forum with the old
>> driver (see link above);
>>
>> Others comes from the official Windows drivers so they should be just
>> little variations of the retail products:
>> AF9035_07CA_A825, AF9035_07CA_0835, AF9035_07CA_3867.
>>
>> This IDs are can be the more problematic:
>> AF9035_15A4_1000, AF9035_15A4_1002, AF9035_15A4_1003,
>> AF9035_07CA_A333, AF9035_07CA_0337, AF9035_07CA_F337
>> since there is little or no information about this products.
>>
>> Anyway, this patch can be a reference for users willing to test the new
>> driver.
> 
> I mean those definitions that goes to common file named: dvb-usb-ids.h.
> Those are named as a USB_PID__
> 
> PIDs inside af9035.c (enum af9035_id_entry) are used only for generating
> table index. Before it was used plain index numbers but that causes in
> past few times problems when people added new device IDs between then
> the table. Meaning of that enum is only keep index in order
> automatically - and it is just fine as it is short unique name as
> currently AF9035__.
> 
> Add those IDs you know working and sent patch. Lets add more IDs when
> those are confirmed to work. And as I said I added dynamic ID support
> for that driver, so even there is no USB ID defined inside driver, it
> can be still used without compiling whole Kernel.
> 
> regards
> Antti
> 

Ok, roger.
As soon as the new driver is merged into the media_build tree, we should
start getting feedback anyway, so let's wait.

Regards,
Gianluca
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/5] tda18218: fix IF frequency for 7MHz bandwidth channels

2012-04-04 Thread Antti Palosaari

On 04.04.2012 16:15, Gianluca Gennari wrote:

Il 03/04/2012 12:19, Antti Palosaari ha scritto:

On 03.04.2012 03:44, Gianluca Gennari wrote:

Il 03/04/2012 00:40, Antti Palosaari ha scritto:

On 03.04.2012 00:25, Gianluca Gennari wrote:

This is necessary to tune VHF channels with the AVerMedia A835 stick.

Signed-off-by: Gianluca Gennari
---
drivers/media/common/tuners/tda18218.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/media/common/tuners/tda18218.c
b/drivers/media/common/tuners/tda18218.c
index dfb3a83..b079696 100644
--- a/drivers/media/common/tuners/tda18218.c
+++ b/drivers/media/common/tuners/tda18218.c
@@ -144,7 +144,7 @@ static int tda18218_set_params(struct dvb_frontend
*fe)
priv->if_frequency = 300;
} else if (bw<= 700) {
LP_Fc = 1;
-priv->if_frequency = 350;
+priv->if_frequency = 400;
} else {
LP_Fc = 2;
priv->if_frequency = 400;


Kwaak, I will not apply that until I have done background checking. That
driver is used only by AF9015 currently. And I did that driver as
reverse-engineering and thus there is some things guessed. I have only 8
MHz wide signal, thus I never tested 7 and 6 MHz. Have no DVB-T
modulator either... Maybe some AF9015 user can confirm? Is there any
AF9015&   TDA18218 bug reports seen in discussion forums...


A friend has a AF9015+TDA18218 stick and told me that it works fine with
the patch (including VHF), but to be safe I will ask him to double check
with the current media_build tree, with and without the patch. In the
worst case, we can add a new parameter (or an array of parameters) for
the IF frequency to struct tda18218_config.


Public short datasheet [1], page 16, says default IFs are BW=8 MHz IF=4
MHz, BW=7 MHz IF=3.5 MHz, BW=6 MHz IF=3 MHz. I suspect it still locks in
some cases even IF is off-by 0.5 MHz for BW 7 and 8 but performance is
reduced. So there is now something wrong, likely bug in the tda18218
driver.

Could someone send me Windows sniff from success tune to 7 MHz BW channel?

[1] http://www.nxp.com/documents/data_sheet/TDA18218HN.pdf


Hi Antti,
I did some testing with the A835 and the findings are interesting. With
the old tda18218 driver the af9015 sticks required IF=3.5MHz to tune VHF
channels, while the A835 required IF=4MHz.

With the current driver, both the af9015 and the A835 are much more
tolerant to IF frequency variations.
In particular, the A835 is capable to successfully tune UHF channels
with IF in the range [3.5,5.5] MHz, and VHF channels with IF in the
range [3.0,6.5] MHz, inclusive.


IF frequency is frequency used between tuner and demodulator. Thus it 
should be same for the tuner, it is sender Tx, and for demodulator which 
receives it. As you can guess it is like radio channel, it will work if 
it is a little bit wrong but performance will be reduced.


IF frequency is generally more tuner characteristic than demodulator. I 
mean it is likely tuner decides which is optimal IF for signal tuner is 
transferring to demod. Earlier we used configuration option for both 
tuner and demod to set IF. But as the fact is tuner must know it always 
we added new tuner callback .get_if_frequency() demodulator can ask used 
IF from the tuner.


Recently I converted AF9013 driver to use that .get_if_frequency(). I 
think at that point I may have introduced some bug.


And one point to mention, it is sometimes used a little bit different 
IFs that are tuner defaults. It is somehow device design specific, for 
maximum performance device engineers will ran some test to find out 
optimal IF which gives best performance. One reason could be example 
there is RF noise peak (RF spurs) just in used IF which reduces 
performance => lets shift default IF a little bit for maximum performance.



I don't know if this may be considered the symptom of a bug, but for
sure the patch I posted is useless with the current driver.
If you are still interested in a USB sniff of the Windows driver, just
let me know.


I have used old SniffUSB2.0
http://www.pcausa.com/Utilities/UsbSnoop/
Works fine with Windows XP. Sniff is welcome.

regards
Antti
--
http://palosaari.fi/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/5] tda18218: fix IF frequency for 7MHz bandwidth channels

2012-04-04 Thread Gianluca Gennari
Il 03/04/2012 12:19, Antti Palosaari ha scritto:
> On 03.04.2012 03:44, Gianluca Gennari wrote:
>> Il 03/04/2012 00:40, Antti Palosaari ha scritto:
>>> On 03.04.2012 00:25, Gianluca Gennari wrote:
 This is necessary to tune VHF channels with the AVerMedia A835 stick.

 Signed-off-by: Gianluca Gennari
 ---
drivers/media/common/tuners/tda18218.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

 diff --git a/drivers/media/common/tuners/tda18218.c
 b/drivers/media/common/tuners/tda18218.c
 index dfb3a83..b079696 100644
 --- a/drivers/media/common/tuners/tda18218.c
 +++ b/drivers/media/common/tuners/tda18218.c
 @@ -144,7 +144,7 @@ static int tda18218_set_params(struct dvb_frontend
 *fe)
priv->if_frequency = 300;
} else if (bw<= 700) {
LP_Fc = 1;
 -priv->if_frequency = 350;
 +priv->if_frequency = 400;
} else {
LP_Fc = 2;
priv->if_frequency = 400;
>>>
>>> Kwaak, I will not apply that until I have done background checking. That
>>> driver is used only by AF9015 currently. And I did that driver as
>>> reverse-engineering and thus there is some things guessed. I have only 8
>>> MHz wide signal, thus I never tested 7 and 6 MHz. Have no DVB-T
>>> modulator either... Maybe some AF9015 user can confirm? Is there any
>>> AF9015&  TDA18218 bug reports seen in discussion forums...
>>
>> A friend has a AF9015+TDA18218 stick and told me that it works fine with
>> the patch (including VHF), but to be safe I will ask him to double check
>> with the current media_build tree, with and without the patch. In the
>> worst case, we can add a new parameter (or an array of parameters) for
>> the IF frequency to struct tda18218_config.
> 
> Public short datasheet [1], page 16, says default IFs are BW=8 MHz IF=4
> MHz, BW=7 MHz IF=3.5 MHz, BW=6 MHz IF=3 MHz. I suspect it still locks in
> some cases even IF is off-by 0.5 MHz for BW 7 and 8 but performance is
> reduced. So there is now something wrong, likely bug in the tda18218
> driver.
> 
> Could someone send me Windows sniff from success tune to 7 MHz BW channel?
> 
> [1] http://www.nxp.com/documents/data_sheet/TDA18218HN.pdf

Hi Antti,
I did some testing with the A835 and the findings are interesting. With
the old tda18218 driver the af9015 sticks required IF=3.5MHz to tune VHF
channels, while the A835 required IF=4MHz.

With the current driver, both the af9015 and the A835 are much more
tolerant to IF frequency variations.
In particular, the A835 is capable to successfully tune UHF channels
with IF in the range [3.5,5.5] MHz, and VHF channels with IF in the
range [3.0,6.5] MHz, inclusive.

I don't know if this may be considered the symptom of a bug, but for
sure the patch I posted is useless with the current driver.
If you are still interested in a USB sniff of the Windows driver, just
let me know.

Best regards,
Gianluca
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] af9035: add several new USB IDs

2012-04-04 Thread Antti Palosaari

On 04.04.2012 15:40, Gianluca Gennari wrote:

Il 04/04/2012 13:59, Antti Palosaari ha scritto:

On 04.04.2012 14:47, Gianluca Gennari wrote:

Add several new USB IDs extracted from the Windows and Linux drivers
published
by the manufacturers (Terratec and AVerMedia).
+[AF9035_07CA_0867] = {
+USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_0867)},
   [AF9035_07CA_1867] = {
   USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_1867)},
+[AF9035_07CA_3867] = {
+USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_3867)},
   [AF9035_07CA_A867] = {
   USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_A867)},
+[AF9035_07CA_B867] = {
+USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_B867)},


It have been common practise to use product names for USB PID
definitions instead of USB ID numbers. I vote to continue that practise.

Also, I am not very sure if it is wise to add new IDs without any
testing. Likely those are just reference design and will work, but
sometimes there is also some changes done for schematic wiring.
Especially for Avermedia, see hacks needed some AF9015 Avermedia
devices. They have put invalid data to eeprom and thus hacks are needed
for overriding tuner IDs etc.
Not to mention, driver supports also dynamic IDs and even device ID is
missing user can load driver using dynamic ID and report it working or
non-working.

Anyone else any thoughts about adding IDs without testing ?

regards
Antti


Regarding the USB PID definition naming, there is no problem for me.
Actually, some product names were used in the modified versions of your
old driver, so I converted them to the format above just for
convenience. The only problem is that there are so many variations of
the Avermedia sticks that it's hard to give them proper names.

Some of this IDs are already tested (if we include the several
modifications of your old driver).

In particular:
AF9035_0CCD_00AA : confirmed working on Ubuntu.it forum with the old
driver (don't have the link);
AF9035_07CA_0825 : confirmed working on OpenPli forum with the old
driver (see link above);

Others comes from the official Windows drivers so they should be just
little variations of the retail products:
AF9035_07CA_A825, AF9035_07CA_0835, AF9035_07CA_3867.

This IDs are can be the more problematic:
AF9035_15A4_1000, AF9035_15A4_1002, AF9035_15A4_1003,
AF9035_07CA_A333, AF9035_07CA_0337, AF9035_07CA_F337
since there is little or no information about this products.

Anyway, this patch can be a reference for users willing to test the new
driver.


I mean those definitions that goes to common file named: dvb-usb-ids.h. 
Those are named as a USB_PID__


PIDs inside af9035.c (enum af9035_id_entry) are used only for generating 
table index. Before it was used plain index numbers but that causes in 
past few times problems when people added new device IDs between then 
the table. Meaning of that enum is only keep index in order 
automatically - and it is just fine as it is short unique name as 
currently AF9035__.


Add those IDs you know working and sent patch. Lets add more IDs when 
those are confirmed to work. And as I said I added dynamic ID support 
for that driver, so even there is no USB ID defined inside driver, it 
can be still used without compiling whole Kernel.


regards
Antti

--
http://palosaari.fi/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] af9035: add several new USB IDs

2012-04-04 Thread Gianluca Gennari
Il 04/04/2012 13:59, Antti Palosaari ha scritto:
> On 04.04.2012 14:47, Gianluca Gennari wrote:
>> Add several new USB IDs extracted from the Windows and Linux drivers
>> published
>> by the manufacturers (Terratec and AVerMedia).
>> +[AF9035_07CA_0867] = {
>> +USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_0867)},
>>   [AF9035_07CA_1867] = {
>>   USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_1867)},
>> +[AF9035_07CA_3867] = {
>> +USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_3867)},
>>   [AF9035_07CA_A867] = {
>>   USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_A867)},
>> +[AF9035_07CA_B867] = {
>> +USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_B867)},
> 
> It have been common practise to use product names for USB PID
> definitions instead of USB ID numbers. I vote to continue that practise.
> 
> Also, I am not very sure if it is wise to add new IDs without any
> testing. Likely those are just reference design and will work, but
> sometimes there is also some changes done for schematic wiring.
> Especially for Avermedia, see hacks needed some AF9015 Avermedia
> devices. They have put invalid data to eeprom and thus hacks are needed
> for overriding tuner IDs etc.
> Not to mention, driver supports also dynamic IDs and even device ID is
> missing user can load driver using dynamic ID and report it working or
> non-working.
> 
> Anyone else any thoughts about adding IDs without testing ?
> 
> regards
> Antti

Regarding the USB PID definition naming, there is no problem for me.
Actually, some product names were used in the modified versions of your
old driver, so I converted them to the format above just for
convenience. The only problem is that there are so many variations of
the Avermedia sticks that it's hard to give them proper names.

Some of this IDs are already tested (if we include the several
modifications of your old driver).

In particular:
AF9035_0CCD_00AA : confirmed working on Ubuntu.it forum with the old
driver (don't have the link);
AF9035_07CA_0825 : confirmed working on OpenPli forum with the old
driver (see link above);

Others comes from the official Windows drivers so they should be just
little variations of the retail products:
AF9035_07CA_A825, AF9035_07CA_0835, AF9035_07CA_3867.

This IDs are can be the more problematic:
AF9035_15A4_1000, AF9035_15A4_1002, AF9035_15A4_1003,
AF9035_07CA_A333, AF9035_07CA_0337, AF9035_07CA_F337
since there is little or no information about this products.

Anyway, this patch can be a reference for users willing to test the new
driver.

Regards,
Gianluca
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] af9035: add several new USB IDs

2012-04-04 Thread David Cohen

Hi Antti,

On 04/04/2012 02:59 PM, Antti Palosaari wrote:

On 04.04.2012 14:47, Gianluca Gennari wrote:

Add several new USB IDs extracted from the Windows and Linux drivers
published
by the manufacturers (Terratec and AVerMedia).
+ [AF9035_07CA_0867] = {
+ USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_0867)},
[AF9035_07CA_1867] = {
USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_1867)},
+ [AF9035_07CA_3867] = {
+ USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_3867)},
[AF9035_07CA_A867] = {
USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_A867)},
+ [AF9035_07CA_B867] = {
+ USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_B867)},


It have been common practise to use product names for USB PID
definitions instead of USB ID numbers. I vote to continue that practise.

Also, I am not very sure if it is wise to add new IDs without any
testing. Likely those are just reference design and will work, but
sometimes there is also some changes done for schematic wiring.
Especially for Avermedia, see hacks needed some AF9015 Avermedia
devices. They have put invalid data to eeprom and thus hacks are needed
for overriding tuner IDs etc.
Not to mention, driver supports also dynamic IDs and even device ID is
missing user can load driver using dynamic ID and report it working or
non-working.

Anyone else any thoughts about adding IDs without testing ?


In my experience, it's not always workable out-of-the-box (for the
reasons you mentioned).
IMO it would be better either them adding as long as they're been
tested, or at least to add comments when untested but likely to work.

Br,

David



regards
Antti


--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] af9035: add several new USB IDs

2012-04-04 Thread Antti Palosaari

On 04.04.2012 14:47, Gianluca Gennari wrote:

Add several new USB IDs extracted from the Windows and Linux drivers published
by the manufacturers (Terratec and AVerMedia).
+   [AF9035_07CA_0867] = {
+   USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_0867)},
[AF9035_07CA_1867] = {
USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_1867)},
+   [AF9035_07CA_3867] = {
+   USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_3867)},
[AF9035_07CA_A867] = {
USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_A867)},
+   [AF9035_07CA_B867] = {
+   USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_B867)},


It have been common practise to use product names for USB PID 
definitions instead of USB ID numbers. I vote to continue that practise.


Also, I am not very sure if it is wise to add new IDs without any 
testing. Likely those are just reference design and will work, but 
sometimes there is also some changes done for schematic wiring. 
Especially for Avermedia, see hacks needed some AF9015 Avermedia 
devices. They have put invalid data to eeprom and thus hacks are needed 
for overriding tuner IDs etc.
Not to mention, driver supports also dynamic IDs and even device ID is 
missing user can load driver using dynamic ID and report it working or 
non-working.


Anyone else any thoughts about adding IDs without testing ?

regards
Antti
--
http://palosaari.fi/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] af9035: add several new USB IDs

2012-04-04 Thread Gianluca Gennari
Add several new USB IDs extracted from the Windows and Linux drivers published
by the manufacturers (Terratec and AVerMedia).

Terratec Cinergy T Stick rev. 2 (tua9001):
http://linux.terratec.de/tv_en.html

AVerMedia AverTV TwinStar A825 (2 x mxl5007t):
http://www.avermedia.com/Support/DownloadCount.aspx?FDFId=3145

AVerMedia A835 (tda18218):
http://www.avermedia.com/Support/DownloadCount.aspx?FDFId=4528

Afatech Sticks and AVerMedia A867 (mxl5007t):
http://www.avermedia.com/Support/DownloadCount.aspx?FDFId=5172
http://www.avermedia.com/Support/DownloadCount.aspx?FDFId=5171
http://www.avermedia.com/Support/DownloadCount.aspx?FDFId=4591 (Linux driver)

The AVerMedia A825 is a dual tuner stick that was reported as fully working
on the OpenPli forum, using a modified version of the old af9035 driver:
http://openpli.org/forums/topic/22295-is-the-avertv-twinstar-a825-dvb-t-usb-twin-tuner-supported-by-the-newest-openpli/page__view__findpost__p__254634
so I think it should work also on the new driver version, at least in
single-tuner mode.

Signed-off-by: Gianluca Gennari 
---
 drivers/media/dvb/dvb-usb/af9035.c  |   60 +-
 drivers/media/dvb/dvb-usb/dvb-usb-ids.h |   15 +++-
 2 files changed, 72 insertions(+), 3 deletions(-)

diff --git a/drivers/media/dvb/dvb-usb/af9035.c 
b/drivers/media/dvb/dvb-usb/af9035.c
index 26b4ead..e2107cd 100644
--- a/drivers/media/dvb/dvb-usb/af9035.c
+++ b/drivers/media/dvb/dvb-usb/af9035.c
@@ -821,29 +821,68 @@ err:
 
 enum af9035_id_entry {
AF9035_0CCD_0093,
+   AF9035_0CCD_00AA,
AF9035_15A4_9035,
+   AF9035_15A4_1000,
AF9035_15A4_1001,
+   AF9035_15A4_1002,
+   AF9035_15A4_1003,
+   AF9035_07CA_0825,
+   AF9035_07CA_A825,
+   AF9035_07CA_0835,
AF9035_07CA_A835,
AF9035_07CA_B835,
+   AF9035_07CA_A333,
+   AF9035_07CA_0337,
+   AF9035_07CA_F337,
+   AF9035_07CA_0867,
AF9035_07CA_1867,
+   AF9035_07CA_3867,
AF9035_07CA_A867,
+   AF9035_07CA_B867,
 };
 
 static struct usb_device_id af9035_id[] = {
[AF9035_0CCD_0093] = {
USB_DEVICE(USB_VID_TERRATEC, USB_PID_TERRATEC_CINERGY_T_STICK)},
+   [AF9035_0CCD_00AA] = {
+   USB_DEVICE(USB_VID_TERRATEC, 
USB_PID_TERRATEC_CINERGY_T_STICK_2)},
[AF9035_15A4_9035] = {
USB_DEVICE(USB_VID_AFATECH, USB_PID_AFATECH_AF9035)},
-   [AF9035_15A4_1001] = {
+   [AF9035_15A4_1000] = {
USB_DEVICE(USB_VID_AFATECH, USB_PID_AFATECH_AF9035_2)},
+   [AF9035_15A4_1001] = {
+   USB_DEVICE(USB_VID_AFATECH, USB_PID_AFATECH_AF9035_3)},
+   [AF9035_15A4_1002] = {
+   USB_DEVICE(USB_VID_AFATECH, USB_PID_AFATECH_AF9035_4)},
+   [AF9035_15A4_1003] = {
+   USB_DEVICE(USB_VID_AFATECH, USB_PID_AFATECH_AF9035_5)},
+   [AF9035_07CA_0825] = {
+   USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_0825)},
+   [AF9035_07CA_A825] = {
+   USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_A825)},
+   [AF9035_07CA_0835] = {
+   USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_0835)},
[AF9035_07CA_A835] = {
USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_A835)},
[AF9035_07CA_B835] = {
USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_B835)},
+   [AF9035_07CA_A333] = {
+   USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_A333)},
+   [AF9035_07CA_0337] = {
+   USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_0337)},
+   [AF9035_07CA_F337] = {
+   USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_F337)},
+   [AF9035_07CA_0867] = {
+   USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_0867)},
[AF9035_07CA_1867] = {
USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_1867)},
+   [AF9035_07CA_3867] = {
+   USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_3867)},
[AF9035_07CA_A867] = {
USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_A867)},
+   [AF9035_07CA_B867] = {
+   USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_B867)},
{},
 };
 
@@ -886,30 +925,47 @@ static struct dvb_usb_device_properties 
af9035_properties[] = {
 
.i2c_algo = &af9035_i2c_algo,
 
-   .num_device_descs = 4,
+   .num_device_descs = 5,
.devices = {
{
.name = "TerraTec Cinergy T Stick",
.cold_ids = {
&af9035_id[AF9035_0CCD_0093],
+   &af9035_id[AF9035_0CCD_00AA],
},
}, {
.name = "Afatech Technologies DVB-T stick",
.cold_ids = {
&af9035_id[AF9035_15A4_9