https://wiki.satnogs.org/api.php?action=feedcontributions&user=7j1ajh&feedformat=atomSatNOGS Wiki - User contributions [en]2024-03-28T22:15:44ZUser contributionsMediaWiki 1.32.0https://wiki.satnogs.org/index.php?title=Troubleshooting&diff=2384Troubleshooting2018-11-06T06:17:09Z<p>7j1ajh: /* Client not showing up on the network? */ fix typo</p>
<hr />
<div><br />
== Client troubleshooting ==<br />
<br />
=== Client not showing up on the network? ===<br />
<br />
* Check that you have ticked the "Is it operational?" checkbox on the groundstation page.<br />
* Check your settings and ensure that the API token and station ID are correct. You can get these from your profile page on the SatNOGS network site. If you have accounts in both dev and prod, make sure you're using the token and station ID from the right environment.<br />
* Check your SATNOGS_NETWORK_API_URL. It should point to https://network.satnogs.org/api/ (prod) or https://network-dev.satnogs.org/api/ (dev). <br />
* Check your network connectivity. Can you ping network.satnogs.org or network-dev.satnogs.org? Try running <code>curl https://network.satnogs.org</code> or <code>curl https://network-dev.satnogs.org</code>.<br />
* Check the logs for an error (<code>journalctl -f -u satnogs-client.service</code> or <code>less /var/log/supervisor/satnogs-error.log</code>) and post to our forums at https://community.libre.space<br />
<br />
=== "satnogsclient - ERROR - Cannot connect to socket 127.0.0.1:4533" ===<br />
<br />
The client is trying to connect to rotctld but is unable to.<br />
<br />
* If you have a no-rotator setup, ensure that satnogs-client is configured as such; see the [[Raspberry Pi 3]] page for info on how to do this.<br />
<br />
* If you do have a rotator, ensure that rotctld is running.<br />
<br />
== Signal troubleshooting ==<br />
<br />
=== Not receiving anything? ===<br />
<br />
* Make sure the satellite you are testing observations against is active and recently received by others on [https://network.satnogs.org our production network site]. If you click on a satellite name, a popup will appear and give you the option to click on "Past Observations". If everything in the past shows red, then the problem is likely with that satellite.<br />
<br />
* SO-50 is a good satellite to use for testing as it is a strong FM voice signal assuming you have UHF capabilities. Schedule using "PE0SAT - Mode V/U FM Voice - 436.794 MHz". Here is an example to compare against: https://network.satnogs.org/observations/3334/<br />
<br />
* ISS is a good test for VHF as the APRS digipeater is alive again (as of this writing; check [https://www.issfanclub.com/ issfanclub.com] for up-to-date information). When you schedule it, be sure to select the APRS downlink.<br />
<br />
* If you're using an rtlsdr, check that it can be seen and is operating correctly by running rtl_test. Let it run for 30 seconds or so, then hit Ctrl-c to kill it:<br />
<br />
<pre><br />
pi@raspberrypi:~ $ rtl_test <br />
Found 1 device(s):<br />
0: Realtek, RTL2838UHIDIR, SN: 00000001<br />
<br />
Using device 0: Generic RTL2832U OEM<br />
Found Rafael Micro R820T tuner<br />
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 <br />
[R82XX] PLL not locked!<br />
Sampling at 2048000 S/s.<br />
<br />
Info: This tool will continuously read from the device, and report if<br />
samples get lost. If you observe no further output, everything is fine.<br />
<br />
Reading samples in async mode...<br />
^CSignal caught, exiting!<br />
<br />
User cancel, exiting...<br />
Samples per million lost (minimum): 0<br />
</pre><br />
<br />
* You can also try a manual run of satnogs_fm_demod.py to make sure that works:<br />
<br />
<pre><br />
$ cd /tmp<br />
$ satnogs_fm_demod.py --rx-sdr-device=rtlsdr --rx-freq=444000000 --file-path=./audio-out.ogg --waterfall-file-path=./waterfall.dat<br />
</pre><br />
<br />
Let it run for a minute or so. If everything is working, this should create an .ogg file and a .dat file of non-zero size (probably a few MB each). <br />
<br />
=== Observations seem off-frequency? ===<br />
<br />
[[File:Waterfall_3519_2017-04-24T04-48-48_resized.png|frame|Check your location!]]<br />
* '''PPM drift''' While newer SDR devices are very good and stable, there still may be some PPM drift to compensate for if you notice that signals are consistently off center. The SATNOGS_PPM_ERROR setting in /etc/supervisord.d/satnogs.ini can be used to correct for this.<br />
* '''Clock sync''' Make sure your clock is synced. Ensure ntp is configured and running (especially with the Raspberry Pi which lacks a real time clock)<br />
* '''Wrong location''' If your signal seems to be on but drifts at the apex like in this image, check to make sure your Latitude, Longitude, and Elevation coordinates are set properly and in the right format.</div>7j1ajhhttps://wiki.satnogs.org/index.php?title=Adjusting_the_SatNOGS_Client&diff=2362Adjusting the SatNOGS Client2018-09-20T09:03:56Z<p>7j1ajh: /* automatic adjustment via kalibrate-rtl */ fix typo</p>
<hr />
<div>(This page is a port of [https://community.libre.space/t/how-to-do-some-client-adjustments/1604/1 DL4PD's excellent post] to the SatNOGS forum.)<br />
<br />
== Prerequisites / dependencies ==<br />
<br />
This page assumes:<br />
<br />
* you've read all the [[Get Started|Getting Started]] page, as well as the pages linked under "Build" and "Operate" on the [[Main Page]]<br />
* you've already made your [[Operation|first observations]] and have some waterfalls in the [[Network]]<br />
* you've installed [http://gqrx.dk/download install gqrx] on your local computer.<br />
<br />
== SatNOGS station adjustments ==<br />
<br />
Now you've come to a point where you want to know how well your station is performing. The first step is to determine your frequency offset.<br />
<br />
=== automatic adjustment via kalibrate-rtl ===<br />
<br />
As a more comfortable way to get the ppm of your SDR the tool ''kal'' from https://github.com/viraptor/kalibrate-rtl can be used.<br />
At the moment you probably have to get and build it by yourself.<br />
<br />
When using the pre-built image for the Raspberry Pi, you have<br />
to install the following dependencies:<br />
$ sudo apt-get install libtool pkg-config libfftw3-dev librtlsdr-dev<br />
<br />
Then you can build and install it with<br />
$ ./bootstrap<br />
$ CXXFLAGS='-W -Wall -O3' ./configure<br />
$ make<br />
$ sudo make install<br />
<br />
For usage, see available parameters:<br />
$ kal -h<br />
kalibrate v0.4.1-rtl, Copyright (c) 2010, Joshua Lackey<br />
modified for use with rtl-sdr devices, Copyright (c) 2012, Steve Markgraf<br />
Usage:<br />
GSM Base Station Scan:<br />
kal <-s band indicator> [options]<br />
<br />
Clock Offset Calculation:<br />
kal <-f frequency | -c channel> [options]<br />
<br />
Where options are:<br />
-s band to scan (GSM850, GSM-R, GSM900, EGSM, DCS, PCS)<br />
-f frequency of nearby GSM base station<br />
-c channel of nearby GSM base station<br />
-b band indicator (GSM850, GSM-R, GSM900, EGSM, DCS, PCS)<br />
-g gain in dB<br />
-d rtl-sdr device index<br />
-e initial frequency error in ppm<br />
-E manual frequency offset in hz<br />
-v verbose<br />
-D enable debug messages<br />
-h help<br />
<br />
<br />
choose an appropriate band for scanning:<br />
$ kal -s GSM900<br />
Found 1 device(s):<br />
0: Generic RTL2832U OEM<br />
<br />
Using device 0: Generic RTL2832U OEM<br />
Found Elonics E4000 tuner<br />
Exact sample rate is: 270833.002142 Hz<br />
kal: Scanning for GSM-900 base stations.<br />
GSM-900:<br />
chan: 33 (941.6MHz - 155Hz) power: 4877018.31<br />
chan: 41 (943.2MHz - 208Hz) power: 2265226.87<br />
chan: 43 (943.6MHz - 133Hz) power: 1287992.91<br />
chan: 55 (946.0MHz - 179Hz) power: 1041611.46<br />
chan: 57 (946.4MHz - 252Hz) power: 1405188.40<br />
chan: 66 (948.2MHz - 13Hz) power: 5027059.56<br />
chan: 79 (950.8MHz - 111Hz) power: 1088677.82<br />
chan: 84 (951.8MHz - 231Hz) power: 945912.38<br />
chan: 86 (952.2MHz - 212Hz) power: 2314696.93<br />
chan: 116 (958.2MHz - 180Hz) power: 862935.90<br />
<br />
<br />
choose a strong channel:<br />
$ kal -c 33<br />
Found 1 device(s):<br />
0: Generic RTL2832U OEM<br />
<br />
Using device 0: Generic RTL2832U OEM<br />
Found Elonics E4000 tuner<br />
Exact sample rate is: 270833.002142 Hz<br />
kal: Calculating clock frequency offset.<br />
Using GSM-900 channel 33 (941.6MHz)<br />
Tuned to 941.600000MHz (reported tuner error: 0Hz)<br />
average [min, max] (range, stddev)<br />
- 206Hz [-293, -89] (204, 56.913998)<br />
overruns: 0<br />
not found: 0<br />
average absolute error: 0.219 ppm<br />
<br />
<br />
Now enter the measured ppm in satnogs-setup and you're done.<br />
<br />
=== manual adjustment ===<br />
<br />
To start, please connect to your Raspberry Pi's local web interface. By default the URL is something like "http://192.168.0.5:5000"; you'll need to figure out what it is for your client. In the upper right corner there is a big green button where you can set your ground station in standalone mode.<br />
<br />
Here's how it looks in network mode:<br />
<br />
<p>[[File:SatNOGS_local_network_mode.png|center|600px]]</p><br />
<br />
And here's how it looks when it's switched to standalone mode:<br />
<br />
<p>[[File:SatNOGS_local_standalone_mode.png|center|600px]]</p><br />
<br />
Instead of using the standalone mode you can also stop and later start the satnogs-client service via systemd directly via the console:<br />
<pre><br />
sudo systemctl stop satnogs-client<br />
sudo systemctl start satnogs-client<br />
</pre><br />
<br />
{{Message|<br />
* Do not forget to set this back to network mode when done with your adjustments!<br />
* While your station is in standalone mode, no observations from the SatNOGS network will be executed!}}<br />
<br />
After setting to standalone mode, please SSH to your SatNOGS Pi with your well-known user account; by default, this is the user "pi". After successful authorization you will see a prompt like this:<br />
<br />
<pre><br />
Linux satnogs190-dev 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 armv7l<br />
<br />
The programs included with the Debian GNU/Linux system are free software;<br />
the exact distribution terms for each program are described in the<br />
individual files in /usr/share/doc/*/copyright.<br />
<br />
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent<br />
permitted by applicable law.<br />
Last login: Fri Jan 12 07:34:11 2018 from 192.168.10.35<br />
pd@satnogs190-dev:~ $<br />
</pre><br />
<br />
Now go ahead and start the "RTL SDR spectrum server":<br />
<br />
$ rtl_tcp -a 0.0.0.0<br />
<br />
If everything is fine, you will get an output like this:<br />
<br />
<pre><br />
Found 1 device(s):<br />
0: Generic, RTL2832U, SN: 77771111153705700<br />
<br />
Using device 0: Generic RTL2832U<br />
Found Rafael Micro R820T tuner<br />
[R82XX] PLL not locked!<br />
Tuned to 100000000 Hz.<br />
listening...<br />
<br />
Use the device argument 'rtl_tcp=0.0.0.0:1234' in OsmoSDR (gr-osmosdr) source to receive samples in GRC and control rtl_tcp parameters (frequency, gain, ...). No further output will be generated until you connect to this server. Hitting C-c will stop it and the command line appears. <br />
</pre><br />
<br />
{{Message|You will have to stop this server if you want to go back to network mode - do not forget about this!}}<br />
<br />
Now go ahead and start gqrx:<br />
<br />
<p>[[File:Startup_gqrx.png|center|600px]]</p><br />
<br />
You will have to go to the setup menu, either by clicking on the "harde" symbol, or navigating through the menu item called "File -> I/O Devices"<br />
<br />
<p>[[File:Gqrx_io_configuration.png|center]]</p><br />
<br />
Click on "Device" and chose "RTL-SDR Spectrum Server"<br />
Edit "Device string" to match your Pi's IP address, Port defaults to 1234,<br />
which is the same as the default setting for your server you just started on<br />
the Pi.<br />
Set "Input Rate" to something network friendly - we do not need the whole spectrum the RTL SDR is able to convert. 1,8 MSPS (1800000) should be OK<br />
Depending on this setting your network will get very busy. Using wireless LAN is not recommended. Every sample has a data size of 16 bits, so the previous setting of 1,8MSPS/s results in a network load of 28,8 MBit/s:<br />
<br />
<pre>1,8 MSPS * 16 bit/s = 28,8 MBit/s</pre><br />
<br />
<br />
"Audio Output -> Device" and "-> Sample rate" should be set by default,<br />
values on average soundcards would be something like "Default, 48 kHz"<br />
Close the dialogue by clicking "OK"<br />
Your RTL-SDR spectrum server on the Pi should now show up a connection from<br />
your computer running gqrx.<br />
<br />
<pre><br />
client accepted!<br />
set gain mode 1<br />
set agc mode 0<br />
set direct sampling 0<br />
Disabled direct sampling mode<br />
set offset tuning 0<br />
set sample rate 960000<br />
ll+, now 1<br />
ll+, now 2<br />
set freq correction 42<br />
set freq 144500000<br />
set gain mode 0<br />
set agc mode 1<br />
set gain 0<br />
set freq 145814000<br />
ll-, now 0<br />
ll+, now 1<br />
ll+, now 2<br />
ll+, now 3<br />
ll+, now 4<br />
ll+, now 5<br />
ll+, now 6<br />
ll+, now 7<br />
ll+, now 8<br />
ll+, now 9<br />
ll+, now 10<br />
ll+, now 11<br />
ll+, now 12<br />
ll+, now 13<br />
</pre><br />
<br />
The only thing left now is to "Start DSP" - from the menu item "File", by hitting C-d or simply clicking the Play-Button.<br />
<br />
<p>[[File:Gqrx_running.png|center|600px]]</p><br />
<br />
Go for a known local HAM radio repeater or a CW beacon transmitter and set your demodulator accordingly. Narrow Band FM or CW is best to discover ppm error offset, which is the frequency offset in parts per million (ppm) which is always there with standard RTL-SDR dongles. It is also highly temperature dependent, so one might have to re-evaluate this from time to time. Enter the known frequency of your chosen transmitter (NFM repaeter or CW beacon). I have chosen a very known CW beacon just some km away from my home: ON4VHF on 144.718000 MHz. Walk through the tab called "Receiver options" and change the settings to fit the beacon: "Filter width Normal", "Filter shape Normal", "Mode CW-L", "AGC Medium". Set Squelch to something low, so you can hear noise from your speakers. Maybe you have to Adjust the audio "Gain" to something like "0.0 dB". You can adjust this to fit your needs to hear noise. With ppm error, which is default, set to 0.0 ppm, one can just guess where your receiver is listening. Anyway, just set it to 144.718000 MHz and try to find your beacon. You can see the result for my RTL SDR dongle down here:<br />
<br />
<p>[[File:Gqrx_ppm-error_offset.png|center|600px]]</p><br />
<br />
Now got to the tab called "Input controls" and find an input field called "Freq. correction". By default this should show "0,0 ppm". Set frequency back to your beacons transmit frequency. After this you have to increase the Freq. correction value as long until you can hear the beacon. Now zoom into the panorama by locating your mouse pointer in the range where the frequency values are printed below the panorama, just above the waterfall. Try to fit the Freq. correction value as good as possible, that your receivers red indication line is just in the middle of the transmitters bandwidth.<br />
<br />
<p>[[File:Gqrx_ppm-error_corrected.png|center]]</p><br />
<br />
Now write down the evaluated ppm correction value and exit gqrx as well as the RTL SDR spectrum server. In the command line now available start satnogs-setup:<br />
<br />
$ sudo satnogs-setup<br />
<br />
Navigate to "Advanced -> SATNOGS_PPM_ERROR" and enter the new value.<br />
<br />
<p>[[File:Fcecd26ca08cf3d23dffce719ef1dd13a4f7109d.png|center]]</p><br />
<br />
Exit the satnogs-setup with "Back", then "Apply Configuration" (this might take a while) and "Back".<br />
<br />
You are done with frequency offset correction.<br />
<br />
{{Message|With gqrx, you get a nice tool to do some SDR stuff by the way. Just play around a bit and get familiar with all that stuff. Just keep in mind that, as long as you run the RTL SDR Spectrum server or you have set your client into standalone mode, nothing is done from network.}}<br />
<br />
== Enhancements ==<br />
<br />
=== Waterfall color improvements ===<br />
<br />
To get some nicer waterfalls one has to dig into waterfall plotting script. This is a static one and, so far, cannot be configured through satnogs-setup. Anyway: there is no magic behind it and one can understand what the changes are once you have seen them.<br />
<br />
Log into the Pi and start at making a copy of /usr/share/satnogs/scripts/satnogs_waterfall.gp, just in case:<br />
<br />
$ cp /usr/share/satnogs/scripts/satnogs_waterfall.gp ~/.<br />
<br />
Now you can start editing the script:<br />
<br />
$ sudo nano /usr/share/satnogs/scripts/satnogs_waterfall.gp<br />
<br />
Search for a line starting with cbtics:<br />
<br />
# Spectravue palette and scale<br />
set cbtics (-110, -105, -100, -95, -90, -85, -80, -75, -70, -65, -60, -55, -50, -55, -40)<br />
<br />
Comment it out by adding a #, copy, paste and edit that new line that it matches something like this:<br />
<br />
# Spectravue palette and scale<br />
#set cbtics (-110, -105, -100, -95, -90, -85, -80, -75, -70, -65, -60, -55, -50, -55, -40)<br />
set cbtics (-90, -85, -80, -75, -70, -65, -60, -55, -50, -55, -45, -40, -35, -40, -25)<br />
<br />
Now go ahead and find a line with cbrange:<br />
<br />
set ylabel 'Time (seconds)'<br />
set cbrange [-100:-50]<br />
<br />
I guess, one already gets the point - change cbrange to match the new cbtics:<br />
<br />
set ylabel 'Time (seconds)'<br />
#set cbrange [-100:-50]<br />
set cbrange [-85:-35]<br />
<br />
Save the file and you are done. Schedule some observations and watch the new colors. Maybe you can just improve it a little more but keep in mind: always keep a bit of the noise floor into the waterfalls, so you can see the whole signals dynamic range. I love it, when there are only a few dots of the noise.</div>7j1ajhhttps://wiki.satnogs.org/index.php?title=User:7j1ajh&diff=2277User:7j1ajh2018-08-15T11:25:37Z<p>7j1ajh: link to real user page</p>
<hr />
<div>See [https://WikiEducator.org/User:JimTittsler Jim Tittsler]</div>7j1ajhhttps://wiki.satnogs.org/index.php?title=SatNOGS_Client_Ansible&diff=2276SatNOGS Client Ansible2018-08-15T11:24:22Z<p>7j1ajh: /* Updating SatNOGS Client software */ fix typo</p>
<hr />
<div>= Intro =<br />
<br />
'''SatNOGS Client Ansible''' is the suggested method to install '''SatNOGS Client''' (and friends) to any Debian-based system.<br />
<br />
= Raspbian =<br />
<br />
For Raspberry Pi 3, which is the reference platform for SatNOGS, a [[Raspberry_Pi_3|Raspbian image]] with '''SatNOGS Client Ansible''' pre-installed is available.<br />
<br />
= Debian =<br />
<br />
These sections contain generic instructions for installing SatNOGS Client on any Debian-based system.<br />
<br />
== Prerequisites ==<br />
<br />
* A user which is member of 'sudo' group exists on the target system<br />
* An SSH server running on the target system<br />
* A host system with Git and latest version of Ansible installed<br />
<br />
== Instructions ==<br />
<br />
On the host system run the following commands:<br />
<br />
<nowiki><br />
$ git clone https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible.git # Clone SatNOGS Client Ansible repository<br />
$ cd satnogs-client-ansible # Change to cloned repository directory<br />
$ cp -r production.dist production # Copy dist configuration<br />
$ vi production/inventory/hosts # Update file with your own target host, user and SSH password<br />
$ ssh youruser@yourtargetsystem true # Test SSH connection to target system<br />
$ ansible-playbook -i production/inventory -K site.yml # Run Ansible playbook<br />
$ ssh -t youruser@yourtargetsystem sudo satnogs-setup # Setup SatNOGS client (see below)</nowiki><br />
<br />
= SatNOGS Client Setup =<br />
<br />
<code>satnogs-setup</code> is a script for configuring a system installed with '''SatNOGS Client Ansible'''.<br />
<br />
== Initial Setup ==<br />
<br />
Right after the first boot of the system, packages and the configuration tool itself '''must be updated'''. Follow the [[#Updating SatNOGS Client software|Updating]] instruction found below.<br />
<br />
To configure a '''SatNOGS Client Ansible''' system:<br />
<br />
# SSH into the system and run <code>sudo satnogs-setup</code>; this will bring up the configuration menu<br />
# Set '''Basic Configuration''' (see below)<br />
# Select <code>Apply</code> and the Raspberry Pi will configure itself; this may take some time<br />
# Select <code>Back</code> to exit<br />
<br />
{{Message|You can always reconfigure the software by running <code>sudo satnogs-setup</code> again.}}<br />
<br />
=== Basic Configuration ===<br />
<br />
{| class="wikitable"<br />
!Setting<br />
!Description<br />
|-<br />
|<code>SATNOGS_API_TOKEN</code><br />
|The API token assigned to your ground station on the SatNOGS Network website.<br />
|-<br />
|<code>SATNOGS_NETWORK_API_URL</code><br />
|The API for the SatNOGS network site. This is <code><nowiki>https://network.satnogs.org/api/</nowiki></code>.<br />
|-<br />
|<code>SATNOGS_RX_DEVICE</code><br />
|If you are using an RTL-SDR, this is <code>rtlsdr</code>. Other devices supported by gr-satnogs include <code>usrpb200</code>, <code>usrp2</code>, <code>airspy</code> or <code>hackrf</code>; a complete list can be found [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/blob/master/apps/flowgraphs/satellites/README.md here].<br />
|-<br />
|<code>SATNOGS_STATION_ELEV</code><br />
|The height of your ground station above sea level in metres.<br />
|-<br />
|<code>SATNOGS_STATION_ID</code><br />
|The ID assigned to your station in the SatNOGS Network site.<br />
|-<br />
|<code>SATNOGS_STATION_LAT</code><br />
|The latitude of your station. North is positive, south is negative.<br />
|-<br />
|<code>SATNOGS_STATION_LON</code><br />
|The longitude of your station. East is positive, west is negative.<br />
|-<br />
|<code>HAMLIB_UTILS_ROT_ENABLED</code><br />
|Whether or not to enable the Hamlibs rotator daemon. Rotctld is a software daemon that provides a network server to control a rotator on a serial port. If you don't have a rotator (like the [https://wiki.satnogs.org/No_rotator No rotator setup]), enter <code>False</code>.<br />
|-<br />
|<code>HAMLIB_UTILS_ROT_OPTS</code><br />
|Options for rotcld:<br />
For a yaesu rotator, use <code>-m 601 -r /dev/ttyACM0 -s 9600 -T 0.0.0.0</code><br />
<br />
For a SatNOGS rotator <code>-m 204 -s 19200 -r /dev/ttyACM0 -C timeout=200</code> or <code>-m 204 -s 19200 -r /dev/ttyUSB0 -C timeout=200</code><br />
|}<br />
<br />
=== Advanced Setup ===<br />
<br />
{{Warning|Changing these settings is ''not'' recommended unless you're developing SatNOGS.}}<br />
A more detailed description on setting up a development environment using the SatNOGS reference setup is given in [[SatNOGS_Client_Development]].<br />
{| class="wikitable"<br />
!Setting<br />
!Description<br />
|-<br />
|<code>SATNOGS_CLIENT_URL</code><br />
|If you to try a development version of satnogs-client, you can change the URL here. The URL needs to be in [https://pip.pypa.io/en/stable/reference/pip_install PIP format]. Here are some examples:<br />
* <code><nowiki>git+https://gitlab.com/librespacefoundation/satnogs/satnogs-client.git@0</nowiki></code> -- the '0' branch (the current development version) of satnogs-client<br />
* <code><nowiki>git+https://gitlab.com/jdoe/satnogs-client.git@new-feature</nowiki></code> -- the 'new-feature' branch of jdoe's fork of satnogs-client<br />
|-<br />
|<code>SATNOGS_RADIO_GR_SATNOGS_PACKAGE</code><br />
|This options allows you to change the installed package of gr-satnogs. For example, to install nightly development builds use:<br />
* <code><nowiki>https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/-/jobs/artifacts/master/raw/build/debian/output/armhf/gr-satnogs_armhf.deb?job=nightly-armhf</nowiki></code><br />
|-<br />
|<code>RF_GAIN</code><br />
|RF Gain value for your SDR hardware. Defaults can be found [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/blob/master/python/hw_settings.py here].<br />
* For rtl-sdr possible values are the following: <code>0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6</code><br />
|}<br />
<br />
== Updating SatNOGS Client software ==<br />
<br />
To update all Debian packages to the latest you can use the normal APT updating methods. SSH into the system and run the following commands:<br />
<br />
<nowiki><br />
$ sudo apt-get update<br />
$ sudo apt-get -y upgrade<br />
$ sudo reboot</nowiki><br />
<br />
To update SatNOGS software, including the configuration tool itself:<br />
# SSH into the system and (re-)run <code>sudo satnogs-setup</code>; this will bring up the configuration menu<br />
# Select <code>Update</code> to update the configuration tool<br />
# Select <code>Apply</code> and the Raspberry Pi will update itself; this may take some time<br />
# Select <code>Back</code> to exit<br />
<br />
'''WARNING: An update can potentially interrupt a running observation!'''<br />
<br />
== Verification of correct installation ==<br />
<br />
To see if satnogs-client has started successfully, check the logs with journalctl:<br />
<br />
<pre><br />
journalctl -u satnogs-client.service<br />
</pre><br />
<br />
You should see entries running approximately once per minute that look like this:<br />
<br />
<pre><br />
Oct 01 23:02:13 raspberrypi satnogs-client[6695]: * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)<br />
Oct 01 23:02:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:02:14,466 - satnogsclient - INFO - [LD] Downlink thread waiting for first downlink packet<br />
Oct 01 23:03:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:14,450 - apscheduler.executors.default - INFO - Running job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:03:14 UTC)" (scheduled at 2017-10-01 23:03:14.423393+00:00)<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,324 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,325 - satnogsclient - DEBUG - Sending message: []<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,327 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:04:14 UTC)" executed successfully<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,453 - apscheduler.executors.default - INFO - Running job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:04:14 UTC)" (scheduled at 2017-10-01 23:04:14.423393+00:00)<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,484 - apscheduler.executors.default - INFO - Running job "post_data (trigger: interval[0:02:00], next run at: 2017-10-01 23:04:14 UTC)" (scheduled at 2017-10-01 23:04:14.436367+00:00)<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,489 - apscheduler.executors.default - INFO - Job "post_data (trigger: interval[0:02:00], next run at: 2017-10-01 23:04:14 UTC)" executed successfully<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,627 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,628 - satnogsclient - DEBUG - Sending message: []<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,629 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:05:14 UTC)" executed successfully<br />
</pre><br />
<br />
You can also try visiting satnog-client's web interface. In your browser, go to '''<nowiki>http://(ip address of your raspberry pi):5000</nowiki>'''. You should see something like this:<br />
<br />
[[File:SatNOGS_client_screenshot.png|400px|thumb|center|SatNOGS client web page]]<br />
<br />
<br />
If you see that, great -- you're ready to [[Operation|schedule your first observation]]! If not, check out the [[Troubleshooting]] page.</div>7j1ajh