[linux-dvb] Mantis and MB86A16 (VP-1034) and DiseqC commands not working.

Zoilo Gomez zoilo at xs4all.nl
Tue May 1 19:12:32 CEST 2007


Manu Abraham wrote:
>>>> Freq+symrate is correct; I tried several freqs / pols / symbol rates on
>>>> sat=2.
>>>>
>>>> I am quite sure that the problem is simple and diseqc related, for the
>>>> several reasons:
>>>>
>>>> => my normal sat receiver is working fine on all 16 sat feeds (4*4)
>>>>
>>>> => KNC1 DVB-C is also working fine on all sats / pols / bands; the fact
>>>> that it is capable to select different sats proves that its diseqc
>>>> commands are working.
>>>>
>>>> => however VP1034 is working only on first satellite (out of 4). This
>>>> seems to be caused by 18/13V+22kHz signaling (not diseqc),
>>>>     
>>>>         
>>> So in fact DiSEqC is not failing for you, but 22k tone for SEC_A/B
>>>   
>>>       
>> I think that you are referring to the use of a 22 kHz tone to operate a
>> switch to select between 2 satellite inputs (22 kHz ON/OFF)? I am not
>> using 22k tone, not for SEC_A/B, and also not for band selection.
>>
>> I am using (and in fact must use) DiSEqC 1.0 for my switch to operate
>> properly (OK, DiSEqC uses 22 kHz pulse width modulation, but that is
>> different).
>>
>> Perhaps I haven't explained my setup very well.
>>
>> I have a dish with 4 Quattro LNBs, ie. 16 cables. I use a Spaun 17089NF
>> switch, with 16 inputs and 8 outputs. The switch is controlled by DiSEqC
>> 1.0, and allows to select from 4 sats, 2 pols and 2 bands, i.e. 16
>> possible combinations = 16 inputs. Inputs are aligned as follows:
>> 1: sat=1 band=low pol=V
>> 2: sat=1 band=low pol=H
>> 3: sat=1 band=high pol=V
>> 4: sat=1 band=high pol=H
>> 5: sat=2 band=low pol=V
>> 6: sat=2 band=low pol=H
>> ...
>> 16: sat=4 band=high pol=H
>>
>> In order to select eg. sat=2/band=low/pol=H (i.e 10832H/22000 on second
>> satellite) the VP1034 should send the following DiSEqC string: "e0 10 38
>> f6", which will select input#6 from the switch as the source (see
>> http://www.eutelsat.com/satellites/pdf/Diseqc/associated%20docs/applic_info_turner-receiver.pdf).
>> I have verified that this the VP1034 is in fact sending (or trying to
>> send) the correct string (see log file in previous email).
>>
>> As mentioned: all of this works fine with KNC1 DVB-S. Also working
>> perfect with any normal sat receiver.
>>
>> But with VP1034 DVB-S it does not work; although the driver is logging
>> the correct DiSEqC string. But in fact it switches to input#2, which has
>> same pol and band, but is on sat=1. So I wondered how this was possible
>> if DiSEqC wasn't working at all ... then I found out the reason: the
>> VP1034 is sending both the appropriate DiSEqC command, and using the
>> conventional 18/13V+22kHz signaling at the same time. So although DiSEqC
>> is not working, my switch responds to 18V to select Horizontal
>> polarization, and the absence of 22 kHz tone to select the lower band.
>> Selection of the satellite however fails then of course, and apparently
>> defaults to sat=1. So I end up being connected to input#2 instead of
>> input#6.
>>
>> To further verify my assumptions, I connected the VP1034 directly to
>> input#6 feed (sat=2,low,H) of my Spaun switch, and it works immediately.
>> This points to a selection problem, and shows that the freq+symrate etc
>> is correct.
>>
>> So it seems to me that either DiSEqC functionality is not switched on
>>     
>
> sounds like you don't have the tone burst working. Looking in there..
> Can you please try the modified burst callback ? You may/may not need to
> play a bit with a bit of sleep after the break in each case.
>   

Sorry Manu, but this is not about diseqc-burst either ...

Unless our mutual terminology is inconsistent, "diseqc-burst" is a 
simple enhancement method of controlling an individual 2-state switch, 
in addition to existing conventional control by 18/13V for pol selection 
and 22kHz for band selection (see: 
http://www.eutelsat.com/satellites/pdf/Diseqc/Reference%20docs/bus_spec.pdf).

What I need is DiSEqC 1.0 support, as specified in the above document, 
where the entire control information (sat,pol,band) is being passed by 
means of a digital message. No voltages or tones. The modulation method 
happens to be PWM / 22 kHz, but that is different from 22 kHz tones or 
22 kHz bursts.

So in my opinion, it is the 22 kHz PWM that is not working, for whatever 
reason. Either there is no DiSEqC output at all, because it is somehow 
disabled, or there is a timing problem.

Do you happen to have an oscilloscope? It should be easy to see if a 
proper 22 kHz enveloped pulse train is actually being generated, as 
defined in the bus_spec.pdf document.

Z.


> static int mb86a16_send_diseqc_burst(struct dvb_frontend *fe,
> fe_sec_mini_cmd_t burst)
> {
> 	struct mb86a16_state *state = fe->demodulator_priv;
>
> 	switch (burst) {
> 	case SEC_MINI_A:
> 		if (mb86a16_write(state, MB86A16_TONEOUT1, 0x5b) < 0)
> 			goto err;
> 		if (mb86a16_write(state, MB86A16_TONEOUT2, 0x00) < 0)
> 			goto err;
> 		if (mb86a16_write(state, MB86A16_DCC1, MB86A16_DCC1_DISTA |
> 						       MB86A16_DCC1_TBEN  |
> 						       MB86A16_DCC1_TBO) < 0)
> 			goto err;
> 		if (mb86a16_write(state, MB86A16_DCCOUT, MB86A16_DCCOUT_DISEN) < 0)
> 			goto err;
> 		break;
> 	case SEC_MINI_B:
> 		if (mb86a16_write(state, MB86A16_TONEOUT1, 0x5b) < 0)
> 			goto err;
> 		if (mb86a16_write(state, MB86A16_TONEOUT2, 0x00) < 0)
> 			goto err;
> 		if (mb86a16_write(state, MB86A16_DCC1, MB86A16_DCC1_DISTA |
> 						       MB86A16_DCC1_TBEN) < 0)
> 			goto err;
> 		if (mb86a16_write(state, MB86A16_DCCOUT, MB86A16_DCCOUT_DISEN) < 0)
> 			goto err;
> 		break;
> 	}
>
> 	return 0;
> err:
> 	dprintk(verbose, MB86A16_ERROR, 1, "I2C transfer error");
> 	return -EREMOTEIO;
> }
>
>   
>> properly in the register settings (I cannot verify if any DiSEqC pulses
>> comes out, because my oscilloscope is broken) or perhaps there is some
>> kind of timing problem. In fact I notice in the source code of the KNC1
>> driver that there are some wait_diseqc_idle() calls and another
>> diseqc-related functions call.
>>
>> Are you working under NDA 
>>     
>
> Yes
>
>   
>> I tried these changes anyway, just to see what would happen, but no
>> result. Anyway, my switch does not listen to sat-selection by 22 kHz
>> tone, but uses 22 kHz tone or band selection (low/high) instead.
>>
>>     
>
> ah, ok
>
>
>   




More information about the linux-dvb mailing list