Tips on using MagRead

As the user base has increased (ie, became existent), I’ve realized that it would be best to give a few usage tips for MagRead.

  • For Maemo 5, you can download the program from extras-testing.  It’s entered as “magread”, and the package overview can be found here.  The source code for the program, as compiled by Nokia’s Maemo buildhost, can be found from there as well.
  • For Symbian, Windows, OS X and Linux, there are presently no binary packages provided.  I intend to provide some later, but at present you need to compile them yourself.
  • The code for the project, along with the bugtracker, is hosted by github.  The github project page is here.
  • The program is capable of reading swipes in either direction.  However, the success rate of swipes will get even better if you swipe the card in the same direction as the data is written.  This would be from right to left, with the card oriented such that the magnetic stripe is on top and facing you.
  • MagRead in no way saves or transfers any information that it records.  The open source nature of the program allows anyone to verify this, which I welcome anyone to do.
  • The Square dongle is only compatible with audio jacks wired for headsets.  That is, audio jacks that support mono input and stereo output, as found on mobile phones.  I’ve run into some Mac Book Pros that have compatible audio jacks, and some Thinkpads.
  • The Square dongle is configured to read track 2 only.  For more reference on what this means, see this.
  • The Square dongle can read track 1, however you must offset the card from the read head by an additional 2.79mm (.110in).  This can be accomplished by simple adding a wedge into the track.  People have also had success in just holding the card slightly off the base while swiping.
  • If you swipe a card, and it doesn’t even give a “bad swipe” error, then the track you’re reading is blank.  I’ve experienced this with several store cards, and hotel keys.  If it repeatedly gives a bad swipe error, try reversing the direction and varying the speed.  It may be damaged, or it may be in an unsupported encoding format.
  • mslib, which provides the decoding support for MagRead, only supports two encoding schemes (ABA and IATA).  While they are by far the most common encoding schemes, there may be proprietary ones you come across.  In the event you do come across such a card, mslib will still give a valid bit sequence.  However, it won’t be able to decode the bits into characters.  At present (v1.3-01), MagRead is unable to show you this bit sequence.
  • There is a checkbox on the screen marked “Show Partial Data”.  This relaxes the checksum verification to allow for partial reads to be displayed.  Any swipe with a known start sentinel will have its data shown, with characters that pass checksum displayed, regardless of whether the LRC is valid.  You do not need to stop recording to enable this.
  • You do not need to return to the home screen in order to read another card.  The application will continue listening for card swipes until you press the “Stop” button.

I’ll add more tips to this page as questions are asked of me, or as they come to mind.  There are features presently in the git repository that are not in Maemo’s extras-testing package (v1.3-01).  When I push out the updated version in the near future, I’ll be updating this page to reflect the new features (most of which are custom settings configuration).

Feel free to ask me questions via the comments section, email, IRC or other means.