As David pointed out, WWT is work waiting time.  See 7816-3/8.2.  It's the
amount of time the terminal should wait before deciding the card isn't going
to respond.  It is normally 1 second for cards with default timing, such as
Cyberflex.

Every time you call apdu.waitExtension() it resets the timer, so you can
sprinkle these through the code, but Cyberflex is so slow you have to put
them in every few lines.

Or you can increase WWT by specifying non-default timing in your atr.
Problem with this is that most terminals seem to ignore WWT.

Here is an atr for Cyberflex that specifies a four second WWT:

3b 97 94 40 28 57 65 62 63 61 72 64
T=0 TA1=94 TD1=40 TC2=28
7 historical bytes: W e b c a r d
103 etu = 372 F / 1 D * 3.58 f
3990 cwt = (960 * 40 WI * 372 F) / 3.58 f / 1000

You can change the number of historical bytes, which is given in the bottom
nibble of the second byte.  Remember that all but the last two historical
bytes are specified in the "set java atr" apdu, whereas the last two are
specified in the exception thrown by your applet's main() method.
***************************************************************
Linux Smart Card Developers - M.U.S.C.L.E.
(Movement for the Use of Smart Cards in a Linux Environment)
http://www.linuxnet.com/smartcard/index.html
***************************************************************

Reply via email to