FeitianSmartcardReader / FEITIAN_MOBILE_READERS

This is first Combo SDK, support bR301,iR301,bR301BLE,bR500
http://www.pcscreader.com/docs/getting_started.html
25 stars 13 forks source link

Possible power saving issue or memory full on Android, no problems for iOS #21

Closed Anioz closed 3 years ago

Anioz commented 3 years ago

Hi,

We use your SDK and every now and then a user that uses Android reports that after 6 or so eID readouts their cardreader stops functioning and gives this error: [com.ftsafe.readerScheme.FTReader:readerPowerOn][err : 612]

re-connecting gives this error when cardreader is not turned off firstly: [ERROR][com.ftsafe.readerScheme.FTReader:readerOpen][mBluetoothLeClass.connect failed][com.ftsafe.comm.bt4.Bt4Exception: mBluetoothLeClass.connect failed] at Java.Interop.JniEnvironment+InstanceMethods.CallObjectMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue args) <0x7c81bd69b0 + 0x0012f> in <42748fcc36b74733af2d9940a8f3cc8e>:0 at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue parameters) <0x7c81bdda10 + 0x000df> in <42748fcc36b74733af2d9940a8f3cc8e>:0 at Com.Ftsafe.ReaderScheme.FTReader.ReaderOpen (Java.Lang.Object device) [0x00031] in <24ea65c5157d402bad6ff897348300ba>:0 at C4nMobile.Droid.Dependency.Handle.ConnectProcedure (System.Boolean IsFavReaderKnown, Android.Bluetooth.BluetoothDevice device) [0x00183] in <19535e1548034f909791cc7764be1051>:0 --- End of managed Com.Ftsafe.ReaderScheme.FTException stack trace --- com.ftsafe.readerScheme.FTException: [ERROR][com.ftsafe.readerScheme.FTReader:readerOpen][mBluetoothLeClass.connect failed][com.ftsafe.comm.bt4.Bt4Exception: mBluetoothLeClass.connect failed] at com.ftsafe.readerScheme.FTReader.throwFTError(FTReader.java:566) at com.ftsafe.readerScheme.FTReader.readerOpen(FTReader.java:43)

I dunno for sure but my best guess is the bluetooth device object or some related object will turn to null after a while because of Android OS dependant energy policy management of which we have almost no control over as developers but:

Turning the cardreader off and back on physically solves the issue for a while, probably because of the renewed objects and connection states, is there an option for us to reset the cardreader programatically in the FEITIAN_MOBILE_READERS Android private SDK? (so that user don't have to turn off and on)

FeitianSmartcardReader commented 3 years ago

@Anioz thanks, our engineer will talk a look and get back to you.

Anioz commented 3 years ago

any news on an update?

Its possible for us to detect this type of error so we can if you allow us in the private sdk to use the re-connect method probably fix this issue for our customers

FeitianSmartcardReader commented 3 years ago

Sorry for my late reply, engineer said it is your build environment issue, could you please double check?'

Or we can have a remote session, so he can help you remotely.

FeitianSmartcardReader commented 3 years ago

you also can send mail to me hongbin@ftsafe.com, then we can have remote session for this issue.

Anioz commented 3 years ago

Nps, i'll try to utilize the PCSC driver since that once has a re-connect feature