Freescan: FreeSCAN Open Source Project - Developers Wanted!

Status
Not open for further replies.

K7MFC

WRAA720
Premium Subscriber
Joined
Nov 18, 2017
Messages
863
Location
Phx, AZ
Thanks - we'll see how it goes. I've been looking for a worthy open source project to which I can contribute and this seems like a good fit with my professional career and hobbies/interests. I too enjoy this program and would like to see it live on.
 

Firekite

Member
Joined
Apr 2, 2019
Messages
471
I am extremely glad to have FreeSCAN for my 396XT. It would be great to see it kept alive by people who know what they’re doing. Other than a few bugs around the nonfunctional mapping features and some new features to make mapping out circles (and rectangles, dare I hope) easy, I’m just glad to have it like it is.
 

ka3jjz

Wiki Admin Emeritus
Joined
Jul 22, 2002
Messages
25,772
Location
Bowie, Md.
Indeed - if it were rewritten just to clean up the outstanding bugs, that would be a significant plus. Fixing the DMR/MOTOTRBO support (as well as the various trunk system warnings, since some of them are now out of date) would be a real boon.

Happily the user guide is in our wiki. But if the various forms were redone, that would have to be added to the list of tasks. Lots of new screen shots would be needed.

Mike
 

Disk4mat

Member
Joined
May 27, 2019
Messages
95
Location
Queen Creek, AZ
First huge props for getting this organized @K7MFC

This is only my opinion after "scanning" over the posts. Im thinking to keep it as VB. Fix known bugs and refine poorly implemented features then think about moving this to C#. Personally I would keep it as VB though. Cleanup the project, make a list of known issues/bugs and work towards a usable release.
 

Scan125

Member
Joined
Apr 30, 2014
Messages
609
Location
UK
Well I downloaded the base (not forked) of FreeScan out of interest.

I wrote Scan125 and DriveR8 in Visual Studio VB .NET so hav a little experience.

Points of Observation:

1) The package was loaded into VS 2017/2019 OK
2) Code built OK
3) Code ran OK
4) There are some VB6. code functions that have been deprecated. These will require, I would suggest, sorting out as an initial action
5) Had a little bit of initial difficulty in understanding the overall code base/design (forms and functions) because some major/base parts of the code are in a separate "Resources" directory and in Solution Explorer separated from the bulk of the rest of the code/design. This "layout" is possibly due to the FreeScan project being based on other work the original author was working on? I would possibly be tempted to consolidate the design/code into the main directory and use the 'Resources' folder/directory for imported code

I would like to help/contribute BUT as I don't have any of the supported DMA scanners I would be unable to test or validate any code I have written and would thus be a prime source for destabilising code.

Lastly, overall the code seems to be generally logical, well sectioned with appropriate comments so I can't see any major issues with people picking up this code base and keeping the project alive.
 

K7MFC

WRAA720
Premium Subscriber
Joined
Nov 18, 2017
Messages
863
Location
Phx, AZ
Thanks for taking a look, Scan125. I currently have a BCD996P2 and BCD325P2 I can test with, and any users willing to test and provide feedback for any other supported scanner would be much appreciated. I agree that the code could be a little better organized (There are some files with 1000s of lines!) but it has some good comments and so far I am able to navigate the project and I am learning about the application's architecture. I agree with the comments above as well - the effort to rewrite in C# because that is my preferred .NET language would not yield any direct benefit to the user. The first issue I have opened and assigned to myself is to fix the "Check for updates" menu option. I figured this is a good starting point to make a small code change, and learn about the publish process.

I've also set up a new homepage for FreeSCAN:

free-scan.net

This new homepage will preserve the current installation files and make them available for download, as the project appears to have been abandoned and the website is no longer maintained. The new FreeSCAN homepage will also host any new versions that will be made available for download, and will communicate any changes made to the application. I also want to make it clear that I have no affiliation with Assaf Shool/Sixspot Software - my project is a fork of his original work, which was released under the GNU General Public License and allows anyone the freedom to run, study, share and modify the software. Credit is given to Assaf/Sixspot Software as the original creator, but subsequent releases will be maintained by me.

