diff mbox

Noisy video with Avermedia AVerTV Digi Volar X HD (AF9015) and mythbuntu 9.04

Message ID 200908041312.52878.jareguero@telefonica.net (mailing list archive)
State RFC
Headers show

Commit Message

Jose Alberto Reguero Aug. 4, 2009, 11:12 a.m. UTC
El Martes, 4 de Agosto de 2009, Cyril Hansen escribió:
> Hi all,
>
> I am trying to solve a noisy video issue with my new avermedia stick
> (AF9015). I am receiving french DVB signal, both SD and HD. Viewing SD
> is annoying, with the occasional video and audio quirk, and HD is
> almost unwatchable.
>
> The same usb stick with another computer and Vista gives a perfect
> image with absolutely no error from the same antenna.
>
> Yesterday I tried to update the drivers from the mercurial tree with no
> change.
>
> I noticed that the firmware available from the Net and Mythbuntu for
> the chip is quite old (2007 ?), so maybe this is the source of my
> problem. I am willing to try to use usbsnoop and the firmware cutter
> from
> 
> http://www.otit.fi/~crope/v4l-dvb/af9015/af9015_firmware_cutter/firmware_fi
>les/ if nobody has done it with a recent windows driver.
>
>
> I haven't found any parameter for the module dvb_usb_af9015 : Are they
> any than can be worth to try to fix my issue ?
>
>
> Thank you in advance,
>
> Cyril Hansen
> --

I have problems with some hardware, and the buffersize when the buffersize is 
not multiple of TS_PACKET_SIZE.

You can try the attached patch.

Jose Alberto

Comments

Cyril Hansen Aug. 4, 2009, 9:23 p.m. UTC | #1
Thank you very much, your patch has fixed the issue i had using the
firmware provided by mythbuntu.

Maybe we should add this info to the LinuxTV wiki.

Regards,

Cyril Hansen

2009/8/4 Jose Alberto Reguero <jareguero@telefonica.net>:
> El Martes, 4 de Agosto de 2009, Cyril Hansen escribió:
>> Hi all,
>>
>> I am trying to solve a noisy video issue with my new avermedia stick
>> (AF9015). I am receiving french DVB signal, both SD and HD. Viewing SD
>> is annoying, with the occasional video and audio quirk, and HD is
>> almost unwatchable.
>>
>> The same usb stick with another computer and Vista gives a perfect
>> image with absolutely no error from the same antenna.
>>
>> Yesterday I tried to update the drivers from the mercurial tree with no
>> change.
>>
>> I noticed that the firmware available from the Net and Mythbuntu for
>> the chip is quite old (2007 ?), so maybe this is the source of my
>> problem. I am willing to try to use usbsnoop and the firmware cutter
>> from
>>
>> http://www.otit.fi/~crope/v4l-dvb/af9015/af9015_firmware_cutter/firmware_fi
>>les/ if nobody has done it with a recent windows driver.
>>
>>
>> I haven't found any parameter for the module dvb_usb_af9015 : Are they
>> any than can be worth to try to fix my issue ?
>>
>>
>> Thank you in advance,
>>
>> Cyril Hansen
>> --
>
> I have problems with some hardware, and the buffersize when the buffersize is
> not multiple of TS_PACKET_SIZE.
>
> You can try the attached patch.
>
> Jose Alberto
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jose Alberto Reguero Aug. 4, 2009, 9:48 p.m. UTC | #2
Antti, can this patch be integrated in the af015 module?

Signed-off-by: Jose Alberto Reguero <jareguero@telefonica.net>

Jose Alberto

