Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Budget (and patch) related problems



HI all

Recently I was trying to fix budget-patch driver
and I have encontered a lot of problems. The search
for bugs revealed one hard oops in sw_demux code
that freezes computer completely

I has been doing much of the debugging before posting
this message.

The general problem is that the same driver, with
the same DMA settings etc works for true budget card
and doesn't work for budget patch but it should, before
it would have worked. 

Budget-patch has the rps1 code that replaces hardware.
It does it job well (I improved it) if the input it gets 
from 7146 DD1 PORT B is correct. But 7146 seems to feed
some bad data.

The same driver code (with rps1) was tried in true budget 
card, I loaded rps1 into normal budget card and it triggers VSYNC
in phase-exact cycles as the actual hardware. Everything
works there. Thus I concluded that rps1 didn't affect anything
true budget card works and dumps data happily while having
rps1 synthesizing vsync in cycle-exact manner like the hardware 
chips in budget.

One big difference between budget-patch and true budget
is that on budget-patch prior to using it, dvb-ttpci has
to be loaded and unloaded to leave av7110 filled with 
firmware that is needed to send tuner diseqc commands

Other difference is that is uses different tuner,
communicating over debi with diseqc, maybe it programs
differently the demodulator?? On 2.4 it was working
well

the current state of budget-patch is that it receives
trashed TS stream, at about 30% of expected bandwidth,
and DMA transfers don't begin with 0x47 as they should
but begin from random positions in the stream.
I analyzed the stream of received data searching for
0x47 bytes that normally should be 188 bytes distant.

What I get is such distances 0x47 (packet lengts delimited
with 0x47) in the stream:
188 292 188 104  188 292 188 104  and so on. 
(note 292=104+188)

In the stream, 0x47 seems to be follwed with correct PIDs 
expected in the stream.

Although I'm using BRS (bit-rate-scaler programmed
to transparently dump stream) it looks like some
prescaling of the stream is applied before it hits
DMA FIFO.. Is 7146 doing it or the demodulator, I
can't tell. ANYBODY SEEN SOMETHING LIKE THIS???

I even tried to feed such stream to sw_demux but
the side problem is that it triggers sw_demux bug.
that oopses hard with computer brought to complete 
halt.

------------ speculation -------------

dvb-ttpci certainly changes something on the card,
leaving it in unuseable state for budget-patch.
I cannot undo this state with simple 7146 reset with 
MC1. (but such reset helps, making possible the 
autodetection of budget-patch hardware)

Besides, dvb-ttpci driver after unloaded, leaves 
av7110 continuously dumping stream of 0x80 0x01 or 
something like this endlessly being dumped into port A of
7146.

I'd like if someone is working on av7110.c after unload
of dvb-ttpci to stop av7110 dumping data to port A, 
while keeping firmware loaded and responsive for debi 
commands, budget-patch needs them for diseqc tuning.

Also I wonder is there some simple way to load firmware
from budget-patch.c without copy/paste of vast parts of 
av7110.c. I can't just link code, because the struct's of
budget and av7110 are different :(!

I need to just load and boot the firmware, I don't need
anything else fancy from av7110.c

Emard




Home | Main Index | Thread Index