Hello,
we designed and manufactured a dumb smart card reader to connect it on a
Beagleboard Rev C4.
Basically, it's a fullduplex and halfduplex conversor to directly connect
the smart card on the serial port of the Beagleboard.
I can't attach any file, so I left you a link to see a pdf with the
schematics, may be someone is interested:

(
http://e2e.ti.com/cfs-file.ashx/__key/CommunityServer-Discussions-Components-Files/391/4162.smart_5F00_card.pdf)


Now, we are trying to make the driver for our reader and our intention is to
add it at the devices list supported by pcsclite.
To do this, we rely the David Corcoran code who Jame Rose modified to work
with Litronic Argus 210 reader.
The problem is that we couldn't configure correctly yet the serial port to
read the ATR that the smart card send.
The card ATR is: 3B F8 18 00 00 80 31 FE 45 00 73 C8 40 10 00 90 00 91 (read
with a 3121 Omnikey), however with the configuration I attach below we
obtain: 1b 00 00 00 00 00 00 00 00 00 00
When I comment the line //newtio.c_iflag |= INPCK|ISTRIP; we obtain: 9b f8
08 00 99 a5 bb a0 00 0a c9
Could anyone tell us where is our mistake?. If it is necesary we could send
the entire code.
Thank you very much,
Regards.
Edgardo.

The serial port configuration is as follows:

/*Set the baudrate*/
   newtio.c_cflag = B9600;

/*Set the bits*/
   newtio.c_cflag |= CS8;

/*Set the parity*/
   newtio.c_cflag &= (~PARODD);
   newtio.c_cflag |= PARENB;

/*Setting Raw Input and Defaults*/

  /* Control settings
   * CREAD    Allow input to be received.
   * CLOCAL   Disable modem control signals.
   * CSTOPB   Use two stop bits per character.
   * ~CRTSCTS Desable RTS/CTS handshaking.
   */
    newtio.c_cflag |= CREAD|CLOCAL|CSTOPB;
    newtio.c_cflag &= ~CRTSCTS;

    /* Input settings
     * INPCK   Enable input parity checking.
     * ISTRIP  Stripping of the parity bit.
     */
    newtio.c_iflag |= INPCK|ISTRIP;
    newtio.c_iflag &= ~(IXON|IXOFF|IXANY); /*Turn off s/w flow ctrl*/

    /*Output settings
     *~OPOST  No postprocess output.
     */
    newtio.c_oflag  &= ~OPOST; /*Raw output*/

    /*Local settings
     *~ICANON  No Canonical input mode.
     *~ECHO    No echo input characters.
     *~ECHOE
     *~ISIG    Desable `interrupt', `quit', and `suspend' special
characters.
     */
    newtio.c_lflag &= ~(ICANON|ECHO|ECHOE|ISIG); /*Raw input*/

    /*Special settings*/
    newtio.c_cc[VMIN]  = 0;
    newtio.c_cc[VTIME] = 5;
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle

Reply via email to