Instalação driver placa Pci Express paralela

Iniciado por vitorhdsouza, 08 de Setembro de 2015, 10:01

tópico anterior - próximo tópico

vitorhdsouza

Pessoal, bom dia!

Estou voltando ao mundo Linux e estou bem enferrujado, e logo de cara com uma bucha que preciso muito de ajuda.

Preciso fazer funcionar uma impressora matricial paralela modelo Bematech MP20 em uma distro Ubuntu 12.04LTS Kernel 3.13.0-62-generic, para impressão de cupons. O detalhe é que as maquinas são novas é não tem saída paralela, para resolver esta situação foram compradas placas PCI Express modelo F2211hw e agora não consigo faze-las funcionar.

Junto da placa veio um driver para linux com as seguintes instruções:

D.1 Driver install
Please create a directory under root directory, e.g /temp, do commands:

# cd /
# mkdir temp

After get driver file "wch_vx.x.x.x.tar.gz". Copy file to /temp
directory, then extract and install, do commands:

# cp wch_vx.x.x.x.tar.gz /temp
# cd /temp
# tar xvfz wch_vx.x.x.x.tar.gz
# cd /temp/wch
# make clean ; make install

*************************************************************
* If system is Suse 9.0 and errors occur when *
* "make clean ; make install", do commands: *
* *
* # cd /usr/src/linux/ *
* # make cloneconfig *
* # make dep *
* *
* then do "make clean ; make install" again in /temp/wch   *
*************************************************************

Load driver module, do command:

# modprobe wch
or
# insmod /temp/wch/driver/wch.ko (wch.o for kernel 2.4)

Check driver module, do command:
# lsmod | grep wch

Unload driver, do command:
# rmmod wch

Mas quando dou o comando make clean, o sistema retorna isso:

cd driver;\
make clean
make[1]: Entrando no diretório `/home/caixa1/driver pci/driver'
rm -f *~
rm -f *.o
rm -rf ./.tmp_versions
rm -f *.mod*
rm -f *.ko
rm -f .snx*
rm -f wch
rm -f Module*
rm -f module*
rm -f /lib/modules/3.13.0-62-generic/kernel/drivers/char/wch.ko
rm -f /lib/modules/3.13.0-62-generic/misc/wch.ko
make[1]: Saindo do diretório `/home/caixa1/driver pci/driver'
cd wchdump;\
make clean;
make[1]: Entrando no diretório `/home/caixa1/driver pci/wchdump'
rm -f wchdump
rm -f *~ *.o
make[1]: Saindo do diretório `/home/caixa1/driver pci/wchdump'
cd wchterm;\
make clean;
make[1]: Entrando no diretório `/home/caixa1/driver pci/wchterm'
rm -f wchterm
rm -f *~ *.o
make[1]: Saindo do diretório `/home/caixa1/driver pci/wchterm'
cd wchmknod;\
rm -f *~
rm -f *~

e quando executo o comando make install retorna isso:

cd driver;\
make install
make[1]: Entrando no diretório `/home/caixa1/driver pci/driver'
make -C /lib/modules/3.13.0-62-generic/build SUBDIRS=/home/caixa1/driver pci/driver modules
make[2]: Entrando no diretório `/usr/src/linux-headers-3.13.0-62-generic'
make[2]: *** Sem regra para processar o alvo `pci/driver'. Pare.
make[2]: Saindo do diretório `/usr/src/linux-headers-3.13.0-62-generic'
make[1]: ** [modules] Erro 2
make[1]: Saindo do diretório `/home/caixa1/driver pci/driver'
make: ** [driver_install] Erro 2

Alguém por favor, poderia me dar uma ajuda? Desculpem o texto gigante mas tentei ser o mais detalhado possível.

Obrigado.

galactus

#1
Olá!

É bucha mesmo amigo!

Você já instalou os pacotes básicos de desenvolvimento para poder compilar?

build-essential
gfortran
gawk
mawk


Entre outros?

Nossa, 12.04!!! Seus repositórios ainda estão ativos???? Acho que não né!  Não pode usar o 14.04.3?

Qual o modelo e marca desta placa PCI Express com porta Paralela? 

Geralmente quando vem um arquivo fonte para ser compilado, pode vir junto um arquivo com instruções de como compilar o mesmo, indicando inclusive as dependências para essa compilação em questão.  Não existe tal arquivo aí?  Tipo um makefile ou readme?

Se não tiver, já tentou usar o ./configure   antes do make install? Para poder verificar todas as dependências para compilar esse driver!

Outra coisa, usar o make install apenas pode te dar uma dor de cabeça dos diabos depois!  É que ele não vai criar um pacote binário para facilitar sua vida para instalar e remover isso depois, se algo der errado!

Já pensou em utilizar o checkinstall?

Tô falando grego pra você?

Leia isso então por favor: https://help.ubuntu.com/community/CheckInstall


Obs.:  Não se esqueça de ter os repositórios fontes ativos!!!

Obs. 2:  Mais bucha!  Mesmo que esse driver seja instalado, não quer dizer que a impressora vai funcionar!  Já viu como ela funciona no Ubuntu?  Parece que também não é algo trivial!
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

vitorhdsouza

Obrigado pela atenção galactus!

O 12.04 é porque os programas que usamos são homologados para essa versão então estou tentando manter ele mas em paralelo instalei em outra partição o  14.04 e continuamos na luta.

Pra falar a verdade estou bem perdido, a placa é embalada por uma empresa chamada Flexport o modelo é Paralela PCIe F2211hw no CD que acompanha a placa diz que Linux com Kernel acima da versão 2.4.31 reconhece automaticamente, sendo desnecessária a instalação de drivers. Mas não é bem assim pelo menos comigo o sistema tanto no 12.04 quanto no 14.04 não reconheceu e em contato com esta empresa me enviaram um driver com um readme que descrevi quando abri este tópico. No driver enviado constam com os seguintes arquivos:

> driver
     > Makefile
     > wch_common.h
     > wch_devtable.c
     > wch_main.c
     > wch_serial.c

> wchdump
     > Makefile
     > wchdump.c

> wchmknod
     > wchmknod

> wchterm
     > Makefile
     > wchterm.c
     > wchterm.h

Makefile
README

Executei os comandos na raiz da pasta e não sei o se devo executar nas outras pastas. Bom se puderem me dar mais alguma dica, ficarei agradecido. Muito obrigado.

Um abraço.

Tota

Citar...modelo é Paralela PCIe F2211hw no CD que acompanha a placa diz que Linux com Kernel acima da versão 2.4.31 reconhece automaticamente, sendo desnecessária a instalação de drivers. Mas não é bem assim pelo menos comigo o sistema tanto no 12.04 quanto no 14.04 não reconheceu ....

Ola,

Só para ajudar:

Você confirmou então que pelo resultado de lspci sua placa não foim identificada.

Olhou o resultado do seu dmesg e confirmou isto.

recomendo então, ir ao local de compra e trocar esta placa, pois deve ter algum defeito. no minimo ela seria reconhecida como "unknown device" e aparecer em algum log de carregamento.

aliado a isto, os modulos de porta paralela não vêm há muito inseridos no kernel do Ubuntu.

Verifique no seu lsmod se o modulo parport foi carregado, sem o que sua placa não funcionará mesmo.

Depois de tudo ok, veja os tópicos sobre impressoras bematech aqui do fórum, elas não são fáceis de imprimir e requerem alguns códigos para isto.

Boa sorte.

druidaobelix

#4
Apenas uma observação adicional, já que não custa alertar: suponho que você tenha verificado a placamãe desses computadores, digo isso porque algumas motherboards embora não tenham conectores no painel traseiro, o que é uma questão de economia dado ao pouco uso atual, ainda assim possuem um conector interno integrado à motherboard, o que se existir então é o caso de apenas ligar um cabo com o conector paralelo e verificar se a porta paralela está ativada no BIOS, sem necessidade de qualquer placa pci adaptadora anexada.

Na verdade a placa em questão é uma PCIe 1 paralela (DB25F), vi lá no site da Flexport que, segundo eles dizem, o chipset dessa placa é um WCH382L, e pelo que andei vendo por aí parece que corresponde ao device 1c00:3050, mas é um dado a confirmar.

Em todo caso, com a placa espetada, faz o comando lspci como proposto acima pelo /Tota/ e cola aqui o resultado para podermos ver como está a identificação.

lspci -nnk

Se na lista que se segue aparecer identificada a placa em questão, então para obter mais informações, em relação a ela faça e igualmente traga aqui o resultado para:


sudo lspci -vvx -d [vendor:device]

por exemplo, se o vendor-device da placa que o primeiro comando mostra for de fato 1c00:3050 (ou qualquer outro que apareça aí), então fica assim:

sudo lspci -vvx -d 1c00:3050

Como igualmente sugerido, não deixe de analisar também o dmesg para verificar a carga. Se quiser segmentar a análise, pode fazer algo como:

dmesg | grep -i pci

www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

vitorhdsouza

Pessoal muito obrigado pelas respostas, acabei trocando a placa para uma de modelo F2211e com Chipset Oxford OxPCIe952.

Essa o sistema reconheceu automaticamente. Mas agora como disse nosso amigo galactus, bucha 2...

Fazer essa impressorinha imprimir também não está sendo fácil, mas estamos na luta. Se alguém tiver alguma dica por favor fiquem a vontade. Muito

obrigado pela atenção.

druidaobelix

Pelo que vi lá no site da Bematech nas miniprinters e impressoras fiscais só há driver Linux para os modelos MP-2100 TH e MP-4000 TH.

http://www.bematech.com/en/support/default.asp
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

Tota

Citar
Fazer essa impressorinha imprimir também não está sendo fácil, mas estamos na luta. Se alguém tiver alguma dica por favor fiquem a vontade.

Bem. Agora você conectou a impressora.

Com ela desligada,  digite em terminal sudo dmesg

Ligue a impressora e repita o comando.

Você verá como a impressora.foi reconhecida pelo sistema.

Como a bematech não fabrica impressoras, ela importa e vende com o nome bematech, pode ser que o dmesg ajude em algo.

Veja também em terminal com o comando lsmodse o módulo com nome parport está instalado.

Ppste os resultados.