Discuta este tópico no fórum

Se este conteúdo te ajudou, deixe um presente!

quinta-feira, 29 de outubro de 2015

OpenWRT: nova versão do sane-backends e hplip para OpenWRT

Mais um artigo da série sobre o OpenWRT.

Uma das mudanças da nova versão do OpenWRT é que a política de gerenciamento dos pacotes foi renovada. Agora todos tem um mantenedor. Os pacotes que não ganharam um pai não foram compilados na nova versão. Então, não estranhe se ao atualizar o seu roteador e tentar reinstalar um pacote, um ou outro pacote estiver faltando.


E o que fazer se você queria aquele pacote? Que tal adotá-lo você mesmo? Fui o que fiz para o sane-backends. Este artigo é sobre as melhorias feitas neste pacote que fornece a infraestrutura para acesso a scanners. A configuração para transformar um scanner normal em um scanner de rede já foi tema anterior deste blog.

Um dos grandes problemas que o pacote anterior tinha era a exigência de espaço para instalá-lo. Além de conter todos os drivers, ele dependia do CUPS, que não é lá muito pequeno. O ideal para quem for portar algo para o OpenWRT é tentar isolar os recursos em pequenos pacotes para que o usuário possa instalar somente o que ele vai usar. Não era a situação anterior deste pacote.

O sane-backends era dividido em:
  • sane-backends: continha todos os executáveis (incluindo o daemon) e configurações;
  • sane-libs: tudo que era uma biblioteca, includindo os drivers e a biblioteca base;
  • sane-frontends: clientes simples do sane;
O problema desta estrutura é que ela separa tipo de arquivo (configuração e executáveis, bibliotecas) e não funcionalidades. O sane-libs não vivia sem o sane-backends e todos os backends (drivers) estavam juntos. Para quem fosse usar o hplip (para scanners HP), nenhum backend era usado. Fora este desperdício, ainda temos a dependência ao CUPS (que é relacionado a impressoras e não diretamente a scanners). Então, para usar o scanner no OpenWRT, era quase requisito aumentar o disco com uma unidade externa. Simplesmente não cabia em uma flash de 8MB.

O primeiro passo foi juntar o sane-libs e o sane-backends e dividí-los por funcionalidade. No caso, temos a biblioteca básica (libsane), que todos os clientes e backends usam, o daemon usado para acesso de clientes remotos e os diversos backends, que são compostos de um módulo (implementado como uma biblioteca - extensão .so) e um arquivo de configuração.

Na nova modelagem, o pacote ficou dividido em:
  • libsane: apenas a biblioteca básica do sane, usada por todos os drivers (inclusive o hplip);
  • sane-daemon: inclui apenas o daemon do sane e suas configurações, depende da libsane; 
  • sane-<xxx>: onde <xxx> é um backend. Possui dependência particular de cada pacote;
  • sane-backends-all: metapacote que instala todos os backends;
  • sane-frontends: clientes simples do sane (igual a versão anterior).
Foram feitos alguns patches de melhorias para retirar a dependência do CUPS (era usado somente para localizar um tipo de scanner), reduzir a dependência entre bibliotecas e mais um bom tanto de ajustes relacionados a compilação em arquiteturas diferentes usando uma libc diferente (uclibc e musl). Algumas das correções foram enviadas ao projeto do SANE e já integram atualmente a versão estável do sane!

Resultado? O básico do sane pode ser instalado com algo em torno de 70 Kbytes (fora a dependência da libusb). Esta nova versão proposta estará na nova versão do OpenWRT (DD) ainda em desenvolvimento neste momento. Se quiser usá-la imediatamente em versões anteriores, tenho um repositório próprio com uma seleta de pacotes para algumas arquiteturas em http://luizluca.github.io/openwrt/.

E se eu tenho uma multifuncional HP, como faço com a hplip? Também temos uma nova versão proposta da hplip no repositório que mencionei acima. Este, além de atualizar a versão, o que antes era apenas um pacote foi dividido em:
  • hplip-common: bibliotecas usadas por ambos os próximos pacotes;
  • hplip-sane: backend sane. Se for usar apenas a impressora e não o CUPS no roteador, só vai precisar deste. A impressora ainda pode ser usada sem o driver pelo p910nd;
  • hplip-cups: o driver para o cups. Somente este pacote depende do CUPS.
