Differences between revisions 17 and 21 (spanning 4 versions)
Revision 17 as of 2012-10-04 11:49:13
Size: 2372
Editor: MarkTearle
Comment:
Revision 21 as of 2014-02-24 15:53:17
Size: 2581
Editor: YunboWei
Comment: add two cards that tried to work
Deletions are marked like this. Additions are marked like this.
Line 21: Line 21:
 * metroCARD (Adelaide, Australia)
Line 26: Line 27:
 * NFID Tags
 * ANZ Access Debit Card With Visa Paywave (Perth, Australia)
 * Shandong City Card (Shandong, China)
Line 30: Line 34:
 * Frenchie's staff card (CRC check fails on card ID)

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

Usage

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.

Cards

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)

Don't appear to Work

  • Octopus (Hong Kong)
  • Frenchie's staff card (CRC check fails on card ID)

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:

http://www.nxp.com/products/identification/readers/contactless/

http://www.stronglink.cn/English/sl500.htm

  • Driver distribution:

http://viewmtn.angrygoats.net/branch/changes/au.asn.ucc.mifare

http://cvs.ucc.asn.au/cgi-bin/viewvc.cgi/anoncvs/projects/dispense2/sql-edition/servers/