Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Ubuntu 16.04 Наладка Firefox+Java+pcsc  (Прочитано 1965 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн PIKNIK

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Ubuntu 16.04 Наладка Firefox+Java+pcsc
« : 23 Июня 2017, 18:08:09 »
Добрый день!

Пытаюсь наладить на 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.bz2
Java 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 ситуацию не меняет. Проверено.

Оффлайн PIKNIK

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
[SOLVED] Ubuntu 16.04 Наладка Firefox+Java+pcsc
« Ответ #1 : 04 Июля 2017, 15:55:06 »
Метод тыка помог:

Как выяснилось всё дело в библиотеке libpcsclite.so
В AltLinux она лежит в каталоге /usr/lib и java ожидает найти его там. И находит.
А в Ubuntu она лежит в /usr/lib/i386-linux-gnu/ и в итоге java найти его не может и поэтому считыватель электронных карт не работает.

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

Решение:
cd /usr/lib/
ln -s /usr/lib/i386-linux-gnu/libpcsclite.so

После этого всё заработало как надо.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Ubuntu 16.04 Наладка Firefox+Java+pcsc
« Ответ #2 : 08 Июля 2017, 04:18:56 »
А почему вы пользуетесь 32-битной Явой?…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.065 секунд. Запросов: 24.