Mesmo o hplip-sane precisava do CUPS para localizar scanners de rede. Assim como no sane-backends, esta funcionalidade foi removida por um patch para não deixar a dependência. Isto retira uma funcionalidade de buscar scanners em impressoras na rede. Porém, não fazia muito sentido o roteador buscar um scanner que já está na rede para, novamente, disponibilizá-lo na rede. Neste caso, o cliente deve conversar diretamente com a impressora e não utilizar o roteador. O foco do uso do OpenWRT é justamente transformar uma impressora/scanner local em um equipamento de rede.

Todavia, existe ainda uma questão a ser resolvida para as versões CC e DD: ninguém adotou o CUPS. Desta forma, ele não está disponível. Ainda vou ver o que eu posso fazer quanto a isto, se tento eliminar o hplip-cups, adotar o pacote do cups ou esperar que alguém o adote. Provavelmente vou disponibilizar os pacotes do hplip-sane para as novas versões no meu repositório.

Se pintar um problema, tem sempre o fórum deste blog. Até a próxima.

55 comentários:

  1. estou com problemas com meu tplink n750 nao conecta via lan somente wan.. o que fazer.

    ResponderExcluir
    Respostas
    1. Luciano, abre um tópico no fórum.
      Adiantando, o mais fácil é zerar a conf e começar de novo

      Excluir
  2. Luiz,
    Primeiramente, obrigado por compartilhar seu conhecimento com todos nós.
    Para mim, os pacotes funcionaram perfeitamente. Instalei em um TP-LINK 4300 com CC e uma multifuncional Canon Pixma 190.
    Uma dúvida: há necessidade em instalar o pacote sane-frontends?
    Parabéns pelo trabalho. Abraços

    ResponderExcluir
    Respostas
    1. Célio,

      Frontend não é necessário no roteador. Basta ter o frontend no seu computador. Instalá-lo no roteador só se quiser disparar o escaneamento pelo SSH e salvar no roteador.

      Excluir
    2. Ok, obrigado.

      Excluir
  3. oi Luiz muito bom seu tópicos, eu estou com uma duvida sobre um tipo de conexão, é possível fazer com que o openwrt faça uma conexão wwan com um hotsport com captive portal, fiz uma pesquisa e não encontrei um meio já pronto no openwrt você pode me dá uma dica se existe uma solução ?

    ResponderExcluir
    Respostas
    1. Caique,

      https://wiki.openwrt.org/doc/howto/wireless.overview#captive_portal_software_available_in_the_openwrt_repository
      https://wiki.openwrt.org/doc/howto/wireless.hotspot.wifidog

      Excluir
  4. Agora entendi porque não estava conseguindo instalar o sane nem o hplip de forma correta.

    O seu repositório do Chaos Calmer não tem os packages prontos para instalação :'(

    Tentei instalar usando a versão Barrier Breaker mas não funcionou como deveria (até achou a scanner no sane-find-scanner e no scanimage-L, porém ao digitar scanimage-T dá I/O error).

    Alguma ideia?

    ResponderExcluir
    Respostas
    1. Devo ter apagado em uma atualização...ou nem os tinha publicado esperando o cups.
      A esperança era ter o hplip no repositório oficial. Porém, sem o cups lá, não posso oficializar o hplip.

      Antes tarde que mais tarde. Recompilado e publicado! Adiantando, a versão para 15.05 deve funcionar para 15.05.1.

      Excluir
  5. Não sei exatamante o que está ocorrendo.
    Quando instalo o sane-frontends e executo o sane-find-scanner e o scanimage -L ambos os comandos retornam o nome da impressora e tals. Mas quando mando um scanimage -T aparece:

    scanimage: open of device hpaio:/usb/HP_LaserJet_Professional_M1132_MFP?serial=000000000SS17TR2PR1a failed: Error during device I/O

    Já desinstalei o HPLIP do repositório 14.07 e instalei o novo do 15.05 e mesmo assim acontece o mesmo erro :(

    ResponderExcluir
    Respostas
    1. Meu syslog está apresentando que a impressora foi desconectada, assim que realizo testes com o sane (usblp0 removed):

      Wed Mar 30 13:13:40 2016 user.info syslog: io/hpmud/musb.c 970: removed HP-MARVELL-SCAN channel=21 clientCnt=0 channelCnt=0
      Wed Mar 30 13:13:50 2016 user.info syslog: io/hpmud/musb.c 426: Found interface conf=0, iface=0, altset=0, index=1
      Wed Mar 30 13:13:50 2016 user.info syslog: io/hpmud/musb.c 388: Active kernel driver on interface=0 ret=0
      Wed Mar 30 13:13:50 2016 user.info syslog: io/hpmud/musb.c 531: claimed 7/1/2 interface
      Wed Mar 30 13:13:50 2016 user.info syslog: io/hpmud/musb.c 775: read actual device_id successfully fd=1 len=150
      Wed Mar 30 13:13:50 2016 user.info syslog: io/hpmud/musb.c 557: released 7/1/2 interface
      Wed Mar 30 13:13:50 2016 user.info syslog: io/hpmud/musb.c 955: new HP-MARVELL-SCAN channel=21 clientCnt=1 channelCnt=1
      Wed Mar 30 13:13:50 2016 user.info syslog: io/hpmud/musb.c 426: Found interface conf=0, iface=2, altset=0, index=7
      Wed Mar 30 13:13:50 2016 user.info syslog: io/hpmud/musb.c 388: Active kernel driver on interface=2 ret=0
      Wed Mar 30 13:13:50 2016 user.info syslog: io/hpmud/musb.c 531: claimed ff/ff/ff interface
      Wed Mar 30 13:13:50 2016 user.err syslog: common/utils.c 188: unable to load library libm.so: File not found
      Wed Mar 30 13:13:50 2016 user.err syslog: common/utils.c 188: unable to load library libm.so.6: File not found
      Wed Mar 30 13:13:50 2016 user.err syslog: common/utils.c 220: Invalid Library hanlder pLibHandler = NULL.
      Wed Mar 30 13:13:50 2016 user.err syslog: common/utils.c 220: Invalid Library hanlder pLibHandler = NULL.
      Wed Mar 30 13:13:50 2016 user.info syslog: io/hpmud/musb.c 557: released ff/ff/ff interface
      Wed Mar 30 13:13:50 2016 user.info syslog: io/hpmud/musb.c 970: removed HP-MARVELL-SCAN channel=21 clientCnt=0 channelCnt=0
      Wed Mar 30 13:14:27 2016 lpr.notice p9100d[1179]: Connection from 192.168.1.170 port 50317 accepted
      Wed Mar 30 13:14:27 2016 lpr.err p9100d[1179]: /dev/usb/lp0: No such file or directory
      Wed Mar 30 13:14:27 2016 lpr.err p9100d[1179]: /dev/usb/lp0: No such file or directory, will try opening later
      Wed Mar 30 13:14:37 2016 lpr.err p9100d[1179]: /dev/usb/lp0: No such file or directory
      [......]


      e o dmesg:
      [ 32.370000] random: nonblocking pool is initialized
      [ 312.800000] EXT4-fs (sda2): error count since last fsck: 1
      [ 312.800000] EXT4-fs (sda2): initial error at time 1459273782: ext4_mb_generate_buddy:757
      [ 312.810000] EXT4-fs (sda2): last error at time 1459273782: ext4_mb_generate_buddy:757
      [ 393.380000] usblp0: removed
      [ 978.170000] usb 1-1.1: USB disconnect, device number 3
      [ 1003.750000] usb 1-1.1: new high-speed USB device number 5 using ehci-platform
      [ 1003.860000] usb-storage 1-1.1:1.0: USB Mass Storage device detected
      [ 1003.880000] scsi host1: usb-storage 1-1.1:1.0
      [ 1004.920000] usb 1-1.1: USB disconnect, device number 5
      [ 1006.310000] usb 1-1.1: new high-speed USB device number 6 using ehci-platform
      [ 1006.420000] usblp 1-1.1:1.0: usblp0: USB Bidirectional printer dev 6 if 0 alt 0 proto 2 vid 0x03F0 pid 0x042A
      [ 1248.810000] usblp0: removed

      Ou seja: agora perdi a impressora e até o p910nd não pode imprimir, até eu ir atrás da impressora e remover o cabo e plugar novamente.

      Caramba, não sabia que o SANE dava tanto trabalho pra instalar :P

      Excluir
    2. Estou tendo o mesmo problema que esse cara:
      http://openbsd-archive.7691.n7.nabble.com/sane-backend-hplip-problem-finding-plugin-for-printer-td250335.html



      Wed Mar 30 14:01:11 2016 user.info syslog: io/hpmud/musb.c 426: Found interface conf=0, iface=0, altset=0, index=1
      Wed Mar 30 14:01:11 2016 user.info syslog: io/hpmud/musb.c 388: Active kernel driver on interface=0 ret=1
      Wed Mar 30 14:01:11 2016 user.info syslog: io/hpmud/musb.c 392: Detaching kernel driver on interface=0 ret=0
      Wed Mar 30 14:01:11 2016 user.info syslog: io/hpmud/musb.c 531: claimed 7/1/2 interface
      Wed Mar 30 14:01:11 2016 kern.info kernel: [ 5540.950000] usblp0: removed
      Wed Mar 30 14:01:11 2016 user.info syslog: io/hpmud/musb.c 775: read actual device_id successfully fd=1 len=150
      Wed Mar 30 14:01:11 2016 user.info syslog: io/hpmud/musb.c 557: released 7/1/2 interface
      Wed Mar 30 14:01:11 2016 user.info syslog: io/hpmud/musb.c 955: new HP-MARVELL-SCAN channel=21 clientCnt=1 channelCnt=1
      Wed Mar 30 14:01:11 2016 user.info syslog: io/hpmud/musb.c 426: Found interface conf=0, iface=2, altset=0, index=7
      Wed Mar 30 14:01:11 2016 user.info syslog: io/hpmud/musb.c 388: Active kernel driver on interface=2 ret=0
      Wed Mar 30 14:01:11 2016 user.info syslog: io/hpmud/musb.c 531: claimed ff/ff/ff interface
      Wed Mar 30 14:01:11 2016 user.err syslog: common/utils.c 188: unable to load library libm.so: File not found
      Wed Mar 30 14:01:11 2016 user.err syslog: common/utils.c 188: unable to load library libm.so.6: File not found
      Wed Mar 30 14:01:11 2016 user.err syslog: common/utils.c 220: Invalid Library hanlder pLibHandler = NULL.
      Wed Mar 30 14:01:11 2016 user.err syslog: common/utils.c 220: Invalid Library hanlder pLibHandler = NULL.
      Wed Mar 30 14:01:11 2016 user.info syslog: io/hpmud/musb.c 557: released ff/ff/ff interface
      Wed Mar 30 14:01:11 2016 user.info syslog: io/hpmud/musb.c 970: removed HP-MARVELL-SCAN channel=21 clientCnt=0 channelCnt=0

      Excluir
    3. Vamos por partes...

      Você está usando um cabo USB longo? Talvez é provocada quando a lâmpada do scanner liga. Isto provoca a "desconexão" da impressora. Você não precisa desconectar o cabo, só recarregar o módulo da impressora. Use este script no lugar do saned:

      /usr/sbin/saned "$@"
      rmmod usblp
      insmod /lib/modules/$(uname -r)/usblp.ko

      Quando as msgs de erro, 'unable to load library libm.so' e 'Invalid Library hanlder pLibHandler' são as partes feias. Você não andou contrabandeando algum pacote de outra versão, não é?

      Excluir
    4. Como disse eu estava usando o Hplip do seu repositório 14.07, mas assim que disponibilizou na versão 15.05 eu dei um opkg remove hplip-sane hplip-common, fui manualmente no /etc/ e deletei a pasta hp e na pasta /etc/saned.d/dll/ e deletei o arquivo hp de lá, depois removi seu repositório 14.07 e instalei o 15.05,opkg update, opkg install hplip-common hplip-sane e pronto.

      Esses erros não seriam erro na compilação do hplip não?

      Outra coisa, como saber se o sane está funcionando perfeitamente? Pelo jeito rodar o saned no ssh indica que já existe um saned ocupando a porta. Ao dar um saned - d5 ele fica aguardando procedimento, nessa hora vou no Windows e mando testar a conexão com a scanner e ao voltar no ssh vejo que meu PC foi autorizado. Então acho que o problema não é o sane e sim o hplip

      Excluir
    5. PS: Após a impressora se desconectar copiei esse comando ai e funcionou.
      Existe alguma forma de aprimorar ele para ficar no roteador e com 1 comando ele se executar? Ou automaticamente se executar caso detecte que a impressora foi desconectada?

      E tentei reinstalar o HPLIP e continua esses 2 mesmos erros. Acho que é por isso que a impressora está dando o open of device .... Error during device I/O pois o HPLIP que são os drivers não estão abrindo.

      Excluir
    6. Diego, faltava uma lib no repo (libsane). AI ele misturou coisas velhas e novas. Por favor, remova todos os pacotes do sane (incluindo o libsane) e hplip e reinstale.

      A ideia é criar um script ex: (/usr/bin/saned2) com o conteúdo que eu enviei.
      Este script deve ser usado em /etc/xinetd.d/sane-port. Só trocar o caminho do saned para o do seu script. Ele vai rodar depois de toda chamada do sane.

      Excluir
    7. Para todos os packages do seu repositório estavam dando:
      root@OpenWrt:~# opkg install http://luizluca.github.io/openwrt/15.05/ar71xx/pa
      ckages/libsane_1.0.25-1_ar71xx.ipk
      Downloading http://luizluca.github.io/openwrt/15.05/ar71xx/packages/libsane_1.0.25-1_ar71xx.ipk.
      Multiple packages (libsane and libsane) providing same name marked HOLD or PREFER. Using latest.
      Installing libsane (1.0.25-1) to root...
      Collected errors:
      * opkg_install_pkg: Package libsane sha256sum mismatch. Either the opkg or the package index are corrupt. Try 'opkg update'.
      * opkg_install_cmd: Cannot install package libsane.

      Ai usei --force-checksum para instalar, vou fazer os testes aqui.

      Existe alguma forma de orientar o opkg para instalar do seu repositório e não do chaos calmer? Porque se eu digito opkg install libsane ele busca do chaos calmer primeiro. Ai acabo que tenho que usar sua url após o comando install para ter certeza que ele vai instalar o do seu e não o dele.

      Excluir
    8. ** Agora que lembrei.
      Ao instalar os packages de novo do seu repositório não criou nenhuma arquivo em /usb/bin/saned2

      Excluir
    9. Mesmo usando o force e os packages sendo instalados, o erro continua o mesmo.

      Thu Mar 31 17:38:21 2016 daemon.debug saned[3659]: saned (AF-indep+IPv6) from sane-backends 1.0.25 starting up
      Thu Mar 31 17:38:21 2016 daemon.debug saned[3659]: check_host: access by remote host: 192.168.1.170
      Thu Mar 31 17:38:21 2016 daemon.debug saned[3659]: init: access granted to Diego@192.168.1.170
      Thu Mar 31 17:38:21 2016 daemon.info saned[3659]: io/hpmud/musb.c 426: Found interface conf=0, iface=0, altset=0, index=1
      Thu Mar 31 17:38:21 2016 daemon.info saned[3659]: io/hpmud/musb.c 388: Active kernel driver on interface=0 ret=1
      Thu Mar 31 17:38:21 2016 daemon.info saned[3659]: io/hpmud/musb.c 392: Detaching kernel driver on interface=0 ret=0
      Thu Mar 31 17:38:21 2016 daemon.info saned[3659]: io/hpmud/musb.c 531: claimed 7/1/2 interface
      Thu Mar 31 17:38:21 2016 kern.info kernel: [12729.370000] usblp0: removed
      Thu Mar 31 17:38:21 2016 daemon.info saned[3659]: io/hpmud/musb.c 775: read actual device_id successfully fd=1 len=150
      Thu Mar 31 17:38:21 2016 daemon.info saned[3659]: io/hpmud/musb.c 557: released 7/1/2 interface
      Thu Mar 31 17:38:21 2016 daemon.info saned[3659]: io/hpmud/musb.c 955: new HP-MARVELL-SCAN channel=21 clientCnt=1 channelCnt=1
      Thu Mar 31 17:38:21 2016 daemon.info saned[3659]: io/hpmud/musb.c 426: Found interface conf=0, iface=2, altset=0, index=7
      Thu Mar 31 17:38:21 2016 daemon.info saned[3659]: io/hpmud/musb.c 388: Active kernel driver on interface=2 ret=0
      Thu Mar 31 17:38:21 2016 daemon.info saned[3659]: io/hpmud/musb.c 531: claimed ff/ff/ff interface
      Thu Mar 31 17:38:21 2016 daemon.err saned[3659]: common/utils.c 188: unable to load library libm.so: File not found
      Thu Mar 31 17:38:21 2016 daemon.err saned[3659]: common/utils.c 188: unable to load library libm.so.6: File not found
      Thu Mar 31 17:38:21 2016 daemon.err saned[3659]: common/utils.c 220: Invalid Library hanlder pLibHandler = NULL.
      Thu Mar 31 17:38:21 2016 daemon.err saned[3659]: common/utils.c 220: Invalid Library hanlder pLibHandler = NULL.
      Thu Mar 31 17:38:21 2016 daemon.info saned[3659]: io/hpmud/musb.c 557: released ff/ff/ff interface
      Thu Mar 31 17:38:21 2016 daemon.info saned[3659]: io/hpmud/musb.c 970: removed HP-MARVELL-SCAN channel=21 clientCnt=0 channelCnt=0
      Thu Mar 31 17:38:22 2016 daemon.debug saned[3659]: saned exiting


      O usb é desconectado:
      Thu Mar 31 17:38:21 2016 kern.info kernel: [12729.370000] usblp0: removed

      Depois ele procura arquivos que "não existem":
      Thu Mar 31 17:38:21 2016 daemon.err saned[3659]: common/utils.c 188: unable to load library libm.so: File not found
      Thu Mar 31 17:38:21 2016 daemon.err saned[3659]: common/utils.c 188: unable to load library libm.so.6: File not found
      Thu Mar 31 17:38:21 2016 daemon.err saned[3659]: common/utils.c 220: Invalid Library hanlder pLibHandler = NULL.
      Thu Mar 31 17:38:21 2016 daemon.err saned[3659]: common/utils.c 220: Invalid Library hanlder pLibHandler = NULL.

      Excluir
    10. O "saned2" não está nos pacotes. É para você fazer no seu equipamento.

      Excluir
    11. Este comentário foi removido pelo autor.

      Excluir
    12. E como vou fazer a chamada dele no xinetd? É só digitar abaixo do } o caminho do arquivo?

      E esses erros que persistem de unable to load library?

      Excluir
    13. Agora entendi sobre o arquivo para dar restart na impressora, só que faltava colocar
      #!/bin/sh no arquivo saned2 kkkkk

      Coloquei no inicio do arquivo e dei um chmod +x /usr/bin/saned2 para torna-lo executável, fui no xinetd e troquei o /usr/sbin/saned por /usr/bin/saned2. Agora sempre que ele executa o procedimento e a impressora é removida, ela já dá um restart :)


      Só estou sem entender sobre o load library. Pelo que parece não é o HPLip, pois o processo vem do SANED. Mas eu não sei se é um tipo hierárquico que é o SANED requerendo o driver do HPLIP e não achando (logo o erro apresenta no saned por fazer a requisição) ou se o HPLIP está corrompido ou faltando arquivos na compilação....

      Ou seja, falta só isso para eu começar a desfrutar da scanner na rede.

      Excluir
    14. Postei até no fórum do OpenWRT, se puder dar uma olhada, já até deixei detalhado:
      https://forum.openwrt.org/viewtopic.php?id=63849

      Excluir
    15. Diego, o fórum do OpenWRT não vai te ajudar muito com um repositório não oficial ;-) Mas valeu a tentativa. Por isto que eu criei um fórum neste blog (links no começo e fim de qualquer página)

      Vamos por partes:

      1) o problema da falta da libm.so.6 é muito estranho... Na versão CC, não existe um libm.so.6, mas libm.so.0. libm.so.6 só vi em distribuições para desktop (como o ubuntu 15.10). Realmente não sei de onde você tem isto dentro do OpenWRT. Se rodar grep libm.so /lib/* /usr/lib/* /usr/*bin/* /*bin/*, vai achar tudo que referencia o libm.so. libm.so sem número é pior ainda pois só deveria ser referenciado para a compilação.

      2) quanto ao script, é isto mesmo ;-) Só buscar no google "script linux" que você vai ter uma aula.

      3) Só existe um programa envolvido: o scanimage ou o saned. O hplip é apenas uma biblioteca carregada dinâmicamente por um deles. E ela é aparentemente carregada. Você não tentou manualmente levar o hplip de um Linux para lá, né?

      Excluir
    16. 1) Retorno do comando informado: http://pastebin.com/zAr4whTd
      2) :D
      3) Não diria que é o scanimage pois ai seria o pacote frontends. Pois no caso como eu tentei a conexão via Windows pelo WIASane o erro foi "o mesmo". Então o erro é o sane.

      Te suplico uma ajuda cara, não quero ter que pensar que nadei tanto para morrer na praia :P

      E só falta isso para meu router ficar completo. Até servidor torrent já está rolando por lá :)

      Excluir
    17. Ah! Somando a anterior:
      3) Toda a instalação do hplip e do sane foi do seu repositório. Mandei instalar com opkg install [link_do_pacote_do_seu_repositorio]

      Excluir
    18. Diego,

      Depois de tanto você insistir, refiz a configuração do sane no meu roteador.
      http://pastebin.com/R2kyHf2t

      Sem erros. Só para completar, segue os logs do saned durante um scaneamento pela rede:

      http://pastebin.com/gPkVz2TV

      E para adicionar o repo, basta adicionar no opkg.conf:

      src/gz chaos_calmer_luizluca http://luizluca.github.io/openwrt/15.05/ar71xx/packages

      E seguir as instruções para importar a chave:

      http://luizluca.github.io/openwrt/README.txt

      Ele vai dar preferência para o luizluca por ser o último.

      Você está usando um roteador com arquitetura ar71xx, não é?

      Excluir
    19. Estou sim.

      Bom, vou ver o cabo usb então.
      Estou com um mini roteador tplink em casa e uma Epson L800 e não estava imprimindo pelo P910ND, troquei o cabo e foi.

      Excluir
  6. Fera fiz a instalação o openwrt no tp link 940nd v3 foi tudo certo , ao instalar o Luci até instalou baixou os pacotes e tal porem ao tentar acesar o painel administrativo ele da bad gataway, saberia me dizer o que pode ter ocorrido ? do resto ele funciona por rede e tudo mais porem não consigo configurar nada

    ResponderExcluir
    Respostas
    1. Zim, primeiro limpe o cache do navegador. Se continuar, tente conexão pelo ssh e veja se nao enchesse a flash (df) ou procure alguma msg de erro nos logs (logread) enquanto loga.

      Excluir
  7. Luiz Angelo boa noite, prezado estou com um projeto a ser apresentado na minha graduação que fala sobre a transformação de pcs obsoletos em roteadores sem fio. A ideia é instalar o OPENWRT direto nessa máquina por ser pequeno e mais leve, gostaria de saber se você tem algum material específico tratando desse assunto, desde da gravação do openwrt em um cd ou pen drive bootável até a instalação e utilização do mesmo. desde já agradeço pela atenção e disponibilidade.

    ResponderExcluir
    Respostas
    1. Laércio, as imagens combined são graváveis em disco
      https://downloads.openwrt.org/chaos_calmer/15.05.1/x86/generic/
      Só fazer um dd para sda
      Os drivers provavelmente estarão ausentes e você terá que instalar os kmod-* necessários

      Excluir
    2. Luis boa noite, de já agradeço pela atenção e boa vontade. fiz a preparação dos arquivos combined em um pen drive de 4Gb porém quando está carregando o sistema dar um erro:
      Root volume not mounted
      [ 15.972159] Kernel panic - not syncing: Attempted to kill init! exit code=0x000000000
      [ 15.972159]
      [ 15.972256] Kernel Offset: 0x0 from 0xc1000000 (relocation range: 0xc00000000xde7bffff)
      [ 15.972330] ---[ end Kernel panic - not syncing: Attempted tol kill init! exit code=0x00000000
      [ 15.972330]
      [ 15.937379] random: nonblocking pool is initialized

      conheço pouco do Linux por isso a dificuldade, teria como me ajudar? quanto a esse erro de inicialização do pen drive de boot com o openwrt.org/chaos_calmer/15.05.1/x86/generic.
      de já mais uma vez muito agradecido!

      Excluir
    3. Laércio, se você está usando syslinux, já deve entender um tanto. 😀
      As imagens combined são de um disco pronto, com gerenciador de boot e partições. São para ser usados no primeiro disco e talvez não vão funcionar pelo pendrive (em especial se não for o único disco). Para simplificar, teste em um disco único e dedicado.

      Até funcionária com outro gerenciador de boot (syslinux) ou em um disco secundário, mas vai exigir uma tradução/adaptação da configuração do gerenciador de boot original do OpenWRT (grub2)

      Excluir
    4. Luis, mais uma vez muitíssimo obrigado vou tentar com um disco dedicado! valew!

      Excluir
    5. Luis bom dia! compreendi perfeitamente a sua colocação, porém estou tentando criar essa imagem combined com o syslinux num disco IDE, mais entendi também no seu comentário que eu precisaria fazer uma cópia (dd para ssda), você poderia me ajudar me dizendo como faço isso? mais uma vez te agradeço meu caro.

      Excluir
    6. Instalei o linux ubuntu 15.0, copiei o arquivo openwrt-15.05.1-x86-generic-vmlinuz para pasta social, depois usei o comando via terminal sudo dd if=openwrt-15.05.1-x86-generic-vmlinuz of=/dev/sdX onde o destino é um HD IDE, porém sem sucesso. me ajude! rsrs estou pra correr doido, desde já agradeço.

      Excluir
    7. openwrt-15.05.1-x86-generic-vmlinuz é só o kernel, use a combined!
      Boota um Ubuntu pelo pendrive e grave com dd if=openwrt...combined...img of=/dev/sda

      Se estiver com dificuldades, procure um amigo que tenha familiaridade com Linux que ele deve te ajudar rapidamente.

      Excluir
    8. Luis beleza, meu querido fiz a cópia de disco tranquilo, agora falta só colocar o kernel para rodar o open? como faço? obrigado mais uma vez!

      Excluir
    9. Laércio, a combined tem tudo: kernel, rootfs, grub. Só gravar e reiniciar o computador

      Excluir
    10. Luis muito obrigado mais uma vez! conseguir colocar pra rodar e estou me familiarizando. me tire mais essa dúvida vendo que você conhece conhece bastante, quanto a placa de rede sem fio pci qual o chipset compatível com openwrt? abraço!

      Excluir
    11. A princípio todas que funcionam no Linux. A melhor dica que posso dar é instale Linux como seu sistema principal. Aprenda a fazer lá primeiro. Depois è só copiar para o OpenWRT.

      Excluir
  8. Tem como criar estes pacotes (hplip-common e hplip-sane) para um Linksys WRT1200AC (plataforma "Marvell Armada 385") com openwrt 15.05.1?
    Ou pode enviar as sources?
    Obrigado

    ResponderExcluir
    Respostas
    1. Faço hoje a tarde.
      Mas os fontes estão no github
      https://github.com/luizluca/openwrt-packages/commit/4ee090ab6126b6c91f8695b2fc4085ca1d494b6a
      Só precisa do CUPS que ainda ninguém adotou. Por isso ainda não está no repo oficial

      Excluir
    2. Tá entregue! http://luizluca.github.io/openwrt/15.05.1/mvebu/packages/

      (Está cada vez mais complicado compilar o CC por causa da evolução do GCC)

      Excluir
    3. Obrigado Luiz.
      Eu não tenho o CUPS instalado nem o consigo compilar porque me dá erro.
      O que preciso é do hplip sem a necessidade do CUPS. Tentei compilar pela brench hplip-nocups e também me dá erro ao compilar.
      Este é o erro:

      checking for cupsDoFileRequest in -lcups... no
      configure: error: cannot find libcups support
      Makefile:119: recipe for target '/home/user/openwrt/build_dir/target-arm_cortex-a9+vfpv3_musl-1.1.15_eabi/hplip-3.15.7/.configured_yyyyyyy' failed
      make[2]: *** [/home/user/openwrt/build_dir/target-arm_cortex-a9+vfpv3_musl-1.1.15_eabi/hplip-3.15.7/.configured_yyyyyyy] Error 9
      make[2]: Leaving directory '/home/user/openwrt/package/openwrt-packages/utils/hplip'
      package/Makefile:127: recipe for target 'package/openwrt-packages/utils/hplip/compile' failed
      make[1]: *** [package/openwrt-packages/utils/hplip/compile] Error 2
      make[1]: Leaving directory '/home/user/openwrt'
      /home/user/openwrt/include/toplevel.mk:194: recipe for target 'package/hplip/compile' failed
      make: *** [package/hplip/compile] Error 2

      Excluir
    4. Sim, precisa resgatar o cups lá da versão BB e recompilar. O -nocups era uma tentativa (sem sucesso) de remover a dependência do CUPS no hplip, compilando sem os drivers de impressão.

      Por ser complicado, eu fiz a compilação para você (link na resposta anterior)
      Se quiser ainda compilar, use o branch cc/luizluca, que já inclui o cups

      Excluir
    5. Pensava que não seria necessário CUPS. Mas com o branch cc/luizluca já consegui compilar o CUPS, agora só falta configurar e ver se funciona tudo correctamente.
      Muito obrigado Luiz

      Excluir
    6. Vi que você ajudou o amigo com o pacote para o LinkSys, estou precisando do hplip-sane para o WRT32X, mas não consegui compilar (acho que não consegui mudar o branch). Tem como me ajudar? É para versão 18.06 mesmo.

      Excluir
  9. Este comentário foi removido pelo autor.

    ResponderExcluir
  10. Este comentário foi removido pelo autor.

    ResponderExcluir