Differences between revisions 21 and 23 (spanning 2 versions)
Revision 21 as of 2014-02-24 15:53:17
Size: 2581
Editor: YunboWei
Comment: add two cards that tried to work
Revision 23 as of 2017-12-27 14:53:43
Size: 2860
Editor: MarkTearle
Deletions are marked like this. Additions are marked like this.
Line 30: Line 30:
 * GetMeThere (Manchester, UK)
 * Stagecoach (Manchester, UK)
 * Translink Daylink (Belfast, Northern Ireland)
 * CitySmart (Edinburgh, UK)
 * ScotRail (UK)
 * Leap visitor (Dublin, Ireland)
Line 35: Line 41:
 * Single-use ov-chipkaart (Netherlands)
 * Single-use SPT Subway (Glasgow, UK)

The snack machine has a Strong Link SL500L MIFARE smartcard reader attached.


Log in to the snack machine using your user ID and PIN and swipe your card on the blinking LED just inside the glass, and your card will be enrolled.

Next time you want to use the machine, just swipe your card and you'll be logged straight in.


Known to Work

  • UWA Staff and Student Cards
  • Smartrider (Perth, Australia)
  • Translink Go Card (Brisbane, Australia)
  • Myki (Melbourne, Australia)
  • MyWay (Canberra, Australia)

  • metroCARD (Adelaide, Australia)
  • Clipper (San Francisco, USA)
  • CharlieCard (Boston, USA)

  • Oyster (London, UK)
  • ov-chipkaart (Netherlands)
  • Reisekort (Oslo, Norway)
  • NFID Tags
  • ANZ Access Debit Card With Visa Paywave (Perth, Australia)
  • Shandong City Card (Shandong, China)
  • GetMeThere (Manchester, UK)

  • Stagecoach (Manchester, UK)
  • Translink Daylink (Belfast, Northern Ireland)
  • CitySmart (Edinburgh, UK)

  • ScotRail (UK)

  • Leap visitor (Dublin, Ireland)

Don't appear to Work

  • Octopus (Hong Kong)
  • Frenchie's staff card (CRC check fails on card ID)
  • Single-use ov-chipkaart (Netherlands)
  • Single-use SPT Subway (Glasgow, UK)

Technical Details

It talks 19200 8N1 serial to a driver library written by [DAA] and was integrated into the snack machine server code by [DAG].

LDAP has been expanded to support the storage of MIFARE card serial numbers (objectClass uccDispenseAccount and attribute uccDispenseMIFARE). LDAP schema are in /services/ldap and are editable by wheel members, who can type 'make' to push the schema out to the servers.

Due to bugs in OpenLDAP, ACLs and indexes must be manually maintained in /etc/ldap/slapd.conf on LDAP servers, but failing to keep schema in sync is a good way to corrupt the LDAP database, as I found out last year.

The server code polls the MIFARE reader, looking for card serial numbers. If a card is detected, it looks the serial number up in LDAP, and attempts to log the user in. Card IDs cannot be assigned to more than one person.

If a card is swiped while a user is logged in, and that card ID is not already enrolled in LDAP, the user's LDAP object has an uccDispenseMIFARE attribute added (and the objectClass if required).

Users can edit their own MIFARE card IDs with 'ldapvi -D \(uid=$USER\) uid=$USER'.

  • Generic documentation:



  • Driver distribution: