2012-03-12 18 views
5

मैं एक MIFARE Ultralight सी (आईएसओ/आईईसी 14443-2 और 14443-3 प्रकार ए संगत) टैग प्रमाणीकृत करने की कोशिश कर रहा हूँ।एंड्रॉइड में माइफेयर अल्टरलाइट सी प्रमाणीकरण (2.3.6)

मैं एंड्रॉइड में प्रदान किए गए MifareUltralight.transceive() फ़ंक्शन के साथ प्रमाणीकरण आदेश भेजता हूं। मैंने NfcA.transceive() की भी जांच की है (IsoDep इस तरह के टैग के साथ संगत नहीं है क्योंकि यह ऑब्जेक्ट आईएसओ/आईईसी 14443-4 टैग से निपटने के लिए है और इसलिए मैं IsoDep.transceive()) का उपयोग नहीं करता हूं।

तो, जब मैं पहली बार प्रमाणीकरण अनुरोध आदेश भेजता हूं तो टैग AFxxxx के साथ ट्रांसीव() को उत्तर देता है ..... जहां मैं टैग उत्तर को संसाधित करता हूं और फिर मैं उस उत्तर के जवाब के साथ एक और ट्रांसीव() भेजता हूं लेकिन। .. transceive भेजने से पहले() टैग जुड़ा हुआ है, जब इसे भेजा जाता है तो मुझे "टैग खो गया" चेतावनी और "ट्रांसीवर असफल" मिलता है।

इसके अलावा, अगर मैं इसे एनएफसीए के साथ आज़माता हूं तो वही समस्या होती है।

आखिरकार, अगर मैं पहली प्रतिक्रिया के बाद एक प्रमाणीकरण कमांड भेजने की कोशिश करता हूं तो मुझे ट्रांसीव विफल होने के साथ "टैग खो गया" चेतावनी भी मिलती है।

तो मेरे सवाल है:

क्यों NFC टैग खो जाना है जब मैं दूसरे Transceive भेज()? < <

(यह एक समय समाप्ति समस्या हो प्रतीत नहीं होता है क्योंकि सिर्फ दूसरा Transceive() कनेक्शन टैग के साथ खुला है भेजने से पहले) मैं से एक अलग थ्रेड में सभी सामान बनाया यूआई एक।

अग्रिम धन्यवाद!

+0

मेरा अनुमान है कि प्रतिक्रिया (दूसरा प्रेषण) सही ढंग से प्रमाणीकृत नहीं होता है और टैग कभी जवाब नहीं देता है, इस प्रकार टैग की तरह फ़ोन को खो दिया गया था। कई बार लिखने की कोशिश करें (4 बाइट लिखते हैं) और देखें कि क्या यह काम करता है। यह transcieve (0xA2, 0x06, 0x01, 0x02, 0x03, 0x04) होगा जहां 0x06 पृष्ठ संख्या है। यदि यह काम करता है तो प्रमाणीकरण पर आपका प्रयास गलत होगा। –

+0

सबसे पहले, आपके उत्तर के लिए धन्यवाद :)। इसे पढ़ने के बाद मुझे लगता है कि आप सही हो सकते हैं और समस्या यह हो सकती है कि प्रमाणीकरण का मेरा जवाब गलत है, इसलिए मैं यह जानूंगा कि आपने यह जानने के लिए क्या किया है कि यह समझ में आता है या नहीं। लेकिन, एक अच्छा दृष्टिकोण दिखता है। फिर से धन्यवाद! ;) यदि मैं इसे लागू करता हूं तो कई बार लिखने पर मैं यहां पोस्ट करूंगा। – Miguel

+0

हां, कई लेख बनाने के बाद यह काम करता है, इसलिए यह मेरे प्रमाणीकरण अनुरोध के साथ एक समस्या प्रतीत होता है। आपकी सहायता के लिए धन्यवाद, मैं यह जानने के लिए मेरी अनुरोध प्रक्रिया जांचूंगा कि कौन सी समस्या है। आपकी मदद के लिए धन्यवाद! :) – Miguel

उत्तर

3

आपका दृष्टिकोण सही लगता है। हालांकि, टैग का व्यवहार इंगित करता है कि टैग के उत्तर की आपकी प्रतिक्रिया गलत थी। उस स्थिति में, टैग जवाब देने से इंकार कर देता है। फोन के दृष्टिकोण से यह गायब होने वाले टैग से अलग नहीं है, इसलिए आपको TagLostException मिलता है।

+0

हां, शायद आप सही हैं, मैं लगातार उन लेखों को बनाने की कोशिश करूंगा जो बेन ने सुझाव दिया था और हमें मेरी त्रुटि का संकेत मिलेगा। आपके उत्तर एनएफसी लड़के के लिए धन्यवाद! – Miguel

+0

आपके पास कारण है, मैं गलत पहचानने के लिए अपनी प्रमाणीकरण प्रक्रिया की जांच करूंगा! आपकी मदद के लिए धन्यवाद :) – Miguel

+0

मैं अपने प्रमाणीकरण एल्गोरिदम की समीक्षा कर रहा था और मुझे एक आधार मिला जो गलत हो सकता था। मैं सभी "0h" डिफ़ॉल्ट प्रमाणीकरण कुंजी के रूप में उपयोग करता हूं। क्या यह समस्या हो सकती है? - अग्रिम में धन्यवाद! – Miguel