Welcome to GOFASTMOTORSPORTS.com ... ... ... Green Flag - Green Flag - Go Go Go ... ... Brought to you by Ricks Satellite - Where the Big Dish Rules!

Ricks Satellite Wildfeed and Backhaul Forum
Register Latest Topics
 
 
 


Reply
  Author   Comment   Page 1 of 7      1   2   3   4   Next   »
midwestmac

Registered:
Posts: 2,287
Reply with quote  #1 
Was hoping to get a little help.
Is this the right way to install?? Or did I do it wrong??
My attempt at this https://bitbucket.org/majortom/v4l-pendragon
git clone https://bitbucket.org/majortom/v4l-pendragon.git  
cd v4l-pendragon
sudo make menuconfig
sudo make -j9 deb-pkg
sudo dpkg -i ../linux-*deb
sudo reboot

~ $ modinfo stv0900
filename:       /lib/modules/4.3.6+/kernel/drivers/media/dvb-frontends/stv0900.ko
license:        GPL
description:    ST STV0900 frontend
author:         Igor M. Liplianin
srcversion:     850CC18D10EAB41D99DE34A
depends:        dvb-core
intree:         Y
vermagic:       4.3.6+ SMP mod_unload modversions
parm:           debug:Set debug (int)


Then also, has anyone tried this yet I'm using Chinese Bobs Blindscan-s2 from here.
https://github.com/amcsorley/blindscan-s2

I'm blindscaning 11700 - 12200 hor steps of 5 (with universal lnb) on SES3 ku
For some reason I have to enter 4 extra zeros to the search range
 ~$ blindscan-s2 -b -l 10600 -2 -s 117000000 -e 122000000 -H -t 5
And it doesn't find anything
then.. 
If i enter ~$ blindscan-s2 -b -l 10600 -2 -s 11700 -e 12200 -H -t 5
I get "cx88-mpeg driver manager... out of range"
Code:
Apr 30 09:40:21 jim-System-Pendragon kernel: [ 1431.655948] cx88-mpeg driver manager 0000:09:01.2: DVB: adapter 0 frontend 0 frequency 106390000 out of range (940000000..2160000000)
Apr 30 09:40:22 jim-System-Pendragon kernel: [ 1432.148227] stv0900_algo
Apr 30 09:40:22 jim-System-Pendragon kernel: [ 1432.155926] stv0900_set_tuner: freq 106390000 bw 72000000

__________________
Azbox Ultra, Pansat 2500, Prof7301,Tbs 6925,5980, Genpix 8psk card, Dektec 2137c, Hauppauge 950q
midwestmac

Registered:
Posts: 2,287
Reply with quote  #2 
But to add to that above,  if I install the modules from majortoms bitbucket like this
git clone https://bitbucket.org/majortom/v4l-pendragon.git
sudo make menuconfig
sudo make modules
sudo make modules_install
sudo reboot
I get
~ $ modinfo stv0900filename:       /lib/modules/4.3.0-040300-generic/kernel/drivers/media/dvb-frontends/stv0900.ko
license:        GPL
description:    ST STV0900 frontend
author:         Igor M. Liplianin
srcversion:     2352DFD8BC891C23C5FE896
depends:        
intree:         Y
vermagic:       4.3.0-040300-generic SMP mod_unload modversions
parm:           debug:Set debug (int)

And chinese bobs blindscan-s2 works like it should somewhat. When tuning SES3 Hor it finds  all the transponders and "printf" to the terminal.
Some it finds twice. It even finds the 11706 H 900 but, The blindscan-s2 app might need some work?
Only problem though  it finds 11760 H 30000 and 11880 H 30000
and displays
11760 H 0
11880 H 0


__________________
Azbox Ultra, Pansat 2500, Prof7301,Tbs 6925,5980, Genpix 8psk card, Dektec 2137c, Hauppauge 950q
majortom

Avatar / Picture

Registered:
Posts: 5,013
Reply with quote  #3 
Your first post should be the correct way to compile / install it on a debian based system. The first time.
The second post, all you are doing is installing compiled modules over an existing kernel.
So what you did in the second post should really only be used if you are making some changes to a module, and you want to install it in your existing kernel to test it.