At some point in the future I'll be making a post on the RR forums asking for feature requests and bug fixes for FreeSCAN, so I can open issues in GitHub for myself or anyone to take on.
 
Last edited:

Ronaldski

MI DB Admin
Database Admin
Joined
Aug 23, 2005
Messages
3,122
Location
Bay City MI
Item(s) to work on, one is to figure out why windows defender, presumably other antivirus' dont like it, but you have to do a run anyways type thing. Cached forum for -> FreeSCAN

I sent this to K7FMC this was from a cached post I made on the freescan forum for fixes.

Yes several fixes for you, but most are pretty simple.

Most are to address areas that need some TLC since new models came along, the P2’s,
===================

Since the XT's have been discontinued a few years ago, remove from the type list, the text "(Digital XT)" leaving it to say "P25 Standard Digital"

===================

In the programming ‘Site Setup’ area at the 'P25 Wait Time' remove the (Digital XT Only) more radios can do it.

===================

Occurs in both conventional and trunked systems-
Programming area for GPS you have for analog 'GPS (15/996T)' I would just say 'GPS'.
For digital in the talkgroup area, you have GPS (XT Scanners Only) just leave it as GPS.
Since then P2 radios have come on scene that can do it.

===================

Occurs in both conventional and trunked systems-
Remove in the Enable analog - Digital AGC, Change 'XT options' to just 'Options' again more radios than XT can do that.

===================

In 'setup scanner options' since more radios can do these-

General Tab
Under ‘Backlight Mode (Handheld Only)’ - remove the text 'XT Only’
Then at 'XT Specific’ maybe just say ‘Options' or ’XT, P2 Options’
At ‘Backlight Colour’ add in the 996P2 – Colour to color?
At ‘LCD’ for ‘Mode 3’ remove the ‘XT’

Close call tab
Under’ Digital XT Only:’ Change to maybe AGC Options?
Remove the 'XT Scanner Only' and maybe change it to 'Display alert options' or so?

Service Search tab
At the ‘Choose which Service Search To Set:’ Remove ‘TV’ since no radios can listen to HDTV Audio
Change the 'XT Options' to 'Options'

Advanced tab
Have to redo the two write ups for AGC, P25 Wait time to include the newer models since writing those. Safe to assume those were done prior to XT's let alone the current P2's

===================

Ok now to stay on the subject for Mototrbo – DMR
Importing from RR and using the freescan trunked interface, any DMR systems show up as [Unknown]

===================

I second about no place to put colour codes and also need to be able to put in Slot numbers for talkgroups.


Think you are doing a good job at this so far without having a unit to demo on.

« Last Edit: January 29, 2018, 04:22:57 PM by Ronski »
 

K7MFC

WRAA720
Premium Subscriber
Joined
Nov 18, 2017
Messages
863
Location
Phx, AZ
Thanks, Ronaldski. Getting the application code signed and trusted by Windows is definitely something that is on my radar. Based on previous discussions I've read here on the RadioReference forums, there is a belief this is a "ransom" Microsoft makes developers pay, or that a signed/trusted application is a guarantee that an application is virus-free, neither of which are exactly true. It does cost money to obtain a certificate (not purchased from Microsoft) in order to sign the code - a small cost when a revenue-generating company develops an application, but a potentially significant cost for an individual(s) developing free software. Such a certificate allows the developer to digitally sign the code, so that the operating system on which it is being executed can determine if it has been altered in any way since the developer's official release. This is to thwart an attack where a hacker hijacks install files hosted on a server and replaces them with their own malicious software, but is not a guarantee for the user that Microsoft has determined it to be free of viruses. Microsoft also uses the certificate to verify the identify of the application publisher. Not obtaining the certificate and signing the code can result in false positives from anti-virus software and can also show the "Do you want to trust this app from an unknown publisher" message.

