Open Sorunome opened 1 year ago
@outergod Could you look into it? :-)
I don't have a working ID card, anymore. Tried different readers, nothing. Not sure how I can test any of this, anymore, until I get a new one - eventually.
I think this is related to the libpcsc I have two smart card reader attached to my laptop. One is for GPG Cards without the nPA functionality and the other one is the REINER SCT komfort.
I see the following logs qml 2023.06.25 12:32:31.561 2 ReaderScanEnabler::enableScan(ui/qml/ReaderScanEnabler.cpp:49) : Stopping scan on REMOTE_IFD card 2023.06.25 12:32:31.562 7 ReaderManagerWorker::callOnPlugIn(card/base/ReaderManagerWorker.cpp:131) : Stop scan on plugin: governikus::RemoteIfdReaderManagerPlugIn qml 2023.06.25 12:32:31.563 2 ReaderScanEnabler::enableScan(ui/qml/ReaderScanEnabler.cpp:40) : Starting scan on PCSC card 2023.06.25 12:32:31.563 7 ReaderManagerWorker::callOnPlugIn(card/base/ReaderManagerWorker.cpp:131) : Start scan on plugin: governikus::PcscReaderManagerPlugIn network 2023.06.25 12:32:31.564 2 ...mHandlerImpl::~DatagramHandlerImpl(network/DatagramHandlerImpl.cpp:104) : Shutdown socket card 2023.06.25 12:32:31.565 2 ReaderManager::doUpdatePluginCache(card/base/ReaderManager.cpp:286) : Update cache entry: REMOTE_IFD card_pcsc 2023.06.25 12:32:31.582 7 ...eaderManagerPlugIn::startScan(card/pcsc/PcscReaderManagerPlugIn.cpp:55) : SCardEstablishContext: "Scard_S_Success" card 2023.06.25 12:32:31.585 2 ReaderManager::doUpdatePluginCache(card/base/ReaderManager.cpp:286) : Update cache entry: PCSC card_pcsc 2023.06.25 12:32:32.057 7 PcscReaderFeature::PcscReaderFeature(card/pcsc/PcscReaderFeature.cpp:22) : features: null card_pcsc 2023.06.25 12:32:32.057 7 PcscReader::PcscReader(card/pcsc/PcscReader.cpp:25) : "Alcor Micro AU9540 00 00" card_pcsc 2023.06.25 12:32:32.072 7 PcscReader::init(card/pcsc/PcscReader.cpp:42) : SCardEstablishContext: "Scard_S_Success" card_pcsc 2023.06.25 12:32:32.072 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:286) : "SCardConnect(5064106a, Alcor Micro AU9540 00 00, 3, 1, 0, 0)" card_pcsc 2023.06.25 12:32:32.089 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:288) : SCardConnect for "Alcor Micro AU9540 00 00" : "Scard_S_Success" card_pcsc 2023.06.25 12:32:32.089 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:316) : SCardControl for "Alcor Micro AU9540 00 00" : "Scard_S_Success" card_pcsc 2023.06.25 12:32:32.090 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:323) : FEATURES: "120442330012" card_pcsc 2023.06.25 12:32:32.090 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:325) : FEATURES: QList(TLV_PROPERTIES) card_pcsc 2023.06.25 12:32:32.090 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:296) : SCardDisconnect for "Alcor Micro AU9540 00 00" : "Scard_S_Success" card_pcsc 2023.06.25 12:32:32.090 7 PcscReader::updateCard(card/pcsc/PcscReader.cpp:190) : old state: "(0) UNAWARE" | new state: "(18) CHANGED EMPTY" card_pcsc 2023.06.25 12:32:32.090 7 ...derManagerPlugIn::addReaders(card/pcsc/PcscReaderManagerPlugIn.cpp:170) : fireReaderAdded: "Alcor Micro AU9540 00 00" ( 1 reader in total ) card_pcsc 2023.06.25 12:32:32.090 7 PcscReaderFeature::PcscReaderFeature(card/pcsc/PcscReaderFeature.cpp:22) : features: null card_pcsc 2023.06.25 12:32:32.090 7 PcscReader::PcscReader(card/pcsc/PcscReader.cpp:25) : "REINER SCT cyberJack RFID komfort (6479140943) 00 00" card 2023.06.25 12:32:32.090 2 ReaderManager::doUpdateCacheEntry(card/base/ReaderManager.cpp:268) : Update cache entry: "Alcor Micro AU9540 00 00" card_pcsc 2023.06.25 12:32:32.120 7 PcscReader::init(card/pcsc/PcscReader.cpp:42) : SCardEstablishContext: "Scard_S_Success" card_pcsc 2023.06.25 12:32:32.120 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:286) : "SCardConnect(3b243a57, REINER SCT cyberJack RFID komfort (6479140943) 00 00, 3, 1, 0, 0)" card_pcsc 2023.06.25 12:32:32.147 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:288) : SCardConnect for "REINER SCT cyberJack RFID komfort (6479140943) 00 00" : "Scard_S_Success" card_pcsc 2023.06.25 12:32:32.147 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:316) : SCardControl for "REINER SCT cyberJack RFID komfort (6479140943) 00 00" : "Scard_S_Success" card_pcsc 2023.06.25 12:32:32.147 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:323) : FEATURES: "060442000db2070442000db3080442000db4090442000db5200442000dcc" card_pcsc 2023.06.25 12:32:32.147 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:325) : FEATURES: QList(VERIFY_PIN_DIRECT, MODIFY_PIN_DIRECT, MCT_READERDIRECT, MCT_UNIVERSAL, EXECUTE_PACE) card_pcsc 2023.06.25 12:32:32.147 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:296) : SCardDisconnect for "REINER SCT cyberJack RFID komfort (6479140943) 00 00" : "Scard_S_Success" card_pcsc 2023.06.25 12:32:32.148 7 PcscReader::updateCard(card/pcsc/PcscReader.cpp:190) : old state: "(0) UNAWARE" | new state: "(917522) CHANGED EMPTY" card_pcsc 2023.06.25 12:32:32.148 7 ...derManagerPlugIn::addReaders(card/pcsc/PcscReaderManagerPlugIn.cpp:170) : fireReaderAdded: "REINER SCT cyberJack RFID komfort (6479140943) 00 00" ( 2 reader in total ) card 2023.06.25 12:32:32.182 2 ReaderManager::doUpdateCacheEntry(card/base/ReaderManager.cpp:268) : Update cache entry: "REINER SCT cyberJack RFID komfort (6479140943) 00 00" card_pcsc 2023.06.25 12:32:32.532 7 PcscReader::~PcscReader(card/pcsc/PcscReader.cpp:66) : "Alcor Micro AU9540 00 00" card_pcsc 2023.06.25 12:32:32.532 7 PcscReader::~PcscReader(card/pcsc/PcscReader.cpp:70) : SCardCancel: "Scard_S_Success" card_pcsc 2023.06.25 12:32:32.532 7 PcscReader::~PcscReader(card/pcsc/PcscReader.cpp:71) : SCardReleaseContext: "Scard_S_Success" card 2023.06.25 12:32:32.532 7 ReaderManagerWorker::onReaderRemoved(card/base/ReaderManagerWorker.cpp:59) : fireReaderRemoved: "Alcor Micro AU9540 00 00" card_pcsc 2023.06.25 12:32:32.532 7 PcscReader::~PcscReader(card/pcsc/PcscReader.cpp:66) : "REINER SCT cyberJack RFID komfort (6479140943) 00 00" card_pcsc 2023.06.25 12:32:32.532 7 PcscReader::~PcscReader(card/pcsc/PcscReader.cpp:70) : SCardCancel: "Scard_S_Success" card_pcsc 2023.06.25 12:32:32.532 7 PcscReader::~PcscReader(card/pcsc/PcscReader.cpp:71) : SCardReleaseContext: "Scard_S_Success" card 2023.06.25 12:32:32.532 7 ReaderManagerWorker::onReaderRemoved(card/base/ReaderManagerWorker.cpp:59) : fireReaderRemoved: "REINER SCT cyberJack RFID komfort (6479140943) 00 00" card 2023.06.25 12:32:32.532 2 ReaderManager::doRemoveCacheEntry(card/base/ReaderManager.cpp:277) : Remove cache entry: "Alcor Micro AU9540 00 00" card 2023.06.25 12:32:32.607 2 ReaderManager::doRemoveCacheEntry(card/base/ReaderManager.cpp:277) : Remove cache entry: "REINER SCT cyberJack RFID komfort (6479140943) 00 00" card_pcsc 2023.06.25 12:32:33.482 7 PcscReaderFeature::PcscReaderFeature(card/pcsc/PcscReaderFeature.cpp:22) : features: null card_pcsc 2023.06.25 12:32:33.482 7 PcscReader::PcscReader(card/pcsc/PcscReader.cpp:25) : "Alcor Micro AU9540 00 00" card_pcsc 2023.06.25 12:32:33.498 7 PcscReader::init(card/pcsc/PcscReader.cpp:42) : SCardEstablishContext: "Scard_S_Success" card_pcsc 2023.06.25 12:32:33.498 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:286) : "SCardConnect(79a1163b, Alcor Micro AU9540 00 00, 3, 1, 0, 0)" card_pcsc 2023.06.25 12:32:33.513 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:288) : SCardConnect for "Alcor Micro AU9540 00 00" : "Scard_S_Success" card_pcsc 2023.06.25 12:32:33.514 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:316) : SCardControl for "Alcor Micro AU9540 00 00" : "Scard_S_Success" card_pcsc 2023.06.25 12:32:33.514 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:323) : FEATURES: "120442330012" card_pcsc 2023.06.25 12:32:33.514 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:325) : FEATURES: QList(TLV_PROPERTIES) card_pcsc 2023.06.25 12:32:33.514 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:296) : SCardDisconnect for "Alcor Micro AU9540 00 00" : "Scard_S_Success" card_pcsc 2023.06.25 12:32:33.514 7 PcscReader::updateCard(card/pcsc/PcscReader.cpp:190) : old state: "(0) UNAWARE" | new state: "(18) CHANGED EMPTY" card_pcsc 2023.06.25 12:32:33.514 7 ...derManagerPlugIn::addReaders(card/pcsc/PcscReaderManagerPlugIn.cpp:170) : fireReaderAdded: "Alcor Micro AU9540 00 00" ( 1 reader in total ) card_pcsc 2023.06.25 12:32:33.515 7 PcscReaderFeature::PcscReaderFeature(card/pcsc/PcscReaderFeature.cpp:22) : features: null card_pcsc 2023.06.25 12:32:33.515 7 PcscReader::PcscReader(card/pcsc/PcscReader.cpp:25) : "REINER SCT cyberJack RFID komfort (6479140943) 00 00" card 2023.06.25 12:32:33.515 2 ReaderManager::doUpdateCacheEntry(card/base/ReaderManager.cpp:268) : Update cache entry: "Alcor Micro AU9540 00 00" card_pcsc 2023.06.25 12:32:33.557 7 PcscReader::init(card/pcsc/PcscReader.cpp:42) : SCardEstablishContext: "Scard_S_Success" card_pcsc 2023.06.25 12:32:33.557 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:286) : "SCardConnect(6217face, REINER SCT cyberJack RFID komfort (6479140943) 00 00, 3, 1, 0, 0)" card_pcsc 2023.06.25 12:32:33.589 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:288) : SCardConnect for "REINER SCT cyberJack RFID komfort (6479140943) 00 00" : "Scard_S_Success" card_pcsc 2023.06.25 12:32:33.590 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:316) : SCardControl for "REINER SCT cyberJack RFID komfort (6479140943) 00 00" : "Scard_S_Success" card_pcsc 2023.06.25 12:32:33.590 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:323) : FEATURES: "060442000db2070442000db3080442000db4090442000db5200442000dcc" card_pcsc 2023.06.25 12:32:33.590 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:325) : FEATURES: QList(VERIFY_PIN_DIRECT, MODIFY_PIN_DIRECT, MCT_READERDIRECT, MCT_UNIVERSAL, EXECUTE_PACE) card_pcsc 2023.06.25 12:32:33.590 7 PcscReader::readReaderFeatures(card/pcsc/PcscReader.cpp:296) : SCardDisconnect for "REINER SCT cyberJack RFID komfort (6479140943) 00 00" : "Scard_S_Success" card_pcsc 2023.06.25 12:32:33.590 7 PcscReader::updateCard(card/pcsc/PcscReader.cpp:190) : old state: "(0) UNAWARE" | new state: "(917522) CHANGED EMPTY" card_pcsc 2023.06.25 12:32:33.590 7 ...derManagerPlugIn::addReaders(card/pcsc/PcscReaderManagerPlugIn.cpp:170) : fireReaderAdded: "REINER SCT cyberJack RFID komfort (6479140943) 00 00" ( 2 reader in total ) card 2023.06.25 12:32:33.605 2 ReaderManager::doUpdateCacheEntry(card/base/ReaderManager.cpp:268) : Update cache entry: "REINER SCT cyberJack RFID komfort (6479140943) 00 00" qml 2023.06.25 12:32:33.904 2 ReaderScanEnabler::enableScan(ui/qml/ReaderScanEnabler.cpp:49) : Stopping scan on PCSC card 2023.06.25 12:32:33.904 7 ReaderManagerWorker::callOnPlugIn(card/base/ReaderManagerWorker.cpp:131) : Stop scan on plugin: governikus::PcscReaderManagerPlugIn card_pcsc 2023.06.25 12:32:33.904 7 ...ReaderManagerPlugIn::stopScan(card/pcsc/PcscReaderManagerPlugIn.cpp:74) : SCardReleaseContext: "Scard_S_Success" card_pcsc 2023.06.25 12:32:33.904 7 PcscReader::~PcscReader(card/pcsc/PcscReader.cpp:66) : "Alcor Micro AU9540 00 00" card_pcsc 2023.06.25 12:32:33.904 7 PcscReader::~PcscReader(card/pcsc/PcscReader.cpp:70) : SCardCancel: "Scard_S_Success" card_pcsc 2023.06.25 12:32:33.904 7 PcscReader::~PcscReader(card/pcsc/PcscReader.cpp:71) : SCardReleaseContext: "Scard_S_Success" card 2023.06.25 12:32:33.904 7 ReaderManagerWorker::onReaderRemoved(card/base/ReaderManagerWorker.cpp:59) : fireReaderRemoved: "Alcor Micro AU9540 00 00" card_pcsc 2023.06.25 12:32:33.904 7 PcscReader::~PcscReader(card/pcsc/PcscReader.cpp:66) : "REINER SCT cyberJack RFID komfort (6479140943) 00 00" card_pcsc 2023.06.25 12:32:33.904 7 PcscReader::~PcscReader(card/pcsc/PcscReader.cpp:70) : SCardCancel: "Scard_S_Success" card_pcsc 2023.06.25 12:32:33.905 7 PcscReader::~PcscReader(card/pcsc/PcscReader.cpp:71) : SCardReleaseContext: "Scard_S_Success" card 2023.06.25 12:32:33.905 7 ReaderManagerWorker::onReaderRemoved(card/base/ReaderManagerWorker.cpp:59) : fireReaderRemoved: "REINER SCT cyberJack RFID komfort (6479140943) 00 00" card 2023.06.25 12:32:33.905 2 ReaderManager::doRemoveCacheEntry(card/base/ReaderManager.cpp:277) : Remove cache entry: "Alcor Micro AU9540 00 00" card 2023.06.25 12:32:33.979 2 ReaderManager::doRemoveCacheEntry(card/base/ReaderManager.cpp:277) : Remove cache entry: "REINER SCT cyberJack RFID komfort (6479140943) 00 00" card 2023.06.25 12:32:33.988 2 ReaderManager::doUpdatePluginCache(card/base/ReaderManager.cpp:286) : Update cache entry: PCSC
Which results in the follwing images flapping (rough estimation: every second)
I have compiled version 1.26.4 community edition from upstream and dection of the REINER SCT cyberJack RFID komfort works fine. I could authenticate with the nPA and see my personal data.
pcsc works by a server-client architecture, where they communicate with each other. Inside the flatpak is only the client, thus "pcsc-lite". Now, the internal protocol for the communication is rather rigid. Most distros just compile pcsc with the default options for possible amount of smartcards, fedora, however, does not. That leads to the normally compiled pcsc-lite in this flatpak being incompatible on fedora hosts. This is a known issue, with no clear/easy fix on the horizon. Soru played around with pcsc for some other flat-packing and came up with a solution to still work on more hosts: Compiling both versions of pcsc-lite and determining in the runtime which one to load. Sadly sorus bash knowledge is not too good so she could only think of how to test for host system name, and not actual features.
Anyhow, the solution to compile both in is here:
And then, to determine what to load, a script to source pre-execution something as following: