OT: PC/SC transmit timeout

Miroslav Sinko sinkomiro@rocketmail.com
Pátek Leden 18 21:01:45 CET 2008


Dobry den,

ospravednujem sa za programatorsku OT otazku. Dnes som v robote
presurfoval pol dna a nic rozumne som nenasiel.. Nemate niekto
programatorske skusenosti s rozhranim PC/SC (SmartCard)? Konkretne
bezim na WinXP. Na konci spomeniem aj Linux, ale pri Win musim ostat a
flame nechcem.

Problem je nasledovny: mame inteligentne medium od zahranicnej firmy, s
ktorou spolupracujeme. To medium sa sprava ako SmartCard standardu ISO
14443A, az na casove intervaly medzi prijatim a odoslanim dat. Niektore
prikazy spracovava aj 20s (kryptograficke algoritmy) a to vadi funkcii
SCardTransmit. Po cca 10s od vyslania dat vrati 0x0000001F, co nie je
ani platny PC/SC error (0x801xxxxx, prip. rozsirenia 0x802, atd), ale
zjavne standardny WinAPI error ERROR_GEN_FAILURE (A device attached to
the system is not functioning) - vcelku zodpoveda...

Otazky: 

-je mozne nejako nastavit timeout pre funkciu SCardTransmit? Na nete
som nasiel funkciu SCardSetTimeout, ktoru vsak WinAPI nikdy nemalo
implementovanu a aj na inych platformach je deprecated.

-alebo je mozne vysielat a prijimat data z media inac ako "blocking"
funkciou SCardTransmit? Povedzme 1 funkcia na vyslatie a potom sa v
cykle dotazovat, ci medium nema data pre PC. MSDN, aj net som fakt dost
dokladne prehladal... Ak by bol sposob iny, ako s pouzitim PC/SC
rozhrania, tak by som sa mu asi nebranil, aj ked chceli sme to mat
takto standardne pre buducnost. Momentalne mame reader OmniKey CardMan
5321 (ani v jeho proprietarnych funkciach som nic pouzitelne nenasiel).

Tuto druhu otazku davam preto, lebo mame testovaci system s Linuxom od
tej spolupracujucej firmy (bez zdrojakov a ani nebudu, ale vraj nejdu
cez PC/SC) a tam to funguje. Viditelny rozdiel je ten, ze na mojom
systeme indikacna LED readra kratko zablika pri prilozeni media (na
prilozenie media cakam funkciou SCardGetStatusChange) a po vyslani dat
do media trvalo svieti. Po timeoute LED zhasne a vrati sa error. Na
linuxe LED blika uz pred prilozenim media a blika aj po vyslani dat,
kym caka na odpoved. Po cca 20s pride odpoved a az potom zhasne. Takze
oni pouzivaju iny system obsluhy readra na komunikaciu s mediom...

Ak by sa nasiel niekto, kto by vedel poradit, budem vdacny.

miro



      ____________________________________________________________________________________
Looking for last minute shopping deals?  
Find them fast with Yahoo! Search.  http://tools.search.yahoo.com/newsearch/category.php?category=shopping



Další informace o konferenci Hw-list