Sunday, September 5, 2010

Prof 7500 linux kernel driver mods

This will modify the stv0900 ko so that it reports back the tuned information when FE_GET_PROPERTY is called. The stock ko doesnt do this, because the hardware using blindsearch() can lock such a wide range its nice to know the actual details of what it locked onto.

the driver will do search +/-5mhz, +/- 10000SR, auto fec, auto inversion, auto modulation, auto system, auto pilot/rolloff

also if you set any fec at all that isnt auto, it will use warmstart() insted of blindsearch(), this will speed up the locking of signal. it'll still do autofec, it just uses the fec as a switch to turn blindsearch() on/off

stv0900.zip

genpix skywalker-1 linux driver mods

This will enable DSS and DGII tuning in linux. There isnt much you can do with DSS as it uses a different packet size, so you can lock the signal and unless you want to write more code, thats all. DGII on the other hand works fine. You;ll need an app that has the ability to pass the right cmd's on through FE_SET_PRPERTIES, like my tune-s2 app, then use demux to save the stream and play it in vlc. Ive tested it on starchoice's BC legislative network ZK channel. Others have tested it on music channels.

This patch also enables turbofec 8psk and qpsk through choosing the DVB-S2 system, then choosing 8psk or qpsk modulation.

gp8psk.zip

demux

This is my demux app Ive wrote for linux, it has a pretty simple job, you either give it a list of pids you want saved or you dont give it a list and it assumes 4196 (0x2000) record all pids on the tp. It saves the result to /tmp/test.ts you can then use vlc or whatever to play the file.

If you want to give it a list of pids and you want it player friendly then dont forget you need to not only specify the vpid and apid, but also the pcr (often the vpid but not always), the pmt and pat as well.

once your done recording press 'q' to quit

demux.zip
demux.mips.zip
demux.mips.bin.zip

The mips version is setup for dreambox, again I use openpli. The mips version doesnt have the ability to record the entire stream, if you try and select pid 0x2000 it will lock the dreambox up tight and you'll need to reboot. It does though have the ability to send the stream instead of to a file or to the onboard mpeg decoder so that you can watch it on your TV instead. Obv make sure enigma isnt running, lol, only one app at a time can send video to the TV hehe.

edit: I think I fixed the 2GB filesize limit in dreambox demux.mips
edit: December 12th 2010, adjusted how the usleep() size is determined, also switched to fwrite() in mips, hopefully this will eliminate the buffer overruns and keep cpu usage low

tune-s2

tune-s2 is a small linux app Ive wrote to be able to tune my dvb devices, all I wanted it todo is control my motor, diseqc and 22khz switch's and tune a signal, from there it waits for the user to press the 'q' button to quit the app. This allows me to use other apps like my demux app or other apps like dvbsnoop and dvbtraffic.

tune-s2.zip
tune-s2.mips.zip
tune-s2.mips.bin.zip

the mips version is setup for the dreambox, so you'll need a proper crossbuild env to build that, I use openpli which on another topic is an amazing project run by some great developers.

edit: tune-s2.mips_bin.zip is a precompiled version for the dm800, it may work on other mips dreambox's but I only have a dm800 to test on. everyone really should compile it themselves to ensure it works smoothly, but try the compiled version if you want. copy it to /usr/bin and 'chmod +x tune-s2' before using

edit: December 19th 2010, Ive changed how the lock is determined, should be more compatible with various cards now.

BLSA

This is a small linux app I'm working on to control the BLSA device, you can find more info on the hardware itself here It uses the com port to control it and the protocol is very well documented and simple to use. Here is an example output from

blsa -cmd sweep_image 950 1500 0.5 10750

The source is still a work in progress, there is almost no error checking and its pretty easy to make it seg fault :)

edit: December 12th 2010
- Added the -average N option allowing you to repeat the sweeps N times to average the image

edit: December 19th 2010
- Added the -loop option, this will repeat the cmd endlessly, this is nice when used in conjunction with the sweep_image option. I then use a blsa.html page to endlessly refresh the image.

edit: December 22nd, 2010
- Changed how the tp detect functionality works, should work better now.