You should read Pendragon's post to determine what is different. My understanding is that any user applications will need to be re-written/modified in order to function properly with his modifications.

I have never played around with it. Just enough to make sure it compiled/installed OK.
The only reason I even put it there was so people could more easily play with it like you are doing.
There is also a version of chinesebob's blindscan-s2 in my bitbucket, that I modified a bit.
Might be interesting to see if maybe that behaves a little differently?
Though it was modified to work with UDL's kernel modules, not pendragon's.

__________________
Perfect 10 7.5' mesh Chapparal C/Ku Co-Rotor feed, Norsat 8115 CBAND, Norsat 4106A Ku Thomson Saginaw Actuator, Vbox positioner,
Home Brew Polarotor683 Servo circuit. Openbox S9, Prof7500, v4l-updatelee linux drivers installed.
ricardo's geo-orbit archive: https://web.archive.org/web/20071202191450/http://www.geo-orbit.org:80/sizepgs/tuningp2.html
DarkSky

Avatar / Picture

Registered:
Posts: 2,267
Reply with quote  #4 
Mac:

The best thing would be for pendragon to have some input here.

If it was me and having no guidance I would have started out with that kernel's defconfig as a base and make sure the modules you want are enabled in menuconfig. It is quite old and there is no .config is provided. Just do not know how it making a silent oldconfig (that it does) would turn out say if it is using the current 4.11 config for the base:

VERSION = 4
PATCHLEVEL = 3
SUBLEVEL = 6
EXTRAVERSION =
NAME = Blurry Fish Butt

Your second way of compiling leaves out the depends dvb-core. The second way should be used after compiling using your 1st method above (after making a change to a module) so other needed files will get created for rebuiling the new module. Certain needed files do not get created just using "make modules". After making a change for a new module with an already compiled kernel using your first method:

make your change for a new module and go back to the root of the tree
make
sudo make modules_install     #It will find the changed file and make the new module

Here is what I would do to compile the kernel (not knowing what this tree is about and using the kernels defconfig for a base).


export MAKEFLAGS="-j9"         # makes make use -j9 to compile while the terminal is active
make distclean                          # Clean out the tree
make x86_64_defconfig            # Uses that kernels defconfig and creates a .config
make menuconfig                      # enable all the modules for you devices save & exit

# When you exit menuconfig I like to double check in the newly created .config and make sure all is enabled that I want
# under the sections begining with Multimedia and below involving dvb / atsc devices

make deb-pkg

# Make sure all old kernel .deb and related packages are removed one dir up before running the next command

sudo dpkg -i ../linux-*deb            
sudo reboot



midwestmac

Registered:
Posts: 2,287
Reply with quote  #5 
Quote:
Originally Posted by majortom
Quote:
Your first post should be the correct way to compile / install it on a debian based system. The first time.
The second post, all you are doing is installing compiled modules over an existing kernel.
So what you did in the second post should really only be used if you are making some changes to a module, and you want to install it in your existing kernel to test it.

Thanks Majortom, I thought the first post was the right way just wanted to make sure.
Been playing with this for a week. 
My second post install wasn't working 100% like it should so tried the 1st post way.


Quote:
I have never played around with it. Just enough to make sure it compiled/installed OK.
The only reason I even put it there was so people could more easily play with it like you are doing.
There is also a version of chinesebob's blindscan-s2 in my bitbucket, that I modified a bit.
Might be interesting to see if maybe that behaves a little differently?
Though it was modified to work with UDL's kernel modules, not pendragon's.

Thanks for adding it to the bitbucket, makes it easier for me.
I'll read up on it some more, my thinking was if I start out with a easy app like blindscan-s2 I might be able to make changes to it, at least easier than updatedvb or the older stv090x-scan (which is less complex).


__________________
Azbox Ultra, Pansat 2500, Prof7301,Tbs 6925,5980, Genpix 8psk card, Dektec 2137c, Hauppauge 950q
midwestmac

Registered:
Posts: 2,287
Reply with quote  #6 
Thanks Darksky I just read your post (slow typer) I'll try that 
Thanks!

