[linux-dvb] DiB3000MC rewritten and MT2060 is ready to go into main

Patrick Boettcher patrick.boettcher at desy.de
Sat Aug 19 21:15:26 CEST 2006


Hi Matthieu,

I added something to my repository which should fix it:

Can you give it a try:
http://linuxtv.org/hg/~pb/v4l-dvb

Thanks for finding the problem,
Patrick.

--
  Mail: patrick.boettcher at desy.de
  WWW:  http://www.wi-bw.tfh-wildau.de/~pboettch/



On Fri, 18 Aug 2006, matthieu castet wrote:

> Hi,
> Patrick Boettcher wrote:
> > Hi,
> > 
> > On Thu, 17 Aug 2006, matthieu castet wrote:
> > 
> > > > >Are you running on USB2.0?
> > > >
> > > >No usb1.1
> > > >
> > > >On usb2.0 it seems to work (but the configuration is a bit different).
> > > >Is there a way to check if the usb bandwidht don't overflow because of
> > > >bad
> > > >filtering ?
> > 
> > 
> > So OK, it is definitely only the PID filter functionality somewhere. It can
> > be the dib3000mc or the use of the interface.
> > 
> > It will only be a small fix and there is only a few people having only
> > USB1.1. It is save to merge it into mainline and then send a patch for
> > fixing later.
> > 
> > How are you coding abilities? Can you check if dib3000mc_pid_parse is called
> > with onoff 1 and if the bit is set correcly by reading it back.
> > 
> Yes it is set correctly, but look what you do in dib3000mc_set_output_mode :
> 
> case OUTMODE_MPEG2_FIFO:            // e.g. USB feeding 
>                 elecout = 3;
>                         /*ADDR @ 206 :
>                         P_smo_error_discard  [1;6:6] = 0
>                         P_smo_rs_discard     [1;5:5] = 0
>                         P_smo_pid_parse      [1;4:4] = 0
> 						^^^^^^^^ ooppps we don't whant
> to touch this one : it is set by dib3000mc_pid_parse.
>                         P_smo_fifo_flush     [1;3:3] = 0
>                         P_smo_mode           [2;2:1] = 11
>                         P_smo_ovf_prot       [1;0:0] = 0
>                         */
>                         smo_reg = (0 << 6) | (0 << 5) | (0 << 4) | (0 
> << 3) |(3 << 1) | 0;
>                         fifo_threshold = 512;
>                         outmode = 5;
>                         break;
> 
> If I put smo_reg = (0 << 6) | (0 << 5) | (1 << 4) | (0 << 3) |(3 << 1) | 0;
> it works :)
> 
> There is 2 solutions to solve the problem :
> - smo_reg is only set at init time
> - we don't touch bit 4 in dib3000mc_set_output_mode
> 
> Matthieu
> 



More information about the linux-dvb mailing list