Гайд: Manjaro: как проверить USB, PC/SC, драйверы Рутокен и компоненты КриптоПро - Часть 2

Пошаговый гайд для Manjaro: как проверить USB, PC/SC, драйверы Рутокен и компоненты КриптоПро, если контейнер Рутокен 3220 не определяется.

2026.09.09                  


Гайд: Manjaro: как проверить USB, PC/SC, драйверы Рутокен и компоненты КриптоПро - Часть 2Гайд: Manjaro: как проверить USB, PC/SC, драйверы Рутокен и компоненты КриптоПро - Часть 2 Продолжение гайда, разделы 11–20.


11. Энергосбережение USB — частая причина на ноутбуках

Рутокены могут отваливаться из-за автоприостановки USB.

Сначала найдите ID устройства:

lsusb | grep -Ei 'rutoken|aktiv'

Пример:

ID 0a89:xxxx

11.1. Если установлен TLP

Проверьте:

grep -E 'USB_DENYLIST|USB_BLACKLIST' /etc/tlp.conf

Добавьте ID токена в список исключений, например:

USB_DENYLIST="0a89:xxxx"


Если там уже есть значения, добавьте через пробел:

USB_DENYLIST="other_device 0a89:xxxx"

Затем:

sudo tlp start

11.2. Временное отключение autosuspend

Можно попробовать временно:

echo -1 | sudo tee /sys/module/usbcore/parameters/autosuspend

После этого переподключите токен.

Если поможет, можно добавить параметр ядра:

usbcore.autosuspend=-1

или настроить исключения в TLP.


12. Конфликт с другими программами

12.1. scdaemon от GnuPG

Иногда scdaemon может мешать работе со смарт-картами.

Попробуйте остановить его:

gpgconf --kill scdaemon

Затем повторите:

pcsc_scan

12.2. brltty

Иногда brltty может перехватывать USB-устройства.

Если он вам не нужен:

systemctl status brltty

Отключить:

sudo systemctl disable --now brltty

Если точно не нужен, можно удалить:

sudo pacman -Rns brltty

После этого переподключите токен и перезапустите pcscd:

sudo systemctl restart pcscd.socket pcscd.service

13. Если токен виден как флешка

Иногда Рутокен может отображаться как накопитель. Но для КриптоПро контейнер на Рутокене обычно находится не как обычные файлы на смонтированной флешке, а в защищённой памяти токена через PC/SC.

Тем не менее:

  • не форматируйте токен, если видите его как диск;
  • не удаляйте служебные файлы;
  • если контейнер действительно хранится на обычной флешке/диске, он обычно представляет собой каталог с файлами вида .000;
  • для таких контейнеров в КриптоПро важны модули чтения файловых контейнеров, но для Рутокен ЭЦП обычно приоритет — PC/SC и драйвер Рутокен.

14. Проверка лицензии КриптоПро

Иногда проблема не в видимости контейнера, а в том, что операции с криптографией блокируются из-за лицензии.

Проверьте:

/opt/cprocsp/sbin/amd64/cpconfig -license -view

Если лицензия отсутствует или истекла, КриптоПро может работать с ограничениями.


15. Если csptest видит контейнер, но браузер или плагин не видит

Если в терминале контейнер виден, а в браузере/плагине нет:

  1. Проверьте, что плагин использует ту же разрядность, что и КриптоПро.
  2. Перезапустите браузер и процесс плагина.
  3. Если используете Wayland, попробуйте сеанс X11.
  4. Если браузер в Flatpak/Snap/AppImage, могут быть ограничения доступа к /run/pcscd.
  5. Проверьте, что пользователь состоит в группе pcsc.
  6. Проверьте, что не запускается отдельная изолированная копия КриптоПро.

Для диагностики всегда ориентируйтесь на:

/opt/cprocsp/sbin/amd64/csptest -enum -enum_cont -verifyc -fqcn

Если команда видит контейнер, значит базовая связка токен + КриптоПро работает.


16. Частые ошибки и их смысл

Ошибка: No smart card readers found

Причины:

  • не запущен pcscd;
  • нет драйвера Рутокен;
  • токен не определяется как смарт-карта;
  • конфликт с другим процессом;
  • проблема с USB.

Решение:

sudo systemctl restart pcscd.socket pcscd.service
pcsc_scan -n
sudo journalctl -u pcscd -n 100 --no-pager

Ошибка: SCARD_E_NO_SERVICE

Причины:

  • pcscd не запущен;
  • недоступен сокет PC/SC;
  • проблема с правами.

Решение:

systemctl status pcscd.socket pcscd.service
sudo systemctl enable --now pcscd.socket
sudo systemctl restart pcscd.socket pcscd.service

Ошибка: карта видна, но контейнеров нет

