• Tag Archives linux
  • Unfinished How To: Setup the Cross Country Wireless APRS TNC Digi Tracker on Linux

    I’ve had my HAM license (SA0BWI) for about 2 years now, and still haven’t really been able to dig in.  Part of it is lack of time, and part of it lack of simple, comprehensive How-To tutorials.

    This changes now.

    Today (EDIT: this took far longer than a day!) I’ve got the time, tools, and tenacity to figure it out.  In this post, I’ll record the best, quickest, and simplest way to do it, cutting out all the unnecessary detours that lack of experience, knowledge, or guide necessitate for me.

    Ingredients:

    Computer, TNC, and Radio
    Computer, TNC, and Radio
    1. Cross Country Wireless APRS TNC Digi Tracker (There are lots of tutorials for the TinyTrack, which is cheaper, but doesn’t, to my knowledge, include a built-in GPS chip.  The Cross Country Wireless device which I have has a GPS chip, a higher price tag, more options, and fewer tutorials for Linux.)
    2. Radio (I use a Baofeng UV-5R).  Having two radios will help – one for working with, and one for monitoring.
    3. Computer (in my case, a Lenovo S10-3s for now, but I plan to switch to a Raspberry Pi sometime in the future – anything remotely modern with a USB port will do.)
    4. Linux (I use Linux Mint XFCE edition.  The commands in this post should work on any Debian-derived distro.)
    5. Cabling to connect your radio to the TNC (custom wiring, you can order it at the same time as the TNC or make it yourself – according to Chris Moulding over at Cross Country Wireless, it needs a 4.7nf capacitor in series with the audio input to the TNC), and the TNC to the computer (USB B to A connector – the same as used by most printers)

    Configure the Radio

    1. Set Squelch (SQL in the radio’s menu) to 0 – fully open
    2. Set Transmission Power (TX POWER) to LOW (when you’re done setting everything up, you can change it to high to cover a larger area)
    3. Set Voice Detection (VOX in the menu) to OFF
    4. Set Bandwidth (WN in the menu) to NARROW (May not be necessary, but narrow is the path to the future!)
    5. Set Dual Watch (TDR in the menu) to OFF
    6. Set BEEP to ON (Doesn’t seem right?  May have to do with this bug.)
    7. Set R-DCS to OFF (To be honest, I don’t know if this matters.)
    8. Set R-CTCS to OFF (To be honest, I don’t know if this matters.)
    9. Set T-DCS to OFF (To be honest, I don’t know if this matters.)
    10. Set T-CTCS to OFF (To be honest, I don’t know if this matters.)
    11. Set the radio’s human impersonator (VOICE in the menu) to OFF
    12. Set PTT-ID to OFF
    13. Set BCL to OFF
    14. Set SFT-D to OFF
    15. Set OFFSET to ZERO
    16. Set Squelch Tail Elimination (STE in the menu) to OFF
    17. Set Repearter STE (RP-STE in the menu) to OFF
    18. Set Repeater Squelch Delay (RPT-RL in the menu) to OFF
    19. Set ROGER to OFF
    20. Finally, set the frequency to 144.800 MHz (European APRS frequency)

    Configure the TNC

    Calibrate the Radio Volume

    With the radio connected to the TNC and the TNC ON, increase the volume until the Rx LED glows steady, or almost steady.  You might have to set it at full blast.

    Note that I had two different behaviors with my two TNCs: one would glow bright at extremely low volume, and a tad dimmer at moderate to loud volumes; I set this one to a moderate volume.  The other wuold flicker constantly, increasing in brightness with the volume; I set this one to a high volume.

    DIL Switches

    The first thing to do is set the switches to the right settings.  Here’s what I used during setup:

    1. ON: Radio Port Power
    2. OFF: Selects Terminal Operation
    3. ON: PTT Output
    4. ON: PTT Output on audio (HT-specific)
    5. ON: GPS Receiver (NOTE: You will want to turn this off once we’ve established communication with the device.)
    6. OFF: Not used anyway
    7. OFF: Sets Transmit Audio Level Low
    8. OFF: Digipeater Off

    Software Configuration – Minicom

    Cross Country Wireless has done a great job with their TNCs, and bundles software for using and configuring them, called APRS Messenger.  There’s only one problem: it’s for Windows.  Yes, there are solutions like Wine, which may or may not work, but I prefer to avoid that.  Therefore, I use Minicom.

    Next step is to program the TNC with your callsign and set up other parameters.  To do this, we need to download a serial communication program and connect to the TNC through it.

    Plug the TNC into the computer via USB.  I found the instructions over at CyberCiti.biz very helpful to establish the serial connection.  Find out what the COM port device is:

    $ dmesg | grep tty

    Mine ended up being ttyUSB0

    The next thing to do is install minicom:

    $ sudo apt-get install minicom

    For some reason, the version of mincom that my package lists had was not available on the server, so I had to download the .deb package manually from this URL: http://archive.ubuntu.com/ubuntu/pool/universe/m/minicom/

    I followed CyberCiti’s guide to using minicomNOTE: I used sudo because minicom needs write permission to /etc/ to save the configurations we make below.

    $ sudo minicom -s -c on NOTE: the -c on is just to make it display with pretty colors, and can be omitted safely.

    (Screenshot)

    I went to Serial Port Setup and made the following changes:

    (Screenshot)

    • A: Serial Device to /dev/ttyUSB0
    • E: COM port settings: I changed to 4800 8N1, as recommended by the APRS TNC Digi Tracker Manual, by pressing C B L V W.  Depending on your firmware, you may need 9600 baud.
    • F: Hardware Flow Control: No

    On advice of someone over at Texas Instuments, I cleared all the modem and dialing settings.

    (Screenshot)

    All that done, I chose “Save Setup As…” and gave the name TNC1.

    (Screenshot)

    Then I chose to “Exit from Minicom” as I wanted to run it in a non-SUDO environment.

    Re-start minicom with our saved configuration file by running:

    $ minicom TNC1 -c on

    Note: you may be given an error something like “cannot connect to ttyUSB0″.  If this happens, it’s because your user doesn’t have access to /dev/ttyUSB0, so you need to change the file ownership to give your user access by:

    $ sudo chown username /dev/ttyUSB0 (of course, change “username” to your username).

    If you are lucky enough, you will be treated to a scrolling list of GPS chip output:

    (Screenshot)

    If you’re not so lucky, you might see gibberish instead of the GPS chip outputs.  If this happens, re-edit minicom’s configuration files and change the baud rate.

    Now, unplug the APRS TNC Digi Tracker, and change the DIL Switch 5 to OFF.  This will get the GPS chip to quiet down so we can talk to the device.  Plug it back in, and you’ll see something like:

    (screenshot)

    Software Configuration – the TNC

    Time to explore the device!  For a quick configuration of all necessary points, run the following commans.  NOTE: you should change some of these when you have figured out that all is working, particularly the beacon timing and beacon text!

    You’ll save time by referring to Appendix 2 in the manual, which lists all the commands in their proper syntax.

    cmd: mycall SA0BWI-9  (of course, change to your call sign and SSID)
    cmd: unproto aprs-0,wide2-2  NOTE:  If you haven’t fully understood APRS Paths, take a look at this video.
    cmd: btext >Testing 123...
    cmd: beacon every 1
    cmd: mon all
    cmd: digi on
    cmd: myalias wide1-1
    cmd: echo on
    cmd: txdelay 64
    cmd: gps gprmc

    Calibrate the TNC Transmit Volume

    You should probably do this on an unused frequency, not on the normal APRS frequency.

    With everything plugged in, minicom open, and access to the TNC, turn on another radio to monitor.

    Put the TNC in calibration mode by using the CAL command in minicom.  You should hear a continuous tone on the monitor radio.

    Using a flat head screw driver, play with the potentiometer on the TNC circuit board (almost underneath the GPS) until you find the sweet spot: loud enough to be audible, quite enough to not trigger any peak reduction.

    Use the space bar to toggle the tone and find the sweet spot again.  Basically, find a sweet spot that works for both tones, and keep that.

    Testing 123…

    At this point I wanted to do some testing, just to be sure that I could send and receive packets.  I duplicated the setup with another computer, TNC, and radio, and tried to send messages back and forth using the Converse mode (see the manual).  No luck: sending seemed to work fine, but receiving wasn’t working at all.

    I had a call with Chris Moulding, and had feedback from the Yahoo Group https://uk.groups.yahoo.com/neo/groups/cross_country_wireless/conversations/messages/4164

     I’m posting this so that I can share with the group and get their feedback.

     

     

     



  • Compress PDF for College Applications

    It’s always a rush: the deadline is approaching, there’s exams coming up, you are applying for a chance to study in your dream college next year.  As you near the end of the application form, they always want soft-copies of your certificates, in PDF.

    And of course, the online application always has some ridiculously low file size limit.  They often have file number limits too, meaning that you have to combine your scanned certificates all into a single PDF.

    Recently, I was applying for a Ph.D. where I must upload all my certificates, supporting documents, SOP, filled application, etc. as a single PDF file.  And of course there was an unrealistically small size limit.  For another application, I could upload three documents, but they must all be less than 2MB.  Yet another application required that the PDF file have all pages rotated to the correct orientation.

    How is a full A4 certificate or transcript, two pages, full color, scanned at 300dpi, supposed to fit in 2MB?!?  My PDF, all told, was 13MB, and about 5 pages (Bachelor’s certificates, MSc certificates, diplomas, etc).  And it had to fit in 2MB???  I assume that it should also be legible?

    Well, the answer is, yes, we can!  The answer to all your PDF worries is ImageMagick and PDF Tool Kit (aka pdftk) – wonderful life-saver programs present on most GNU/Linux systems.

    Not on Linux?  My friend, my friend, it’s time to free yourself!  Download Linux Mint and give it a spin!  You can even run LinuxMint from the DVD, just for the purpose of using PDF Tool Kit, if you’re that desperate.

    Still not on Linux?  Well, you can always use Adobe Acrobat Pro, but it is costly!  I happen to have a licensed version of Adobe software, which I do use on occasion.  However, more and more often, I don’t need to use it because there’s a perfectly fine free, open source alternative.

    Well, if you’ve come here looking for answers on “How do I compress my PDF?”, I shouldn’t keep beating around the bush.

    Compress your PDF of Scanned Documents:

    There are a number of solutions you’ll find via Google.  I’ve tried them all, with little success.  Finally, I found a command that actually works:

    convert -density 300×300 -quality 5 -compress  jpeg input.pdf output.pdf

    Change input.pdf and output.pdf to suit your needs.  I have found that (surprisingly!) using a quality of 5 usually is legible.  You can increase it up to 100.  I usually convert the big file once using this command, take a look at it, and increase the quality if the file is under the size limit, or decrease if it’s too big.

    There’s a lot more that ImageMagick can do for you.  To see some more examples, check out CatlingMindSwipe (including how to convert a JPG into a PDF).

    Re-organize / Rotate pages in a PDF file:

    Another task usually involved in submitting applications is rotating your PDF files, chopping out pages that you don’t want to send, or combining many PDF files into a single PDF.

    Yes, there are a number of online sites that will combine files for free, edit them, etc., but why would you use them?  There’s a better way to do this, right at your finger tips!

    PDF ToolKit (from now on, just pdftk) lets you do all this in a very nice, simple interface.  To know the full power, just type “man pdftk”, and be overwhelmed with the power suddenly in your control!  For a quick start, read on:

    Scenario: You scanned your certificate, and saved it as a PDF, but it’s sideways.  You need to rotate it.

    pdftk A=input.pdf cat AE output output.pdf

    Explanation: You read the input file to A, then you put A in the cat’s dish, then you rotate it towards the East (picture the document sitting on a compass rose), and then out output it to output.pdf.  It might sound strange, but cat actually doesn’t represent a feline, it’s short for concatenate, or join-files-together.  Here, you’re joining A (rotated to the E) with nothing, so it’s just A.  You can also rotate a document West (W), or to the South (S).

    Scenario: You need to upload a bunch of certificates, but can only upload one file.  Let’s use that cat!

    pdftk A=input1.pdf B=input2.pdf C=input3.pdf cat A B C output output.pdf

    Now cat makes sense!  Basically, you’re just joining A, B, and C into one file, output.pdf.

    You can have as many input files as you need (I’ve gone all the way to L).  If you get strange errors, and you’re pretty sure that the command was correct, then one of your PDFs might be malformed.  Try removing one input file at a time from the command until it works, then you know which one was the culprit.  If you are joining huge documents, you might get out of memory issues: just join them into two bunches, and than join the two bunches with another command.

    Scenario: You need to extract some pages of a book to send your writing sample.  For the example, let’s say you need to extract pages 2-10.

    pdftk A=input.pdf cat A2-10 output output.pdf

    That’s it!  Quite simple!  We can make it more complicated… say that, on top of that, you need to rotate the pages 90° to the west (you scanned them the wrong way):

    pdftk A=input.pdf cat A2-10W output output.pdf

    Scenario: You need to do all the above!

    pdftk A=writing_sample.pdf B=scanned_Diploma.pdf C=transcript.pdf cat A2-10W BE C output My_Documents.pdf

    This takes your scanned Writing_Sample.pdf, extracts pages 2-10, rotates them to the West so that your reviewers can read it online without cricking their necks, then rotates your Diploma East for the same reason, and tacks on your transcripts, all into a single file that you can upload called My_Documents.pdf!

    If My_Documents.pdf is too big, try compressing it using the convert command (above).

    Good Luck with your applications!  What’s your favorite way to handle PDFs?



  • The Case for Dark System Themes: How to Save your Eyes and Use a Computer at the Same Time

    When I was young(er than I am now), I didn’t like black deco.  I thought it was evil.  I thought that a computer, used for word processing, should always have a white background just like a sheet of paper.  I thought that the command prompt with it’s white text on a black background was archaic.

    And I was in good company.  Even Apple seemed to agree with my sense of UI deco.

    Then I started to use a computer.  I started to really use a computer, like 10 to 12 hours a day, eight days a week.  I quickly discovered that staring at little shadows on a big square light bulb was not good for my eyes.

    This made me completely reconsider my sense of digital UI deco, and to collect a set of tools to help me reduce eye strain.  I present them here as that’s what this blog is for!

    System Theme

    Always find a plain black theme.  Not a black theme with fancy accents that makes your window trim look like it was painted and waxed in a Porsche Body Shop; a matte black with minimal fanciness is the best.  In KDE, I use the Oxygen-Dark theme.  I’ve also downloaded other theme components that provide green accents rather than blue.  I prefer black and green, especially when I’m running Linux Mint.

    Edit: Firefox has always been troublesome on a dark theme, because if the website doesn’t include full styling for text fields and form input elements, it will mess up their display.  This page shows you an easy and excellent way to fix that: http://ubuntuforums.org/showthread.php?t=1715031

    Note: I’ve never had luck with LibreOffice and a dark system theme.  When I need to do anything that needs to see colors, I have to change the system theme temporarily.  Does anyone know a solution?  EDIT 2014 02 06: It works!  See below:

    Office Apps

    LibreOffice / OpenOffice can work, even in Dark Themes!  If you do a lot of word processing in Writer, then this won’t help you save your eyes, but it will help you see the document as intended.

    Do this:

    • Open LibreOffice or OpenOffice
    • Tools > Options…
    • LibreOffice > Accessibility
      • UNcheck the option to automatically detect high contrast mode
    • LibreOffice > Appearance
      • Make the document background White, instead of Automatic (or a shade of gray to reduce eye strain)
      • Make the application background gray, to reduce the contrast between the white paper and the dark borders
      • Make the font color Black.
    • Click OK, quit Office, and open it again.  Now your presentations and spreadsheets will work as they should.

     

    RedShift or F.Lux

    These two tools (you only need one of them) tint your computer screen towards warmer colors based on the time of day.  The “white” light emitted from your monitor can be described in terms of color temperature, a measurement in Kelvin.  Basically, a “low temperature” white, say 5000K, will have a “warm” redder color, while a “high temperature” white, around 7000K, will have a “cool” bluer color.

    The important point here is that the color of your monitor should match the color of the ambient lighting to reduce eyestrain.  For a typical office with warm light bulbs and sufficient windows, the ambient light color will go from warm in the morning to cool at midday, and back to warm.  RedShift makes the assumption (and is generally correct) that this is the case, while F.Lux has a more complicated configuration to match any ambiance.

    If you’re using a laptop, then I recommend RedShift as a good general case, as staring at a warm colored monitor while in a room lit by cool lighting is not half as straining as the other way around.  On the other hand, if you are at a fixed computer with predictable ambient lighting conditions, then install F.lux and configure it to perfection.

    On Linux, either of these programs can be downloaded from the repository.  Install redshift and gtk-redshift (the control panel), and configure it to auto start when you log in.  Make sure your system clock is set to the right time zone and location, redshift will do the rest.

    Note: You will want to disable these tools when you are doing color-sensitive work, previewing images, and watching movies for the best results.  It’s usually simple: just click on the icon near the clock in your system tray.

    Invert

    I used to use Compiz, which had a most wonderful feature: I could invert the color of any window I was looking at.  This is only really useful if you are reading a PDF: black on white.  Invert the window, and you have white on black!  Much better for the eyes.  Now my system no longer has Compiz, and the new compositors don’t seem to have that live-saving feature.  Hopefully it will come back…

    Regular Breaks

    Regular breaks (every 20 or 25 minutes or so) where you stare at some very distant object, such as the scene out the window, do wonders.  I must confess I’m not the best at following this particular piece of advice.

     

    Well, there you have it!  My toolkit for reduced eye-strain, and longer productivity.  Enjoy!

    You may ask: Why is this website all black-on-white?  The truth is that I haven’t yet overridden the default CSS to switch it to white-on-black.