Verifone E355, E265 User Manual

0 (0)
Verifone E355, E265 User Manual

e355/e265

User and Best Practices Guide

Verifone Part Number DOC087-080-EN-A, Revision A

E355/E265 User and Best Practices Guide

© 2016 Verifone, Inc.

All rights reserved. No part of the contents of this document may be reproduced or transmitted in any form without the written permission of Verifone, Inc.

The information contained in this document is subject to change without notice. Although Verifone has attempted to ensure the accuracy of the contents of this document, this document may include errors or omissions. The examples and sample programs are for illustration only and may not be suited for your purpose. You should verify the applicability of any example or sample program before placing the software into productive use. This document, including without limitation the examples and software programs, is supplied “As-Is.”

Verifone, the Verifone logo, VeriCentre, and Verix are registered trademarks of Verifone. Other brand names or trademarks associated with Verifone’s products and services are trademarks of Verifone, Inc.

All other brand names and trademarks appearing in this manual are the property of their respective holders. Comments? Please e-mail all comments on this document to your local Verifone Support Team.

Verifone, Inc. 1-800-Verifone www.verifone.com

Verifone Part Number DOC087-080-EN-A, Revision A

CONTENTS

PR EF AC E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Audience. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Conventions and Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Document Conventions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Acronym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

CHA P TE R 1

 

 

e355 Device

Device Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

 

Software Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

 

Low Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

 

Loadable drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

 

Mobile PINpad Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

 

Modular frame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

 

iOS, Android/Windows Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

 

Bluetooth Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

 

Wi-Fi Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

 

VTM on the Display. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

 

Software Changes for PCI4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

 

Charging Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

 

Software Packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

CHA P TE R 2

 

 

Architecture

Standalone Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

 

Mobile PINpad Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

 

Virtual Communication Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

 

Protocol Strings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

 

Device Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

 

open() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

 

