Autor Tópico: Instalando leitora SmartNonus (Castles EZ100PU) no Ubuntu 12.04  (Lida 5383 vezes)

Offline jorgepoa10

  • Usuário Ubuntu
  • *
  • Mensagens: 1
    • Ver perfil
Instalando leitora SmartNonus (Castles EZ100PU) no Ubuntu 12.04
« Online: 02 de Novembro de 2012, 18:25 »
Este tutorial tem como objetivo ensinar como configurar a leitora SmartNonus (www.nonus.com.br/SmartCard.htm) no Ubuntu 12.04 (o procedimento provavelmente funciona em versões anteriores), para uso em certificados digitais tipo A3.

Das leitoras que afirmam ser compatíveis com Linux, esta é uma das mais baratas. A fabricante é taiwanesa (www.casauto.com.tw), sendo possível achar os drivers em ambos os sites (modelo Castles EZ100PU).

O manual diz que deve haver a instalação da middleware "PC-SC Lite", remetendo para o site www.linuxnet.com/middle.html. Diz também que o software deve ser compilado com a opção libusb. Ocorre que há várias versões, e nenhum tem pacotes .deb. Compilando da fonte, mesmo com esta opção, tive alguns problemas, especialmente quanto à integração com o sistema. Pessoalmente, prefiro ter pacotes dos repositórios oficiais, que são mais estáveis.

O pacote correspondente no Ubuntu é o pcsd, que está na versão 1.7.4, sendo possível instalá-lo pelo apt-get. Ocorre que ele não é instalado com a opção libusb. A melhor saída que encontrei foi alterar o código fonte do pacote oficial.

Código: [Selecionar]
sudo apt-get devscripts build-essential fakeroot
sudo apt-get build-dep pcscd
sudo apt-get source pcsd

Este último comando vai baixar o código fonte na pasta em que você está, criando uma pasta "pcsc-lite-1.7.4". Precisamos agora editar o arquivo rules

Código: [Selecionar]
cd pcsc-lite-1.7.4/debian/
sudo gedit rules
No arquivo rules, altere a linha

Código: [Selecionar]
dh_auto_configure -- $(EXTRA_CONFIGURE_ARGS)
para

Código: [Selecionar]
dh_auto_configure -- --enable-libusb --disable-libudev $(EXTRA_CONFIGURE_ARGS)
Isto fará com que o pacote .deb instale o pacote com a opção que precisamos.

Volte para a pasta pcsc-lite-1.7.4 e recompile o pacote

Código: [Selecionar]
dpkg-buildpackage -b -j4 -D
Isto criará os arquivos pcscd_1.7.4-2ubuntu2_i386.deb e libpcsclite1_1.7.4-2ubuntu2_i386.deb. Instale-os
Código: [Selecionar]
sudo dpkg -i libpcsclite1_1.7.4-2ubuntu2_i386.deb
sudo dpkg -i pcscd_1.7.4-2ubuntu2_i386.deb

Agora, é só seguir as instruções do fabricante. Baixe os drivers, descompacte e acesse a pasta driver_ezusb_v1.5.3. Rode o script de checagem

Código: [Selecionar]
./check_env
Se estiver tudo ok, ele reconhecerá o pacote que instalamos, com a opção libusb. Agora é só instalar.

Código: [Selecionar]
sudo ./install
Se der tudo certo, o cartão já será reconhecido com o seguinte comando
Código: [Selecionar]
pcsc_scan (necessário instalar antes o pacote pcsc_tools)

O output deve ser semelhante a este
Código: [Selecionar]
Using reader plug'n play mechanism
Scanning present readers...
0: CASTLES EZ100PU 00 00

Um problema recorrente é que ao reiniciar o computador, o cartão não é reconhecido porque o processo pcscd é iniciado sem privilégios de root.

Para resolver este problema definitivamente, é preciso alterar o arquivo /etc/init.d/pcscd

Código: [Selecionar]
sudo gedit /etc/init.d/pcscd
Basta comentar a linha "exit 0", colocando um # na frente, ou simplesmente excluí-la.