How to get pcscd to work on Fedora Workstation 41?

Yubico Authenticator was working perfectly fine with pcscd on Fedora Workstation 40 but as soon as I updated to 41, I haven’t been able to get pcscd to work.

This is a screenshot of the error I get in Yubico:

This is the second attempt in F41 that I made at installing pcscd and restarting the service but it didn’t seem to change the outcome in Yubico:

user@fedora:~$ sudo dnf install pcsc-tools opensc pcsc-lite
Updating and loading repositories:
Repositories loaded.
Package "opensc-0.25.1-5.fc41.x86_64" is already installed.
Package "pcsc-lite-2.3.0-1.fc41.x86_64" is already installed.

Package                        Arch   Version                 Reposito      Size
Installing:
 pcsc-tools                    x86_64 1.7.0-4.fc41            fedora     1.2 MiB
Installing dependencies:
 pcsc-perl                     x86_64 1.4.16-3.fc41           fedora   140.1 KiB
 perl-Class-Inspector          noarch 1.36-17.fc41            fedora    57.5 KiB
 perl-Exporter-Tiny            noarch 1.006002-5.fc41         fedora    88.3 KiB
 perl-Lexical-SealRequireHints x86_64 0.012-8.fc41            fedora    47.0 KiB
 perl-List-MoreUtils-XS        x86_64 0.430-15.fc41           fedora   166.7 KiB
 perl-libintl-perl             x86_64 1.33-9.fc41             fedora     4.1 MiB
Installing weak dependencies:
 perl-File-ShareDir            noarch 1.118-12.fc41           fedora    56.2 KiB
 perl-I18N-Langinfo            x86_64 0.24-512.fc41           updates   38.8 KiB
 perl-Lexical-Var              x86_64 0.010-7.fc41            fedora    53.7 KiB
 perl-List-MoreUtils           noarch 0.430-12.fc41           fedora   162.6 KiB
 perl-Params-Util              x86_64 1.102-16.fc41           fedora    54.6 KiB

Transaction Summary:
 Installing:        12 packages

Total size of inbound packages is 1 MiB. Need to download 1 MiB.
After this operation, 6 MiB extra will be used (install 6 MiB, remove 0 B).
Is this ok [y/N]: n
Operation aborted by the user.
user@fedora:~$ sudo dnf install pcsc-tools opensc pcsc-lite -y
Updating and loading repositories:
Repositories loaded.
Package "opensc-0.25.1-5.fc41.x86_64" is already installed.
Package "pcsc-lite-2.3.0-1.fc41.x86_64" is already installed.

Package                        Arch   Version                 Reposito      Size
Installing:
 pcsc-tools                    x86_64 1.7.0-4.fc41            fedora     1.2 MiB
Installing dependencies:
 pcsc-perl                     x86_64 1.4.16-3.fc41           fedora   140.1 KiB
 perl-Class-Inspector          noarch 1.36-17.fc41            fedora    57.5 KiB
 perl-Exporter-Tiny            noarch 1.006002-5.fc41         fedora    88.3 KiB
 perl-Lexical-SealRequireHints x86_64 0.012-8.fc41            fedora    47.0 KiB
 perl-List-MoreUtils-XS        x86_64 0.430-15.fc41           fedora   166.7 KiB
 perl-libintl-perl             x86_64 1.33-9.fc41             fedora     4.1 MiB
Installing weak dependencies:
 perl-File-ShareDir            noarch 1.118-12.fc41           fedora    56.2 KiB
 perl-I18N-Langinfo            x86_64 0.24-512.fc41           updates   38.8 KiB
 perl-Lexical-Var              x86_64 0.010-7.fc41            fedora    53.7 KiB
 perl-List-MoreUtils           noarch 0.430-12.fc41           fedora   162.6 KiB
 perl-Params-Util              x86_64 1.102-16.fc41           fedora    54.6 KiB

Transaction Summary:
 Installing:        12 packages

