LLRP PROTOCOL
LLRP PROTOCOL
LLRP PROTOCOL
Version
Number Date Description of Change
002 11/2009 Revised to include information for new ETSI standard forRF
products.
Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
LLRP Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
Air Protocol-Specific Capabilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
General Device Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
Reader Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
RFSurvey Result Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
IM5 Radio Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
Additional Resources
Here is a list of third-party resources that you might find useful:
• LLRP v1.0.1 Specification: This document details the design and usage of the
standard LLRP Client/Reader interface and can be found at
http://www.epcglobalinc.org.
• LLRP Toolkit: This is an open-source project that provides software resources for
development of LLRP applications, and can be found at http://www.llrp.org.
• Wireshark: This is an open-source tool used for monitoring and analyzing
network traffic, and can be found at http://www.wireshark.org.
Capabilities
The capabilities listed in this section relate to the design and implementation details
of the LLRP reader. In some cases, platform-specific limitations affect the listed
capabilities.
LLRP Capabilities
The following table represents the capabilities reported by the LLRP Reader
implemntation via the LLRPCapabilities parameter in the
GET_READER_CAPABILITIES_RESPONSE message.
C1G2LLRP Capabilities
Feature Support
C1G2 Block Erase Supported Yes
C1G2 Block Write Supported Yes
Maximum Filters per C1G2 Inventory Command 50
GeneralDevice Capabilities
Feature Support
Device Manufacturer Name 1963
Firmware Version String matching platform version
Can Set Antenna Properties No
Air Protocol Supported EPCC1G2 only
Has UTC Clock Capability Yes
Receive Sensitivity No
Reader Identification
Field Value
IDType MAC_ADDRESS
ReaderID 001040aabbcc
Note: LLRP Reader implementations based on the IM5R2 module, for example the
IF61A, do not support AntennaEvents. LLRP Reader implementations based on the
IM5R3 module, for example the IF61B Fixed Reader, fully-support AntennaEvents.
Implementation Details
This section describes the specific implementation details of the LLRP Reader that
have been created because of one or more of the following issues:
• LLRP v1.0.1 specification ambiguities
• Limitations imposed by particular RFID radio hardware
• Intentional deviations from the LLRP v1.0.1 specification
NumberOfTags
An LLRP Reader implementation may interpret the “NumberOfTags” field as:
• The number of total tag singulation events during AISpec operation, regardless
of whether each singulation is produced by a unique tag.
• The number of unique tag singulation events, for example the number of unique
tags singulated during AISpec operation.
The LLRP Reader implementation follows the second option above, requiring
“NumberOfTags” unique tags singulated to satisfy the TagObservationTrigger
condition.
Attempts
The LLRP Reader implementation interprets the “Attempts” field as the number of
Inventory rounds performed by the AISpec, so the TagObservationTrigger condition
will be met when “Attempts” inventory rounds has been performed.
AccessReportTrigger
According to the LLRP v1.0.1 specification, when the AccessReportTrigger field of
the AccessCommand parameter is set to “End of AccessSpec”, a report should be
generated only when the AccessSpec ends, or when the operation count has been
exhausted.
The Intermec LLRP Reader implementation interprets AcessReportTrigger to
generate a report at the end of any AISpec containing access results.
ROSpec Preemption
Preemption of ROSpecs is not possible, because only one priority is supported. If
more than one ROSpec moves to the active state simultaneously, the first activated
ROSpec will run to completion before the second begins.
Momentary Connections
The LLRP Reader implementation supports recovery of undetected abandoned
LLRP connections through the use of momentary connections, as described in
section 18.1 of the LLRP v1.0.1 specification.
Any connected client is disconnected through the process described above, to handle
this out-of-band change in configuration state without requiring the LLRP client to
properly understand and handle the IntermecResetStartEvent or
IntermecResetCompleteEvent. Because an LLRP client cannot assume persistence of
state through a disconnect/reconnect cycle, the LLRP client will be forced to
interrogate the LLRP reader to determine any configuration differences.
Listen-Before-Talk
The Listen-Before-Talk algorithm is supported through an out-of-band method and
can be modified at runtime. When enabled or disabled at runtime, all existing
ROSpecs will be modified to reflect the desired LBT configuration.
Client Termination
The LLRP Reader implementation allows an out-of-band method for terminating a
connected LLRP client. For example, this may be implemented as a “Terminate
Client” button in the platform’s web interface.
TCP
By default, the LLRP Reader implementation listens for incoming LLRP client
connections on the IANA assigned TCP port number, 5084. Configurability of this
port number is available on a per-platform basis.
IPv6
According to the LLRP specification, IPv6 support is optional. The LLRP Reader
implementation supports IPv6, and is available on a per-platform basis.
Reader-Initiated Connections
The LLRP Reader implementation supports reader-initiated connections through
an out-of-band interface. For example, this may be implemented as a set of user-
interface controls in a web interface, allowing the user to specify the client’s IP
address, TCP port, and security settings along with a “connect” button to perform
the reader-initiated connection attempt.
Parse Errors
When encountering a parsing error in any received message, the LLRP Reader
implementation will abort the parsing operation and generate a response message
containing an LLRPStatus parameter with the StatusCode field set to an
appropriate value and a description of the error. Because parsing aborts when the
first error is detected, subsequent parsing errors within the same message are not
reported.
After successful parsing and execution of a request message, the LLRP Reader
implementation will generate a response message containing an LLRPStatus
parameter with the StatusCode set to M_Success and an empty (zero length)
ErrorDescription field.
Vendor Extensions
This section describes the vendor extensions supported by the LLRP Reader
implementation. All vendor extensions are implemented through the use of the
IANA assigned manufacturer ID for Intermec, 1963.
An XML file describing the extensions and their structure, conforming to the LLRP
Toolkit (http://llrp.org) v1.0 XML schema, is available for download from the web
interface on the IF61 Fixed Reader.
Support for vendor extensions, their effectiveness, and usefulness vary per platform
and software release. Refer to product documentation for specific details about
vendor extension support.
The following is a list of supported spacial ID custom parameters that are allowed
within the SpecParameter choice. One or more of the following parameters is
allowed in each ROSpec.
• IntermecEnableTagInZone (subtype 3)
Enable/disable the calculation of a tag's in-zone confidence factor, measured in
percent certainty that a tag is in the zone of interest. This result is reported
through the custom parameter IntermecTagInZone (subtype 9).
• IntermecEnableTagMoving (subtype 10)
Enable/disable the calculation of a tag's moving confidence factor, measured in
percent certainty that a tag is moving in relationship to the reader. This result is
reported through the custom parameter IntermecTagMoving (subtype 12).
• IntermecEnableTagNear (subtype 11)
Enable/disable the calculation of a tag's nearness confidence factor, measured in
percent certainty that a tag is closer to the reader than other tags. This result is
reported through the custom parameter IntermecTagNear (subtype 13).
• IntermecEnableTagSpeed (subtype 14)
Enable/disable the calculation of a tag's speed, measured in millimeters per
second. This result is reported through the custom parameter
IntermecTagSpeed (subtype 15).
Note: Similar to the extra singulation detail reporting, all spacial ID information is
reported through the IntermecTagReportData parameter, included in the
RO_ACCESS_REPORT message.
Low-Level Logging
Note: The results of a Low-Level Log custom event are useful only to Intermec
Engineering. For example, a Low-Level Log may be requested by Intermec
Engineering to optimize an RFID installation.
ROSpec Looping
A custom parameter is provided to enable looping of all specs within an ROSpec.
According to the LLRP specification, when all specs within an ROSpec (AISpecs and
RFSurveySpecs) have completed, the ROSpec transitions from the “active” to the
“enabled” state. If you want the ROSpec to continue execution of the contained
specs, you should use the ROSpec Looping feature.
When ROSpec Looping is enabled, after an ROSpec completes execution of the last
spec (AISpec or RFSurveySpec) in the SpecParameter choice list, the ROSpec
continues by executing the first spec, and this behavior continues until the ROSpec
stop trigger condition is met, or a Stop/Disable/Delete ROSpec message is received.
Similar to the Spacial ID enablement custom parameters, the ROSpec Looping
enablement parameter (IntermecEnableROSpecLoop, subtype 5) is specified within
the SpecParameter choice of the ROSpec.
Reset Event
A pair of custom events are provided to notify the LLRP client that an internal LLRP
reader reset event has occurred. In most cases, a reset event will be the result of a
radio module reset or power loss. Immediately after the reset condition has been
detected, the custom event IntermecResetStartEvent, subtype 16 will be generated.
After the LLRP reader has recovered from the reset event, the custom event
IntermecResetCompleteEvent will be generated. Following the completion of the
reset event, all ROSpecs and AccessSpecs will be moved to the disabled state. During
the process of handling the reset event, the LLRP client will not be allowed to create
or modify the state of any ROSpec or AccessSpec.
ROSpecLoop Event
A custom event, ROSpecLoopEvent (subtype 22), is provided to notify the LLRP
client each time an ROSpec begins a new loop (restarts execution of its
SpecParameter list). For information about how to enable looping for ROSpecs, see
“ROSpec Looping” on page 16.
*937-017-002*
P/N 937-017-002