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.