[linux-dvb] Regarding EN50221 stack

2007-03-29 Thread Santosh
hi,    Iam very much new to linuxDvb 
family..Can u provide me some link where do i get complete En50221 stack so 
that i can use it  in my application..Waiting for ur 
anticipation, Regards and thanx,\"Santosh\"___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[linux-dvb] Profiling and DVB drivers

2007-03-29 Thread linuxtv
I have tried to profile a program that uses the linux-dvb drivers
and find that many of the ioctl's break.

Looking at the kernel code I see that there are a few interruptable
waits which perhaps are related to the problem.

Especially the READ_STATUS ioctl.  Under profiling this ioctl
always returns successfully but the status is always 0.

However, the front end seems to tune successfully, and data gets
delivered, but it is just the status ioctl's which appear to
break when profiling is enabled (gcc -pg).

Is this a known problem?


___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


[linux-dvb] [Patch] add USB 1.1 support for dvb_usb_dtt200u dvb-t stick

2007-03-29 Thread M A Young
On Wed, 28 Mar 2007, M A Young wrote:

> I have a Freecom dvb-t USB stick (14aa:022b with
> dvb-usb-wt220u-zl0353-01.fw firmware) which works fine when connected via
> my USB 2.0 CardBus card, but not the onboard USB 1.1 port, where the card
> initializes but fails to start when attempting to watch TV and this is a
> problem if the CardBus slot is occupied with something else.
>
> I have been doing some investigating and it seems that the differences are
> that under USB 2.0 the usb settings are
>
> T:  Bus=05 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=480 MxCh= 0
> D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
> P:  Vendor=14aa ProdID=022b Rev= 5.21
> S:  Manufacturer=Digital TV Receiver
> S:  Product=Digital TV Receiver
> C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=450mA
> I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00
> Driver=dvb_usb_dtt200u
> E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=82(I) Atr=02(Bulk) MxPS= 189 Ivl=0ms
>
> but under USB 1.1 they are
>
> T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
> D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
> P:  Vendor=14aa ProdID=022b Rev= 5.21
> S:  Manufacturer=Digital TV Receiver
> S:  Product=Digital TV Receiver
> C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=450mA
> I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00
> Driver=dvb_usb_dtt200u
> E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=82(I) Atr=01(Isoc) MxPS= 940 Ivl=1ms
>
> so the main data stream has gone from Bulk under 2.0 to Isoc under 1.1. If
> I naively change the stream settings in wt220u_zl0353_properties from a
> USB_BULK one to USB_ISOC settings (from another driver) then the card
> works under USB 1.1 instead.
>
> Is it possible that this driver could auto-detect the USB speed and use
> the appropriate USB transfer mode so that it works under both USB 1.1 and
> USB 2.0?

To answer my own question, it is possible to patch the driver, as the one
I am attaching allows my USB stick to work under both USB 1.1 and USB 2.0.

Michael Young--- linux-2.6.20.i386/drivers/media/dvb/dvb-usb/dtt200u.c.orig  2007-02-04 
18:44:54.0 +
+++ linux-2.6.20.i386/drivers/media/dvb/dvb-usb/dtt200u.c   2007-03-29 
22:23:34.0 +0100
@@ -96,15 +96,28 @@
 static struct dvb_usb_device_properties wt220u_fc_properties;
 static struct dvb_usb_device_properties wt220u_properties;
 static struct dvb_usb_device_properties wt220u_zl0353_properties;
+static struct dvb_usb_device_properties wt220u_zl0353_usb1_properties;
 
 static int dtt200u_usb_probe(struct usb_interface *intf,
const struct usb_device_id *id)
 {
if (dvb_usb_device_init(intf,&dtt200u_properties,THIS_MODULE,NULL) == 0 
||
dvb_usb_device_init(intf,&wt220u_properties,THIS_MODULE,NULL) 
== 0 ||
-   
dvb_usb_device_init(intf,&wt220u_fc_properties,THIS_MODULE,NULL) == 0 ||
-   
dvb_usb_device_init(intf,&wt220u_zl0353_properties,THIS_MODULE,NULL) == 0)
+   
dvb_usb_device_init(intf,&wt220u_fc_properties,THIS_MODULE,NULL) == 0)
return 0;
+   switch (interface_to_usbdev(intf)->speed) {
+   case USB_SPEED_FULL:
+   /* USB 1.1 settings */
+   if ( 
dvb_usb_device_init(intf,&wt220u_zl0353_usb1_properties,THIS_MODULE,NULL) == 0)
+   return 0;
+   break;
+   default:
+   case USB_SPEED_HIGH:
+   /* USB 2.0 settings */
+   if 
(dvb_usb_device_init(intf,&wt220u_zl0353_properties,THIS_MODULE,NULL) == 0)
+   return 0;
+   break;
+   }
 