__________________
Azbox Ultra, Pansat 2500, Prof7301,Tbs 6925,5980, Genpix 8psk card, Dektec 2137c, Hauppauge 950q
DarkSky

Avatar / Picture

Registered:
Posts: 2,267
Reply with quote  #7 
I am a slow typer also. Majortom beat me to the punch so I repeated some things he said.

I think I will play with chinesebob's blindscan-s2 and see what it will do here on UDL's tree. I have not messed with it in a while. It did not work with UDL's old API in the past but I have not tried it since he changed things a while back. I did try crazycat's tune-s2 (who uses a stock kernel w/ a V4L merger) a while back and it worked pretty good.
DarkSky

Avatar / Picture

Registered:
Posts: 2,267
Reply with quote  #8 
Quote:
Originally Posted by midwestmac
And chinese bobs blindscan-s2 works like it should somewhat. When tuning SES3 Hor it finds  all the transponders and "printf" to the terminal.
Some it finds twice. It even finds the 11706 H 900 but, The blindscan-s2 app might need some work?
Only problem though  it finds 11760 H 30000 and 11880 H 30000
and displays
11760 H 0
11880 H 0


I agree that it might need some work, it has not been modified in 4 years. I tested it here on cband and it was flakey on read outs; had issues with trying to scan cband with giving wrong freq and symbol rate in the terminal and in dmesg it was a little better giving the right symbol rate at least:
Code:
[ray@arch blindscan-s2]$ ./blindscan-s2 -b -a 1 -d 5 -s 3952 -e 3957 -V -t 10 -l 5150
-1565988 V -756801 SIG  64% SNR  54% DVB-S  QPSK FEC_5_6  INV_OFF PIL_ON  ROL_35

Code:
[13598.400504] stv090x_get_lock: lock: true
[13598.429601] stv090x_search: Search success!
[13598.429602] stv090x_search: frequency       = 1196537
[13598.429603] stv090x_search: symbol_rate     = 2733900
[13598.429604] stv090x_search: fec_inner       = 5, 9
[13598.429605] stv090x_search: pilot           = 0
[13598.429606] stv090x_search: rolloff         = 0
[13598.429606] stv090x_search: modulation      = 0, 0
[13598.429607] stv090x_search: inversion       = 0
[13598.429608] stv090x_search: delivery_system = 5, 1
[13600.316204] stv090x_sleep: Set STV0903(1) to sleep

If I tried to force the inversion on the cband LOF (-5150) and tried -l CBAND I would get a print out from the cx88-mpeg driver in dmesg:
Code:
cx88-mpeg driver manager 0000:04:06.2: DVB: adapter 1 frontend 0 frequency 3952000 out of range (950000..2150000)

So here at least it needs some re-work using cband here.

If I was you I would try crazycat's blindscan-s2 on this kernel; although majortom's fork might work.

Ray
majortom

Avatar / Picture

Registered:
Posts: 5,013
Reply with quote  #9 
that doesn't look like the bitbucket version... we modified it a little bit to report a little better in UDL's kernel a few years ago.

Code:

~/src/blindscan-s2 > ./blindscan-s2 -b -s 3700 -e 4200 -H -t 20 -l 5150 -a 1
frontend: (STV090x Prof 7500) 
fmin 950 MHz 
fmax 2150 MHz 
min_sr 1000 Ksps
max_sr 45000 Ksps
3700  H 1000  SIG -46.0 dBm SNR 5.8 dB DSS    QPSK FEC_AUTO INV_OFF PILAUTO ROL_35
3732  H 11280 SIG -44.0 dBm SNR 11.8 dB DVB-S2 8PSK FEC_9_10 INV_OFF PIL_OFF ROL_35
3740  H 1000  SIG -43.0 dBm SNR 11.9 dB DSS    QPSK FEC_AUTO INV_OFF PILAUTO ROL_35
3760  H 1000  SIG -43.0 dBm SNR 11.9 dB DSS    MOD(6) FEC_AUTO INV_OFF PILAUTO ROL_AUTO
3781  H 29998 SIG -44.0 dBm SNR 8.6 dB DVB-S2 8PSK FEC_2_3  INV_OFF PIL_OFF ROL_20
3821  H 29998 SIG -43.0 dBm SNR 11.5 dB DVB-S2 8PSK FEC_5_6  INV_OFF PIL_OFF ROL_20
3840  H 1000  SIG -42.0 dBm SNR 11.9 dB DSS    QPSK FEC_AUTO INV_OFF PILAUTO ROL_35
3861  H 29002 SIG -45.0 dBm SNR 10.5 dB DVB-S2 8PSK FEC_3_5  INV_OFF PIL_OFF ROL_25
3901  H 27691 SIG -43.0 dBm SNR 10.7 dB DVB-S  QPSK FEC_3_4  INV_OFF PIL_ON  ROL_35
3981  H 30002 SIG -42.0 dBm SNR 10.1 dB DVB-S2 8PSK FEC_5_6  INV_OFF PIL_OFF ROL_20
4053  H 17501 SIG -41.0 dBm SNR 10.2 dB DVB-S2 8PSK FEC_5_6  INV_OFF PIL_OFF ROL_20
4141  H 36444 SIG -40.0 dBm SNR 7.8 dB DSS    QPSK FEC_2_3  INV_ON  PIL_ON  ROL_35
4141  H 36444 SIG -40.0 dBm SNR 6.8 dB SYS(0) QPSK FEC_2_3  INV_ON  PIL_ON  ROL_35
4141  H 34821 SIG -41.0 dBm SNR 8.5 dB DVB-S  QPSK FEC_2_3  INV_OFF PIL_ON  ROL_35
4169  H 10546 SIG -41.0 dBm SNR 6.2 dB DVB-S2 8PSK FEC_2_3  INV_OFF PIL_ON  ROL_35
4169  H 8758  SIG -42.0 dBm SNR 5.7 dB DVB-S2 8PSK FEC_2_3  INV_OFF PIL_ON  ROL_35


__________________
Perfect 10 7.5' mesh Chapparal C/Ku Co-Rotor feed, Norsat 8115 CBAND, Norsat 4106A Ku Thomson Saginaw Actuator, Vbox positioner,
Home Brew Polarotor683 Servo circuit. Openbox S9, Prof7500, v4l-updatelee linux drivers installed.
ricardo's geo-orbit archive: https://web.archive.org/web/20071202191450/http://www.geo-orbit.org:80/sizepgs/tuningp2.html
DarkSky

Avatar / Picture

Registered:
Posts: 2,267
Reply with quote  #10 
That was chinesebobs old version I was playing with Mac was using above. I think due to not "Keeping up with the Jones's" so to speak it is almost useless now. The last change was 4 years ago.
pendragon

Registered:
Posts: 1,026
Reply with quote  #11 

Relative to the comments about my baseline, I can only offer a few notes and reminders. First, my baseline is rather specialized and primarily for hard core Linux addicts. It was only developed to address my needs and was never intended for general distribution. However there are a number of unique features it can support, including fine-grain spectrum generation (down to ~10 KHz bandwidth), fast blindscan (500 MHz in 5-10 seconds), better signal handling, precision measurements, etc. Over the years I was persuaded to release my drivers so that others can benefit, but sadly I don't have time to support this at a community level. If you need that kind of help, updatelee's baseline has a lot of followers and is far better suited to the casual Linux user. I might choose to step in for highly technical discussions about my baseline, where I can best contribute, but please don't count on it.

Most of my work dates to 2009 and was mostly focused on the STV090x demodulator. The Linux DVB interface has always been limited, archaic, and redundant, and I had to extend it significantly at that time to support my needs. Sometime afterwards updatelee began working on an independent development for the same chipset, and made different choices to extend the Linux DVB interface to support the features he was adding. He later went on to support a lot of other hardware, whereas I only added more limited support for the STV0910 demods and other chips my DVB interfaces use.

The bottom line is our driver APIs are significantly different, and this needs to be taken into account when writing or adapting applications. Updatelee's approach was minimalistic, whereas my changes were extensive, in order to support a greater degree of application control. For example, a blindscanning application written to work with the updatelee API could be quickly adapted to work with mine. I'm biased, but my gut feeling is my drivers would run somewhat faster and provide more reliable results. However the blindscanning application I wrote to work with my API is outrageously faster, and provides a lot of user controls and unique features. I could not adapt it to run with the updatelee API, because that simply doesn't support the necessary interactions between the driver and application. The same situations apply for generating spectrums.

In terms of implementing our DVB changes, updatelee provides complete Linux repositories based on specific kernel versions, whereas my preference was to release the handful of files I wrote or modified for a specific kernel version. If one differences these against the vanilla Linux 4.3.3 baseline, the patch files that result are nearly identical to what would have existed in 2009 on Linux 2.6.x through the current 4.x, thanks to the fact that hardly anyone is making meaningful changes in these parts of the code. When I move to a new kernel using this differencing approach, it takes me about 20 minutes to complete a baseline merge of my DVB changes, which is nearly automatic. Within the hour I've built a new kernel and finished testing it. The repository scheme sounds cool, but it is far more complex, takes a lot of work, and is more prone to errors. However if you want to run my changes more in this manner, majortom has kindly done most of the work for you.

majortom

Avatar / Picture

Registered:
Posts: 5,013
Reply with quote  #12 
Here is what I got issuing the below command while on 127W H CBand, from a simple tuning / lock test app included with 'dvb-apps'
I am certain it would require some modification to interact with pendragon's api mods, to return status and such, but it does look to lock a
signal rather quickly. If we had some documentation on how to use some of the most important api modifications, could probably do something
with it...

~/src/dvb-apps/test $ ./lock_s -p 3822 h 1000 -l C-BAND

Code:

Apr 30 16:30:25 orion kernel: [ 2669.473052] power control: 1
Apr 30 16:30:25 orion kernel: [ 2669.473061] stv0900_init
Apr 30 16:30:25 orion kernel: [ 2669.473065] stv0900_wakeup
Apr 30 16:30:25 orion kernel: [ 2669.485735] stv0900_hard_reset
Apr 30 16:30:25 orion kernel: [ 2669.486231] stv0900_initialize chip_id 0x20 errs 0
Apr 30 16:30:26 orion kernel: [ 2669.573379] stv0900_set_mclk: Mclk set to 135000000, Quartz = 27000000
Apr 30 16:30:26 orion kernel: [ 2669.593964] stv0900_set_ts_parallel_serial path1 3 path2 0
Apr 30 16:30:26 orion kernel: [ 2669.684874] stv0900_algo
Apr 30 16:30:26 orion kernel: [ 2669.687116] stv0900_set_tuner: freq 1328000000 bw 72000000
Apr 30 16:30:26 orion kernel: [ 2669.704499] stv0900_wait_tuner: time 2
Apr 30 16:30:26 orion kernel: [ 2669.706229] stv0900_set_search_standard: AUTO
Apr 30 16:30:26 orion kernel: [ 2669.710602] stv0900_set_viterbi_standard: ViterbiStandard Auto
Apr 30 16:30:26 orion kernel: [ 2669.714723] stv0900_set_symbol_rate: sr 500000
Apr 30 16:30:26 orion kernel: [ 2669.722102] stv0900_blind_check_agc2_min_level: status 0 step 0 min 2bc th af0
Apr 30 16:30:26 orion kernel: [ 2669.722107] stv0900_set_symbol_rate: sr 1000000
Apr 30 16:30:26 orion kernel: [ 2669.724224] stv0900_blind_search_algo: step 0 k_ref_tmg 80 pass 0
Apr 30 16:30:26 orion kernel: [ 2669.861489] coarse: time 13 start 0 cf 697907 477324 sr 28592948 437219 timing 10 agc2 2002
Apr 30 16:30:26 orion kernel: [ 2669.865248] fine: freq 1328654939 sr 28592948 min 20015063 max 37170832
Apr 30 16:30:26 orion kernel: [ 2669.897284] DEMOD LOCK OK time 20
Apr 30 16:30:26 orion kernel: [ 2669.937522] stv0900_get_signal_params: range 12 freq 1329533406 offset 1576374 sr 30000570 modcode 15 rolloff 2 pilot 1 frame 0
Apr 30 16:30:26 orion kernel: [ 2669.937531] stv0900_algo
Apr 30 16:30:26 orion kernel: [ 2669.941243] stv0900_set_tuner: freq 1329533406 bw 41000684
Apr 30 16:30:26 orion kernel: [ 2669.957001] stv0900_wait_tuner: time 2
Apr 30 16:30:26 orion kernel: [ 2669.958879] stv0900_set_search_standard: DVB-S2
Apr 30 16:30:26 orion kernel: [ 2669.985253] DEMOD LOCK OK time 10
Apr 30 16:30:26 orion kernel: [ 2670.000650] stv0900_get_signal_params: range 12 freq 1329542738 offset 109144 sr 30000566 modcode 15 rolloff 2 pilot 1 frame 0
Apr 30 16:30:26 orion kernel: [ 2670.000658] stv0900_track_optimization: found DVB-S2
Apr 30 16:30:26 orion kernel: [ 2670.002494] stv0900_track_optimization: DVB-S2 modcode 15 pilot 1 frame_len 0 aclc 2c
Apr 30 16:30:26 orion kernel: [ 2670.141884] DEMOD LOCK OK time 0
Apr 30 16:30:26 orion kernel: [ 2670.142880] FEC   LOCK OK state 2 time 0 timeout 145
Apr 30 16:30:26 orion kernel: [ 2670.148509] stv0900_wait_for_lock: OK timer 1 timeout 145
Apr 30 16:30:26 orion kernel: [ 2670.279390] Result 12 freq 1329542738 sr 30000566
Apr 30 16:30:26 orion kernel: [ 2670.279405] Search Success
Apr 30 16:30:26 orion kernel: [ 2670.285496] stv0900_sleep
Apr 30 16:30:26 orion kernel: [ 2670.296991] power control: 0


__________________
Perfect 10 7.5' mesh Chapparal C/Ku Co-Rotor feed, Norsat 8115 CBAND, Norsat 4106A Ku Thomson Saginaw Actuator, Vbox positioner,
Home Brew Polarotor683 Servo circuit. Openbox S9, Prof7500, v4l-updatelee linux drivers installed.
ricardo's geo-orbit archive: https://web.archive.org/web/20071202191450/http://www.geo-orbit.org:80/sizepgs/tuningp2.html
pendragon

Registered:
Posts: 1,026
Reply with quote  #13 

I am in full compliance with Linux documentation standards, which means I have written absolutely nothing at all. However I will provide a bit of a guide of how to find one's way around my API. I'm sure this would be a lot more obvious if I posted my application codes, but they also contain personal intellectual property, mostly unrelated to DVB, that I'm not willing to give away at this time. Sorry.

Almost everything you need to know is in the frontend.h file. Before say 2009, the standard method of adding features to the Linux DVB domain was to invent new ioctl calls. There are serious shortcomings with this that I will not bother identifying. Through a somewhat bloody battle, S2API was adopted around that time to address these issues. S2API employs two ioctls to set and get one or more parameters from an extensible list (enum dvb_frontend_cmd) within a single system call. This is what I chose to follow. A year or so later updatelee reverted to the traditional "let's make some more ioctls" strategy. That is the critical difference between our approaches.

For the most part others outside of our arena have extended S2API in the intended fashion. The unfortunate downside to S2API is that it is ill-defined, which means its implementation in different drivers is rarely consistent. For example, take a simple tuning request. With S2API one fills a block with the desired tuning parameters (such as DTV_FREQUENCY) with a DTV_TUNE at the end, and performs a 'set' ioctl. Few drivers recognize any of these parameters when performing the tuning, which makes them next to useless. Let's say one now does a 'get' ioctl to see the result of the tuning request. Even fewer drivers will update the 'parameter cache' to indicate what the actual tuned values are, and thus the 'get' will probably simply return whatever was in the original 'set' request. Also useless. Fast forward, and say you now want to track something like CNR over time through S2API. You will likely get null values back because S2API only has a gross means to tickle the drivers, and almost all of them ignore this scheme anyway. Even worse, if they did use it, there would be a variety of dangerous race conditions because of the threading used in Linux DVB. S2API was and is a better approach than ballooning ioctls, but even at this stage it is at best half-baked and erratically supported.

My intention in 2009 was first to make S2API work to its full potential. Thus the drivers I've modified and written use the S2API parameters. I also removed the ambiguity and race conditions of what a 'get' ioctl is supposed to do with respect to the parameter cache, and introduced commands to explicitly request and update current driver status, the actual tuned frequency, CNR, etc. If you look at "enum dvb_frontend_cmd" in frontend.h, I've controversially changed it to readily incorporate feature extensions, and added a whole block of new commands at the end, mostly starting with "DTV_STATUS". In the driver infrastructure code, I've finished a lot of incomplete software, so there is no need to use legacy ioctl calls anymore. Thus in a driver compliant with these changes, everything required to set all DiSEqC switches, voltages, tones, tuning parameters, etc. can be accomplished with a single system call. Similarly one can make a single system call to determine the results of a tuning request, including the obtaining of all the actual received parameters.

I have then extended the command list to allow applications to set many processing options in the drivers that did not previously exist. None of these are required, and there are decent default choices. But if you have a very difficult signal to lock, there are a number of settings that can dramatically improve the success rate, especially for low SR signals. Conversely if you are blindscanning and don't need a full lock, you can change parameters to greatly speed up the scan. Features such as the spectrum capture are also presented through this interface, and I even added a capability to command the FlexPorts present on some of the DirecTV-compatible multiswitches. This allows the full use of a 6x8 or 6x16 switch, instead of being limited to 4 inputs. The details of the commands can be deduced by reading the dvb_frontend.c and stv0900 driver code I supplied. Some of these changes are also present in the stv0910 driver I wrote, but I haven't uploaded a more completed version.

It is also worth noting that I got tired of all of the dozens of different engineering units employed throughout the DVB APIs. It's a tribute to Grace Hopper's remark that the nice thing about standards is there are so many to choose from. But I hate having to support all of these at the driver level. So I standardized on units of Hz and 1/1024 dB. I would have much preferred to deal in floating point units, but Torvalds is such a Luddite that we are doomed to early 1970s class operating system concepts and limitations, at least until he is safely buried.

Thus if you have an application written to updatelee's API, converting it to use my API will require replacing ioctl calls with S2API sets and gets. You will probably end up with far fewer calls because many can be combined. If you want to extend such an app to utilize the full capabilities of my API, additional code may be required to set the various options it offers beyond what is present in updatelee's API. As an example, I expect changing a coarse-grain spectrum scan to fine-grain could require conceptual design changes to the app itself, because of the great detail this feature can provide.

There is an important question of whether these APIs could be merged. My quick analysis was that in terms of features and capabilities, updatelee's API is pretty a subset of mine. Presumably one could simply reimplement his ioctl functions to make the requisite S2API commands. There would be a few conflicts to resolve, but those might be primarily in units, which could be simply converted back and forth to maintain compatibility. Merging the APIs the other way around would probably be far more difficult, because many of my features have no analog in updatelee's API.

Richard

Registered:
Posts: 62
Reply with quote  #14 
Thanks, the overview is most helpful.

Regards,

Richard
midwestmac

Registered:
Posts: 2,287
Reply with quote  #15 
I still can't figure out where that "cx88-mpeg driver manager out of range error" comes from.
I never saw that error when I installed v4l-pendragon like I posted in post #2
The blindscan-s2 app worked better than it does now.
I was able to watch the kernel log as the driver searched around a signal I  was trying to tune
I'll have to try that again and post that.

__________________
Azbox Ultra, Pansat 2500, Prof7301,Tbs 6925,5980, Genpix 8psk card, Dektec 2137c, Hauppauge 950q
Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Easily create a Forum Website with Website Toolbox.

Fellow Members, your posts are welcome here! Do not worry about posting everything perfect. Different receivers and LNB's will give you different Frequencies and Symbol Rates. Some set top boxes, PCI cards and USB receivers, Do Not Require all of the same information that others may need. It is not Required to post everything that others may need to tune in a feed. It is just most important to share the find. We can always adjust the Frequency and Symbol Rates and try the various Modulations and FEC's on our own receivers until we get a lock and then give a polite reply with what works for your receiver, as that information might help others as well. We all appreciate the efforts and energy of the Posters!

Thank You for Visiting GOFASTMOTORSPORTS.com - Keep Your Eyes on the Sky and the Track!