Total size of inbound packages is 1 MiB. Need to download 1 MiB.
After this operation, 6 MiB extra will be used (install 6 MiB, remove 0 B).
[ 1/12] pcsc-perl-0:1.4.16-3.fc41.x86_6 100% | 131.6 KiB/s |  55.9 KiB |  00m00s
[ 2/12] pcsc-tools-0:1.7.0-4.fc41.x86_6 100% | 498.6 KiB/s | 246.3 KiB |  00m00s
[ 3/12] perl-File-ShareDir-0:1.118-12.f 100% | 300.6 KiB/s |  29.8 KiB |  00m00s
[ 4/12] perl-libintl-perl-0:1.33-9.fc41 100% |   1.3 MiB/s | 811.8 KiB |  00m01s
[ 5/12] perl-Class-Inspector-0:1.36-17. 100% | 313.8 KiB/s |  30.4 KiB |  00m00s
[ 6/12] perl-Exporter-Tiny-0:1.006002-5 100% | 541.0 KiB/s |  52.5 KiB |  00m00s
[ 7/12] perl-List-MoreUtils-0:0.430-12. 100% | 528.5 KiB/s |  61.8 KiB |  00m00s
[ 8/12] perl-List-MoreUtils-XS-0:0.430- 100% | 665.8 KiB/s |  63.2 KiB |  00m00s
[ 9/12] perl-Params-Util-0:1.102-16.fc4 100% | 381.0 KiB/s |  32.8 KiB |  00m00s
[10/12] perl-Lexical-Var-0:0.010-7.fc41 100% | 351.6 KiB/s |  33.1 KiB |  00m00s
[11/12] perl-Lexical-SealRequireHints-0 100% | 222.7 KiB/s |  26.3 KiB |  00m00s
[12/12] perl-I18N-Langinfo-0:0.24-512.f 100% |  60.4 KiB/s |  25.6 KiB |  00m00s
--------------------------------------------------------------------------------
[12/12] Total                           100% | 654.9 KiB/s |   1.4 MiB |  00m02s
Running transaction
[ 1/14] Verify package files            100% |   2.0 KiB/s |  12.0   B |  00m00s
[ 2/14] Prepare transaction             100% |  46.0   B/s |  12.0   B |  00m00s
[ 3/14] Installing perl-Lexical-SealReq 100% |   2.2 MiB/s |  49.0 KiB |  00m00s
[ 4/14] Installing perl-List-MoreUtils- 100% |  18.4 MiB/s | 169.8 KiB |  00m00s
[ 5/14] Installing perl-Exporter-Tiny-0 100% |   8.2 MiB/s |  92.7 KiB |  00m00s
[ 6/14] Installing perl-Class-Inspector 100% |   9.7 MiB/s |  59.3 KiB |  00m00s
[ 7/14] Installing perl-libintl-perl-0: 100% |  40.6 MiB/s |   4.1 MiB |  00m00s
[ 8/14] Installing pcsc-perl-0:1.4.16-3 100% |  15.6 MiB/s | 143.7 KiB |  00m00s
[ 9/14] Installing pcsc-tools-0:1.7.0-4 100% | 117.2 MiB/s |   1.2 MiB |  00m00s
[10/14] Installing perl-File-ShareDir-0 100% |   8.3 MiB/s |  59.2 KiB |  00m00s
[11/14] Installing perl-List-MoreUtils- 100% |  23.0 MiB/s | 165.1 KiB |  00m00s
[12/14] Installing perl-Lexical-Var-0:0 100% |   7.8 MiB/s |  55.9 KiB |  00m00s
[13/14] Installing perl-Params-Util-0:1 100% |   9.3 MiB/s |  57.2 KiB |  00m00s
[14/14] Installing perl-I18N-Langinfo-0 100% |  39.1 MiB/s |  40.1 KiB | -00m00s
>>> Running trigger-install scriptlet: glibc-common-0:2.40-3.fc41.x86_64warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.spawn() or rpm.execute() instead
warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.spawn() or rpm.execute() instead
warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprec[14/14] Installing perl-I18N-Langinfo-0 100% | 121.4 KiB/s |  40.1 KiB |  00m00s
Complete!
user@fedora:~$ sudo systemctl restart pcscd

I additionally tried deleting the Yubico flatpak and its related data and installing it from the repository but it wasn’t found. This was the output:

What am I doing wrong? How can I get Yubico’s TOTP/pcscd to work again?

user@fedora:~$ sudo dnf -y install yubioath-desktop
[sudo] password for user: 
Updating and loading repositories:
 Fedora 41 - x86_64 - Updates           100% |  89.6 KiB/s |  28.6 KiB |  00m00s
 Fedora 41 - x86_64 - Updates           100% | 641.1 KiB/s | 864.9 KiB |  00m01s