return -ENODEV;
 }
@@ -303,6 +316,53 @@
}
 };
 
+static struct dvb_usb_device_properties wt220u_zl0353_usb1_properties = {
+   .usb_ctrl = CYPRESS_FX2,
+   .firmware = "dvb-usb-wt220u-zl0353-01.fw",
+
+   .num_adapters = 1,
+   .adapter = {
+   {
+   .caps = DVB_USB_ADAP_HAS_PID_FILTER | 
DVB_USB_ADAP_NEED_PID_FILTERING,
+   .pid_filter_count = 15,
+
+   .streaming_ctrl  = dtt200u_streaming_ctrl,
+   .pid_filter  = dtt200u_pid_filter,
+   .frontend_attach = dtt200u_frontend_attach,
+   /* parameter for the MPEG2-data transfer */
+   .stream = {
+   .type = USB_ISOC,
+   .count = 5,
+   .endpoint = 0x02,
+   .u = {
+   .isoc = {
+   .framesperurb = 4,
+   .framesize = 940,
+   .interval = 1,
+  

Re: [linux-dvb] [Fwd: Mantis gpio_set_bits() fix]

2007-03-29 Thread Michel Verbraak

Marko Ristola schreef:





Onderwerp:
Mantis gpio_set_bits() fix
Van:
Marko Ristola <[EMAIL PROTECTED]>
Datum:
Sat, 17 Mar 2007 11:14:08 +0200
Aan:
Manu Abraham <[EMAIL PROTECTED]>

Aan:
Manu Abraham <[EMAIL PROTECTED]>



Hi Manu,

Here is a bugfix for gpio_set_bits().
What do you think about this bugfix?

The bug is that the function is only able to turn the given
bit on, but it can never turn a bit off.

My patch fixes that issue.

With my patched version gpio_set_bits is able to turn a single bit
on or off.

I haven't verified that it actually does turn the device's power off 
when requested.

I tested only rmmod and insmod. It seems to work with this version:
I haven't seen a lost frontend.

Regards,
Marko Ristola
This patch solves also the modulation change problem (18v or 13v). I can 
now receive and scan the same channels as the Windows driver is capable of.


I still have the problem that the driver cannot tune to all available 
channels on a satellite. The windows driver has the same problem. Could 
this be a problem of the card?


Regards,

Michel.


___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] dst tone/power patch

2007-03-29 Thread Anders Nordahl

This patch solved my problems.
Please integrate it.

/Anders

On Aug 7, 2006, at 4:45 PM, Yeasah Pell wrote:

I've had this dst patch kicking around for a while now -- it needs  
somebody else to try it out and confirm. If anybody's got a dst  
card and wouldn't mind trying out this patch, it'd be nice, as I'm  
getting a little tired of having this patch outstanding :-)


It changes the way the dst tone/power commands are issued, and has  
the following effects:


* Previously, tone/power commands would be partially co-mingled  
with tuning commands under some circumstances, and thus some  
commands could be lost (and bogus commands issued to the dst chip)


* The toneburst ("minidiseqc") command values were wrong (at least  
on my card), the new code generates the proper tonebursts. Somebody  
with a minidiseqc switch would have to verify this one. I bet  
nobody uses one of those though. FWIW, I did verify both with a  
scope and a minidiseqc switch, so it definitely works for my card  
anyway.


* It keeps better track of what the last state of the hardware was  
for the tone/power command so as to avoid unnecessary i2c traffic,  
but also to allow the retry of failed commands. (i.e. it won't  
squelch a repeat command if the last one failed)


thanks,
-yeasah
diff -r cf687ab6b0ab linux/drivers/media/dvb/bt8xx/dst.c
--- a/linux/drivers/media/dvb/bt8xx/dst.c	Mon Aug 07 10:44:33 2006  
-0300
+++ b/linux/drivers/media/dvb/bt8xx/dst.c	Mon Aug 07 10:18:57 2006  
-0400

@@ -1330,9 +1330,38 @@ static int dst_tone_power_cmd(struct dst

if (state->dst_type != DST_TYPE_IS_SAT)
return -EOPNOTSUPP;
-   paket[4] = state->tx_tuna[4];
-   paket[2] = state->tx_tuna[2];
-   paket[3] = state->tx_tuna[3];
+
+   switch (state->tone) {
+   case SEC_TONE_OFF:
+   if (state->type_flags & DST_TYPE_HAS_OBS_REGS)
+   paket[2] = 0x00;
+   else
+   paket[2] = 0xff;
+   break;
+   case SEC_TONE_ON:
+   paket[2] = 0x02;
+   break;
+   }
+
+   switch (state->minicmd) {
+   case SEC_MINI_A:
+   paket[3] = 0x00;
+   break;
+   case SEC_MINI_B:
+   paket[3] = 0x01;
+   break;
+   }
+   state->minicmd = -1;
+
+   switch (state->voltage) {
+   case SEC_VOLTAGE_OFF:
+   paket[4] = 0x00;
+   break;
+   default:
+   paket[4] = 0x01;
+   break;
+   }
+
paket[7] = dst_check_sum (paket, 7);
return dst_command(state, paket, 8);
 }
@@ -1476,79 +1505,70 @@ static int dst_set_diseqc(struct dvb_fro

 static int dst_set_voltage(struct dvb_frontend *fe,  
fe_sec_voltage_t voltage)

 {
-   int need_cmd, retval = 0;
+   int retval = 0;
struct dst_state *state = fe->demodulator_priv;

state->voltage = voltage;
if (state->dst_type != DST_TYPE_IS_SAT)
return -EOPNOTSUPP;
-
-   need_cmd = 0;

switch (voltage) {
case SEC_VOLTAGE_13:
case SEC_VOLTAGE_18:
if ((state->diseq_flags & HAS_POWER) == 0)
-   need_cmd = 1;
-   state->diseq_flags |= HAS_POWER;
-   state->tx_tuna[4] = 0x01;
+   retval = dst_tone_power_cmd(state);
+   if (retval == 0)
+   state->diseq_flags |= HAS_POWER;
break;
case SEC_VOLTAGE_OFF:
-   need_cmd = 1;
-   state->diseq_flags &= ~(HAS_POWER | HAS_LOCK | ATTEMPT_TUNE);
-   state->tx_tuna[4] = 0x00;
+   if ((state->diseq_flags & HAS_POWER) != 0)
+   retval = dst_tone_power_cmd(state);
+   if (retval == 0)
+   state->diseq_flags &= ~(HAS_POWER | HAS_LOCK | 
ATTEMPT_TUNE);
break;
default:
return -EINVAL;
}

-   if (need_cmd)
-   retval = dst_tone_power_cmd(state);
-
return retval;
 }

 static int dst_set_tone(struct dvb_frontend *fe,  
fe_sec_tone_mode_t tone)

 {
+   int retval = -EINVAL;
struct dst_state *state = fe->demodulator_priv;

-   state->tone = tone;
if (state->dst_type != DST_TYPE_IS_SAT)
return -EOPNOTSUPP;

switch (tone) {
case SEC_TONE_OFF:
-   if (state->type_flags & DST_TYPE_HAS_OBS_REGS)
-   state->tx_tuna[2] = 0x00;
-   else
-   state->tx_tuna[2] = 0xff;
-   break;
-
case SEC_TONE_ON:
-   state->tx_tuna[2] = 0x02;
-   break;
-   default:
-   return -EINVAL;
-   }
-   return dst_tone_power_cmd(state);
+   state->tone = tone;
+   retval = dst_tone_power_cmd(state);
+   if (retval != 0)
+   state->tone = -1;
+   

[linux-dvb] STV0297 Tuning Issues

2007-03-29 Thread Michael Ditum

Hi,

I'm currently doing some tuning testing with the STV0297 DVB-C Card. I have
a DVB-S to DVB-C TransModulator which I am using and just modifying the
output settings.

I'm having some issues tuning in a couple of the test cases and was
wondering if there was any technical reason why this was not possible. The
tests I am having trouble tuning in are...

  1. Symbol Rate of 1.74MBd with QAM 32, 64 & 128 (works fine with QAM
  16 and 256)
  2. Symbol Rate of 3.48MBd with QAM 32 (works fine with all other
  QAM's)

I am testing the tuning with dvbtune and as long as the xml version of the
SDT is returned I am counting that as working.

Does anyone know why I cannot tune with these settings? Is it a problem with
the driver?

I've provided my test results below;

Thanks for any help

Mike

*Frequency (MHz)
* *Bitrate (MB/s)
* *Symbol Rate (MBd)
* *Modulation (QAM)
* *Tuning Tested* *Tuning Works* *Notes*  62 25.4 6.89 16 *Yes* *Yes*
220 25.4 6.89 16 *Yes* *Yes*
440 25.4 6.89 16 *Yes* *Yes*
62 25.21 6.84 16 *Yes* *Yes*
220 25.21 6.84 16 *Yes* *Yes*
440 25.21 6.84 16 *Yes* *Yes*
62 12.83 3.48 16 *Yes* *Yes*
220 12.83 3.48 16 *Yes* *Yes*
440 12.83 3.48 16 *Yes* *Yes*
62 6.41 1.74 16 *Yes* *Yes*
220 6.41 1.74 16 *Yes* *Yes*
440 6.41 1.74 16 *Yes* *Yes*
62 31.75 6.89 32 *Yes* *Yes*
220 31.75 6.89 32 *Yes* *Yes*
440 31.75 6.89 32 *Yes* *Yes*
62 31.52 6.84 32 *Yes* *Yes*
220 31.52 6.84 32 *Yes* *Yes*
440 31.52 6.84 32 *Yes* *Yes*
62 16.04 3.48 32 *Yes* *No* Couldn't Lock  220 16.04 3.48 32 *Yes*
*No* Couldn't
Lock  440 16.04 3.48 32 *Yes* *No* Couldn't Lock  62 8.02 1.74 32
*Yes* *No* Couldn't
Lock  220 8.02 1.74 32 *Yes* *No* Couldn't Lock  440 8.02 1.74 32
*Yes* *No* Couldn't
Lock  62 38.1 6.89 64 *Yes* *Yes*
220 38.1 6.89 64 *Yes* *Yes*
440 38.1 6.89 64 *Yes* *Yes*
62 37.82 6.84 64 *Yes* *Yes*
220 37.82 6.84 64 *Yes* *Yes*
440 37.82 6.84 64 *Yes* *Yes*
62 19.24 3.48 64 *Yes* *Yes*
220 19.24 3.48 64 *Yes* *Yes*
440 19.24 3.48 64 *Yes* *Yes*
62 9.62 1.74 64 *Yes* *No* Couldn't Lock  220 9.62 1.74 64 *Yes* *No* Couldn't
Lock  440 9.62 1.74 64 *Yes* *No* Couldn't Lock  62 44.45 6.89 128 *Yes* *
Yes*
220 44.45 6.89 128 *Yes* *Yes*
440 44.45 6.89 128 *Yes* *Yes*
62 44.12 6.84 128 *Yes* *Yes*
220 44.12 6.84 128 *Yes* *Yes*
440 44.12 6.84 128 *Yes* *Yes*
62 22.45 3.48 128 *Yes* *Yes*
220 22.45 3.48 128 *Yes* *Yes*
440 22.45 3.48 128 *Yes* *Yes*
62 11.22 1.74 128 *Yes* *No* Couldn't Lock  220 11.22 1.74 128 *Yes*
*No* Couldn't
Lock  440 11.22 1.74 128 *Yes* *No* Couldn't Lock  62 50.8 6.89 256 *Yes* *
Yes*
220 50.8 6.89 256 *Yes* *Yes*
440 50.8 6.89 256 *Yes* *Yes*
62 50.43 6.84 256 *Yes* *Yes*
220 50.43 6.84 256 *Yes* *Yes*
440 50.43 6.84 256 *Yes* *Yes*
62 25.66 3.48 256 *Yes* *Yes*
220 25.66 3.48 256 *Yes* *Yes*
440 25.66 3.48 256 *Yes* *Yes*
62 12.83 1.74 256 *Yes* *Yes*
220 12.83 1.74 256 *Yes* *Yes*
440 12.83 1.74 256 *Yes* *Yes*
___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb