Showing posts with label rants. Show all posts
Showing posts with label rants. Show all posts

Tuesday, May 9, 2017

Important Hints to iGate developers

By connorgoodwolf - Own work, CC BY-SA 4.0
There are a lot of APRS iGate implementations out there, and new ones are popping up every few months these days. A lot of the new ones are made for various microcontroller chips and development boards (Arduino, ESP8266 and friends). Some are made for SDR sticks, some are built in mobile phone applications. Many of them reduce the amount of hardware needed to run an iGate by fully removing the need for a TNC, a full-blown computer, or an actual amateur radio transceiver.

Very cool stuff!


It would seem like writing an iGate would be very easy: receive packets off the air, put them in TNC2 format, and pass them to the APRS-IS servers over TCP (specifications: connecting, design, details). But it turns out that there are quite a few things that can go wrong in the implementation, and in fact, some things seem to be going wrong the same way fairly often. Some bugs are fairly common and some seem to pop up in multiple different iGates, old and new.

Currently the most popular ones are due to the false assumption that all packets are either plain 7-bit English ASCII text with no NUL bytes or other binary stuff, or some specific Unicode encoding such as UTF-8. These assumptions lead to the packets getting truncated at the first NUL (binary 0) byte, or otherwise modified in a way that scändic and øthér ïnternátiønal characters get mutilated if they don't happen to use the same encoding. Sometimes a truncation of a packet at the first NUL may lead to the packet being concatenated together with the next packet.

I get to decode the corrupted packets on aprs.fi, and I also get to process the corrupted ones in the aprsc APRS-IS server software which is fairly common these days. If the bugged packets are not detected and handled, there usually are some folks complaining to me about the odd results, since they are often received from aprsc and viewed on aprs.fi.

I can't blame the authors of the new applications – I have to admit that APRS documentation is not great, and it's easy to stumble across the same bugs if you haven't fixed them once before.

Every now and then I spend an evening trying to identify some of these bugs in the APRS-IS client applications and file bug tickets to the software authors. Last night I filed 3 packet corruption bug reports on Github for 3 different iGate applications. These are not the first ones, I've probably filed 30 in the past. It's not hard to spot these once you know what to look for.

I'd like to take this chance to thank to all the authors who fix the bugs in a timely manner and release the fixed versions!

Based on this experience I wrote a little document listing common iGate bugs: IGATE-HINTS.md. It'd be great if all APRS software authors could glance through it and make sure these bugs are not present in their own software. If you spot someone writing a new iGate, please pass on the link to the new author – hopefully these bugs will then be avoided right from the beginning.

Unfortunately some buggy iGate applications are orphaned and no longer developed. A few of those applications are fairly popular, too. It'd be great for the network if iGate operators could gradually upgrade to applications which still get updates, and don't exhibit any of the packet-corrupting bugs.

A lot of iGates are also not getting updated, even though they run software which would have updates available. Some iGate operators feel that the iGates work, sort of, since most packets go through them just fine, most of the time. I think I'll try to make aprs.fi highlight some of the more common issues on the station info page in the future.

If you know a little Python or C, and you've got a little extra time, let me know – there are some bugs out there in the Open Source Land which could use a helping hand.

Tuesday, January 17, 2012

aprs.fi closed in U.S. on Wednesday

aprs.fi will join Wikipedia and Reddit, and protest the proposed U.S. SOPA/PROTECT-IP legislation by closing down on Wednesday. (News about Reddit blackout, and Wikipedia joining it.)

The aprs.fi outage will only affect clients in the United States (or those with IP address mapping an U.S. network operator - the targeting is not fully accurate).

Although the law is being made in the U.S., it will break the Internet on a global scale by making sites such as aprs.fi liable for links and content posted by the users of the site. Sites like aprs.fi are commonly run by individual developers or small volunteer teams. Due to the huge volume of automatically published user-generated content (50 packets per second currently!) it would be impossible for me to go through it all before publishing. If some APRS user would post links to copyright-infringing material, even when that material would reside somewhere else than aprs.fi itself, aprs.fi could be shut down in the U.S. and there would not be much that I could do about it. See how difficult it was for a falsely censored music blog to get unblocked under the current legislation.

