cancel
Showing results for 
Search instead for 
Did you mean: 

RFID tag reading failed - MI 7.0, MAM 3.0

Former Member
0 Kudos

Hello at all,

I try to make RFID available for Mi7.0 SR14, MAM3.0 SR5, DB2e, Windows Mobile 5, RFID Reader - Microsensys CFCard, Passive Tags (non metal and on metal9).

Currently I don't be able to read any RFID tag. The standard software of RFID scanner manufacturer can read them without any problems. I got the technical details of tags from manufacturer of tags too (see pirfmsycfcrd.tagcfg).

So my questions are:

Why the standard MAM application cannot identify the tags at least?

What can be wrong in my configuration or what I did wrong?

How we can write Tags inital for MAM? Software?

Please take a look to the details of my scenario below:

Thanks a lot in advance if you can help.

Kind regards

Andreas Dommes

-


I was preparing drivers as described in note 761833 - PIRFMSYCFCRD_ReleaseNote_v1_2_6.htm. Following compoenent have been installed in sequence on device:

  • MOBILEENGINE_JSP (701400)

  • DB2E (9.1.2)

  • CONNECTOR_WM50_XSL_CRM (126)

  • MICROSENSYS_DRIVER_ADDON_WM50 (adapted PIRFMSYCFCRD_WM50_XSL_CRM by means of 761833)

  • XMAM30_HANDHELD_SR05

