Hello, My cards used to work with OpenSC 0.12.2 but stopped working entirely after an upgrade to 0.13. After some investigation I found out that the default driver is disabled on 0.13 because there are more drivers listed in ctx.c:
static const struct _sc_driver_entry internal_card_drivers[] = { { "cardos", (void *(*)(void)) sc_get_cardos_driver }, { "flex", (void *(*)(void)) sc_get_cryptoflex_driver }, { "cyberflex", (void *(*)(void)) sc_get_cyberflex_driver }, #ifdef ENABLE_OPENSSL { "gpk", (void *(*)(void)) sc_get_gpk_driver }, #endif { "gemsafeV1", (void *(*)(void)) sc_get_gemsafeV1_driver }, { "miocos", (void *(*)(void)) sc_get_miocos_driver }, { "mcrd", (void *(*)(void)) sc_get_mcrd_driver }, { "asepcos", (void *(*)(void)) sc_get_asepcos_driver }, { "starcos", (void *(*)(void)) sc_get_starcos_driver }, { "tcos", (void *(*)(void)) sc_get_tcos_driver }, { "openpgp", (void *(*)(void)) sc_get_openpgp_driver }, { "jcop", (void *(*)(void)) sc_get_jcop_driver }, #ifdef ENABLE_OPENSSL { "oberthur", (void *(*)(void)) sc_get_oberthur_driver }, { "authentic", (void *(*)(void)) sc_get_authentic_driver }, { "iasecc", (void *(*)(void)) sc_get_iasecc_driver }, #endif { "belpic", (void *(*)(void)) sc_get_belpic_driver }, { "ias", (void *(*)(void)) sc_get_ias_driver }, { "incrypto34", (void *(*)(void)) sc_get_incrypto34_driver }, { "acos5", (void *(*)(void)) sc_get_acos5_driver }, { "akis", (void *(*)(void)) sc_get_akis_driver }, #ifdef ENABLE_OPENSSL { "entersafe",(void *(*)(void)) sc_get_entersafe_driver }, #ifdef ENABLE_SM { "epass2003",(void *(*)(void)) sc_get_epass2003_driver }, #endif #endif { "rutoken", (void *(*)(void)) sc_get_rutoken_driver }, { "rutoken_ecp",(void *(*)(void)) sc_get_rtecp_driver }, { "westcos", (void *(*)(void)) sc_get_westcos_driver }, { "myeid", (void *(*)(void)) sc_get_myeid_driver }, { "sc-hsm", (void *(*)(void)) sc_get_sc_hsm_driver }, /* Here should be placed drivers that need some APDU transactions to * recognise its cards. */ { "setcos", (void *(*)(void)) sc_get_setcos_driver }, { "muscle", (void *(*)(void)) sc_get_muscle_driver }, { "atrust-acos",(void *(*)(void)) sc_get_atrust_acos_driver }, { "PIV-II", (void *(*)(void)) sc_get_piv_driver }, { "itacns", (void *(*)(void)) sc_get_itacns_driver }, /* javacard without supported applet - last before default */ { "javacard", (void *(*)(void)) sc_get_javacard_driver }, /* The default driver should be last, as it handles all the * unrecognized cards. */ { "default", (void *(*)(void)) sc_get_default_driver }, { NULL, NULL } }; than the limit defined in types.h: #define SC_MAX_CARD_DRIVERS 32 So the binary from the website ignores all drivers that come after "PIV-II". Since my cards use the default driver, 0.13 is completely unusable to me. I filed a ticket: https://www.opensc-project.org/opensc/ticket/457 Why is the limit so low? Shouldn't it be bumped to at least 64 or 128? _______________________________________________ opensc-devel mailing list opensc-devel@lists.opensc-project.org http://www.opensc-project.org/mailman/listinfo/opensc-devel