Причины:

  • токен пустой;
  • не установлены компоненты КриптоПро;
  • нет прав;
  • контейнер повреждён;
  • токен не поддерживается текущей версией КриптоПро.

Проверьте:

sudo /opt/cprocsp/sbin/amd64/csptest -enum -enum_cont -verifyc -fqcn

sudo видит, пользователь нет

Решение:

getent group | grep -Ei 'pcsc'
for g in pcsc pcscd; do
  if getent group "$g" >/dev/null; then
    sudo usermod -aG "$g" "$USER"
  fi
done


Затем выйти и зайти заново.


17. Рекомендуемый порядок действий

Коротко, самый правильный порядок:

1. Обновить систему:

sudo pacman -Syu

2. Проверить токен в lsusb:

lsusb | grep -Ei 'rutoken|aktiv|0a89'

3. Установить PC/SC:

sudo pacman -S --needed pcsc-lite pcsc-tools ccid libusb
sudo systemctl enable --now pcscd.socket
sudo systemctl restart pcscd.socket pcscd.service

4. Установить драйвер Рутокен из AUR:

yay -S ifd-rutoken

или:

pamac build ifd-rutoken

5. Перезапустить pcscd:

sudo systemctl restart pcscd.socket pcscd.service

6. Проверить:

pcsc_scan

7. Добавить пользователя в группу pcsc/pcscd:

for g in pcsc pcscd; do
  if getent group "$g" >/dev/null; then
    sudo usermod -aG "$g" "$USER"
  fi
done
  1. Выйти и зайти заново.

9. Проверить КриптоПро:

/opt/cprocsp/sbin/amd64/csptest -enum -enum_cont -verifyc -fqcn

10. Если контейнера нет, проверить пакеты КриптоПро:

pacman -Q | grep -Ei 'cprocsp|cryptopro'

Должны быть компоненты csp, rdr-pcsc, rdr-gost, при возможности rdr-rutoken.


18. Диагностический скрипт

Можно собрать всю информацию одним блоком:

{
echo '=== OS ==='
uname -a
grep PRETTY /etc/os-release

echo
echo '=== USB ==='
lsusb | grep -Ei 'rutoken|aktiv|0a89'

echo
echo '=== DMESG tail ==='
dmesg | tail -n 50

echo
echo '=== PCSC scan ==='
pcsc_scan -n

echo
echo '=== PCSCD journal ==='
sudo journalctl -u pcscd -n 100 --no-pager

echo
echo '=== PCSC drivers ==='
find /usr/lib/pcsc/drivers /usr/lib64/pcsc/drivers -maxdepth 2 2>/dev/null

echo
echo '=== Packages ==='
pacman -Q | grep -Ei 'pcsc|ccid|rutoken|cprocsp|cryptopro'

echo
echo '=== CryptoPro containers ==='
CSPTEST=$(find /opt/cprocsp -type f -name csptest 2>/dev/null | head -n1)
if [ -n "$CSPTEST" ]; then
  echo "Using: $CSPTEST"
  "$CSPTEST" -enum -enum_cont -verifyc -fqcn
else
  echo 'csptest not found under /opt/cprocsp'
fi
} > ~/rutoken-crypto-diag.txt

Посмотреть результат:

less ~/rutoken-crypto-diag.txt

Если будете отправлять лог в поддержку или на форум, проверьте, что там нет конфиденциальных данных. Имена контейнеров обычно не являются секретом, но приватные ключи и пароли отправлять нельзя.


19. Самые вероятные причины именно для Manjaro

Для Manjaro чаще всего проблема одна из этих:

1. Не установлен драйвер Рутокен для PC/SC

Нужно поставить ifd-rutoken или аналог из AUR.

2. После обновления Manjaro пересобран/обновлён pcsc-lite, а драйвер Рутокен не пересобран

Нужно пересобрать ifd-rutoken.

3. КриптоПро установлен без компонента cprocsp-rdr-pcsc

Без него КриптоПро не видит смарт-карты.

4. Пользователь не состоит в группе pcsc/pcscd

sudo csptest ... видит, обычный пользователь — нет.

5. Токен пустой

Контейнер не создан или был удалён.

6. Энергосбережение USB

Токен появляется и исчезает, работает через раз.


20. Минимальный рабочий чек-лист

Перед тем как считать, что «КриптоПро сломан», убедитесь:

lsusb | grep -Ei 'rutoken|aktiv|0a89'

Показывает Рутокен.

pcsc_scan -n

Показывает читатель и карту.

groups

Есть группа pcsc или pcscd.

/opt/cprocsp/sbin/amd64/csptest -enum -enum_cont -verifyc -fqcn

Показывает контейнер. Если все четыре пункта выполняются, токен и контейнер видны системой и КриптоПро. Если где-то падает — чините именно этот уровень.


Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта