Instalando Token do Banco do Brasil em kernel 3.15 ou superior. NOVO!

22 de janeiro de 2015

Token Banco do Brasil

Atualizado em 28/03/2018

Olá, quem vos escreve é o Bruno Gonçalves, continuo com preguiça de criar meu próprio blog, então o Tales me empresta o blog quando quero passar alguma dica.

O Banco do Brasil desde janeiro de 2015 parece estar se esforçando cada vez mais para dificultar o acesso através do Linux, utilizar o Token é quase impossível, porém aqui vamos simplificar bastante o processo.

Instale o arquivo, bbtokentool_1.0.0-3_all_v1.0.deb, que vem incluso no próprio Token, ou baixe o arquivo nesse endereço: http://www.watchdata.com/brazil/BBtoken/soft/bbtokentool_1.0.0-3_all.deb

Lembre que além dos passos a seguir também é necessário possuir o Java instalado no sistema.

 

Solução rápida

Após ter instalado o pacote: bbtokentool_1.0.0-3_all.deb, baixe e instale o pacote de correção que faz o DRIVER do bbtokentool funcionar em sistemas com kernel mais recente que a versão 3.15: http://biglinux.c3sl.ufpr.br/packages/unstable/main/bbtoken-fix_1.0.0-1big1_all.deb

Ainda é necessário instalar dois complementos que permitem o funcionamento no site do Banco do Brasil, baixe os 2 arquivos a seguir, de acordo com o sistema em uso, seja 32 ou 64 bits. Após o download feche o navegador Firefox, instale os 2 arquivos e então abra o Firefox e acesse o Banco do Brasil.

Para 32 bits:
Modulo Warsaw para BigLinux, Debian, Ubuntu e derivados em versão 32 bits
Módulo de assinatura para BigLinux, Debian, Ubuntu e derivados em versão 32 bits

Para 64 bits:
Modulo Warsaw para  BigLinux, Debian, Ubuntu e derivados em versão 64 bits
Módulo de assinatura para BigLinux, Debian, Ubuntu e derivados em versão 64 bits

 

Instale o plugin do Flash para utilizar no Firefox:

Para isso abra o gerenciador de pacotes, por exemplo, o synaptic e instale o pacote libflashplugin.

Outra opção é instalar com o comando: sudo apt-get install libflashplugin

Ao acessar a página do Banco veja o ícone que parece um bloco de lego antes do cadeado verde, clique no mesmo e permita o uso do Flash Player.

 

Agora seu Token já está funcionando!


Explicação detalhada

Utilizei o arquivo .deb que vem incluso no token do BB e não o do site, porém tudo indica ser o mesmo pacote.

Após instalar o pacote, abra o arquivo: /usr/src/wdtoken-1.0.0/wdtoken.c

Substitua a linhas 457 e 611
Uma com o conteúdo: interruptible_sleep_on_timeout (&usbreader->wait,RETRY_TIMEOUT);
E a outra com o conteúdo: interruptible_sleep_on_timeout (&usbreader->wait, RETRY_TIMEOUT);

Sim, as linhas são iguais, porém em uma antes do RETRY existe um espaço vazio, isso não interfere no código, portanto se você for efetuar a troca da linha usando sed observe essa pequena diferença.

E substitua cada uma das duas linhas por essa aqui: msleep_interruptible (RETRY_TIMEOUT);
Pronto, agora é só salvar o arquivo e compilar.
Para a compilação recomendo utilizar o dkms que já está incluso no pacote, com esses 2 comandos:

/usr/src/wdtoken-1.0.0/dkmsinstaller uninstall
/usr/src/wdtoken-1.0.0/dkmsinstaller install

Adição extra que torna compatível também com kernel 4.11 ou superior:
Inclua a seguinte linha junto aos outros includes no início do arquivo: /usr/src/wdtoken-1.0.0/wdtoken.c

#include <linux/sched/signal>

Agora você pode executar novamente o daemon do token e tudo deve estar funcionando.

Nas versões mais recentes do Ubuntu e Debian o sistema de inicialização foi trocado para o systemd, porém o pacote do token do Banco do Brasil não está preparado para funcionar com esse sistema, portanto para contornar essa situação criamos o arquivo para tornar compatível e ativamos esse arquivo, para isso copie e cole o código a seguir no terminal:

 

echo '[Unit]
Description=bbtoken

[Service]
Type=forking
ExecStartPre=/etc/init.d/wd_udk start
ExecStart=/usr/lib/watchdata/tools/WdkmgrServer
Restart=always
RestartSec=10s

[Install]
WantedBy=multi-user.target'| sudo tee /etc/systemd/system/bbtoken.service

systemctl enable bbtoken
sudo service bbtoken start

 

Pronto, agora todos os problemas de uso do token do Banco do Brasil foram contornados, essas informações foram testadas no Ubuntu 16.04 e BigLinux 7.10.