News items for tag linux - Koos van den Hout

2017-06-14 Controlling the SARK100 antenna analyzer from Linux 1 week ago
The SARK100 antenna analyzer I bought also has the option to be controlled over an USB interface (other versions even have bluetooth support). Over USB it is possible to automate the measurements and have the results returned to the controlling computer.

For Linux software is available: SARK100 Antenna Analyzer Linux Software also via github with updates coddingtonbear/sark-100-antenna-analyzer.

I cloned the git repository and guessed that the command to build a 32-bit version would be:
koos@thompson:~/radiowork/sark-100-antenna-analyzer$ mkdir build
koos@thompson:~/radiowork/sark-100-antenna-analyzer$ cd build
koos@thompson:~/radiowork/sark-100-antenna-analyzer/build$ qmake -spec linux-g++ -o Makefile ../analyzer/analyzer.pro
This indeed compiled into a working 32-bit binary. Needed because the 'main radio desktop' can't run a 64-bit linux. The laptop does not have this problem.

Attic dipole on 10 m analyzed by the Sark100 analyzer and linux software
The attic dipole on 10m analyzed with the Sark100 analyzer and linux software
Attic dipole on 20 m analyzed by the Sark100 analyzer and linux software
The attic dipole on 20m analyzed with the Sark100 analyzer and linux software
And after compiling the software comes using the software. It works nicely and does what it says on the packaging.

Tags: , ,
2017-06-02 Upgraded the BIOS on the Alix 1.c box 3 weeks ago
I finally had some time to upgrade the BIOS on the Alix 1.c box (ritchie). It was a lot easier to do this with the flashrom utility than to do this with DOS boot floppies!

I just made sure again I checked the old bios version, which turned out to be alixbio3, and upgraded to alixbio8 from the PC Engines Alix 1.c page.

Now the machine boots without a screen attached. I also swapped the mainboard battery as it kept forgetting the current time.

Writing a bios file with flashrom is just changing the -r to a -w from the reading the flashrom command.

But this does not help the serial ports: those seem to be dead for good.

Tags: , ,
2017-05-12 SSH usernames being tried 1 month ago
Usernames seen in ssh attempts: 0 1 a a0 adm admin admln agnes ajay apache ask bin byte cactiuser CarpeDiem cisco cs daniel data db2inst1 debian D-Link erp ezrena faxadmin ftp ftpuser glassfish gpadmin guest help jesus lancer maile mailers marifer maronique media mis mysql nodeclient ooooooooo opuser oracle perl personnel pi pig PlcmSpIp postmaster postpone remote root roote rppt sales shop student support test testing ts ts3 turbo ubnt ubuntu user vnc wildfly willy xbmc And the '' username (empty string). By numbers root has the highest number of attempts.

Tags: , ,
2017-05-10 Changes in the future .. or living in the past 1 month ago
Interesting error message today:
Jan  1 01:01:02 ritchie CRON[1834]: pam_unix(cron:account): account koos has password changed in future
But it is caused by the system realtimeclock being completely wrong and assuming the date is 1 January 1990 or something. It probably needs a new battery. Or maybe a whole new system, this is from the system ritchie that started life as the wardriving box which was bought in 2008.

Tags: , ,
2017-04-29 Using kalibrate-rtl to calibrate the rtl-sdr frequency 1 month ago
In my project to receive amateur satellites with the rtl-sdr I noticed the sdr itself has quite a frequency error as noted in Going full duplex with amateur satellites, part 5 : first test of the amplifier with RTL-SDR.

Using the PI2NOS output frequency I ended up at an error of 54 ppm so I entered that in gqrx. But to be really sure there is a program named kalibrate-rtl available via GitHub - steve-m/kalibrate-rtl: fork of http://thre.at/kalibrate/ for use with rtl-sdr devices.

I had some trouble finding the right way to use this program so I am sharing my steps here. First try to guess the error by using a known frequency such as a local repeater (especially when they mention using GPS to maintain frequency) or a broadcast FM station.

First step with kalibrate-sdr is to scan for GSM channels which are strong enough. I noticed in later runs that I really need to add the first guessed frequency error, otherwise it will not find the GSM channels at all.
koos@kernighan:~/radiowork/kalibrate-rtl/src$ ./kal -s GSM900 -e 54
Found 1 device(s):
  0:  Generic RTL2832U OEM

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
kal: Scanning for GSM-900 base stations.
GSM-900:
        chan: 8 (936.6MHz + 724Hz)      power: 67277.85
        chan: 17 (938.4MHz + 606Hz)     power: 36428.54

Second step with kalibrate-sdr is to select a GSM channel to use for the calibration run. I selected channel 8 which looks quite active.
koos@kernighan:~/radiowork/kalibrate-rtl/src$ ./kal -e 54 -c 8
Found 1 device(s):
  0:  Generic RTL2832U OEM

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
kal: Calculating clock frequency offset.
Using GSM-900 channel 8 (936.6MHz)
average         [min, max]      (range, stddev)
+ 169Hz         [85, 251]       (166, 49.119198)
overruns: 0
not found: 0
average absolute error: 53.820 ppm
And only in that step you get the output with the calculated frequency error.

Update: Doing this calibration is also a good idea for the stick running the ads-b receiver. That came out to -30 ppm and using that factor makes dump1090 receive signals from greater distances.

Tags: , , ,
2017-04-23 Going full duplex with amateur satellites, part 7 : Recording downlink audio 2 months ago
This evening I thought there would be a nice Fox-1A (AO-85) pass but gpredict on another computer showed totally different predictions. Pondering that difference made me suddenly remember AO-85 is still not part of the 'standard' set of Kepler data because it's close to some militairy satellite. The data is available through other sources, I use TLE | Amateur radio PE0SAT and updated from that location. The 'nice' AO-85 pass near 22:30 localtime shifted to 'way too late', so I looked for other satellites to at least try recording downlink audio. I saw passes of HO-68 and UO-11. So I created the whole setup with audacity recording audio. Using pavucontrol I adjusted the recording flow of audacity to record 'Monitor of Built-in Audio Analog Stereo' and indeed audacity was recording the same as I heard on my headphones.

But no signal from the satellites was received. Checking the Amsat Oscar status page shows both haven't been heard by others either. So I recorded noise, but I recorded the right noise.

Tags: , , ,
2017-04-19 En nu is de MTU wel naar 1500 van de VDSL PPPoE sessie 2 months ago
Recent postte 'Coen' in xs4all.adsl een stappenplan om onder Ubuntu 12.04 de MTU van de PPP verbinding naar 1500 bytes te krijgen. Alle lof dus naar Coen, want met zijn stappenplan is het me wel gelukt en is alles nu doorgaand MTU 1500, wat minder issues zou moeten geven.
Na een gezellig avondje stoeien is het gelukt om dit met terugwerkende
kracht voor Ubuntu 12.04 op te lossen met een nieuwe pppd en pppoe versie.

Voor wie durft en bovendien wat Linux ervaring heeft hier de te volgen
stappen:

Nieuwe pppd builden:

mkdir ppp
cd ppp
apt-get source ppp
cd ppp-2.4.5/
wget -O debian/patches/zz_pppoe1500
"http://git.ozlabs.org/?p=ppp.git;a=patch;h=fd1dcdf758418f040da3ed801ab001b5e46854e7"
dch -i
dpkg-buildpackage -us -uc

[[ppp en ppp-dev installeren]]

Nieuwe pppoe builden:

mkdir pppoe
cd pppoe
wget -4
http://archive.ubuntu.com/ubuntu/pool/universe/r/rp-pppoe/rp-pppoe_3.11-0ubuntu1.dsc
wget
http://archive.ubuntu.com/ubuntu/pool/universe/r/rp-pppoe/rp-pppoe_3.11.orig.tar.gz
wget
http://archive.ubuntu.com/ubuntu/pool/universe/r/rp-pppoe/rp-pppoe_3.11-0ubuntu1.debian.tar.xz
tar -xzvf rp-pppoe_3.11.orig.tar.gz
cd rp-pppoe-3.11/
tar -xf ../rp-pppoe_3.11-0ubuntu1.debian.tar.xz
dch -i
dpkg-buildpackage -us -uc

[[pppoe installeren]]

Mtu op 1500 zetten: klaar!
Vanaf een losse client leek toch nog MTU 1492 gebruikt te worden, dus heb ik /etc/radvd.conf aangepast om expliciet MTU 1500 mee te geven:
interface eth0.3
{  
   AdvSendAdvert on;
   AdvLinkMTU 1500;
En dan de verdere opties. En dan werkt het inderdaad:
koos@kernighan:~$ tracepath6 ping.xs4all.nl
 1?: [LOCALHOST]                        0.018ms pmtu 1500
 1:  eth0-3.idefix.net                                     1.983ms 
 1:  eth0-3.idefix.net                                     1.858ms 
 2:  lo0.dr12.d12.xs4all.net                              17.910ms 
 3:  0.ae22.xr3.3d12.xs4all.net                           17.957ms 
 4:  no reply

Tags: , , ,
2017-04-14 Going full duplex with amateur satellites, part 5 : first test of the amplifier with RTL-SDR 2 months ago
For a first test I looked for the first reasonable pass of an amateur satellite and tried to recieve the morse beacon of HO-68. I have received signals from HO-68 before, but this pass I heard nothing.

I tried a stable regular local source on the 70cm band : the PI2NOS repeater and noticed after a while the frequency display in Gqrx was showing 430.100 MHz where the (GPS stablized) frequency is 430.125 MHz, so the RTL-SDR I use is somewhat off frequency. Maybe in a next test things work better.

Tags: , , ,
2017-04-06 Results from a powerfailure 2 months ago
Earlier today there was a local powerfailure. I noticed it while being connected remotely to my server at home, it stopped responding and stayed off-line for a while. I checked the website of the electricity distribution network and it showed a local powerfailure.

Initially my reaction was a bit of interest in how low the radio noise levels would be when I could try the radio at home. By the time I got home power was back on so I never found out.

Some systems at home had to be started by hand, but eventually everything was up and running again, with new kernels booted. Everything came up fine including PPPoE to the outside world.

Later in the evening I noticed the old weatherstation in the shed which measures the temperature and humidity inside the shed seemed inoperational. Checking that weatherstation eventually led to a diagnoses that the 12 volt powersupply for that weatherstation had failed. It was only delivering 7.2 volt. To disconnect that weatherstation for diagnosis I completely shut down the shed computer ritchie. After that it did not come up again. Power came up and the harddisk started spinning but nothing happened after that.

So I also took that computer in for diagnosis. Connected to a keyboard and monitor everything came up fine. Disconnected from the monitor nothing came up.

Slowly it dawned on me that this might be related to an issue which I had read on the PC Engines Alix.1d page :
BIOS update

* beta various updates (release MFGPT timers)
* beta fix VGA DDC issue (boot hang)
Which seemed to be the problem which suddenly started acting up for me which it never did before. But the BIOS clock was also reset so I guess the whole setup was erased and I just did not notice because the default settings were good enough to boot anyway and ntpd sets the clock soon after boot. A simple solution would be a BIOS upgrade.

But preparing a CF card to boot freedos seemed a long way to flash the bios so I tried it via the Heavy Duty Boot pxeboot environment which booted FreeDOS nicely on the alix.1c but it rebooted as soon as I started SB.COM. I guess sb.com searches for bios images on C:\ and the FreeDOS floppy image is A:\

In the end I searched for a workaround and found mention in PC hangs up when no monitor attached - Ubuntu bug #243257 of a wire between pins 12 and 7 in the VGA connector. A piece of wire was bent and inserted into the vga connector and now the weatherstation computer ritchie boots up again.

Next plan is to do the BIOS upgrade via flashrom: In searching for information about the Alix 1.c bios upgrade I'd like to do I came across mention of flashrom.

Tags: , , ,
2017-03-27 Upgrading WSJT-X after hearing two words 2 months ago
Recently it seems radio noise levels on the HF bands have gone up again so I spend more time trying to make contacts in JT65 mode since that mode is more robust against noise than PSK31.

To do this I use the WSJT-X software under Ubuntu Linux. WSJT-X is written by Joe Taylor KJ1T. The Ubuntu hams packages had WSJT-X 1.1 and I frequently ran across the problem that it crashes when the Internet connection to pskreporter is impossible when sending spots. In my setup the Internet connection drops regularly when I'm active with JT65 or PSK31 so that was an annoyance. Logged as Ubuntu bug #1673040: wsjtx crashes when internet connection is interrupted.

But this weekend I was listening to Linux in the Ham Shack Episode #184 and in the presenters talking about re-installing a Linux system for amateur radio I heard two words: wsjtx ppa. As soon as possible I looked it up and found WSJTX General Availability Release PPA, followed the installation instructions and upgraded to WSJT-X 1.7.

The main improvement is that it decodes better so I may make further contacts. Sofar it hasn't crashed on an interrupted Internet connection.

I see one problem: it doesn't like talking to my radio via rigctld, giving an error. When I stop rigctld as started by Cqrlog and let WSJT-X control the radio directly via hamlib things work fine. And suddenly Cqrlog sees the QSO in progress and logs it when done.

Tags: , , ,
2017-03-27 Meten en grafieken maken van Powerline Ethernet doorvoer 2 months ago
Uit de archieven omdat ik de server waar dit ooit op draaide wil herinstalleren voor andere projecten.

Bij de HCC PCgg netwerkgroep hadden we ooit een netwerk gebaseerd op PLC (powerline communicatie) waarbij ethernet over stroomdraden gaat. Daar heb ik ook scripts voor gebouwd om statistieken te verzamelen over de doorvoer. Op de locatie in Maarn was dat voor de verbinding naar buiten niet zo briljant, zie de rapporten in Bijeenkomst 20 maart 2010 - hcc!pc netwerkgroep.

Maar voordat ik de scripts weggooi die deze gegevens verzamelden en er grafiekjes van maakten nog even voor de eeuwigheid. Het testdlan script gaat uit van output van dlanlist als:
koos@metcalfe:~$ dlanlist eth0
Type    MAC address        Mbps TX/RX       Version/Product
local   00:0B:3B:5F:95:AB  ---.-- / ---.--  INT6000-MAC-3-3-3348-00-2764-20080808-FINAL-B devolo dLAN 200 AVplus [MT2165]
remote  00:0B:3B:6F:AE:90   73.50 / 112.88  INT6000-MAC-3-3-3348-00-2764-20080808-FINAL-B

  • testdlan vraag dlanlist van devolo voor de huidige snelheid van devolo interfaces op netwerkkaart(en)
  • graphdlan maak grafieken per dag
De opzet van de scripts was om altijd te draaien als de machine actief was en achteraf overzichten te hebben per dag activiteit (meestal zaterdagen van 10:00 tot 17:00).

Tags: , , ,
2017-03-26 Going full duplex with amateur satellites, part 2 : Installing Gqrx SDR software and the first tests 2 months ago
With the hardware available it's now time to test the first part of the software setup: whether I can have running software defined radio.

To (re)install Gqrx I followed the instructions at Install Gqrx SDR on Ubuntu Linux. The first 'sudo apt-get purge --auto-remove' steps removed a lot of software and the latter 'sudo apt-get install' steps added newer (or maybe the same) versions. But I was glad to do a full reinstall, I have had weird problems with gqrx versions before. The laptop on which I am doing this has had an install of gqrx before, but was upgraded from Ubuntu 14.04 LTS to Ubuntu 16.04 LTS in the mean time, so a clean reinstall seemed a good idea.

I plugged in the RTL-SDR stick and checked whether no drivers were installed, which was indeed still correct. The kernel messages:
[156490.915435] usb 2-2: new high-speed USB device number 7 using xhci_hcd
[156491.111136] usb 2-2: New USB device found, idVendor=0bda, idProduct=2838
[156491.111141] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[156491.111143] usb 2-2: Product: RTL2838UHIDIR
[156491.111145] usb 2-2: Manufacturer: Realtek
[156491.111147] usb 2-2: SerialNumber: 00000001
To make sure the drivers aren't loaded, I have a /etc/modprobe.d/local-blacklist.conf with:
blacklist dvb_usb_rtl28xxu
blacklist rtl2830
blacklist rtl2832
blacklist lirc_dev
To test it with the 'minimal' setup I started with just the RTL-SDR and a simple antenna, and Gqrx. Enabled remote control in Gqrx and added a radio 'gqrx-sdr' in Gpredict with host 'localhost' and port '7356' (default for gqrx remote control) and Radio type 'RX only', PTT status 'none'.

Gqrx controlled by gpredict
Gqrx controlled by Gpredict, tracking a satellite
Now I can select this radio as '1. Device' in the 'Gpredict Radio Control' window, and select 'Engage' when the right satellite, transponder and 'Track' are selected, after which Gqrx nicely follows the frequency Gpredict has calculated.

No signal yet as I am testing this indoors with the small default antenna that came with the RTL-SDR stick. That will not pick up weak signals!

Tags: , , ,
2017-03-25 Gajim without automatic emoticons 3 months ago
For some circles I am active in the chat system of choice is jabber because it can be setup to demand encrypted links and has a nice array of client software which can deal with one client replacing the connection of another.

So I found gajim as client software for linux. But gajim has the habit of automatically changing text emoticons to images. I don't like that, if someone types (bf888) I want to see that and not have the last 8) replaced by an image of an emoticon with glasses.

Searching for a solution found Emoticons - Wiki gajim/gajim which states:
You are free, however, to disable emoticons completely, if you find them disturbing.
But no information on how to disable them all. I found in the advanced settings the option emoticons_theme which points at subdirs of /usr/share/gajim/data/emoticons in my installation (ubuntu). So I created a directory none with none/emoticons.py containing:
# coding=utf-8
emoticons = {
        'doesnotexist.png': ['fDpK6OGDFCCLmq5MNjihfpjZuLontjkWp5XG5V7wTIAVXwaJ'],
}
Leaving the list empty with just {} gave an error. My python knowledge is nonexistant so I took this shortcut.

And now a :-) stays a :-) as I wanted.

Tags: ,
2017-03-10 Keeping an eye on planes in the air 3 months ago
I usually keep dump1090 running on a raspberry pi. It seems it is quite easy to share the data from dump1090 with Plane Finder so I decided to give that a try.

With the installation instructions via the Share your data with Plane Finder page I had the software installed easily. But I needed to visit the configuration page of the software via IPv4... while I disabled IPv4 on the raspberry so it took some changes to make it work again. Next thing the software was reporting the data was available fine but not uploading to the Plane Finder server. Checking with strace shows that the software tries to upload via an IPv4-only connection which will not work. Temporary re-enabling IPv4 fixes things, so it's purely an IPv4/IPv6 thing.

Tags: , ,
2017-02-06 Squeezing a bit more powersaving from Linux 4 months ago
The c't magazine this month had a few tips on linux powersaving. I tried them on the homeserver and saw indeed a very slight reduction in power use as logged by the UPS.

For powersaving in sound card(s):
# echo 1 > /sys/module/snd_hda_intel/parameters/power_save
This can cause plopping sounds on some sound cards.

For powersaving in disk communication:
# cd /sys/class/scsi_host/
# for i in host*/link_power_management_policy; do echo min_power > "$i"; done

Tags: , ,
2017-01-27 Nice neighbours sharing their weather readings 4 months ago
A posting about reading 433.920 MHz signals triggered the idea I had ages ago to decode those signals and see what weather stations are available nearby. The original posting 433,92Mhz ontvangen (Dutch) was about receiving remote controls (KlikAanKlikUit) and had a screenshot of some Linux software for receiving those signals but no name of the software (that would be useful information).

But a simple google search found me rtl_433 on github which receives and decodes all kinds of signals on 433.922 MHz.

I downloaded it on the raspberry pi for radio experiments, and it is working fine receiving weather information from probably nearby weather stations. At least one outside temperature and humidity sensor, one inside temperature and humidity and one wind and temperature sensor. This last one could be nice for my weather station!
2017-01-27 21:00:27 :   HIDEKI Wind sensor
        Rolling Code:    15
        Channel:         4
        Battery:         OK
        Temperature:     3.6 C
        Wind Strength:   5.31 km/h
        Direction:       67.5 °
and a rain sensor:
2017-01-27 21:01:05 :   HIDEKI Rain sensor
        Rolling Code:    0
        Channel:         4
        Battery:         OK
        Rain:    648.2 mm
Thanks for sharing, neighbours!

Tags: , , , ,
2017-01-23 Ontbrekende stukje grotere MTU met VDSL op DrayTek Vigor 130 en Ubuntu 5 months ago
Ongeveer een jaar geleden ging ik over op het Draytek Vigor 130 VDSL modem om weer een configuratie te krijgen waar ik maximale controle heb.

Het nog openstaande punt is dat ik de ppp configuratie graag naar een MTU van 1500 bytes wil. En dat dat toen niet lukte in Vigor VDSL modem in gebruik en Xs4all VDSL met DrayTek Vigor 130 VDSL modem en PPP eindpunt op Linux (ubuntu) server.

Wat ik al goed had was de MTU van de ethernet interfaces hoger en het vinkje op de Draytek aangepast. Maar als ik de mtu/mru hoger forceerde in de ppp opties ging het mis.

Nu kwam voorbij in xs4all.general over dit onderwerp:
> 1500 wordt ondersteund door Xs4all en je test eerst bij 1492 welk pakket
> via ping erdoor gaat zonder in stukken gebroken te worden.
> Daarna zet je de MTU naar 1500 en kijkt of je inderdaad 8 bits meer door
> router kunt drukken zonder dat die gebroken wordt.

Wel zorgen dat het apparaat waar je de PPPoE termineert RFC4638
implementeert.
Die moet dan in de PADI een extra tag plaatsen (PPP payload is 1500
bytes), en de BRAS zet dat ook weet in zijn PADO antwoord.
Zo maar een grotere MTU gebruiken gaat niet werken...
De PPPoE sessie komt bij mij vanaf de thuisserver met rp-pppoe. Even zoeken leverde mij op dat voor rp-pppoe met MaxPayload onderhandeling ik minstens 3.11 nodig heb, en bij de huidige ubuntu versie zit nog 3.8. Tijd om een nieuwere versie te testen.

Update: Daarvoor moeten zowel de pppoe binary als de rp-pppoe.so plugin voor pppd bijgewerkt worden, en dat lukt me op dit moment even niet. Gelukkig had ik de oude pppoe binaries expres klaar staan en kon ik dus heel snel terug.
Read the rest of Ontbrekende stukje grotere MTU met VDSL op DrayTek Vigor 130 en Ubuntu

Tags: , , ,
2017-01-20 APRS on the Raspberry Pi: trying to decode APRS packets 5 months ago
So the mobilinkd is now connected to serial over bluetooth on the Raspberry Pi, but now to get APRS data into aprx.

So far aprx does start but I see absolutely no data coming in, even when aprsdroid will see traffic. Something strange.
koos@joy:~ $ sudo aprx -v
2017-01-20 22:05:10.593 aprx start - 2.9.0
2017-01-20 22:05:10.594 TTY /dev/rfcomm0 opened
2017-01-20 22:05:20.624 CONNECT APRSIS aprsc.pa4tw.nl:14580
^C
2017-01-20 22:18:06.115 aprx ending (SIG 2) - 2.9.0
2017-01-20 22:18:06.116 aprx ending (SIG 2) - 2.9.0
It's a good thing aprsc.pa4tw.nl has an IPv6 address as this Raspberry Pi is only configured for IPv6.

Testing with minicom on /dev/rfcomm0 does show the startup messages from the mobilinkd but absolutely no APRS data in KISS format,,,
== BeRTOS AVR/Mobilinkd TNC2
== Version 2.0.1.571
== Voltage: 4019mV
== Starting.
Switching the mobilinkd between the Raspberry Pi and the smartphone with aprsdroid does seem to confuse something, it's not always showing data in aprsdroid either.

Installing the Linux ax25-tools and using kissattach and configuring aprx to use that interface doesn't help either.

