Summary
DigiDoc4 client shows "No card in card reader; check if ID-card is inserted correctly" and cannot detect an inserted Estonian ID-card, even though the card is fully readable at the PC/SC and OpenSC/PKCS#11 level. Tested with two physical readers of the same model — same result on both.
Environment
- OS: Ubuntu 24.04 (noble), amd64
- qdigidoc4: 4.10.0.5402-2404 (also reproduced after full purge + reinstall from RIA repo, latest candidate 4.11.0.5421-2404)
- libdigidocpp: 4.4.0.8411-2404
- opensc / opensc-pkcs11: 0.27.1-0RIA2
- Reader: ACS ACR38U-CCID (00 00) — tried two separate units of this same model, identical behavior
- Card: Estonian ID-card, IDEMIA-issued, ATR
3B DB 96 00 80 B1 FE 45 1F 83 00 12 23 3F 53 65 49 44 0F 90 00 F1 (matches the app's own IDEMIACard::ATR_COSMO8 pattern, so the card type is recognized as supported)
Steps to reproduce
- Insert the ID-card into the reader.
- Open qdigidoc4, go to "My eID" or try to sign a document.
- App shows "No card in card reader; check if ID-card is inserted correctly" / "Connect the card reader to your computer and insert your ID-card into the reader".
Expected behavior
Card and certificates should be detected and available for signing.
Diagnostics already performed (all point to the app, not the OS/driver stack)
pcsc_scan: reader and card detected correctly, ATR decodes as "Estonia ID-card (eID)".
pkcs11-tool --module /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so -L: lists all 4 slots correctly with token label LUHAN,IGOR,35605030197 (PIN1/PIN2), manufacturer IDEMIA.
pkcs15-tool --list-certificates: successfully reads both certificates (Isikutuvastus and Allkirjastamine) directly from the chip.
- Confirmed
opensc-pkcs11.so is not registered in the ldconfig cache (bare filename lookup fails); worked around by setting an explicit full path in /etc/digidocpp/digidocpp.conf:
<param name="pkcs11.driver.path" lock="false">/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so</param>
After this change, qdigidoc4's console output confirms the module loads ("opensc-pkcs11.so" loaded library, and C_GetInfo output showing OpenSC Project (2.20) / OpenSC smartcard framework (0.27)), and the reader is now shown in the app — but the card itself is still reported as absent.
digidocpp.log at debug level (log.level=4) shows nothing beyond routine TSL loading; no PKCS#11/card-related entries at all, even while reproducing the failure.
QT_LOGGING_RULES="*=true" verbose run: only one app-level log line appears, qdigidoc4.QSigner: Card change detected, with no further detail about why the token is then treated as absent. (Note: the app also prints repeated "Unimplemented code." to stdout, but this turned out to be unrelated Qt/AT-SPI accessibility-bridge noise triggered by the verbose logging flag itself, not a PKCS#11 error — it appears interleaved with mouse-motion/window-paint events, not card/token operations.)
- Full purge (
apt purge qdigidoc4 libdigidocpp-common libdigidocpp-dev libdigidocpp-tools libdigidocpp1) + deletion of /etc/digidocpp, ~/.config/RIA, ~/.digidocpp + reinstall from the RIA repo (now on 4.11.0.5421-2404): no change in behavior.
- Tried a second reader unit of the identical ACS ACR38U-CCID model: identical failure.
Conclusion
Everything below the application (pcscd, OpenSC, PKCS#11 module, the card itself) works correctly and can read both certificates. qdigidoc4 detects a "card change" event but then silently concludes no card/token is present, with no diagnostic output explaining why.
[
](url)
Summary
DigiDoc4 client shows "No card in card reader; check if ID-card is inserted correctly" and cannot detect an inserted Estonian ID-card, even though the card is fully readable at the PC/SC and OpenSC/PKCS#11 level. Tested with two physical readers of the same model — same result on both.
Environment
3B DB 96 00 80 B1 FE 45 1F 83 00 12 23 3F 53 65 49 44 0F 90 00 F1(matches the app's ownIDEMIACard::ATR_COSMO8pattern, so the card type is recognized as supported)Steps to reproduce
Expected behavior
Card and certificates should be detected and available for signing.
Diagnostics already performed (all point to the app, not the OS/driver stack)
pcsc_scan: reader and card detected correctly, ATR decodes as "Estonia ID-card (eID)".pkcs11-tool --module /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so -L: lists all 4 slots correctly with token labelLUHAN,IGOR,35605030197 (PIN1/PIN2), manufacturer IDEMIA.pkcs15-tool --list-certificates: successfully reads both certificates (IsikutuvastusandAllkirjastamine) directly from the chip.opensc-pkcs11.sois not registered in theldconfigcache (bare filename lookup fails); worked around by setting an explicit full path in/etc/digidocpp/digidocpp.conf:"opensc-pkcs11.so" loaded library, andC_GetInfooutput showingOpenSC Project (2.20)/OpenSC smartcard framework (0.27)), and the reader is now shown in the app — but the card itself is still reported as absent.digidocpp.logat debug level (log.level=4) shows nothing beyond routine TSL loading; no PKCS#11/card-related entries at all, even while reproducing the failure.QT_LOGGING_RULES="*=true"verbose run: only one app-level log line appears,qdigidoc4.QSigner: Card change detected, with no further detail about why the token is then treated as absent. (Note: the app also prints repeated "Unimplemented code." to stdout, but this turned out to be unrelated Qt/AT-SPI accessibility-bridge noise triggered by the verbose logging flag itself, not a PKCS#11 error — it appears interleaved with mouse-motion/window-paint events, not card/token operations.)apt purge qdigidoc4 libdigidocpp-common libdigidocpp-dev libdigidocpp-tools libdigidocpp1) + deletion of/etc/digidocpp,~/.config/RIA,~/.digidocpp+ reinstall from the RIA repo (now on 4.11.0.5421-2404): no change in behavior.Conclusion
Everything below the application (pcscd, OpenSC, PKCS#11 module, the card itself) works correctly and can read both certificates. qdigidoc4 detects a "card change" event but then silently concludes no card/token is present, with no diagnostic output explaining why.
[
](url)