The law claims to be targeted at pirate web sites, but it won't have any practical effect on criminal file sharing, since those networks can very easily switch to new domain names and IP addresses, or bypass the DNS altogether with modern peer-to-peer technologies. Instead, it will force web site administrators such as myself to pre-censor data (by, for example, removing user-posted links completely). In practice: no home page link shown with your APRS station on aprs.fi. This is just silly – on other sites which depend more on linking out it could ruin the whole show.

If you're an U.S. citizen, you can probably do something about this that would actually make a difference. I'm not there, so I can't (but I voted yesterday evening in Finland's presidential election!). Please read through the material on the Reddit blackout page, there are good "Learn More" and "Get Involved" sections in the end!

Data collection will be running as usual, so Wednesday's data will be available on Thursday.

Now I'm really happy that aprs.fi is aprs.fi instead of aprs.com or aprs.net. And that I'm not living in the UK. The really bad news is that similar laws are being pushed in Europe.

PS. You can get your APRS location from http://www.findu.com/cgi-bin/find.cgi?YOURCALL or DB0ANF. If a life-threatening disaster would happen in the U.S. let me know and I'll open up the site.

Tuesday, June 29, 2010

Plug-n-play APRS (not!) and lack of APRS documentation

Gary Hoffman, KB0H writes on the ARRL web site (The Amateur Amateur: APRS, the Beginning):
"I was still interested enough in APRS that I Googled it the next day. There were a great many sites dedicated to the field, so I skimmed a random sampling of them. Wow! Everything I read seemed highly technical, and none of it described what APRS actually was. The only solid piece of information I was able to garner was that if you called it Automatic Position Reporting System, the APRS Police would come knocking at your door. But just what was APRS? I still didn’t know.

Skip forward a few years.

The term APRS caught my notice from time to time, so I periodically went back to the Internet to see if I could figure it out. I didn’t have much luck. I did find a commercial Web site, byonics.com that sold APRS equipment, but all of the products seemed to be geared toward hams who already had a pretty good grasp of the subject."
I have to agree with him – the obvious places to find documentation for beginners (the Wikipedia page and, especially, aprs.org) do not have it. The wiki page goes quickly pretty deep into a technical network and protocol overview right after the introduction. aprs.org is a mess – it spends a lot of time complaining how APRS really isn't what most people are using it for, and doesn't really have any starting points. And there are broken links. The APRS Wiki has something, but it isn't very strong or up-to-date either.

G4ILO has written an article, APRS - Putting ham radio on the map, which I find pretty good – probably not the least because he says aprs.fi is "the best". It would be good to have this on the APRS Wiki.

If you manage to actually buy some hardware to use APRS, the configuration programs and menus are also very hard to use. I heard or read somewhere that some amateur clubs now have monthly meetings on the topic of programming radios (which actually means going through the menus to get settings right). The Byonics and Argent configuration tools show an awful lot of settings to start with. Most of the defaults are OK and you only need to fix your callsign and the audio levels, but it's way too easy to make configurations which break things for yourself (for example, by selecting invalid symbol codes instead of picking the symbol image from a table). Many misconfigurations actually break the network by transmitting way too often, or with abusive long paths.

I strongly think that the configuration programs should be improved to not accept any abusive or broken configurations. Also, they should initially only show the settings you really, really need to change (your callsign, comment text, TX audio level, and "pick a symbol image from this graphic table of images"). Most other settings should go to an "advanced settings" menu of some sort. Think Apple and the iPhone – to get regular users started it needs to be simple and lean. Path setting should, even in the Advanced menu, consist of a drop-down selection of "1 hop", "2 hops", or "3 hops" which would translate to something like WIDE1-1,WIDE2-2 somewhere behind the scene (with maybe a checkbox for "use TRACE instead of WIDE"). Free-form path entry should be in the Very-Super-Advanced configuration file, and even then the tracker firmware should refuse a WIDE3-7,TRACE9-9 path.

If you're looking for a little programming project, I'd guess Scott wouldn't mind if someone would improve the OpenTracker Windows config program a bit. It's Open Source, after all.

I suppose I should look at my software, too. aprs.fi doesn't have a proper beginner's guide, either. Or an user's manual. There are only 4 tooltips, and 14 help links (which are not localised). Awful.

theborg989 has uploaded a nice introductory aprs.fi video on Youtube. It could use a sequel which would describe things like tracking multiple stations and using the tools in the top right corner of the display.
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy