Добрый день!
Пытаюсь наладить на Ubuntu 16.04 работу считывателя электронных карт с одним сайтом. Сайт дал инструкцию, что нужно поставть Firefox+Java. За работу самого считывателя отвечает демон pcscd и, соответсвенно, драйвер. Считыватель ACS ACR1281U-C1.
Дайвер берётся из пакета pcsc-lite-acsccid.
Программа pcsc_scan корректно находит считыватель и реагирует на вставку/вытаскивания карты.
Java я ставил по мануалке
https://help.ubuntu.ru/wiki/java . Перепробовал разные методы установки, разные версии, разных поставщиков, разные ПО (JDK и JRE). Переустанавливал саму Ubuntu несколько раз.
Firefox пробовал ставить из репозитория, из исходника, портабл...
Но в итоге всё бесполезно: Firefox нормально видет Java в плагинах, pcscd - сканнер, но сайт упорно пишет "Считыватель не обнаружен".
Всё бы ничего, но я скачал ALTLinux и попробовал установить на нём — всё заработало буквально через пару часов настройки.
Пробовал аналогичные действия на Ubuntu — не выходит ничего.
В итоге получается, что уходить от Ubuntu не хочется, но конкретно по этой реализации она показывает себя не с лучшей стороны.
Собственно, я прошу помощи у Вас разобраться в данном вопросе.
Сначала расскажу про AltLinux, а после об Ubuntu
Я скачать с оф. сайта декстопную AltLinux 7
[root@host-93 ~]# cat /etc/altlinux-release
ALT Linux 7.0.5 Centaurus (Pholus)
[root@host-93 ~]# uname -a
Linux host-93.localdomain 3.14.41-std-def-alt1 #1 SMP Thu May 7 12:49:34 UTC 2015 i686 GNU/Linux
Далее я устанавливал:
Firefox 38.4.0 ESR из
https://ftp.mozilla.org/pub/firefox/releases/38.4.0esr/linux-i686/ru/firefox-38.4.0esr.tar.bz2Java JRE из
http://ftp.osuosl.org/pub/funtoo/distfiles/oracle-java/jre-7u80-linux-i586.tar.gzДрайвера из пакетов pcsc-lite-acsccid и pcsc-lite-asedriveiiie-usb
По итогу набор команд установки с чистой установки был следующий:
mkdir /usr/java
wget http://ftp.osuosl.org/pub/funtoo/distfiles/oracle-java/jre-7u80-linux-i586.tar.gz
mv jre-7u60-linux-i586.tar.gz /usr/java/
cd /usr/java/
tar zxvf jre-7u60-linux-i586.tar.gz
rm jre-7u60-linux-i586.tar.gz
mkdir /usr/lib/mozilla/plugins
cd /usr/lib/mozilla/plugins
ln -s /usr/java/jre1.7.0_60/lib/i386/libnpjp2.so
apt-get update
apt-get install pcsc-lite-asedriveiiie-usb pcsc-lite libpcsclite pcsc-tools opensc libhal pcsc-lite-acsccid
service pcscd restart
wget https://ftp.mozilla.org/pub/firefox/releases/38.4.0esr/linux-i686/ru/firefox-38.4.0esr.tar.bz2
tar xf firefox-38.4.0esr.tar.bz2
mv firefox /usr/local/
mv /usr/bin/firefox /usr/bin/firefox-old
ln -s /usr/local/firefox/firefox /usr/bin/firefox
rm /etc/alternatives/links/\|usr\|bin\|java
ln -s '/etc/alternatives/links/|usr|bin|java' /usr/java/jre1.7.0_80/bin/java
ln -s /usr/java/jre1.7.0_80/bin/java '/etc/alternatives/links/|usr|bin|java'
ln -s /usr/java/jre1.7.0_80/bin/jcontrol '/etc/alternatives/links/|usr|bin|jcontrol'
rm '/etc/alternatives/links/|usr|bin|jcontrol'
ln -s /usr/java/jre1.7.0_80/bin/jcontrol '/etc/alternatives/links/|usr|bin|jcontrol'
rm '/etc/alternatives/links/|usr|bin|keytool'
ln -s /usr/java/jre1.7.0_80/bin/keytool '/etc/alternatives/links/|usr|bin|keytool'
rm '/etc/alternatives/links/|usr|bin||usr|lib|browser-plugins|libjavaplugin_oji.so'
rm '/etc/alternatives/links/|usr|lib|browser-plugins|libjavaplugin_oji.so'
ln -s /usr/java/jre1.7.0_80/lib/i386/libnpjp2.so '/etc/alternatives/links/|usr|lib|browser-plugins|libjavaplugin_oji.so'
После этого я от пользователя запускал jcontrol, прописывал во вкладке Security адрес сайта и выбирал Security Level — Medium.
После подключения к сайту всё работает!
Доп. информация:
[root@host-93 ~]# systemctl status pcscd
pcscd.service - PC/SC Smart Card Daemon
Loaded: loaded (/lib/systemd/system/pcscd.service; static)
Active: inactive (dead) since Пт 2017-06-23 17:37:21 MSK; 2min 35s ago
Process: 4715 ExecStart=/usr/sbin/pcscd --foreground --auto-exit (code=exited, status=0/SUCCESS)
июн 23 17:33:24 host-93.localdomain systemd[1]: Starting PC/SC Smart Card Daemon...
июн 23 17:33:24 host-93.localdomain systemd[1]: Started PC/SC Smart Card Daemon.
июн 23 17:33:24 host-93.localdomain pcscd[4715]: Error: can't open /var/run/openct/status: No such file or directory
июн 23 17:33:24 host-93.localdomain pcscd[4715]: 00000000 readerfactory.c:1110:RFInitializeReader() Open Port 0x200000 Fail...2/005)
июн 23 17:33:24 host-93.localdomain pcscd[4715]: 00000013 readerfactory.c:375:RFAddReader() Generic CCID Reader init failed.
июн 23 17:33:24 host-93.localdomain pcscd[4715]: 00000028 hotplug_libudev.c:520:HPAddDevice() Failed adding USB device: Gen...Reader
июн 23 17:33:39 host-93.localdomain pcscd[4715]: 15320438 ccid_usb.c:638:WriteUSB() write failed (2/5): -4 No such device
июн 23 17:33:51 host-93.localdomain pcscd[4715]: 12005469 commands.c:231:CmdPowerOn Card absent or mute
июн 23 17:33:51 host-93.localdomain pcscd[4715]: 00000487 ifdhandler.c:1434:IFDHPowerICC() PowerUp failed
июн 23 17:33:51 host-93.localdomain pcscd[4715]: 00000290 eventhandler.c:302:EHStatusHandlerThread() Error powering up card...100016
[root@host-93 ~]# pcsc_scan
PC/SC device scanner
V 1.4.27 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.8.8
Using reader plug'n play mechanism
Scanning present readers...
0: ACS ACR1281 1S Dual Reader 00 00
1: ACS ACR1281 1S Dual Reader 00 01
2: ACS ACR1281 1S Dual Reader 00 02
Fri Jun 23 17:40:22 2017
Reader 0: ACS ACR1281 1S Dual Reader 00 00
Card state: Card removed,
Reader 1: ACS ACR1281 1S Dual Reader 00 01
Card state: Card removed,
Reader 2: ACS ACR1281 1S Dual Reader 00 02
Card state: Card removed,
^C
[root@host-93 ~]# ls -la /usr/bin/java
lrwxrwxrwx 1 root root 37 июн 22 17:08 /usr/bin/java -> /etc/alternatives/links/|usr|bin|java
[root@host-93 ~]# ls -la '/etc/alternatives/links/|usr|bin|java'
lrwxrwxrwx 1 root root 30 июн 23 13:36 /etc/alternatives/links/|usr|bin|java -> /usr/java/jre1.7.0_80/bin/java
[root@host-93 ~]#
Но при попытке сделать подобное на Ubuntu — получается болт.
root@tk16:~# cat /etc/debian_version
stretch/sid
root@tk16:~# uname -a
Linux tk16 4.8.0-36-generic #36~16.04.1-Ubuntu SMP Sun Feb 5 09:39:41 UTC 2017 i686 i686 i686 GNU/Linux
Версии и методы установки Java, Firefox, pcsc, драйверов полностью аналогичные.
mkdir /usr/java
wget http://ftp.osuosl.org/pub/funtoo/distfiles/oracle-java/jre-7u80-linux-i586.tar.gz
mv jre-7u80-linux-i586.tar.gz /usr/java/
cd /usr/java/
tar xf jre-7u80-linux-i586.tar.gz
rm jre-7u80-linux-i586.tar.gz
mkdir -p /usr/lib/mozilla/plugins
cd /usr/lib/mozilla/plugins
ln -s /usr/java/jre1.7.0_80/lib/i386/libnpjp2.so
rm libjavaplugin.so
ln -s /usr/java/jre1.7.0_80/lib/i386/libnpjp2.so libjavaplugin.so
apt-get install libpcsclite-dev libpcsclite1 libacsccid1 libasedrive-serial libasedrive-usb libccid libhbalinux-dev opensc pcsc-tools
service pcscd restart
systemctl enable pcscd
cd ~
wget https://ftp.mozilla.org/pub/firefox/releases/38.4.0esr/linux-i686/ru/firefox-38.4.0esr.tar.bz2
tar xf firefox-38.4.0esr.tar.bz2
mv firefox /usr/local/
mv /usr/bin/firefox /usr/bin/firefox-old
ln -s /usr/local/firefox/firefox /usr/bin/firefox
ln -sf /usr/java/jre1.7.0_80/bin/* /usr/bin
Естественно запустить jcontrol и прописать в Security адрес сайта и Security Level — Medium я не забыл.
root@tk16:~# systemctl status pcscd
● pcscd.service - PC/SC Smart Card Daemon
Loaded: loaded (/lib/systemd/system/pcscd.service; indirect; vendor preset: enabled)
Active: inactive (dead) since Пт 2017-06-23 17:54:45 MSK; 6s ago
Process: 2486 ExecStart=/usr/sbin/pcscd --foreground --auto-exit (code=exited, status=0/SUCCESS)
Main PID: 2486 (code=exited, status=0/SUCCESS)
июн 23 17:53:42 tk16 systemd[1]: Started PC/SC Smart Card Daemon.
июн 23 17:53:42 tk16 pcscd[2486]: 00000000 readerfactory.c:1043:RFInitializeReader() Open Port 0x0 Failed (/dev/ttyS3)
июн 23 17:53:42 tk16 pcscd[2486]: 00000013 readerfactory.c:335:RFAddReader() ASEDriveIIIe Serial Reader init failed.
июн 23 17:53:42 tk16 pcscd[2486]: 00422509 commands.c:250:CmdPowerOn Card absent or mute
июн 23 17:53:42 tk16 pcscd[2486]: 00018834 commands.c:250:CmdPowerOn Card absent or mute
июн 23 17:53:42 tk16 pcscd[2486]: 00000326 ifdhandler.c:1415:IFDHPowerICC() PowerUp failed
июн 23 17:53:42 tk16 pcscd[2486]: 00000193 eventhandler.c:304:EHStatusHandlerThread() Error powering up card: -2146435050 0x80100016
root@tk16:~# pcsc_scan
PC/SC device scanner
V 1.4.25 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.8.14
Using reader plug'n play mechanism
Scanning present readers...
0: ACS ACR1281 1S Dual Reader 00 00
1: ACS ACR1281 1S Dual Reader 00 01
2: ACS ACR1281 1S Dual Reader 00 02
Fri Jun 23 17:53:43 2017
Reader 0: ACS ACR1281 1S Dual Reader 00 00
Card state: Card removed,
Reader 1: ACS ACR1281 1S Dual Reader 00 01
Card state: Card removed,
Reader 2: ACS ACR1281 1S Dual Reader 00 02
Card state: Card inserted, Unresponsive card,
^C
root@tk16:~# ls -al /usr/bin/java
lrwxrwxrwx 1 root root 30 июн 23 16:57 /usr/bin/java -> /usr/java/jre1.7.0_80/bin/java
В общем полностью аналогичная с AltLinux установка, но ничего из этого не получается.
Ладно бы помогла бы установка других Java, Firefox и пр., но это не помогает. Проверяю уже это всё 2 недели и ничего не меняется.
На Windows, к слову, тоже нормально запускается. Но ну его подальше этот Windows.
Подскажите, есть ли у Вас идеи, в чем может быть проблема конкретно в Ubuntu?
P.S. apt-get update && apt-get upgrade ситуацию не меняет. Проверено.