close(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

 

read() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

 

write() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

 

Reset_port_error() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

 

Get_port_status() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

 

set_event_bit() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

 

get_event_bit() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

 

iap_control_function() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

 

iap_get_keypad_state() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

 

Communication Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

 

Software Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

 

e355 Data Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

E355/E265 USER AND BEST PRACTICES GUIDE

3

CONTENTS

 

 

CH AP T ER 3

 

 

Communication

USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

Interfaces

USB Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

 

USB Device. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

 

Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

 

Supported Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

 

Personal Area Network (PAN) Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

 

Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

CH AP T ER 4

 

 

Power

Charging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

 

Side Micro-USB Port Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

 

Simultaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

 

Sequential (Only on iPod 6 Frame). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

 

Power Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

 

On and Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

 

Power On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

 

Power Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

 

Hidden Reset Button. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

 

Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

 

Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

 

Active . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

 

Sleep. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

 

Power Environment Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

 

Power Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

 

Battery Status LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42

CH AP T ER 5

 

 

Special Features

Pass-Through Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

 

Persistent Pass-Through . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

 

Enabling Pass-Through . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

 

Disabling Pass-Through . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

 

24-Hour Restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

CH AP T ER 6

 

 

System Mode - VTM Entering and Exiting VTM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

 

Keypad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

 

Menus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

 

Edit Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

48

 

Editing *GO Configuration Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

48

 

Download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

49

 

Serial Download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

49

 

USB Download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

 

DDL Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52

 

Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

 

Terminal Info. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

 

Diags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

 

Keyboard Diag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

 

Display Test Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

 

ICC (Smart Card) Diag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54

 

Mag Card Diag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54

 

Barcode Diag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55

4 E355/E265 USER AND BEST PRACTICES GUIDE

 

 

CONTENTS

 

ICC (Contactless) Diag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . 55

 

Tamper Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . 56

 

Battery Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . 56

 

IPP (Debit) KSN Info. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 57

 

ADE KSN Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 57

 

License Listing (FE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 57

 

System Error Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 58

 

Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 59

 

Console Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 59

 

Change Passwords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 60

 

Key Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 60

 

IPP (Internal PIN Pad) Key load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 61

 

RKL (Remote Key Loader) Key Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 61

 

RKL Key Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 61

 

ADE Key Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 62

 

ADE Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 62

 

Software Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 63

CH AP TE R 7

 

 

Logging Options

OS Logging Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 65

 

*DEBUG (Serial) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 65

 

*LOG (File Based) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 66

 

Configuration Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 67

 

EOS Log Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 67

 

EOS Configuration Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 67

 

Application Logging Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 68

 

logprintf() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 69

 

logdump() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 69

CH AP TE R 8

 

 

Software Package

Basic Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 71

 

Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 71

 

Version Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 72

 

Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 73

 

Sample Content of config.$$$ File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 73

 

Downloading. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 73

CH AP TE R 9

 

 

Control and

Control Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 75

Barcode

Barcode Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 75

Applications

Pipe Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 75

 

Pipe Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 75

CH AP TE R 10

 

 

Key Features of

Comparison of Key Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 77

e265 vs. e355

 

 

E355/E265 USER AND BEST PRACTICES GUIDE

5

CONTENTS

6 E355/E265 USER AND BEST PRACTICES GUIDE

PREFACE

Audience

Organization

This guide presents the features, best practices, and software architecture of the e355/e265, as well as references to additional documentation.

This guide is intended for support engineers and regional development teams to help understand the product and write effective applications.

This guide is organized as follows:

Chapter 1, e355 Device

Chapter 2, Architecture

Chapter 3, Communication Interfaces

Chapter 4, Power

Chapter 5, Special Features

Chapter 6, System Mode - VTM

Chapter 7, Logging Options

Chapter 8, Software Package

Chapter 9, Control and Barcode Applications

Chapter 10, Key Features of e265 vs. e355

Related

Documentation

To learn more about the e355 terminal, refer to the following set of documents:

e355 Quick Installation Guide , VPN DOC087-062-EN

e355 Installation Guide, VPN DOC087-063-EN

e355 Frame Type A Quick Installation Guide, VPN DOC087-073-EN

e355 Frame Type S Quick Installation Guide, VPN DOC087-074-EN

e355 Frame Type A IP2 Quick Installation Guide, VPN DOC087-076-EN

e355 Frame Type A iPod6 Quick Installation Guide, VPN DOC087-068-EN

e355 Gang Charger Quick Installation Guide, VPN DOC087-066-EN

e355/e265 Control Application Programmers Guide, VPN DOC087-078-EN

e355/e315 Barcode Application Programmers Guide, VPN DOC087-070-EN

e355 Hardware ERS Specification, VPN SPC087-047-01

Bluetooth Manager Specification Document, VPN SPC087-058-01

Verix eVo Bluetooth Manager User Guide, VPN DOC00327

Verix eVo Volume I: Operating System Programmers Manual, VPN DOC00301

E355/E265 USER AND BEST PRACTICES GUIDE

7

PREFACE

Conventions and Acronyms

 

Verix eVo Volume II: Operating System and Communication Programmers

 

Manual, VPN DOC00302

 

Verix eVo Volume III: Operating System Programming Tools Reference

 

Manual, VPN DOC00303

 

Verix Package Installer (VPI) User Guide, VPN DOC00385

Conventions and

This section describes the conventions and acronyms used in this guide.

Acronyms

 

Document Various conventions are used to help you quickly identify special formatting. Table Conventions 1 describes these conventions and provides examples of their use.

Table 1

Document Conventions

 

 

 

 

 

Convention

 

Meaning

Example

 

 

 

 

Blue

 

Text in blue indicates terms

See Conventions and Acronyms.

 

 

that are cross referenced.

 

Italics

 

Italic typeface indicates

You must install a roll of thermal-

 

 

book titles or emphasis.

sensitive paper in the printer.

Courier

 

The courier type face is

http://www.verifone.com

 

 

used while specifying

 

 

 

onscreen text, such as text

 

 

 

that you would enter at a

 

 

 

command prompt, or to

 

 

 

provide an URL.

 

 

 

 

 

NOTE

CAUTION

WARNING

The pencil icon is used to highlight important information.

The caution symbol indicates possible hardware or software failure, or loss of data.

The lightning symbol is used as a warning when bodily injury might occur.

RS-232-type devices do not work with the PINpad port.

The terminal is not waterproof or dustproof, and is intended for indoor use only.

Due to risk of shock do not use the terminal near water.

Abbreviations Table 2 shows the abbreviations used throughout this guide.

Table 2

Abbreviations

 

 

Unit of Measure

Definition

 

 

 

KB

 

Kilobyte

MB

 

Megabyte

msec

 

millisecond

 

 

 

8 E355/E265 USER AND BEST PRACTICES GUIDE

PREFACE

Conventions and Acronyms

Acronym Acronyms are used in place of the full definition.

Table 3

Acronym Definition

 

 

Acronym

Definition

 

 

ADK

Application Development Toolkit

ASCII

American Standard Code for Information Interchange

BT

Bluetooth

CRC

Cyclic Redundancy Check, a method to check for data errors

FIFO

First In, First Out

iAP1

Apple accessory protocol for 30 pin connector devices

iAP2

Apple accessory protocol for Lightning connector devices

mADK

PWM application using ADK

MFi

Made for iPhone/iPod/iPad

NFC

Near Field Communication

OBEX

Object exchange profile of Bluetooth

PAN

Personal Area Network

PD

Power Delivery, controller for Windows charging

PWM

PAYware Mobile Reader (mPOS)

SSP

Secure Simple Pairing

SPP

Serial Port Profile of Bluetooth

VTM

Verix Terminal Manager

XPI

External PINpad Interface Application

 

 

Terminology Table 4 lists the standard terms used in this manual and their definition.

Table 4 Definition of Terms

Term

Definition

 

 

ACK

Acknowledgement code that signal is successfully received

Hyper Terminal

Terminal emulation program capable of connecting to systems

 

through TCP/IP networks, Dial-up modems, and COM ports.

iOS

Apple’s proprietary mobile operating system for iPhone, iPad, and

 

iPod touch devices

NAK

Negative acknowledgment, a signal is received with errors

PMR-MUX2

Verifone proprietary protocol for communicating with smart devices

Smart Device

Refers to iPad mini, iPad mini 4, iPod, Android tablet, Windows

 

Tablet, iPhone, Android phone, Windows phone

Standalone

An e355 not connected to smart device

Mobile PINpad

e355 connected to smart device

mode

 

 

 

E355/E265 USER AND BEST PRACTICES GUIDE

9

PREFACE

Conventions and Acronyms

10 E355/E265 USER AND BEST PRACTICES GUIDE

CHAPTER 1

e355 Device

e355 is a flexible payment device, which can operate in standalone mode (POS) or Mobile PINpad mode (mPOS). In standalone mode, the application running on e355 utilizes the e355 unit to complete the POS transaction. In Mobile PINpad mode, the e355 unit and a smart device are used together to complete the POS transaction. The smart device and e355 connection is either wired or wireless. Wired connection is via USB interface and modular frame, and wireless connection is via Bluetooth and optional frame.

Device Features e355 offers the following features:

Color LCD Display of size 320 x 240

Triple-track magnetic stripe card reader

Smart card reader

Contactless/NFC reader

1D/2D Barcode reader

Bluetooth+Wi-Fi combo module

Integrated mechanical keypad

8 pin frame connector for modular frames

Removable battery of capacity 1960mAh

Barcode buttons

MSAM (Micromodule-size security access module) card

PCI PTS 4.0 security compliance

E355/E265 USER AND BEST PRACTICES GUIDE

11

E355 DEVICE

Device Features

Below are the terminal features on the front panel.

MAGNETIC STRIPE READER

 

 

 

2D IMAGER

 

 

 

 

 

 

 

 

LCD DISPLAY

BARCODE BUTTON

POWER LED INDICATOR

SIDE MICRO-USB PORT

KEYPAD

SMART CARD READER

 

 

 

FRAME CONNECTOR

 

 

 

 

 

 

Figure 1 Front Panel Features

Figure 2 shows the terminal features on the back panel.

MSAM COMPARTMENT

BATTERY

COMPARTMENT

BARCODE BUTTON

Figure 2 Back Panel Features

12 E355/E265 USER AND BEST PRACTICES GUIDE

 

 

 

E355 DEVICE

 

 

 

Software Features

Software

e355 supports the following software features:

Features

 

 

 

Low Power Modes

“Always On/Instant Activate” design similar to e315. Remote wake on data, no

 

 

data loss. All communication modes (USB, BT and Wi-Fi) support low power

 

 

modes. Sleep walking API (dark wake) feature from VX 690 device is supported.

Loadable drivers

Most e355 drivers are downloadable. This gives the advantage of updating the

 

 

driver without updating the OS. The following drivers are downloadable:

 

 

Bluetooth

 

 

Wi-Fi

 

 

Barcode

 

 

USB device

 

 

USB host

 

 

iAP1

 

 

iAP2

 

 

PMR-MUX2

 

 

Frame Manager

 

 

Ethernet-USB

 

 

Battery monitor, and

 

 

Contactless

Mobile PINpad

e355 has the same Mobile PINpad architecture as the e315 device, providing

Architecture

support of same virtual communication ports COM1A, COM1B, COM1C, COM1D

 

 

and COM1E over the protocols iAP1/iAP2 or PMR-MUX2 used to communicate

 

 

with smart device.

Modular frame

e355 can dock into different frames for connecting with iOS, Android, and

 

 

Windows smart devices. Frame detection and configuration happen early on

 

 

during e355 power-up. This means that users will need to restart e355 when they

 

 

switch to a different frame configuration. The default frame configuration is

 

 

Bluetooth, this is when there is no frame detected or error in frame detection

 

 

occurs.

iOS, Android/

e355 supports iAP1 protocol for iOS devices having 30 pin connector, iAP2

Windows Protocols

protocol for iOS devices having lightning connector and PMR-MUX2 protocol for

all Android and Windows devices. Wired connection (USB interface) uses any of the three protocols iAP1, iAP2 and PMR-MUX2, whereas wireless (BT) interface does not support iAP1, but supports iAP2 and PMR-MUX2 protocols.

E355/E265 USER AND BEST PRACTICES GUIDE

13

E355 DEVICE

Software Features

Bluetooth Support e355 shares the same hardware family as VX 690 device. The BT solution also uses StoneStreetOne (SS1) BT stack. New SPP Server mode is supported, which allows e355 to be discoverable in this configuration. Pairing modes are compliant with PCI4 standard and supported profiles are SPP, OBEX and PAN.

Wi-Fi Support e355 shares the same hardware family as VX 690 device and the same software stack used by VHQ for device management. Mobile PINpad architecture is not supported over Wi-Fi.

VTM on the Display The e355 VTM is displayed on an LCD display unlike the e315's VTM, which is displayed on a remote PC terminal such as Hyper Terminal. VTM menu layout is similar as e315 and other Verix terminals. New menus such as software versions, barcode diagnostic, contactless diagnostic, and IPP and ADE keys KSI information are added.

Software Changes

for PCI4

The following software changes comply with PCI4 security standard:

Added 24-hour restart change for memory initialization and file system integrity check.

Pre-expired passwords for key loading menus in VTM for RKL, ADE and IPP keys.

Full system integrity check (file system integrity and binary files authentication) at every boot-up.

OS software hardening with buffer clearing in secure modules after usage and static code analysis fixes.

Restrictions to BT pairing modes, only SSP numeric comparison is allowed.

Charging Schemes Hardware supports simultaneous charging of e355 and smart device from frame connector only (i.e., barrel and gang charger). However, simultaneous charging is not supported from the side Micro-USB port of e355. Power sharing is also not supported. Sequential charging is only supported in iPod 6 frame configuration through the side Micro-USB port.

Software Packaging e355 uses Verix Package Installer (VPI) tool for packaging OS, drivers, EOS, CTLS and applications. This allows for download of multiple components in single download step with guaranteed order of install and to speed up package installation process. NOVA package name is used for internal releases of e355 software, for example NOVA-01.00.03. Customer packages are released on top of the base NOVA packages with desired configuration parameters and software components. For example, ZNOVA-01.01.02 is created on top of NOVA-01.00.03 for Verizon customer.

14 E355/E265 USER AND BEST PRACTICES GUIDE

CHAPTER 2

Architecture

The e355 operates in Standalone and Mobile PINpad modes.

Standalone

Architecture

In this mode, e355 is not attached to a smart device and not docked in modular frame. The payment application that processes the payment runs on the e355 and the payment transactions are displayed on its LCD display. Communications from e355 to payment gateway is via Wi-Fi or Bluetooth interface only.

Figure 3 Communication via Wi-Fi Access Point, Bluetooth Access Point, or Tethered Host via BT PAN Profile

Key Points in this set-up:

1*GO configuration variable is set to payment application.

2Disables the start-up of Control, Barcode, and Bluetooth Manager applications.

3Virtual Communication ports COM1A to COM1E are disabled.

4Protocols iAP1, iAP2 and PMR-MUX2 for communicating with smart device are disabled.

5OS drivers, EOS, COMM engine (CE), and libraries are all available for use.

6Possible to access control and barcode applications from payment applications using pipe interface.

NOTE

Smart Device PAN mode (tethering) is usually only supported on the devices that

 

 

have a 3G/4G radio installed.

E355/E265 USER AND BEST PRACTICES GUIDE

15

ARCHITECTURE

Mobile PINpad Architecture

Mobile PINpad

Architecture

In this mode, e355 is attached to a smart device and connected via USB or Bluetooth interface. Payment application runs on the smart device and it drives the e355 to perform actions of reading card data, taking PIN number, and displaying messages on the LCD screen. The e355 provides five virtual communication ports to the applications, which are multiplexed over USB or Bluetooth interface. The iAP1/iAP2 and PMR-MUX2 protocols have the ability to provide multiple virtual ports over single interface.

e355 Side

 

 

iPad mini Side

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1QZ.

4GHI

7PRS

*,‘ ‘‘

X

2ABC

3 DEF

5JKL

6MNO

8TUV

9 WXY

0-SP

#

Figure 4 e355 To iPad mini via USB Interface

Figure 5 shows connection via BT.

1QZ.

4GHI

7PRS

*,‘ ‘‘

X

2ABC

3 DEF

5JKL

6MNO

8TUV

9 WXY

0-SP

#

Figure 5 e355 to iPad mini Via Bluetooth Interface

16 E355/E265 USER AND BEST PRACTICES GUIDE

ARCHITECTURE

Mobile PINpad Architecture

Virtual By virtue of iAP1/iAP2/PMR-MUX2 protocols, the smart device and e355 can use Communication separate communications ports. The smart device uses a unique protocol string

Ports for starting the communications with corresponding virtual communication port on e355 side.

Smart Device

 

 

 

Protocol string1

Protocol string2

...

Protocol string5

e355

 

 

 

COM1A

COM1B

...

COM1E

Figure 6 Virtual Communication Port Architecture

Protocol Strings Table 5 presents the protocol strings for iOS devices with Lightning and 30-pin connectors, and the associated virtual COM ports.

Table 5

iOS Protocol Strings

 

 

Protocol Strings on iOS

Virtual COM Ports on e355

 

 

com.verifone.pmr.xpi

COM1A

com.verifone.pmr.barcode

COM1B

com.verifone.pmr.zontalk COM1C com.verifone.pmr.control COM1D com.verifone.pmr.debug COM1E

Apple iOS device with Lightning connector uses iAP2 protocol to communicate with e355, and Apple iOS device with 30-pin connector uses iAP1 protocol to communicate with e355. Both iAP1 and iAP2 protocols use the same protocol strings on iOS device. For more information on communicating with accessory using protocol strings, refer to External Accessory Framework on the Apple developer website.

Table 6 shows protocol strings (commands) for Android/Windows devices and the associated virtual COM ports.

Table 6 Android/Windows Protocol Strings

Protocol Strings on

Virtual COM Ports on e355

Android/Windows

 

 

 

<0xFF5A><o2><CRC> COM1A

<0xFF5A><o3><CRC> COM1B <0xFF5A><o4><CRC> COM1C

E355/E265 USER AND BEST PRACTICES GUIDE

17

ARCHITECTURE

Mobile PINpad Architecture

Table 6 Android/Windows Protocol Strings (continued)

Protocol Strings on

Virtual COM Ports on e355

Android/Windows

 

 

 

<0xFF5A><o5><CRC>

COM1D

<0xFF5A><o6><CRC>

COM1E

 

 

PMR-MUX2 protocol uses commands to open, send, and close the communications ports. For full details on the PMR-MUX2 protocol, refer to section PMR-MUX2.

Device Ports Applications running on e355 open the virtual COM device ports COM1A, COM1B, COM1C, COM1D, and COM1E. These applications respond to the data sent to these ports.

Table 7 shows the application names that open specific device ports.

Table 7

Applications vs. Device Ports

 

 

Virtual COM Port on e355 Application Owner

 

 

COM1A

mADK/XPI application

COM1B

Barcode application

COM1C

Zontalk downloads

COM1D

Control application

COM1E

Debug message output

 

 

XPI application uses COM1C port for supporting Zontalk downloads in addition to its COM1A port for communicating with smart devices. The last COM1E port is available for debug message output. There are no applications using this port.

Open and Close Events of Communication Ports

The e355 sends a Connect event to its application when application on the smart device opens the port for communication. The e355 sends a Disconnect event to its application when application on smart device closes the communication port. If the e355 application has not opened the device port, but application on smart device tries to open it, then e355 responds with an error code.

Applications on e355 can use API get_port_status() for detecting open and close status of communication port in the smart device application.

Device Port APIs

Following are the APIs used by the device ports.

18 E355/E265 USER AND BEST PRACTICES GUIDE

ARCHITECTURE

open()

open()

This claims ownership of the device. Calling this function also flushes all data and clears all error conditions in the communication channel. The device names that can be opened for ports are:

"/DEV/COM1A"

"/DEV/COM1B"

"/DEV/COM1C"

"/DEV/COM1D"

"/DEV/COM1E"

Use get_port_status() to get the status of the smart device connection. A smart device cannot open a communication port until the e355 application has opened the corresponding device.

Prototype

Int open(const char *devname, int attributes);

Parameters

 

 

 

devname

Pointer to the null terminated device name string.

 

attributes

Ignored in this driver.

Return Values

Positive integer device handle if successful, or -1 with errno set to an error code

 

if error occurs.

 

close()

 

 

 

This releases ownership of the device. Calling this function also flushes all data

 

and clears all error conditions in the communication port.

Prototype

int close(int device_handle) parameters:

Parameters

 

 

 

device_handle

The handle returned for the device by the open() call.

Return Values

Returns 0 for success, -1 with errno set to EBADF if device not open.

E355/E265 USER AND BEST PRACTICES GUIDE

19

ARCHITECTURE read()

read()

This copies message-based data (header, data, CRC) received from the communication port to the given buffer. The actual number of bytes copied may be less than the requested count. In e355, the receive data logic drops packets larger than 1024 bytes for iOS devices and 2048 bytes for Android and Windows devices.

The Rx message packets are first put into a FIFO of up to 7 message packets and a kernel task routes the message packets to the correct device port buffers. It is possible, but unlikely that the kernel task can't keep up with the incoming packets. If the FIFO overflows, the entire message packet is dropped. When packets are internally dropped, log messages are generated. The end-to-end request/ response handshaking normally prevents buffer overflows.

The read function returns a complete message that is aligned on packet boundaries. The communication port driver does a CRC checksum on the data to assure integrity, but, it does not guarantee delivery.

Prototype int read(int handle, char *buffer, int count);

Parameters

handle

The handle returned for the device by the open() call.

buffer

The buffer from which to copy the data.

count

The maximum number of bytes requested.

Return Values Returns the number of bytes read, or -1 if an error occurred.

20 E355/E265 USER AND BEST PRACTICES GUIDE

ARCHITECTURE

write()

write()

This copies the given data to system transmit buffers for transmission over the communication port. The function may return before the data is actually sent. In e355, the write() function works differently than a standard serial port. The driver assumes that each write contains a whole packet and that a request/reply type of protocol is running on the link that limits the number of outstanding transmit packets in the buffers. Usually, a device port will have, at most, one outstanding packet in the buffers. No packet is sent until a response is received. There are a total of 7 transmit buffers shared among all channels. If a communication protocol attempts to write when there are no buffers, the error ENOSPC is returned. Each buffer allows up to 1024 bytes for iOS devices and 2048 bytes for Android and Windows devices.

Prototype int write(int handle, const char *buffer, int count);

Parameters

handle

The handle returned for the device by the open() call.

buffer

The buffer from which to copy the data.

count

The number of bytes to send.

Return Values Returns the number of bytes sent, or -1 if an error occurred.

Reset_port_error()

Resets all error flags for the given communication channel.

Prototype int reset_port_error(int handle);

Parameters

handle

The handle returned for the device by the open() call.

Return Values Returns 0 if successful, or -1 if an error occurred.

E355/E265 USER AND BEST PRACTICES GUIDE

21

ARCHITECTURE

Get_port_status()

Get_port_status()

Parameters

handle

The handle returned for the device by the open() call.

buffer

The 4-byte buffer in which to copy the status information.

Return Values Returns 0 if no output is pending, 1 if output is pending, or -1 if an error occurred and errno is set to an error code.

For a communication port, the four status bytes copied into the given buffer are as follows:

Byte 1: The number of input messages pending.

Byte 2: Event Cause Bits described below.

Byte 3: The number of output messages pending.

Byte 4: The status byte described below.

The event cause bits are set when an event is sent to the application. The application can read the bits to determine the cause of the event. The event cause bits are cleared when they are read. The definitions are as follows:

Table 8

Event Cause Bits

 

 

 

Bit

Event

Definition

 

 

 

Bit 0

Connect Event

Set when a communication port is opened.

Bit 1

Disconnect Event

Set when a communication port is closed or Bluetooth

 

 

connection is lost.

Bit 2

RX Ready

Set when new received data is ready to be read.

 

 

 

22 E355/E265 USER AND BEST PRACTICES GUIDE

ARCHITECTURE

set_event_bit()

set_event_bit()

Allows the application to select one of the event bits that would otherwise be unused, and assigns it to a communication port.

By default, the communication ports do not generate events. This function allows the communication ports to generate events when data is received. This mechanism is provided when almost all the bits in the event mask have already been allocated. However, in a specific terminal installation, many of the predefined event bits are not used.

Prototype int set_event_bit(int handle, long bitmask);

Parameters

handle

The handle returned for the device by the open() call.

bitmask

A mask with 1 or 0 bits set corresponding to the event bit.

Return Values Returns 0 if successful. If an error occurs this function returns -1.

Only one event bit may be selected for a given device. The following event bits must not be assigned: EVT_USER, EVT_SHUTDOWN and EVT_SYSTEM.

Any attempt to violate these rules will result in set_event_bit() returning -1 and errno being set to EINVAL. If the command fails, the event bit setting will not be changed.

get_event_bit()

Allows the application to find out what event, if any, will be generated by the given device. The mask returned will have one bit set that corresponds to the event bit generated by the device.

Prototype long get_event_bit(int handle);

Parameters

handle

The handle returned for the device by the open() call.

bitmask

A mask with 1 or 0 bits set corresponding to the event bit.

Return Values Returns 0 if no event is to be generated or a mask with one bit set, if an event is to be generated. -1 if the device does not support soft events.

E355/E265 USER AND BEST PRACTICES GUIDE

23

ARCHITECTURE iap_control_function()

iap_control_function()

This allows an application to control the keypad state. The possible functions defined in SDK header, SVC.H, are:

IAP_CONTROL_KEYPAD_SLEEP, turns off the keypad.

IAP_CONTROL_KEYPAD_WAKE, turns the keypad on.

IAP_CONTROL_DISABLE_KEYBEEP, turns off the keypad beeps.

IAP_CONTROL_ENABLE_KEYBEEP, turns on the keypad beeps.

Prototype int iap_control_function (int handle, int function);

Parameters

handle

The handle returned for the device by the open() call.

function

An integer specifying the function to be performed.

Return Values Returns 0 if successful. If an error occurs, the function returns -1 and errno is set to an error code.

iap_get_keypad_state()

Copies the keypad status to the given buffer. The first byte is the "Enable State."

The second byte is the "Beep State." The two status bytes are as follows:

<Enable State>

0 if keypad is disabled, 1 if keypad is enabled and awake, 2 if keypad is enabled, but still waking up.

<Beep State>

0 if beeps are disabled, 1 if beeps are enabled.

Prototype int iap_get_keypad_state (int handle, char*buffer);

Parameters

handle

The handle returned for the device by the open() call.

buffer

A buffer of at least 2 bytes to hold keypad status.

Return Values Returns 0 if successful. If an error occurs, the function returns -1 and errno is set to an error code.

24 E355/E265 USER AND BEST PRACTICES GUIDE

Loading...
+ 54 hidden pages