SUSE Conversations


SUSE Linux Point of Service IBM JavaPOS Integration in SLEPOS



By: Alex_F

July 15, 2009 3:34 pm

Reads:1163

Comments:0

Rating:0

Table of Contents

Introduction
Overview
IBM JavaPOS for SLE11
     Provide the Kernel Driver for SLE11
     Starting IBM POS Subsystem for Linux
Provide the IBM JVM
Starting The IBM POS Control Center
     Auto Detection of POS Devices
     Save the jpos.xml file
More information about SLEPOS
About the Author

Introduction

This document describes by way of example the integration of IBM JavaPOS for SLE11 (SUSE Linux Enterprise 11) using an IBM SurePOS 4800-722 cash register system and an IBM4610-T13 POS printer, connected through RS-485 interface. Furthermore it guides how to run and use the JavaPOS test program provided by IBM, the POS Control Center.

JavaPOS (short form “Java for Point of Sale Devices”), is a standard for interfacing Point of Sale (POS) software, written in Java, with specialized POS hardware peripherals typical used in retail or banking system environments. The advantages of JavaPOS are reduced costs for POS terminals, platform independence, and reduced administrative costs to manage the cash register systems. JavaPOS for SLEPOS11 is available for cash register systems from IBM, Wincor Nixdorf and NCR, for example.

Overview

SUSE LINUX Point of Service (SLEPOS), also previously known as Novell Point of Service (NLPOS) features the Enterprise POS solution from Novell. SLEPOS11 product is based on SLES11 the latest version of the SUSE Linux Enterprise server (SLES). Therefore this information and steps, how to integrate IBM JavaPOS, is similar and can be easily adapted using the products SLEPOS11, SLES11 or SLED11 (SUSE Linux Enterprise Desktop) for Kiosk systems.

IBM JavaPOS for SLE11

The IBM JavaPOS version suitable for SUSE Linux Enterprise can be found here: http://www2.clearlake.ibm.com/store/support/html/driverss.html

The following IBM POS HW is supported on Linux:

4694-205,245,206,246,207,247,307,347
SurePOS 300/500/600/700

The following installation instruction applies to the IBM JavaPOS version 1.12.0:

jposl1120ga.zip MD5 checksum: 1c3ed63bfe4366415d59779b545701fd

Getting started just unzip the downloaded jposl1120ga.zip file and define the IBM rpm packages as installation source for YaST2, for example as a RPM package directory. Afterwards the JavaPOS packages can be installed. The picture shows all the IBM RPMs and the IBM JavaPOS Repository.

Within the zip file, for further information the following IBM documentation can be found:

  • IBM JavaPOS for Linux v112 Installation Instructions.pdf
  • IBM UnifiedPOS Management Services v112.pdf

Provide the Kernel Driver for SLE11

With the actual release IBM delivers only the source code for the kernel drivers. Therefore it must be build with the SLE11 kernel (2.6.27.19-5-pae) before it can be used. After the installation of the packages ibmposs-gcc43 and ibmpos-kernel the source code can be found at:

  • /usr/src/kernel-modules/ibm/dcs
  • /usr/src/kernel-modules/ibm/kbd