El Martes, 4 de Agosto de 2009, Cyril Hansen escribió:
> Thank you very much, your patch has fixed the issue i had using the
> firmware provided by mythbuntu.
>
> Maybe we should add this info to the LinuxTV wiki.
>
> Regards,
>
> Cyril Hansen
>
> 2009/8/4 Jose Alberto Reguero <jareguero@telefonica.net>:
> > El Martes, 4 de Agosto de 2009, Cyril Hansen escribió:
> >> Hi all,
> >>
> >> I am trying to solve a noisy video issue with my new avermedia stick
> >> (AF9015). I am receiving french DVB signal, both SD and HD. Viewing SD
> >> is annoying, with the occasional video and audio quirk, and HD is
> >> almost unwatchable.
> >>
> >> The same usb stick with another computer and Vista gives a perfect
> >> image with absolutely no error from the same antenna.
> >>
> >> Yesterday I tried to update the drivers from the mercurial tree with no
> >> change.
> >>
> >> I noticed that the firmware available from the Net and Mythbuntu for
> >> the chip is quite old (2007 ?), so maybe this is the source of my
> >> problem. I am willing to try to use usbsnoop and the firmware cutter
> >> from
> >>
> >> http://www.otit.fi/~crope/v4l-dvb/af9015/af9015_firmware_cutter/firmware
> >>_fi les/ if nobody has done it with a recent windows driver.
> >>
> >>
> >> I haven't found any parameter for the module dvb_usb_af9015 : Are they
> >> any than can be worth to try to fix my issue ?
> >>
> >>
> >> Thank you in advance,
> >>
> >> Cyril Hansen
> >> --
> >
> > I have problems with some hardware, and the buffersize when the
> > buffersize is not multiple of TS_PACKET_SIZE.
> >
> > You can try the attached patch.
> >
> > Jose Alberto
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Antti Palosaari Aug. 25, 2009, 9:50 p.m. UTC | #3
On 08/05/2009 12:48 AM, Jose Alberto Reguero wrote:
>>> I have problems with some hardware, and the buffersize when the
>>> buffersize is not multiple of TS_PACKET_SIZE.

USB2.0 BULK stream .buffersize is currently 512 and your patch increases 
it to the 65424. I don't know how this value should be determined. I 
have set it as small as it is working and usually it is 512 used almost 
every driver. 511 will not work (if not USB1.1 configured to the endpoints).

****

Could someone point out how correct BULK buffersize should be 
determined? I have thought that many many times...

****

Also one other question; if demod is powered off and some IOCTL is 
coming - like FE_GET_FRONTEND - how that should be handled? v4l-dvb 
-framework does not look whether or not demod is sleeping and forwards 
that query to the demod which cannot answer it.

regards
Antti
Devin Heitmueller Aug. 25, 2009, 10:01 p.m. UTC | #4
On Tue, Aug 25, 2009 at 5:50 PM, Antti Palosaari<crope@iki.fi> wrote:
> USB2.0 BULK stream .buffersize is currently 512 and your patch increases it
> to the 65424. I don't know how this value should be determined. I have set
> it as small as it is working and usually it is 512 used almost every driver.
> 511 will not work (if not USB1.1 configured to the endpoints).
>
> ****
>
> Could someone point out how correct BULK buffersize should be determined? I
> have thought that many many times...

Usually I do a sniffusb capture of the Windows driver and use whatever
they are using.

>
> ****
>
> Also one other question; if demod is powered off and some IOCTL is coming -
> like FE_GET_FRONTEND - how that should be handled? v4l-dvb -framework does
> not look whether or not demod is sleeping and forwards that query to the
> demod which cannot answer it.

In other demods, whenever the set_frontend call comes in the driver
check to see if the device is asleep and wakes it up on demand.  On
some demods, you can query a register to get the power state.  In
other cases you have to manually keep track of whether you previously
put the demod to sleep using the demod's state structure.

Chers,

Devin
Antti Palosaari Aug. 25, 2009, 10:09 p.m. UTC | #5
On 08/26/2009 01:01 AM, Devin Heitmueller wrote:
> On Tue, Aug 25, 2009 at 5:50 PM, Antti Palosaari<crope@iki.fi>  wrote:
>> USB2.0 BULK stream .buffersize is currently 512 and your patch increases it
>> to the 65424. I don't know how this value should be determined. I have set
>> it as small as it is working and usually it is 512 used almost every driver.
>> 511 will not work (if not USB1.1 configured to the endpoints).
>>
>> ****
>>
>> Could someone point out how correct BULK buffersize should be determined? I
>> have thought that many many times...
>
> Usually I do a sniffusb capture of the Windows driver and use whatever
> they are using.

Should try that if better trick is not known.

>> ****
>>
>> Also one other question; if demod is powered off and some IOCTL is coming -
>> like FE_GET_FRONTEND - how that should be handled? v4l-dvb -framework does
>> not look whether or not demod is sleeping and forwards that query to the
>> demod which cannot answer it.
>
> In other demods, whenever the set_frontend call comes in the driver
> check to see if the device is asleep and wakes it up on demand.  On
> some demods, you can query a register to get the power state.  In
> other cases you have to manually keep track of whether you previously
> put the demod to sleep using the demod's state structure.

If demod (and tuner) is powered off by bridge (.power_ctrl) that's not 
possible. Is there way to call bridge .power_ctrl to wake up demod and 
tuner? I added param for demdod state to track sleep/wake state and 
return 0 in sleep case. But that does not sounds good solution...

Thank you for fast answer.

regards
Antti
Devin Heitmueller Aug. 25, 2009, 10:24 p.m. UTC | #6
On Tue, Aug 25, 2009 at 6:09 PM, Antti Palosaari<crope@iki.fi> wrote:
> If demod (and tuner) is powered off by bridge (.power_ctrl) that's not
> possible. Is there way to call bridge .power_ctrl to wake up demod and
> tuner? I added param for demdod state to track sleep/wake state and return 0
> in sleep case. But that does not sounds good solution...

Michael Krufky actually put together some patches to allow the bridge
to intercept frontend calls, which would allow for things like power
management.  I don't know if they've been merged yet.

Devin
Antti Palosaari Aug. 25, 2009, 10:38 p.m. UTC | #7
On 08/26/2009 01:24 AM, Devin Heitmueller wrote:
> On Tue, Aug 25, 2009 at 6:09 PM, Antti Palosaari<crope@iki.fi>  wrote:
>> If demod (and tuner) is powered off by bridge (.power_ctrl) that's not
>> possible. Is there way to call bridge .power_ctrl to wake up demod and
>> tuner? I added param for demdod state to track sleep/wake state and return 0
>> in sleep case. But that does not sounds good solution...
>
> Michael Krufky actually put together some patches to allow the bridge
> to intercept frontend calls, which would allow for things like power
> management.  I don't know if they've been merged yet.

OK, lets see.

I wonder why v4l-dvb -framework even allows IOCTLs when device is 
powered off. This sounds like wrong functionality from my sight. Why not 
to power on device before all IOCTL request. Some IOCTLs like 
SET_FRONTEND will of course power on device but most not.

regards
Antti
Antti Palosaari Aug. 26, 2009, 11:09 a.m. UTC | #8
On 08/26/2009 01:38 AM, Antti Palosaari wrote:
> On 08/26/2009 01:24 AM, Devin Heitmueller wrote:
>> On Tue, Aug 25, 2009 at 6:09 PM, Antti Palosaari<crope@iki.fi> wrote:
>>> If demod (and tuner) is powered off by bridge (.power_ctrl) that's not
>>> possible. Is there way to call bridge .power_ctrl to wake up demod and
>>> tuner? I added param for demdod state to track sleep/wake state and
>>> return 0
>>> in sleep case. But that does not sounds good solution...
>>
>> Michael Krufky actually put together some patches to allow the bridge
>> to intercept frontend calls, which would allow for things like power
>> management. I don't know if they've been merged yet.
>
> OK, lets see.
>
> I wonder why v4l-dvb -framework even allows IOCTLs when device is
> powered off. This sounds like wrong functionality from my sight. Why not
> to power on device before all IOCTL request. Some IOCTLs like
> SET_FRONTEND will of course power on device but most not.

Probably it is better and easier to left all parts of the device powered 
on always to fulfil all IOCTL request.

I know it is a little bit stupid to keep device always powered, keep it 
consuming power and hotter...

Antti
diff mbox

Patch

diff -r b15490457d60 linux/drivers/media/dvb/dvb-usb/af9015.c
--- a/linux/drivers/media/dvb/dvb-usb/af9015.c	Sat Aug 01 01:38:01 2009 -0300
+++ b/linux/drivers/media/dvb/dvb-usb/af9015.c	Tue Aug 04 13:02:37 2009 +0200
@@ -877,7 +877,7 @@ 
 			af9015_config.dual_mode = 0;
 		} else {
 			af9015_properties[i].adapter[0].stream.u.bulk.buffersize
-				= TS_USB20_MAX_PACKET_SIZE;
+				= TS_USB20_FRAME_SIZE;
 		}
 	}
 
@@ -1312,7 +1312,7 @@ 
 					.u = {
 						.bulk = {
 							.buffersize =
-						TS_USB20_MAX_PACKET_SIZE,
+						TS_USB20_FRAME_SIZE,
 						}
 					}
 				},
@@ -1417,7 +1417,7 @@ 
 					.u = {
 						.bulk = {
 							.buffersize =
-						TS_USB20_MAX_PACKET_SIZE,
+						TS_USB20_FRAME_SIZE,
 						}
 					}
 				},
@@ -1523,7 +1523,7 @@ 
 					.u = {
 						.bulk = {
 							.buffersize =
-						TS_USB20_MAX_PACKET_SIZE,
+						TS_USB20_FRAME_SIZE,
 						}
 					}
 				},