title: getATR() does not reset the smart card in javax.smartcardio
body: <p>I'm programming a small application for a smart card with Java using <code>javax.smartcardio</code> package, and I have a some problem with the ATR (Answer to reset). The <code>card.getATR()</code> method does not reset the card. It returns the ATR bytes, but it does not return the card to MF state.</p>
  
  <p>That is my example:</p>
  
  <pre><code>TerminalFactory factory = TerminalFactory.getDefault();
  List&lt;CardTerminal&gt; terminals = factory.terminals().list();
  
  // get the first terminal
  CardTerminal terminal = terminals.get(0);
  // establish a connection with the card
  Card card = terminal.connect("T=0");
  
  ATR atr = card.getATR(); //atr.getBytes() &lt;- correct
  
  CardChannel channel = card.getBasicChannel();
  
  ResponseAPDU r;
  // STEP 1. select file in MF
  r = channel.transmit(new CommandAPDU(new byte[]{0,(byte)0xA4,(byte)0x02,(byte)0x0C,(byte)0x02,0,(byte)0x02,0}));
  // r.getBytes() == 90 00 &lt;- correct
  
  // STEP 2. select DF
  r = channel.transmit(new CommandAPDU(new byte[]{0,(byte)0xA4,(byte)0x04,(byte)0x0C,(byte)0x02,(byte)0x05,0}));
  // r.getBytes() == 90 00 &lt;- correct
  
  atr = card.getATR(); // answer to reset
  
  // STEP 3. select file in MF, as in STEP 1
  r = channel.transmit(new CommandAPDU(new byte[]{0,(byte)0xA4,(byte)0x02,(byte)0x0C,(byte)0x02,0,(byte)0x02,0}));
  // r.getBytes() == 6A 82 &lt;- fail, not found
  
  card.disconnect(false);
  </code></pre>
  
  <p>Where is my mistake? Or how i can to reset the card?</p>