Back to the KISS over serial port over bluetooth config I changed the setting 'bluetooth tracking' on the mobilinkd, which is advised for digipeater setups. And now I am seeing something:
koos@joy:~ $ sudo aprx -v
2017-01-20 23:12:17.568 aprx start - 2.9.0
2017-01-20 23:12:17.569 TTY /dev/rfcomm0 opened
9621    PE4KH-8   R     DB0NY>APZ17,DB0KX-2*,PE0FK-10*,PI1SHB*,PA7J-2*,WIDE2*,PI1APU*,LOCAL:!5103.84N/00736.63E#www.g07.de
2017-01-20 23:12:30.378 CONNECT APRSIS aprsc.pa4tw.nl:14580
9728    PE4KH-8   R     PI1APU>APND13:>W3,NL7      PAradigm    operation!
9831    PE4KH-8   R     PA3BXR-9>UQ5QW1,PA7J-2*,WIDE1*,PI1APU*,WIDE2-1:`zDKnA8>/]"3m}431.275MHz=
9867    PE4KH-8   R     PI1SHB>APRX29,PI1APU*,WIDE2-1:!5142.02N/00520.78E#PHG3460/2m Digi/IGate 's-Hertogenbosch
9934    PE4KH-8   R     PA5JB>APU25N,PE2KDK*,PI1APU*,WIDE2*:>202317zDX: PI1SHB 51.42.02N 5.20.78E 76.3km 133� 23:13
9942    PE4KH-8   R     PI1DFT>APMI01,PI1SHB*,PI1APU*,WIDE2*:@202317z5159.70N/00420.17E#WX3IN1 Digipeater 2 mtr. pi1dft ziggo.nl
10007   PE4KH-8   R     PI1APV-2>APMI04,PI1DFT*,PA7J-2*,WIDE1*,PI1APU*,LOCAL:@202318z5130.81N/00344.00EI digi vliegveld MIDDEN ZEELAND
10018   PE4KH-8   R     DB0OTV-2>APOT21,DB0KX-2*,PE0FK-10*,PI1SHB*,PI1APU*,WIDE2*:>FILL IN DIGI + D-Star + C4FM QRG = 439,500 MHz -7,6 MHz
10122   PE4KH-8   R     PE9R>APX204,PI1APU*,WIDE2-1:=5202.5 N/00439.0 E-PHG2290QRV PI6NOS/ PI2NOS
10175   PE4KH-8   R     PA7J-2>APMI01,PI1APU*,WIDE2*:@210000z5149.68N/00450.43E-WX3IN1 PA7J Digi & I-gate Hardinxveld
10209   PE4KH-8   R     PD0JAC-10>UQ4XS8,PI1SHB*,PI1APU*,WIDE2-1:`{Mym>5#/>"4/}=
10227   PE4KH-8   R     PA3BI-10>APRS,PI1DFT*,WIDE1*,PA7J-2*,WIDE2*,PI1APU*,LOCAL:!5214.65N/00426.30E-000/000www.isemann.nl/A=000696
10277   PE4KH-8   R     PI1APV-2>APMI04,PI1DFT*,PA7J-2*,WIDE2*,PI1APU*,LOCAL::PI1APV-2 :BITS.11111111,Telemetry
10316   PE4KH-8   R     PI1SHB>APRX29,PI1APU*,WIDE2-1:!5142.02N/00520.78E#PHG3460/2m Digi/IGate 's-Hertogenbosch
And the results are showing up via the aprsc dashboard on aprsc.pa4tw.nl. Almost all packets I receive and forward are rejected as duplicate packets, but I have seen some packets accepted. So I guess I'm not really needed as an I-gate.

Tags: , , ,
2017-01-20 APRS on the Raspberry Pi: talking to the mobilinkd 5 months ago
So I want to run APRS on the Raspberry Pi. My ultimate goal is to announce the meeting of our local radio club over 2 meter APRS but I will start with just playing "I-gate" which means I receive messages over the air and forward them to the nearest APRS server on the Internet which will then probably reject them because I'm not the only one receiving them.

The first step is to link the Raspberry Pi to a radio. The easiest way is (in my opinion) to link using the mobilinkd which uses serial over bluetooth, something the Raspberry understands.

I looked up how to use bluetooth on the raspberry and found Installing Bluetooth - Raspberry Pi Projects but using the suggested graphical tools requires a lot of packages:
koos@joy:~ $ sudo apt-get install bluetooth bluez blueman
Reading package lists... Done
Building dependency tree       
Reading state information... Done
bluez is already the newest version.
bluez set to manually installed.
The following extra packages will be installed:
  adwaita-icon-theme at-spi2-core colord colord-data dconf-gsettings-backend
  dconf-service fontconfig fontconfig-config fonts-dejavu-core fonts-droid
  gconf-service gconf2-common ghostscript gir1.2-appindicator3-0.1
  gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gconf-2.0 gir1.2-gdkpixbuf-2.0
  gir1.2-glib-2.0 gir1.2-gtk-3.0 gir1.2-notify-0.7 gir1.2-pango-1.0
  glib-networking glib-networking-common glib-networking-services
  gnome-icon-theme gsettings-desktop-schemas gsfonts hicolor-icon-theme
  imagemagick-common indicator-application libappindicator3-1 libasyncns0
  libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libavahi-client3
  libbluetooth3 libcairo-gobject2 libcairo2 libcanberra-gtk3-0
  libcanberra-gtk3-module libcanberra0 libcolord2 libcolorhug2 libcroco3
  libcups2 libcupsfilters1 libcupsimage2 libdatrie1 libdbus-glib-1-2
  libdbusmenu-glib4 libdbusmenu-gtk3-4 libdconf1 libexif12 libfftw3-double3
  libfile-copy-recursive-perl libflac8 libfontconfig1 libgconf-2-4 libgd3
  libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgirepository-1.0-1
  libgphoto2-6 libgphoto2-l10n libgphoto2-port10 libgraphite2-3 libgs9
  libgs9-common libgtk-3-0 libgtk-3-bin libgtk-3-common libgudev-1.0-0
  libgusb2 libharfbuzz0b libice6 libieee1284-3 libijs-0.35 libindicator3-7
  libjasper1 libjbig0 libjbig2dec0 libjpeg8 libjson-glib-1.0-0
  libjson-glib-1.0-common liblcms2-2 liblqr-1-0 libltdl7 libmagickcore-6.q16-2
  libmagickwand-6.q16-2 libnotify4 libogg0 libopenobex1 libpam-systemd
  libpango-1.0-0 libpango1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
  libpangox-1.0-0 libpangoxft-1.0-0 libpaper-utils libpaper1 libpixman-1-0
  libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 libproxy1
  libpulse-mainloop-glib0 libpulse0 librest-0.7-0 librsvg2-2 librsvg2-common
  libsane libsane-common libsane-extras libsane-extras-common libsm6
  libsndfile1 libsoup-gnome2.4-1 libsoup2.4-1 libstartup-notification0 libtdb1
  libthai-data libthai0 libtiff5 libvorbis0a libvorbisenc2 libvorbisfile3
  libvpx1 libwayland-client0 libwayland-cursor0 libx11-xcb1 libxcb-render0
  libxcb-shm0 libxcb-util0 libxcomposite1 libxcursor1 libxdamage1 libxfixes3
  libxft2 libxi6 libxinerama1 libxkbcommon0 libxpm4 libxrandr2 libxrender1
  libxtst6 notification-daemon obex-data-server policykit-1 poppler-data
  python-cairo python-dbus python-dbus-dev python-gi python-gi-cairo
  python-gobject python-gobject-2 sane-utils update-inetd x11-common
Suggested packages:
  bluez-cups bluez-obexd ghostscript-x libcanberra-gtk0 libcanberra-pulse
  cups-common libfftw3-bin libfftw3-dev libgd-tools gphoto2 gtkam gvfs
  libjasper-runtime liblcms2-utils libmagickcore-6.q16-2-extra pulseaudio
  librsvg2-bin hplip hpoj poppler-utils fonts-japanese-mincho
  fonts-ipafont-mincho fonts-japanese-gothic fonts-ipafont-gothic
  fonts-arphic-ukai fonts-arphic-uming fonts-nanum python-dbus-doc
  python-dbus-dbg python-gobject-2-dbg unpaper
The following NEW packages will be installed:
  adwaita-icon-theme at-spi2-core blueman bluetooth colord colord-data
  dconf-gsettings-backend dconf-service fontconfig fontconfig-config
  fonts-dejavu-core fonts-droid gconf-service gconf2-common ghostscript
  gir1.2-appindicator3-0.1 gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gconf-2.0
  gir1.2-gdkpixbuf-2.0 gir1.2-glib-2.0 gir1.2-gtk-3.0 gir1.2-notify-0.7
  gir1.2-pango-1.0 glib-networking glib-networking-common
  glib-networking-services gnome-icon-theme gsettings-desktop-schemas gsfonts
  hicolor-icon-theme imagemagick-common indicator-application
  libappindicator3-1 libasyncns0 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data
  libatspi2.0-0 libavahi-client3 libbluetooth3 libcairo-gobject2 libcairo2
  libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra0 libcolord2
  libcolorhug2 libcroco3 libcups2 libcupsfilters1 libcupsimage2 libdatrie1
  libdbus-glib-1-2 libdbusmenu-glib4 libdbusmenu-gtk3-4 libdconf1 libexif12
  libfftw3-double3 libfile-copy-recursive-perl libflac8 libfontconfig1
  libgconf-2-4 libgd3 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common
  libgirepository-1.0-1 libgphoto2-6 libgphoto2-l10n libgphoto2-port10
  libgraphite2-3 libgs9 libgs9-common libgtk-3-0 libgtk-3-bin libgtk-3-common
  libgudev-1.0-0 libgusb2 libharfbuzz0b libice6 libieee1284-3 libijs-0.35
  libindicator3-7 libjasper1 libjbig0 libjbig2dec0 libjpeg8 libjson-glib-1.0-0
  libjson-glib-1.0-common liblcms2-2 liblqr-1-0 libltdl7 libmagickcore-6.q16-2
  libmagickwand-6.q16-2 libnotify4 libogg0 libopenobex1 libpam-systemd
  libpango-1.0-0 libpango1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
  libpangox-1.0-0 libpangoxft-1.0-0 libpaper-utils libpaper1 libpixman-1-0
  libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 libproxy1
  libpulse-mainloop-glib0 libpulse0 librest-0.7-0 librsvg2-2 librsvg2-common
  libsane libsane-common libsane-extras libsane-extras-common libsm6
  libsndfile1 libsoup-gnome2.4-1 libsoup2.4-1 libstartup-notification0 libtdb1
  libthai-data libthai0 libtiff5 libvorbis0a libvorbisenc2 libvorbisfile3
  libvpx1 libwayland-client0 libwayland-cursor0 libx11-xcb1 libxcb-render0
  libxcb-shm0 libxcb-util0 libxcomposite1 libxcursor1 libxdamage1 libxfixes3
  libxft2 libxi6 libxinerama1 libxkbcommon0 libxpm4 libxrandr2 libxrender1
  libxtst6 notification-daemon obex-data-server policykit-1 poppler-data
  python-cairo python-dbus python-dbus-dev python-gi python-gi-cairo
  python-gobject python-gobject-2 sane-utils update-inetd x11-common
0 upgraded, 165 newly installed, 0 to remove and 0 not upgraded.
Need to get 65.6 MB of archives.
After this operation, 189 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.
I don't need the whole graphical environment (I run my Raspberry Pi headless, so it doesn't have a graphical environment).

So I searched some more and found the command bluetoothctl which does pairing in text mode, exactly what I want. It took some trying:
koos@joy:~ $ hcitool scan
Scanning ...
        30:14:11:xx:xx:xx       Mobilinkd TNC2
koos@joy:~ $ bluetoothctl 
[NEW] Controller B8:27:EB:xx:xx:xx joy [default]
bluetooth]# pair
Missing device address argument
[bluetooth]# scan
Missing on/off argument
[bluetooth]# scan on
Discovery started
[CHG] Controller B8:27:EB:xx:xx:xx Discovering: yes
[NEW] Device 9C:20:7B:xx:xx:xx 9C-20-7B-XX-XX-XX
[NEW] Device D0:03:4B:xx:xx:xx D0-03-4B-XX-XX-XX
[NEW] Device F4:F5:D8:xx:xx:xx F4-F5-D8-XX-XX-XX
[NEW] Device 30:14:11:xx:xx:xx 30-14-11-XX-XX-XX
[bluetooth]# pair 30:14:11:xx:xx:xx
Attempting to pair with 30:14:11:xx:xx:xx
Failed to pair: org.bluez.Error.AuthenticationFailed
[bluetooth]# ?
Invalid command
[bluetooth]# help
Available commands:
  list                       List available controllers
  show [ctrl]                Controller information
  select <ctrl>              Select default controller
  devices                    List available devices
  paired-devices             List paired devices
  power <on/off>             Set controller power
  pairable <on/off>          Set controller pairable mode
  discoverable <on/off>      Set controller discoverable mode
  agent <on/off/capability>  Enable/disable agent with given capability
  default-agent              Set agent as the default one
  scan <on/off>              Scan for devices
  info <dev>                 Device information
  pair <dev>                 Pair with device
  trust <dev>                Trust device
  untrust <dev>              Untrust device
  block <dev>                Block device
  unblock <dev>              Unblock device
  remove <dev>               Remove device
  connect <dev>              Connect device
  disconnect <dev>           Disconnect device
  version                    Display version
  quit                       Quit program
[bluetooth]# pairable on
Changing pairable on succeeded
[bluetooth]# pair 30:14:11:xx:xx:xx
Attempting to pair with 30:14:11:xx:xx:xx
[CHG] Device 30:14:11:xx:xx:xx Connected: yes
[CHG] Device 30:14:11:xx:xx:xx Name: Mobilinkd TNC2
[CHG] Device 30:14:11:xx:xx:xx Alias: Mobilinkd TNC2
Failed to pair: org.bluez.Error.AuthenticationFailed
[CHG] Device 30:14:11:xx:xx:xx Connected: no
[bluetooth]# agent on
Agent registered
[bluetooth]# pair 30:14:11:xx:xx:xx
Attempting to pair with 30:14:11:xx:xx:xx
[CHG] Device 30:14:11:xx:xx:xx Connected: yes
Request PIN code
[agent] Enter PIN code: 1234
[CHG] Device 30:14:11:xx:xx:xx UUIDs:
        00001101-0000-1000-8000-00805f9b34fb
[CHG] Device 30:14:11:xx:xx:xx Paired: yes
Pairing successful
[CHG] Device 30:14:11:xx:xx:xx Connected: no
[bluetooth]# 
So I have to set 'scan on', 'pairable on' and 'agent on' to get in a state where a 'pair' command will start the bluetooth pairing process and ask for a pincode.

Now we have a pairing, and I could add a serial connection over this. By hand this can be done with commandline rfcomm:
koos@joy:~ $ sudo rfcomm connect /dev/rfcomm0 30:14:11:xx:xx:xx
Connected /dev/rfcomm0 to 30:14:11:xx:xx:xx on channel 1
Press CTRL-C for hangup
And in another terminal:
koos@joy:~ $ cat /dev/rfcomm0 


== BeRTOS AVR/Mobilinkd TNC2

== Version 2.0.1.571

== Voltage: 4045mV

== Starting.

So there is communications possible! Now to get aprs data from the mobilinkd. This should happen via the KISS protocol, but at this time I have no idea what that would like.

Tags: , ,
2017-01-16 Living in two timezones 5 months ago
PyHamClock Radio amateurs who make contacts over the borders constantly live in two timezones: both their local timezone and the UTC timezone. Logging contacts with UTC timestamps ensures the timestamps align across different parts of the world.

To help with this logging programs for amateur radio like CQRLOG will show the current time in UTC and log in UTC.

But I also like having a desktop clock in Linux with both the local time and the UTC time. One of the reasons is with WSJT-X: in this mode transmissions start at second :00 and end at second :50 so I have to check the WSJT-X screen every minute between seconds 50 and 00 (or every second minute when I'm in a contact). This gets tedious and I get distracted when there is 50 or 110 seconds to just wait.

There are hardware 'amateur radio' clocks like the CK-2 LED Digital Dual Time Zone Clock which is over 200 US dollars and looks like it would fit into a missile launch command center. Or from MFJ: MFJ-148RC dual time LCD clock, atomic W/GMT ZONE, id timer at nearly 60 US dollars.

I decided to just look for some software for this task and after a few searches I ended up with PyHamClock which is now running on my amateur radio desktop system.

Tags: , ,
  Older news items for tag linux ⇒
, reachable as koos+website@idefix.net. PGP encrypted e-mail preferred.

PGP key 2C66 3B5D F0D7 C263 local copy PGP key 2C66 3B5D F0D7 C263 via keyservers pgp key statistics for 0x2C663B5DF0D7C263 Koos van den Hout
RSS
Other webprojects: Camp Wireless, wireless Internet access at campsites, The Virtual Bookcase, book reviews, Weather maps