ZeroPass / dmrtd

Dart library for reading Biometric Passport
Other
43 stars 19 forks source link

Tag response error / no response when reading DG2 on iOS #14

Closed codakkk closed 1 month ago

codakkk commented 1 year ago

When we read the DG2, connection is lost even if the document is correctly positioned on the phone (only iOS). The error is the following: [CoreNFC] -[NFCTagReaderSession transceive:tagUpdate:error:]:879 Error Domain=NFCError Code=102 "Tag response error / no response" UserInfo={NSLocalizedDescription=Tag response error / no response, NSUnderlyingError=0x280bc6d30 {Error Domain=nfcd Code=29 "Tag Error" UserInfo={NSLocalizedDescription=Tag Error, NSUnderlyingError=0x280bc7540 {Error Domain=com.apple.nfstack Code=20 "No response from tag" UserInfo={NSLocalizedDescription=No response from tag}}}}}

I tested on iPhone 12, 13, 14 with iOS 16. I also tested on iPhone X and XR and everything's working fine.

smlu commented 1 year ago

Hard to say what the exact problem is but the issue could be related to the passport chip since assuming from the log the session is closed due to chip not responding. Can you read any chunks of EF.DG2 file from the passport? Can you read any other EF.DG file, e.g. EF.DG1? From the top of my head the issue could be related to chip not supporting reading maximum number of bytes. Try reducing the default chunk max read length to 224 bytes or less in mrtd_api.dart:L40

smlu commented 1 month ago

Closing this issue as no further info was provided.