To build the drivers, run in both directories “make” from the command line. (Please note that “make” and some further Devel tools (gcc) must be installed via YaST, that you can run make.

Afterwards the loadable kernel drivers are available for SLE11:

geeko:/usr/src/kernel-modules/ibm # ls -l dcs/*.ko
-rw-r--r-- 1 root root 137810 2009-06-25 09:33 dcs/aipbcd.ko
-rw-r--r-- 1 root root 224176 2009-06-25 09:33 dcs/aipdcs.ko
-rw-r--r-- 1 root root 134258 2009-06-25 09:33 dcs/aipmtn.ko
-rw-r--r-- 1 root root  91857 2009-06-25 09:33 dcs/aipsocdkl.ko

geeko:/usr/src/kernel-modules/ibm # ls -l kbd/*.ko
-rw-r--r-- 1 root root 228106 2009-06-25 09:34 kbd/aipikbps.ko
-rw-r--r-- 1 root root 176389 2009-06-25 09:34 kbd/aipsokbps.ko

Now the drivers are copied to the corresponding kernel driver directory on the SLE11 POS system:

/lib/modules/2.6.27.19-5-pae/kernel/drivers/char/dcs/
/lib/modules/2.6.27.19-5-pae/kernel/drivers/input/keyboard/

Next step is, to solve all driver module dependencies by using the following command:

depmod -ae

Last action is to modify the file: /etc/modprobe.d/unsupported-modules

allow_unsupported_modules 1
# changed for IBM javapos

Starting IBM POS Subsystem for Linux

To activate the drivers, the IBM POS Subysytem must be restarted:

4800722:~ # /etc/init.d/aipstart restart

Stopping IBM Point of Sale Subsystem for Linux	done		
Unloading IBM ANPOS Keyboard driver			done
Unloading IBM RS485 driver
                                                                                                                                                 
Starting IBM Point of Sale Subsystem for Linux:
Loading IBM ANPOS Keyboard driverSERIO_PORT=                                                                                                                                                                          
Loading IBM RS485 driver						done                                                                                                                                                        
Starting aipctrl Process						done

Provide the IBM JVM

Together with the JavaPOS drivers, IBM provides a supported JVM 1.5.0 (/opt/ibm/java2-i386-50). To enable this JVM a symbolic Link must be set to “/usr/bin/java”:

ln -s /opt/ibm/java2-i386-50/jre/bin/java /usr/bin/java

Afterwards the call of “java -version” should output the following information:

java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build pxi32dev-20081129 (SR9-0 ))
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223-20081129 (JIT enabled)
J9VM - 20081126_26240_lHdSMr
JIT  - 20081112_1511ifx1_r8
GC   - 200811_07)
JCL  - 20081128

Starting The IBM POS Control Center

The IBM POS Control Center is a JavaPOS test programm, to check and test the detected JavaPOS peripherals from IBM.

Precondition: The IBM POS Subsystem for Linux was loaded.
/etc/init.d/aipstart <restart | status>
Programm start: /opt/ibm/javapos/bin/POSControlCenter

Within our test environment we assume, that at least one IBM POS printer is detected through the JavaPOS layer. Starting the POS Control Center the first time, the jpos.xml configuration file can be generated automatically.

The following screen dumps show the step by step procedure from the initial start until the POS printer is recognized with the status “Online and Configured”.

Auto Detection of POS Devices

Select the AutoDection Button …

Save the jpos.xml file

The generated jpos.xml file will be save within the “/opt/ibm/javapos” directory.

Afterwards the connected POS printer is marked as “online and configured” and we can run a printer test and device demo which leads to the following screen dump:

More information about SLEPOS

SLEPOS is based on SUSE LINUX Enterprise (SLE), so far the only Enterprise Linux for POS based on SUSE LINUX Enterprise Server and/or SUSE LINUX Enterprise Desktop.


About the Author

Axel Schmidt is working since 2001 for SUSE LINUX GmbH. In the current position as Enterprise Architect – POS Solutions, Axel is incorporated in the Novell Service division in EMEA.

For comments or any questions about SUSE LINUX for retail, banking or check out terminals please feel free to post a message to axel.schmidt@novell.com

For further information about SLEPOS contact your local Novell Solution Provider, or request a Sales Call from Novell

or call (+1) 800-529-3400 U.S/Canada
(+1) 801-861-1349 Worldwide

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Tags: ,
Categories: Alliance Partners, SUSE Linux Enterprise Point of Service, Technical Solutions

Disclaimer: As with everything else at SUSE Conversations, this content is definitely not supported by SUSE (so don't even think of calling Support if you try something and it blows up).  It was contributed by a community member and is published "as is." It seems to have worked for at least one person, and might work for you. But please be sure to test, test, test before you do anything drastic with it.

Comment

RSS