Send pass payload over a Wiegand interface

The Wiegand interface allows a mobile NFC pass payload to be passed straight to an access controller from your VTAP reader, like data from any other card reader.

Note: The Wiegand interface is only available if you are using the VTAP100‑PAC‑W model.

To enable the Wiegand interface you will need to make changes to the config.txt file.

Here WiegandMode=1 enables data transmission over the Wiegand interface.

WiegandSource controls which types of data (pass reads, card/tag reads, serial commands) will be sent to the Wiegand interface. The default value is A1, which allows sending of all NFC pass and card/tag data. Refer to the Wiegand interface settings for other options, if data sources need to be restricted for your application.

Additional settings are needed if you want to Send only part of pass payload. And there are a number of settings which will allow you to adjust the Format of pass data before it is sent over the Wiegand interface.

Note: PassWiegandBits should be set to match the bit length expected by the controller and the pass payload must contain sufficient data to provide this number of bits. PassWiegandBits defaults to 56, so the expected form of the pass payload is 14 hex digits, unless PassWiegandBits is set to another value in your configuration.

Send only part of pass payload over Wiegand

WiegandPassMode allows you to extract only a part of each mobile NFC pass payload to send over the Wiegand interface. Setting WiegandPassMode=1 enables all of the other WiegandPass... settings, to extract a short character sequence from the pass payload. This can then be interpreted as a decimal or hexadecimal number and sent over the Wiegand interface as a bit sequence. These settings let you fetch the specific section of the pass payload needed by your access control system, as in this example:

Refer to the Wiegand interface settings for all the possible WiegandPass... settings and options to extract even smaller parts of the pass payload.

Format of pass data sent over Wiegand

Wiegand data is usually a short bit pattern, rather than a sequence of characters. So there are several optional settings, to use in config.txt, which allow you to change the output format for any data read, in terms of bit length, parity bits and identification of pass type, for data transferred over a Wiegand connection:

  • PassWiegandBits=56 lets you specify the number of bits (1 to 255) to output over the Wiegand interface, from the start of the filtered pass payload. If omitted it defaults to 56.

    (TagWiegandBits does the same for card/tag data.)

  • PassFormat=d is a setting to interpret ASCII pass payload characters as either hex (h) or decimal (d), when converting the pass payload to a Wiegand bit sequence.

    (For cards and tags containing a sequence of ASCII characters, you may want TagWiegandASCIIFormat set to hex (h), decimal (d) or the default ASCII (a), along with TagReadFormat=a.)

  • PassWiegandParity=1 adds a single 'parity bit' equivalent to pass payload. This makes it possible to use mobile pass data formats that include parity bits. Parity bit equivalents can be used if the parity bit(s) are not being tested for validity. PassWiegandParity=2 adds calculated odd and even parity bits to the data. Either can be used if PassFormat=d or PassFormat=h. Again, the default =0 turns this feature off.

    (Use TagWiegandParity to do the same operation for card and tag data, used with TagReadFormat=a and TagWiegandASCIIFormat=d or =h to interpret the tag byte data as an ASCII string representing a decimal or hex number, and to convert this to the corresponding Wiegand bit sequence by adding extra parity bits, which might be expected by the controller.)

  • WiegandPassTypeIdent=1 inserts an additional leading byte of pass type identifier (01 for Apple VAS, or 02 for Google ST) in the Wiegand output. This makes it possible to distinguish between cards/tags and mobile wallet passes. This setting overrides PassWiegandBits and results in a Wiegand bit length of 64 bits. The default =0 turns this feature off.