Hermes
Thanks to Andrea for providing the Hermes backend for ghpsdr3-alex. There are two programs you need to start to get the server running. The first is hpsdr-server. It is the software that sets up the Hermes for action. It sends and gets data from the Hermes as shown on the Main Page.
hpsdr-server
Here is how you start the hpsdr-server from the command line.
$ hpsdr-server --samplerate 48000 --hermes 16 --interface eth2
Note:
- you can use 48000, 96000, 192000, or 384000 for the --samplerate parameter.
- the --hermes parameter is how much power Hermes will put out on transmit. The values go from 0 to 255.
- the --interface parameter is the network interface that is connected to the same local area network that Hermes is connected to. It may be eth1, eth2, etc. or wlan1, wlan2, etc. You can figure out what it is by using the ifconfig command at the terminal as follows:
$ ifconfig eth9 Link encap:Ethernet HWaddr 5c:26:0a:45:28:7b inet addr:192.168.2.157 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::5e26:aff:fe45:287b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1877498 errors:0 dropped:0 overruns:0 frame:0 TX packets:2572794 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:881124281 (881.1 MB) TX bytes:3414696100 (3.4 GB) Interrupt:20 Memory:f6900000-f6920000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:7758949 errors:0 dropped:0 overruns:0 frame:0 TX packets:7758949 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:4143306543 (4.1 GB) TX bytes:4143306543 (4.1 GB) wlan2 Link encap:Ethernet HWaddr 18:3d:a2:10:95:80 inet addr:192.168.2.250 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::1a3d:a2ff:fe10:9580/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3622385 errors:0 dropped:2 overruns:0 frame:0 TX packets:1970372 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:4139564914 (4.1 GB) TX bytes:1254030073 (1.2 GB)
In this case either eth9 or wlan2 could be used because my Hermes is on the 192.168.2.x network. The eth9 is an ethernet connection and wlan2 is a wireless connection. Other hpsdr-server options can be seen by using the --? option.
$ hpsdr-server --? hpsdr-server: unrecognized option '--?' Usage: server --receivers N (default 1) --samplerate 48000|96000|192000|384000 --dither off|on --random off|on --preamp off|on --10mhzsource atlas|penelope|mercury --122.88mhzsource atlas|penelope|mercury --micsource janus|penelope --class other|E --timing 1 --metis --interface if --fpga <file name> --ozyhex <file name> --hermes <power 0-255>
dspserver
The second program you need to start is dspserver. It processes the samples coming from hpsdr-server using dttSP and communicates with the client (QtRadio, glSDR, etc.) to determine what signal processing is wanted. Here is how you start dspserver from the command line.
do dspserver --lo 0 --hpsdr --nocorrectiq --share
The options are described if you use the --? command line option as follows:
$ dspserver --? dspserver: unrecognized option '--?' Usage: dspserver --receiver (0-3) --server 0.0.0.0 (default 127.0.0.1) --soundcard (machine dependent) --offset 0 --share (will register this server for other users use the default config file ~/.dspserver.conf) --lo 0 (if no LO offset desired in DDC receivers, or 9000 in softrocks --hpsdr (if using hpsdr hardware with no local mike and headphone) --hpsdrloc (if using hpsdr hardware with LOCAL mike and headphone) --nocorrectiq (select if using non QSD receivers, like Hermes, Perseus, HiQSDR, Mercury)
Because the dspserver communicates with the clients and they are the most unstable as far as network connection, etc. I find that sometimes the dspserver crashes, so I have taken to making a script I call do-dspserver-hermes that contains the following to automatically restart it.
#!/bin/sh while true do dspserver --lo 0 --hpsdr --nocorrectiq --share sleep 5 done
You have to make this executable ($ chmod 755 do-dspserver-hermes) and put it somewhere in your command search PATH.
Other useful commands to google that will help you run the server on linux are nohup, top, ps and kill.