Repositories loaded.
Failed to resolve the transaction:
No match for argument: yubioath-desktop
You can try to add to command line:
  --skip-unavailable to skip unavailable packages
  • Update: I’ve tried entering the following commands to get pcscd to start but neither seemed to work: sudo systemctl start pcscd and sudo systemctl enable pcscd. Here are the system logs for pcscd:
user@fedora:~$ journalctl -u pcscd
Oct 06 14:51:56 2603-9001-0300-54e7-a8b4-a5ed-9ed7-d7f6.inf6.spectrum.com systemd[1]: Started pcscd.service - PC/SC Smart Card Daemon.
Oct 06 14:51:56 2603-9001-0300-54e7-a8b4-a5ed-9ed7-d7f6.inf6.spectrum.com (pcscd)[3186]: pcscd.service: Referenced but unset environment variable evaluates to an empty string: PCSCD_ARGS
Oct 06 10:52:57 2603-9001-0300-54e7-a8b4-a5ed-9ed7-d7f6.inf6.spectrum.com systemd[1]: Stopping pcscd.service - PC/SC Smart Card Daemon...
Oct 06 10:52:57 2603-9001-0300-54e7-a8b4-a5ed-9ed7-d7f6.inf6.spectrum.com systemd[1]: pcscd.service: Deactivated successfully.
Oct 06 10:52:57 2603-9001-0300-54e7-a8b4-a5ed-9ed7-d7f6.inf6.spectrum.com systemd[1]: Stopped pcscd.service - PC/SC Smart Card Daemon.
-- Boot c550e31590644a51ab3f12192ed43aa5 --
Oct 06 10:55:41 fedora systemd[1]: Started pcscd.service - PC/SC Smart Card Daemon.
Oct 06 10:55:41 fedora (pcscd)[2189]: pcscd.service: Referenced but unset environment variable evaluates to an empty string: PCSCD_ARGS
Oct 06 11:09:57 2603-9001-0300-54e7-0000-0000-0000-10ec.inf6.spectrum.com pcscd[2189]: 00000000 auth.c:143:IsClientAuthorized() Process 8239 (user: 42) is NOT authorized for action: access_pcsc
Oct 06 11:09:57 2603-9001-0300-54e7-0000-0000-0000-10ec.inf6.spectrum.com pcscd[2189]: 00000210 winscard_svc.c:355:ContextThread() Rejected unauthorized PC/SC client
Oct 06 11:10:21 2603-9001-0300-54e7-0000-0000-0000-10ec.inf6.spectrum.com systemd[1]: Stopping pcscd.service - PC/SC Smart Card Daemon...
Oct 06 11:10:21 2603-9001-0300-54e7-0000-0000-0000-10ec.inf6.spectrum.com systemd[1]: pcscd.service: Deactivated successfully.
Oct 06 11:10:21 2603-9001-0300-54e7-0000-0000-0000-10ec.inf6.spectrum.com systemd[1]: Stopped pcscd.service - PC/SC Smart Card Daemon.
-- Boot 14377b0b99de467498784c0cfb7a41c5 --
Oct 06 17:40:54 Device-1.lan systemd[1]: Started pcscd.service - PC/SC Smart Card Daemon.
Oct 06 17:40:54 Device-1.lan (pcscd)[2312]: pcscd.service: Referenced but unset environment variable evaluates to an empty string: PCSCD_ARGS
Oct 06 13:41:12 Device-1.lan pcscd[2312]: 00000000 auth.c:143:IsClientAuthorized() Process 2196 (user: 42) is NOT authorized for action: access_pcsc
Oct 06 13:41:12 Device-1.lan pcscd[2312]: 00000368 winscard_svc.c:355:ContextThread() Rejected unauthorized PC/SC client
Oct 06 14:01:40 Device-1.lan systemd[1]: Stopping pcscd.service - PC/SC Smart Card Daemon...
Oct 06 14:01:40 Device-1.lan systemd[1]: pcscd.service: Deactivated successfully.
Oct 06 14:01:40 Device-1.lan systemd[1]: Stopped pcscd.service - PC/SC Smart Card Daemon.
-- Boot 19fee7690fd84878b7d44ca7fab38a31 --
Oct 06 14:04:40 Device-1.lan systemd[1]: Started pcscd.service - PC/SC Smart Card Daemon.
Oct 06 14:04:40 Device-1.lan (pcscd)[2284]: pcscd.service: Referenced but unset environment variable evaluates to an empty string: PCSCD_ARGS
Oct 06 14:04:57 Device-1.lan pcscd[2284]: 00000000 auth.c:143:IsClientAuthorized() Process 2141 (user: 42) is NOT authorized for action: access_pcsc
Oct 06 14:04:57 Device-1.lan pcscd[2284]: 00000150 winscard_svc.c:355:ContextThread() Rejected unauthorized PC/SC client
-- Boot b6315cf5e102408eb8447283d4906716 --
Oct 06 19:19:23 fedora systemd[1]: Started pcscd.service - PC/SC Smart Card Daemon.
Oct 06 19:19:23 fedora (pcscd)[2299]: pcscd.service: Referenced but unset environment variable evaluates to an empty string: PCSCD_ARGS
Oct 06 19:19:50 fedora pcscd[2299]: 00000000 auth.c:143:IsClientAuthorized() Process 2178 (user: 42) is NOT authorized for action: access_pcsc
Oct 06 19:19:50 fedora pcscd[2299]: 00000169 winscard_svc.c:355:ContextThread() Rejected unauthorized PC/SC client
Oct 07 17:25:04 2603-9001-0300-54e7-0000-0000-0000-10ec.inf6.spectrum.com systemd[1]: Stopping pcscd.service - PC/SC Smart Card Daemon...
Oct 07 17:25:04 2603-9001-0300-54e7-0000-0000-0000-10ec.inf6.spectderror_2dquark.Code4: Failed to open file “/proc/2694/status”: No such file or directory
Oct 10 01:32:45 fedora pcscd[2806]: 00000071 auth.c:143:IsClientAuthorized() Process 2694 (user: 42) is NOT authorized for action: access_pcsc
Oct 10 01:32:45 fedora pcscd[2806]: 00000067 winscard_svc.c:355:ContextThread() Rejected unauthorized PC/SC client
Oct 10 01:38:53 2603-9001-0300-54e7-0000-0000-0000-10ec.inf6.spectrum.com systemd[1]: Stopping pcscd.service - PC/SC Smart Card Daemon...
Oct 10 01:38:53 2603-9001-0300-54e7-0000-0000-0000-10ec.inf6.spectrum.com systemd[1]: pcscd.service: Deactivated successfully.
Oct 10 01:38:53 2603-9001-0300-54e7-0000-0000-0000-10ec.inf6.spectrum.com systemd[1]: Stopped pcscd.service - PC/SC Smart Card Daemon.
-- Boot bbe24940881a44c5a60025ec4aa4f06c --
Oct 10 12:52:44 fedora systemd[1]: Started pcscd.service - PC/SC Smart Card Daemon.
Oct 10 12:52:44 fedora (pcscd)[2679]: pcscd.service: Referenced but unset environment variable evaluates to an empty string: PCSCD_ARGS
Oct 10 12:53:04 fedora pcscd[2679]: 00000000 auth.c:143:IsClientAuthorized() Process 2515 (user: 42) is NOT authorized for action: access_pcsc
Oct 10 12:53:04 fedora pcscd[2679]: 00000172 winscard_svc.c:355:ContextThread() Rejected unauthorized PC/SC client
-- Boot f5bfc1f2715a4f8abeddde3b50da86e9 --
Oct 12 11:08:26 fedora systemd[1]: Started pcscd.service - PC/SC Smart Card Daemon.
Oct 12 11:08:26 fedora (pcscd)[2769]: pcscd.service: Referenced but unset environment variable evaluates to an empty string: PCSCD_ARGS
Oct 12 11:08:46 fedora pcscd[2769]: 00000000 auth.c:143:IsClientAuthorized() Process 2624 (user: 42) is NOT authorized for action: access_pcsc
Oct 12 11:08:46 fedora pcscd[2769]: 00000175 winscard_svc.c:355:ContextThread() Rejected unauthorized PC/SC client
-- Boot 83b03ef7850d4156b9c93c407784f8c3 --
Oct 12 19:04:08 fedora systemd[1]: Started pcscd.service - PC/SC Smart Card Daemon.
Oct 12 19:04:08 fedora (pcscd)[2230]: pcscd.service: Referenced but unset environment variable evaluates to an empty string: PCSCD_ARGS
Oct 12 19:04:25 fedora pcscd[2230]: 00000000 auth.c:143:IsClientAuthorized() Process 2099 (user: 42) is NOT authorized for action: access_pcsc
Oct 12 19:04:25 fedora pcscd[2230]: 00000153 winscard_svc.c:355:ContextThread() Rejected unauthorized PC/SC client
Oct 13 12:10:28 fedora systemd[1]: Stopping pcscd.service - PC/SC Smart Card Daemon...
lines 1-54
1 Like

Not sure useful this is but I found this from fedora docs

Yubico website fedora installation instructions goes to same page

I’ve gone through the Yubico website’s Fedora section and it just leads back to the Using YubiKeys with Fedora article but unfortunately pcscd is not mentioned at all. When I search the Fedora Docs, the Pesign upgrades/reboots article is the only one that mentions pcscd but it’s only for stopping/starting it and is therefore irrelevant.

I’m having the same problem, upgraded to 41 and now by Yubikey app OTP does not work anymore.

1 Like

It’s a touch ugly but the Fedora 40 packages “work” with Fedora 41 and you can force them to install on Fedora 41; the working version is 2.0.3.

You can check the download links here:
https://fedora.pkgs.org/40/fedora-x86_64/pcsc-lite-2.0.3-1.fc40.x86_64.rpm.html
https://fedora.pkgs.org/40/fedora-x86_64/pcsc-lite-libs-2.0.3-1.fc40.x86_64.rpm.html

$ cd ~/Downloads
$ wget https://dl.fedoraproject.org/pub/fedora/linux/releases/40/Everything/x86_64/os/Packages/p/pcsc-lite-libs-2.0.3-1.fc40.x86_64.rpm
$ wget https://dl.fedoraproject.org/pub/fedora/linux/releases/40/Everything/x86_64/os/Packages/p/pcsc-lite-2.0.3-1.fc40.x86_64.rpm
$ sudo dnf install ./pcsc-lite-2.0.3-1.fc40.x86_64.rpm ./pcsc-lite-libs-2.0.3-1.fc40.x86_64.rpm
#...
$ sudo systemctl restart pcscd.service

The next time you update, they will be replaced with the “broken” version. Optionally, you can versionlock them using a dnf plugin using the procedure described here: How to pin a package in dnf (Fedora) - Unix & Linux Stack Exchange

But don’t forget about the versionlock, it could cause update problems in the future!

I have the same problem, a workaround is to download the linux App directly from their website, as this download doesn’t seem to have the pcscd problem that the package downloads do.

1 Like

I’m facing the same issue since upgrading to Fedora 41. Hopefully it gets resolved soon?

I got an email back from yubico a few minutes ago that only had to offer the following:

…………

We have verified that a YubiKey 5Ci works with Fedora 41 Workstation. So the issue must be local to your specific devices. From the screenshot you sent in, we can see that you may be missing the pcsc-lite package

May we ask you to check for this and if needed you may find the following useful fedora packages?

Please let us know how this goes for you. Have a great rest of your day!
……….

1 Like

Just checked, but pcsc-lite was already installed on my computer.

Just checked here as well, it was already installed and up to date.
But do they check using the dnf/fedora software package?
Because it is these that are the problem, not the download from their website.

the issue seems to be on the Flatpak (7.1.0) version that is installed in Fedora.
running the version on their website (7.1.1) works fine.

Just wanted to chime in and say that installing the beta Flatpak from Flathub solved the issue.

From the Flatpak manifest:

You need to install PCSC daemon to use this app.

NOTE: This (community) flatpak currently works only with distros that use version of pcsc-lite below 2.3.0. For distros that use version 2.3.0 and above use beta version of this flatpak. DON'T report this to Yubico.

If you don’t already have the Flathub beta remote, you can add it like this:
flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo

And then install the Yubico Authenticator app from there:
flatpak install flathub-beta com.yubico.yubioath
(Just make sure to uninstall the old one first)

2 Likes

Excellent! Hopefully it will get added to the regular release soon. I don’t like to add a beta repo.