By open sourcing the software, anyone is free to inspect the code and verify that the app does what it says it will do. Anyone is also free to build the app from the raw code and not have to trust an executable provided to them. Obviously this is above many user's pay grade, but the idea is that those knowledgeable enough to do so will, and alert the community if there is any reason not to trust a piece of software. This is one of those "nice to have" things and is not an immediate priority but if work continues on FreeSCAN, ultimately I would like to have it be a trusted Windows application and worry users with any warning messages or false positives from anti-virus software.
 
Last edited:

Scan125

Member
Joined
Apr 30, 2014
Messages
609
Location
UK
My Scan125/DriveR8/others have no certificates. As my projects are free but also Charityware/Careware I've also obfuscated my source/run time code to make reverse engineering more difficult and hopefully help protect the DEBRA charity income. This obfuscating can upset AV programs.

You are right in that certificates really only verify the identity/origin of the code are are no guarantee that the actaul code running is virus free.

My strategy from day one was to:

1) MD5 # the source ZIP file (allows users to verify the source package)
2) MD5 # the exe file (allows users to verify the run time file any time they like after program installation)
3) Check locally on my machine with Malwarebytes Pro and MS Defender
4) Submit to VirusTotal.com (allows me and others to verify my code against some 60+ AV engines)

What I have found early on that both MS and Norton would occasionally throw a false positive. Very annoying for me and the end user. However by quickly reporting and sample submitting to the AV vendors I have found that (maybe by chance/luck) recurrence of false positives rapidly tail off. I think I only had one (reported) in over a year now.

Certificate or not I would be wanting to set-up some form of release control with respect to code integrity and a strategy to rapidly jump on false positive respose and vendor chasing.
 

Scan125

Member
Joined
Apr 30, 2014
Messages
609
Location
UK
Quick comment about the free-scan.net new site.

You may just want to change "FreeSCAN is free and open source software for programming Uniden scanners."

to

"FreeSCAN is free and open source software for programming Uniden DMA scanners."

or something similar.

Not all Uniden scanners are/use DMA and clealry support for other scanners (e.g. 125 series) is not going to be architecturally campatible with FreeSSCAN programming foundations/design. Will hopefully stop an influx of requests to support non compatible scanners.
 

Firekite

Member
Joined
Apr 2, 2019
Messages
471
You are right in that certificates really only verify the identity/origin of the code
Signing the release also provides a mechanism for verifying the integrity of the installer, as he also mentioned. Those two things combined (we know who made it and that it hasn’t been touched since signing) provide a very high level of confidence that it’s safe to run. It makes a lot of sense to require it. Certificates are not or do not have to be any great expense.
 

Scan125

Member
Joined
Apr 30, 2014
Messages
609
Location
UK
Yes understand and agree. Was being too brief.

I've not recently looked into the price of certificates and having one is always better with than not but at this initial stage of the project funds may not be available. I'm perfectly sure Matt is well up to base on the practical side and implications of releasing code into the wild so my post was more intended/directed to others viewing about just ONE aspect of what will be involved and ideally required. (made as someone raised the false positive issue in the first place).

If you like there is a job role / specification / function for someone to handle false positive information and resolution processes which requires no coding skills.
 

ProScan

Software Provider
Premium Subscriber
Joined
Jul 2, 2006
Messages
7,972
Location
Ontario, Calif.
Here's are a couple of issues just in case you are not aware of.

1. The RRDB Import will not work in the current state because the appKey was removed. So a new developers key is needed. I'm not sure how that would be handled since anyone can view the key and use it for their own purpose.

From frmRRTrn.vb line 705
Code:
varAuthInfo.appKey = "" 'Apply for an API key and put it here


2. Google Maps doesn't work because
2a. They now requires https versus http
2b. The api version currently used is depreciated. {edit} I'm not sure on this one.
2c. They now require a free key

From frmGPS.vb line 167
Code:
"[URL]http://maps.googleapis.com/maps/api/geocode/xml?address=STRADD&sensor=false"[/URL]
 
Last edited:

K7MFC