<h3>eSerial driver also installed (litte Hack mentioned in release-notes of driver - Timbatec-Recon Device</h3>

following flag I set manually (as described in 761833 - PIRFMSYCFCRD_ReleaseNote_v1_2_6.htm)

HKEY_LOCAL_MACHINE/Drivers/PCMCIA/elSerail/EnableXScaleHacks = 1

<h3>Following settings we use</h3>

File: pirfmsycfcrd.cfg (we increased timeout (*2)

Configs=DriverParameters

DriverParameters=

DriverParameters.CFPort=COM2:

DriverParameters.IdentifyTimeout=6000

DriverParameters.PortType=0

DriverParameters.ReadTimeout=4000

DriverParameters.WriteTimeout=4000

DriverParameters._Type=DriverParameters

File: pirfmsycfcrd.md

Types=DriverParameters,Integrated

Parameters.DriverParameters=ReadTimeout,WriteTimeout,IdentifyTimeout,PortType,CFPort

DriverParameters.ReadTimeout=4000

DriverParameters.WriteTimeout=4000

DriverParameters.IdentifyTimeout=6000

DriverParameters.PortType=0

DriverParameters.CFPort=COM2:

Parameters.Integrated

File: pirfmsycfcrd.tagcfg - relevant for us is type "TIHFIPLUS"

Configs=EM4135,MYD_ISO,ICODESLI,TIHFIPLUS

EM4135=

EM4135.Name=EM4135

EM4135.NoOfBytes=288

EM4135.NoOfBytesPerBlock=8

EM4135.TagIDLen=8

EM4135.TagIDPasswordLen=0

EM4135.Type=0x01,\ 0x16

EM4135.UserReadableAreas=0-287

EM4135.UserWritableAreas=0-287

EM4135._Type=Tag

ICODESLI=

ICODESLI.Name=ICODESLI

ICODESLI.NoOfBytes=112

ICODESLI.NoOfBytesPerBlock=4

ICODESLI.TagIDLen=8

ICODESLI.TagIDPasswordLen=0

ICODESLI.Type=0x01,\ 0x04

ICODESLI.UserReadableAreas=0-111

ICODESLI.UserWritableAreas=0-111

ICODESLI._Type=Tag

MYD_ISO=

MYD_ISO.Name=MYD_ISO

MYD_ISO.NoOfBytes=992

MYD_ISO.NoOfBytesPerBlock=4

MYD_ISO.TagIDLen=8

MYD_ISO.TagIDPasswordLen=0

MYD_ISO.Type=0x01,\ 0xF5

MYD_ISO.UserReadableAreas=0-991

MYD_ISO.UserWritableAreas=0-991

MYD_ISO._Type=Tag

TIHFIPLUS=

TIHFIPLUS.Name=TIHFIPLUS

TIHFIPLUS.NoOfBytes=240

TIHFIPLUS.NoOfBytesPerBlock=4

TIHFIPLUS.TagIDLen=8

TIHFIPLUS.TagIDPasswordLen=0

TIHFIPLUS.Type=0x00,\ 0x07

TIHFIPLUS.UserReadableAreas=0-239

TIHFIPLUS.UserWritableAreas=0-239

TIHFIPLUS._Type=Tag

<h3>Following error occurred, if I try to read RFID tag:</h3>

RFID-Tag couldn't read

[20081208 15:32:57:706] D [MI/API/Runtime/JSP ] AbstractMEHttpServlet:getEvent() done with event name = 'onRFIDRead'

[20081208 15:32:57:716] P [MI/PIOS ] Called method: ConnectorImpl.open()

[20081208 15:32:57:720] D [MI/PIOS ] param: parameters=com.sap.ip.me.api.pios.rfid.RfidParameters@19e6af

[20081208 15:32:57:729] P [MI/PIOS ] Called method: RfidConnectionImpl(-1).RfidConnectionImpl()

[20081208 15:32:57:735] P [MI/PIOS ] Called method: ConnectorImpl.getConfigFile()

[20081208 15:32:57:740] D [MI/PIOS ] param: driverInfo=com.sap.ip.me.api.pios.connection.DriverInfo@19e6bc

[20081208 15:32:57:745] P [MI/PIOS ] Called method: ConnectionHelper.open()

[20081208 15:32:57:753] D [MI/PIOS ] param: conn=com.sap.ip.me.api.pios.impl.rfid.RfidConnectionImpl@19e682

[20081208 15:32:57:758] D [MI/PIOS ] param: params=com.sap.ip.me.api.pios.rfid.RfidParameters@19e6af

[20081208 15:32:57:761] D [MI/PIOS ] param: configFile=/MI/pios/config/pirfmsycfcrd.cfg

[20081208 15:32:57:766] P [MI/PIOS ] Called method: RfidConnectionImpl(-1).open

[20081208 15:32:57:772] D [MI/PIOS ] param: DrvName:=pirfmsycfcrd

[20081208 15:32:57:776] D [MI/PIOS ] param: DrvDescription:=Microsensys CF RFID

[20081208 15:32:57:780] D [MI/PIOS ] param: DrvVersion:=1.2.6.11

[20081208 15:32:57:783] D [MI/PIOS ] param: MIDir:=/MI/

[20081208 15:32:57:787] D [MI/PIOS ] param: PIOSDir:=/MI/pios/

[20081208 15:32:57:790] D [MI/PIOS ] param: LogDir:=/MI/pios/log/

[20081208 15:32:57:794] D [MI/PIOS ] param: ConfigDir:=/MI/pios/config/

[20081208 15:32:57:797] D [MI/PIOS ] param: InstallDir:=/MI/pios/install/

[20081208 15:32:57:801] D [MI/PIOS ] param: PropsDir:=/MI/pios/props/

[20081208 15:32:57:804] D [MI/PIOS ] param: CfgFile:=/MI/pios/config/pirfmsycfcrd.cfg

[20081208 15:32:57:814] D [MI/PIOS ] param: IsTraceOn:=true

[20081208 15:32:57:817] D [MI/PIOS ] param: EffectiveSeverity:=90

[20081208 15:32:57:821] D [MI/PIOS ] param: isOpen:=false

[20081208 15:33:01:830] P [MI/PIOS ] Called method: RfidConnectionImpl(314944).identify

[20081208 15:33:01:834] D [MI/PIOS ] param: tagTypeList=EM4135,0,8,288,8,{{0-287}{0-287};ICODESLI,0,8,112,4,{{0-111}{0-111};MYD_ISO,0,8,992,4,{{0-991}{0-991};TIHFIPLUS,0,8,240,4,{{0-239}{0-239}

[20081208 15:33:07:861] E [Unknown ] RFID READ ERROR: RFID-Etikett nicht erkannt

[20081208 15:33:07:864] E [Unknown ] com.sap.mbs.mam.rfid.exception.RFIDTagAccessException: RFID-Etikett nicht erkannt

com.sap.mbs.mam.rfid.exception.RFIDTagAccessException: RFID-Etikett nicht erkannt

at com.sap.mbs.mam.rfid.util.impl.RFIDTagHandlerImpl.executeRFIDTagRead()

at com.sap.mbs.mam.rfid.control.RFIDList.onRFIDRead()

at com.sap.mbs.core.control.AbstractViewController.process()

at com.sap.mbs.core.control.DefaultStateMachine.process()

at com.sap.mbs.core.web.FrontServlet.doHandleEvent()

at com.sap.mbs.mam.application.web.FrontServlet.doHandleEvent()

at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doGetNotThreadSafe()

at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doGet()

at javax.servlet.http.HttpServlet.service()

at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.service()

at javax.servlet.http.HttpServlet.service()

at org.apache.tomcat.core.ServletWrapper.doService()

at org.apache.tomcat.core.Handler.service()

at org.apache.tomcat.core.ServletWrapper.service()

at org.apache.tomcat.core.ContextManager.internalService()

at org.apache.tomcat.core.ContextManager.service()

at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection()

at org.apache.tomcat.service.TcpWorkerThread.runIt()

at org.apache.tomcat.util.ThreadPool$ControlRunnable.run()

at java.lang.Thread.run()

[20081208 15:33:08:047] P [MI/PIOS ] Called method: RfidConnectionImpl(314944).close

<h3>Error log of pirfmsycfcrd.log</h3>

Mon Dec 08 16:30:00 2008 : Starting Log: [\Windows\pirfmsycfcrd.dll 1.2.6.11]

Mon Dec 08 16:30:00 2008 : CRfidPeripheral::RfOpen=

Mon Dec 08 16:30:04 2008 : ExportObject::Open

Mon Dec 08 16:30:04 2008 : CRfidPeripheral::RfIdentify=

Mon Dec 08 16:30:04 2008 : Calling CRfidPeripheral::GetTagTypeByName=

Mon Dec 08 16:30:04 2008 : CMicrosensysRFID::Rfid_Identify - *** Starting identify process ***

Mon Dec 08 16:30:10 2008 : *** Identify process finished ***

Mon Dec 08 16:30:10 2008 : CRfidPeripheral::RfClose=

Mon Dec 08 16:30:10 2008 : ExportObject::Close

Mon Dec 08 16:30:10 2008 : ExportObject::Destroy

Mon Dec 08 16:30:10 2008 : ExportObject::~CExportObject

Mon Dec 08 16:32:57 2008 : Starting Log: [\Windows\pirfmsycfcrd.dll 1.2.6.11]

Mon Dec 08 16:32:57 2008 : CRfidPeripheral::RfOpen=

Mon Dec 08 16:33:01 2008 : ExportObject::Open

Mon Dec 08 16:33:01 2008 : CRfidPeripheral::RfIdentify=

Mon Dec 08 16:33:01 2008 : Calling CRfidPeripheral::GetTagTypeByName=

Mon Dec 08 16:33:01 2008 : CMicrosensysRFID::Rfid_Identify - *** Starting identify process ***

Mon Dec 08 16:33:07 2008 : *** Identify process finished ***

Mon Dec 08 16:33:08 2008 : CRfidPeripheral::RfClose=

Mon Dec 08 16:33:08 2008 : ExportObject::Close

Mon Dec 08 16:33:08 2008 : ExportObject::Destroy

Mon Dec 08 16:33:08 2008 : ExportObject::~CExportObject

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Problem wasn't a configuration issue of driver, it came from wrong used hardware (tag/reader) only.

Former Member
0 Kudos

Hi,

which Microsensys Device are you using and - just for clarification - the demo app uses Port 2 as well and the same settings?

Regards,

Oliver

Former Member
0 Kudos

Hello Oliver,

we are using a CFC-READER | RF-ID Compact Flash Interface Type II, 13,56 MHz together with a Timbatec Recon Device. And yes the demo application is using COM2 too. The only thing is, the demo application doesn't need the details of tag like memory size, read/write area etc. It works without this information for the software of manufacturer.

Kind regards

Andreas

Former Member
0 Kudos

Hi,

as I see from the code - and that is a little confusong to me - you are using the MicroSensys driver. The model does not fir this informaiton in my eyes.

We have had a similar issue in the past and because our RFID stick was not supported by the MI framework, we had to create our own JNI connection. This worked fine then.

So the question is: have you checked if your reader is supported? You must be really precise on model and version, cause SAP drivers relate on these infos precisely.

Regards,

Oliver

Former Member
0 Kudos

Hello Oliver,

I'm not really sure that we use the right model. I looked to release notes, but nothing is mentioned exactly.

To adapt JNI connection means, I have to implement my own connector.jar and an DLL? I looked to RfidConnectionImpl.java and saw an pirfmsyrspen.dll.

Sorry I didn't do this before. Can you see how many effort it will be?

Thanks in advance.

Regards

Andreas

Former Member
0 Kudos

Hi Andreas,

well, it seems that you are using the wrong driver for your device.

Each device has its own driver, the problem is, that the DLLs used by that driver have all different starting points. In the files you are using, these starting points are optimized for a specific driver. So in my eyes the only option you ave is to design your own JNI driver for that scenario. But on the other hand, it took us a few days to do that and to get it working completely tested. So it is not really that big issue.

Regards,

Oliver

Former Member
0 Kudos

Hi Andreas,

based on our conversation on the phone:

Have a look here: SAP NOte: 734102

It tells you what is necessars to get it working. I guess in your case the vendor does not deliver the correct driver for the SAP framework. As I said, you need the exact driver for the SAP driver framework. Cause it was not available in our case, we had to develop that one from scratch. But the model you use - if you ask the person that sells it, he was very helpful in our case as well and it was only a question of a few days to get it working correctly with our own JNI Implementation.

Perhaps the following Notes can be helpfull as well:

793100 - MAM RFID tag initialization instruction

791037 - SAP Mobile RFID Interface Software Installation/Deployment

Regards,

Oliver

P.s. Special greets to Kai and a Merry xMas for you all!

Former Member
0 Kudos

Hello Oliver,

now we could solve the problem. Mainly it was because of wrong tag type. Now we are using tags from microsensys as the read come from. The other thing is, the tag has to be initialized with object type and functional location number or equipment number. Then the standard application MAM3.0 is able to find and read tag.

Thanks a lot for your help.

Best regards,

Andreas Dommes

Edited by: Andreas Dommes on Jan 16, 2009 2:35 PM

Confirming message only.