{"id":16149737,"url":"https://github.com/robotastic/smartnet-scanner","last_synced_at":"2025-06-13T13:36:22.116Z","repository":{"id":10489366,"uuid":"12669916","full_name":"robotastic/smartnet-scanner","owner":"robotastic","description":"GNURadio based scanner for SmartNet II Digital radio systems.","archived":false,"fork":false,"pushed_at":"2013-11-10T12:15:36.000Z","size":336,"stargazers_count":26,"open_issues_count":0,"forks_count":4,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-10-11T00:44:48.466Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robotastic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-09-07T18:59:46.000Z","updated_at":"2024-09-28T06:55:29.000Z","dependencies_parsed_at":"2022-09-11T18:20:39.204Z","dependency_job_id":null,"html_url":"https://github.com/robotastic/smartnet-scanner","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotastic%2Fsmartnet-scanner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotastic%2Fsmartnet-scanner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotastic%2Fsmartnet-scanner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotastic%2Fsmartnet-scanner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robotastic","download_url":"https://codeload.github.com/robotastic/smartnet-scanner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221715954,"owners_count":16868647,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T00:44:55.738Z","updated_at":"2024-10-27T18:15:35.662Z","avatar_url":"https://github.com/robotastic.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Smartnet Scanner\n\n![](//scanner.png)\n\nGNURadio based scanner for SmartNet II Digital radio systems. It is for systems that use P25 CAI for the voice channels instead of analog.\n\n### Channel List\nIn order to work, the scanner needs a list of the talkgroups on the system. This is stored in a Comma Sperated Value (CSV) file, that should be named ChanList.csv.\n\nIn order to get this data:\n\n1. Goto [Radio Reference](http://www.radioreference.com/apps/db/) and find the system.\n2. Click on \"List All in one table\". \n3. Select the tabel and copy it into a spreadsheet program like Excel, or Google Docs.\n4. It should have 7 different columns. \n5. The value in the collumns should be as follows: \n `DEC - HEX - Mode - Alpha Tag - Description - Tag - Group`\n6. Save this file in the CSV format. \n\n### Installation\n**Requirements**\n- GNURadio 3.6\n- My version of [gr-dsd](https://github.com/robotastic/gr-dsd)\n\nOnce all this is installed then\n\n\tcmake .\n\tmake\n\n### Parameters\nHere are the options available for the scanner. I put the parameters I use in _examplestart.sh_.\n\n\t./smartnet --freq 856187500.0 --center 857000000.0  --rate 8000000 --error -5500 --rfgain 14 --ifgain 35 --bbgain 35\n\n\n**--rfgain** _14_\n\nThis is the standard gain that you usually set with your SDR program. For the HackRF, it is either on or off. To turn it one, set it to 14.\n\n**--ifgain** _35_\n\nThis is an additional gain option that is useful for the HackRF, but may not be set able with SDR. \n\n\n**--bbgain** _35_\n\nThis is an additional gain option that is useful for the HackRF, but may not be set able with SDR.\n\n\n**--rate** _4000000_\n\nThis is the sample rate that will be used. You want to make sure that the sampling rate you pick is equal to or large than the range of frequencies used by the radio system you are monitoring. Try to make it as small as possible though or else things will be slow because you will have to process lots of extra data. \n\n\n**--center** _857000000.0_\n\nThis is the center frequency that the SDR will be tuned to. It should be in middle of the lowest frequency and the highest frequency of the system you are trying to monitor. There is usally a spike at the center, so make sure you don't have the center freq landing on one of the channels in the radio system.\n\n\n**--freq** _856187500.0_\n\nThis is the SmartNet control channel frequency for the system you monitoring. This program will listen to it and track the different channel assignments for the talkgroups. Check [Radio Reference](http://www.radioreference.com/apps/db/) to find this frequency.\n\n\n**--error** _-5500_\n\nSDRs are great, but the tuning is always off by a little unless you have an external clock. This setting lets you correct for this error. The amount of error will generally be different for each device. For my HackRF, I have found the amount of error to be pretty stable though. However it is different at different spots in the sprectrum, so figure it out for each system you are looking at. In order to find yours, fire up a program like  [GQRX](http://gqrx.dk/), tune in the control channel for the system you want to monitor and determine how far it is off from the specified frequency. Note: the frequency tuned in is actuall calculated as: _target - error_. So for with system it was: Target = 856187500.0 and Actual = 85619300.0, so the error was: Target - Actual = -5500.\n\n\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobotastic%2Fsmartnet-scanner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobotastic%2Fsmartnet-scanner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobotastic%2Fsmartnet-scanner/lists"}