WRAA720
Premium Subscriber
Joined
Nov 18, 2017
Messages
863
Location
Phx, AZ
Thanks for the feedback, ProScan - I have applied for a RadioReference database API key for use in continuing the development of FreeSCAN. Open source applications that require sensitive information such as API keys typically exclude such info from source control. API keys will be stored in a config file that will not be included in the FreeSCAN GitHub repo. This would of course limit development of this feature to those that have their own RadioReference database API key. #2 should be fairly straight forward to resolve; I have extensive experience with the Google Maps API. This key will also be excluded form source control.
 

ka3jjz

Wiki Admin Emeritus
Joined
Jul 22, 2002
Messages
25,772
Location
Bowie, Md.
Perhaps I can open a page in the FreeScan User Guide in our wiki to log bugs and issues (no upgrades yet...way too soon for that). This way Matt has a handle on what needs to be fixed.

Mike
 

ka3jjz

Wiki Admin Emeritus
Joined
Jul 22, 2002
Messages
25,772
Location
Bowie, Md.
There is a bug related to trunking that should be logged. Right now, if you try to import a system with a type that isn't supported, you will get a warning message, but the import will still continue (Open Sky is a prime example). Of course now with ProVoice, NXDN and DMR/MOTOTRBO modes all available in the P2 scanners with the proper upgrade, these warnings are no longer up to date. This is one of the last things Assaf and I worked on, and was intended to help newcomers identify systems that they may have trouble with using.

In addition these scanners can't handle ham modes like D-Star or Yaesu Fusion. They would be no less an issue if someone tries to import them (using the EZ Grab function) from the amateur radio side of the database.

So we need a couple of things to fix these bugs;
a. Update the trunking warnings so that they're up to date.
b. For those systems that can never be decoded - like Open Sky - by any hobby level decoder like UniTrunker, send a message and block it entirely
c. There are several LTR variants (not LTR Standard) that can't be trunked, but can be monitored conventionally. For these, give the user the option to import them conventionally. If they choose, send them to the EZ Grab form with the frequencies filled in and the system name in the description. This would allow the user to configure the system the way they wish. If they don't want to do that, let them exit the function entirely
d. For NXDN, DMR/MOTOTRBO and ProVoice - let the import continue with a message that only the P2 scanners can handle these with a paid upgrade. I can see letting the import go if they were using something like DSD to look at these modes. I *think* FreeScan can detect the model number - if so, then here's another place where EZ Grab could be used to capture these frequencies if a P2 scanner is not detected.

Mike
 

K7MFC

WRAA720
Premium Subscriber
Joined
Nov 18, 2017
Messages
863
Location
Phx, AZ
Thanks, ka3jjz, that would be helpful. Issues are "officially" being tracked tracked here:

https://github.com/mfcallahan/FreeSCAN/issues

However, not everyone here likely has a GitHub account and is familiar with working in a code repository. A Wiki page on RadioReference would be helpful and allow for participation by more users. If you do set this up, I will monitor the page and make sure issues are opened in the source code repository. I will also log the issue you described above in GitHub today.

I'm glad to hear you worked with Assaf on this project - your insight will definitely be valuable as I continue on the path of learning everything about Assaf's original source code. I'm slowly getting my feel wet working on some small code changes, and am excited to keep working on FreeSCAN.
 
Last edited:

ka3jjz

Wiki Admin Emeritus
Joined
Jul 22, 2002
Messages
25,772
Location
Bowie, Md.
I'll set this up tonight, Matt. Assaf and I built the user guide from scratch, so while I don't know everything he did, I am somewhat familiar with most of the functions. I don't have a DMA scanner right now, though - had to sell it to make bills after a long layoff. But I used an old 396T as my baseline for testing, which at the time was still pretty good.

Mike
 

K7MFC

WRAA720
Premium Subscriber
Joined
Nov 18, 2017
Messages
863
Location
Phx, AZ
Thanks for getting that set up. I've added a link to the wiki page on the free-scan.net homepage, as well as added a link to the FreeSCAN issues page on GitHub to the wiki page. I will monitor the wiki page to make sure any issues added there are tracked in the code repository.
 
Status
Not open for further replies.
Top