Topics

Early PC blindscan success

Well I have followed the instructions and now have a USB 8gig
Linux drive from which I am typing this message and I am downloading Mythbuntu. I am happy just getting internet and will see how to install TT S2-3200 drivers etc.

It would be good to start a Linux thread under computers.

I got bored so I made the 7301 run a spectrum on the Intel 9 (58V) C-band V pol (see pdf). Unfortunately I can't turn the bandwidth any lower than 5 MHz, so things get smoothed out compared to a real spectrum analyzer (see gif). Still it's better than nothing and it takes less than 12 seconds to scan.

Quote:
Originally Posted by pendragon
I got bored so I made the 7301 run a spectrum on the Intel 9 (58V) C-band V pol (see pdf). Unfortunately I can't turn the bandwidth any lower than 5 MHz, so things get smoothed out compared to a real spectrum analyzer (see gif). Still it's better than nothing and it takes less than 12 seconds to scan.

Hi Pendragon,

You’re doing some fantastic work.  I really like the spectrum analyzer function.  Thanks for sharing, and keep us posted on your progress.

John

 

I've been busy with real work, but I've had a little time to squash bugs in the standard Linux driver for the Prof demod chip. I have a short list of problems that remain to be fixed and there is missing code that apparently was never written. But I have a good feeling I have arrived at the beginning of the end of this part of the project.

I am not sure whether I've reached the end of the beginning for blindscanning. I have been able to get the Prof units to blindscan entirely in hardware, which has the nice advantage of abstracting chip specifics out of a hypothetical blindscanning application. Unfortunately it is rather slow and randomly misses signals. I might be able to overcome these problems with a lot of work, but this is a very difficult path to follow as it could require massive changes to many of the standard register settings. That would be tedious detective work to say the least.

I have been far more successful in getting the Prof units to blindscan by performing some of the blindscan functionality in the driver and application. It still can miss closely spaced low SR signals, but it does no worse than my Pansat 9200HD. It reports all signal parameters and they appear to be dead-on, including frequency, SR, modulation type, FEC, pilot, etc. I have done a little research on workarounds for the low SR issue and that looks promising. What might turn out to be particularly useful is the ability to specify a directed blindscan to save time, such as only certain frequency and SR ranges. The code can already do that in addition to a wide open blindscan. Once the basic driver work is done I may simply release the above as a work in progress and let others assemble a nice GUI and other bells and whistles.

Unfortunately for my purposes, none of the this has any value. I have many dishes and dozens of LNBs. Blindscanning of this variety is little different than what I could do before with my Pansat. I have interests in a very narrow range of feeds, and when they come up there is often little time to detect them before I need to lock a receiver. In some cases there is no past history of even what set of birds may be used and I am stuck with searching the entire sky. Even if I had several PC tuners running around the clock, my chances of catching the feeds in time would be nil.

I've already taught my bench spectrum analyzer to accomplish crude blindscanning across all of my dishes and LNBs, which it can do automatically at blinding speeds. My plan is to integrate the Prof tuners into this scheme, and in certain cases work autonomously. Because I can have LNBs locked on tons of birds at the same time, the goal is to entirely blindscan one every 5 seconds or so. The code I have discussed above will never be close to fast enough. I believe I have figured out how to solve this problem and most of my focus in the future will be on this path. But that will be a longer road.

pendragon: Ive downloaded the s2-liplianin src and see the blind search functions but no blindscan app. Ive also downloaded the scan-s2 and szap2 apps but those apps appear to be for tunning specific freq not finding new ones.

looking around http://mercurial.intuxication.org/hg I dont see anything else that appears to be what im looking for.

I dont mind messing around with a little source code here and there, but writing the app from scratch would be quite a task I imagine esp if one is already wrote lol.

The STV0903 Linux driver always had a 'blindscan' capability, but what it calls blind scan/search isn't quite the same as what FTAers call blind scan. For the most part if an app makes any tuning request, this particular driver will search for any kind of signal near that frequency and try to lock it. It completely ignores most of the tuning parameters the app provides. But there is no mechanism for the driver to pass the parameters of the found signal back to the app. That means one could write a trivial app to find all the signals on a bird by stepping through the spectrum, but it will not be able to obtain the frequencies, SRs, modulation type, FEC, etc.


Back in January I got a real blind scanning app to work by hacking the driver to perform a more rational search and pass back the parameters of the signals it found. But I found several serious problems locking certain classes of signals, and I fundamentally disagree with some of the design decisions made in the driver's architecture. The driver can get lost when trying to lock a signal when there is none to be found. If it successfully locks a signal and that signal goes down, the driver can become very unresponsive. There are cases where the driver goes off to lunch and one has to reboot to get it back. These are faults of the Linux code and not the hardware. 

My frustration is that a blind scanning app tends to cause many of these driver shortcomings to become nightmares. I had started a partial rewrite of the driver to fix all of these issues in January. A couple of days later I received a call from my city's building planner warning me the city was considering an ordinance to drastically limit dish antennas (is there any wonder who might have motivated this?). This was so draconian that existing dishes would not be grandfathered. 

I did my legal research and so far it appears this last clause will not see the light of day, because it would almost certainly be struck down in court. The flip side was that it is imperative I install any dish I possibly might ever want to use before the ordinance passes. So between attending the city meetings on the ordinance and finishing all the FTA projects I had considered for the next five years in 2-3 months, I had to put the Prof blindscanning project on the backburner.

To make things a little worse, a few intermittent channels I watch moved and I had to accelerate the development of an ultrafast blindscan app I prototyped in December and some code to unravel a non-standard, but unencrypted IP/DVB stream. This is the story of my life. Never enough time. Things are idling down, but it looks like I now need to find another job. I hope to get back to Linux blindscanning sometime soon, but I'd be foolish to guess when that will be. At least Prof is indicating they are planning something for Windows. That won't suit my purposes entirely, but it might be something to tide us over.

Well Im sorry to hear about your city issues, Ive never come across any problems with regards to satellite dish's, but I have in other area's, like antenna towers. Some have made me jump through hoops, one city I lived in made me get a building permit to put a post in the ground for the dish and even had an inspector come out after I was done.

My hobbies of radio and satellite are not eye candy to many, but Ive always done my best to make them aesthetic as possible for my wife and neighbors sake. Its a shame that some city councilors cant be content with that and feel the need to micromanage and regulate to death every aspect of our personal lives.

Linux interests me the more then windows, I work for the army and am away for several months at a time, I spend most of my time at my hobbies away from the house. Linux is more stable and lends itself to remote access better imo. I do have an old windows computer running for tsreader and my icom software, but it seems everytime I go away it starts acting up and im once a week asking my wife to go downstairs and reboot it, till it gets to the point rebooting it wont help anymore lol. Linux just keeps on trucking.

I also enjoy the opensrc aspect of Linux, I like the fact that if my situation is different then the populous its no problem, just means I have to fix it myself rather then do without. I run two dreambox satellite receivers as well. These come from a euro market and once in awhile I'll find an issue with how NA sats work and Ive been able to using dvbsnoop determine the issue and fix it in the source. Im not stuck with what manufacturer thinks is important or not, if I want it, I can try to make it happen.

back on topic though, have the changes you made been reflected in s2-liplianin ? if not would you be willing to make them available ?

someone wrote an app as you describe for the tevii, it try's every freq in a range with 4 differernt SR's, the montage chip is flexible enough to make this work, but it wont return the details it used to lock those signals so its basically useless for what I want.

I would love to have something akin to a BLSA implemented and a separate app that would simply output the freq/pol/sr/fec/modulation param in text and then I can go from there.

looking more into the v4l drivers I see what you mean, blind_search looks in a 5mhz or 10mhz (depending on SR) window for the center of the TP, basically a AFC on tune. it has a few different modes

cold search: the exact SR is known, the freq is aprox
warm search: the exact SR and exact Freq are known
blind search: the SR is aprox and the freq are aprox

did you just step through the Lband 5mhz at a time and check for signal strength and use that info to attempt to lock the freq, then read the tuner status to get the freq/sr/modulation param ?

I'm actually not upset with the city. I've been able to work with them to iron out the onerous and illegal parts of the ordinance. I'm only frustrated because one complaint seems to have generated a lot of work for them and me. Like you, I've spent a lot of time trying to make our satellite dishes as inconspicuous as possible and it doesn't appear our neighbors are that offended. We just happen to have one who is a pest on anything that doesn't suit them.


I haven't submitted any of my changes to s2-liplianin because they are still in an experimental state. This dish project caught me unprepared and the code was simply abandoned in mid-stream. When I get back to it I will have to decide whether to split off a branch with the more stable fixes I have done, which could be published, from the rework that will be required. 

The poor-man's BLSA code is part of this conundrum. It's very simple and probably useful for higher SR signals. I just wish the tuner chip had a narrower bandwidth setting. I have no use for this because I wrote software to run my bench spectrum analyzer to automatically and rapidly scan for candidates across all my LNBs, and particularly the toroid dishes. But I hope to make the BLSA-like code available so others can take advantage of it.

The scheme you described for blindscanning should work. I was trying to make it a little more efficient because it seems the STV0903 has a number of capabilities not currently accessed by the driver. 

Well this is my first attempt at doing anything like this. In the past Ive modified existing code todo minor changes like pic up AC3 pids, or change EIT pids etc lol. I used to program for a living 10 years ago and since then just dabled here and there. I think I'll take it slow and work first at outputing somethign like a BSLA because thats just looking at the signal level and ploting it. I think I can modify szap to output some text on a sweep and use gnuplot to make me a nice png. I'll see where that takes me. Then I'll look at actually locking signals and determining the params of that signal.

Where are you getting your datasheets from ? the ones on ST are more like flyers, they mention vague features but no specifics, they dont even mention blindscan.

Hey updatelee, have you seen the Triple Dragon's spectrum analyzer plugin?  It could be a help to you (code wise).  I have a TD (and the file(s) from the svn repository) if you'd like to take a look.

Willing to help the cause and would love to see a SA for the prof.

thats the one that shows the spectrum on the front lcd right? I'll give it a shot on my own for now, it seems simple enough, I'll find out if it really is lol

See attached...The output is produced on the screen.  Pretty basic...As I mentioned, I do have the source files.  They may help, or may not.  Let me know...

EDIT: BTW for those wondering, this is a shot of AMC15/18 vert.

    Attached Images

  • Click image for larger version - Name: SAScreenshot.JPG, Views: 172, Size: 118748

nice, Id love to have something output'd like that. I even like the colors hehe Whats the resolution on that ? 1mhz ?

I cants see the code really being that transformable across as they are different tuners and gui's

out of curiousity does that run under enigma ? I use dreambox's alot, never used TD, Id love to have something like running on dreambox. I have e1 and e2 box's

Yea, I believe the res is 1 MHz.  You can adjust and "zoom in" on an area of interest.  It does go down below 1 Meg on the readout, but I don't use it below 1 Meg.

I don't think the plugin runs under Enigma.  I had Enigma running on the box, but the plugin did not use the same libs as Enigma.  I have an Azbox and I was thinking about porting it to the Azbox, but I admittedly lack the code-sense and "getter done" to port it.  I figured it might be useful to you.  Again - If you'd like to take a look at it, just let me know.

Load More Posts... 5 remaining topics of 35 total
Reply Cancel
Share Cancel