[Tutorial] Instalação do SMS Power View no Linux

Iniciado por Sampayu, 03 de Setembro de 2014, 02:17

tópico anterior - próximo tópico

Sampayu

#75
Citação de: eduardoanjos online 23 de Novembro de 2021, 20:47
Segundo a resposta por e-mail, é um erro quando utiliza java 64bits.

Eu ainda não tive tempo de instalar um 32bits para testar.

Que absurda, a resposta desse funcionário da empresa. :o "Nada a ver" essa história de que a arquitetura do JRE teria de ser de 32 bits. Isso não é verdade. Em sistemas de 64 bits, o ideal é instalar o JRE de 64 bits mesmo. Não desinstale o seu Java de 64 bits!

Atualmente (25/11/2021), a última versão do SMS Power View é a V4.07.00.05. Se você se logar lá em https://www.alerta24h.com.br e acessar a seção Download Center, o link é este.

Apesar de estar no momento com o JRE 8u311 de 64 bits, acabei de desinstalar meu SMS Power View antigo (versão 3.00.01.00, de 2016), baixar essa última versão (4.07.00.05, que não é tão nova assim, foi lançada em 2018) e instalá-la usando os mesmos passos lá da seção INSTALAÇÃO.

IMPORTANTE: eu executei TODOS os passos da seção INSTALAÇÃO, inclusive o passo 1.7, que consiste em executar este comando:

sudo /opt/sms/powerview start -g

Ao executar o comando acima, o SMS Power View foi executado em modo gráfico (janela) e, após alguns segundos, uma janela surgiu e me solicitou para digitar um nome para essa minha instalação do programa. Eu digitei um nome e confirmei clicando no botão de "ok". Após isso, o SMS Power View entrou normalmente em funcionamento e não me pediu senha quando eu acessei a página http://localhost:8080/sms/ (nessa página, clique sobre o link "SOBRE" que aparecerá a versão do programa).

Após isso, eu finalizei o programa com o comando:

sudo /opt/sms/powerview stop

...que está lá no item 4.1 da seção AUTOMATICAÇÃO.

Após executar os demais passos da seção AUTOMATIZAÇÃO, fechei e abri novamente a página http://localhost:8080/sms/ e funcionou normalmente.

Enfim: funcionou normalmente com o Java de 64 bits. Acredito que o problema da senha ocorre porque faltou executar o SMS Power View manualmente em modo gráfico (sudo /opt/sms/powerview start -g), na primeira vez (i.e. logo após instalar o programa), para ele no modo gráfico poder gerar a janela em que você dá um nome para a sua instalação e confirma. Talvez a (mas somente a) instalação sem nome requeira autenticação. Enfim: a pane parece ter sido isso. Claramente não foi porque o Java é de 64 bits, caso contrário meu SMS Power View "atualizado" (em 2018...  ::) ) não estaria funcionando com meu Java / JRE de 64 bits.  :P
Yuri Sucupira ("Sampayu")

eduardoanjos



Então eu reinstalei aqui, e quando instalei ele detectou que o display é :1 aqui em casa...só que na hora da execução parece que está pegando o display :0.0

Sampayu

Citação de: eduardoanjos online 10 de Janeiro de 2022, 21:11
Então eu reinstalei aqui, e quando instalei ele detectou que o display é :1 aqui em casa...só que na hora da execução parece que está pegando o display :0.0

Qual o resultado do comando abaixo?

grep DISPLAY /opt/sms/powerview

Se o resultado do comando acima não for export DISPLAY=:0.0, edite o arquivo com um comando tal como:

sudo gedit /opt/sms/powerview

ou

sudo mousepad /opt/sms/powerview

ou ainda

sudo nano /opt/sms/powerview

...e então troque aquele :0.0 por :1, em seguida salve o arquivo e então saia do editor.

Após isso, reinicie o SMS Power View com o comando:

sudo systemctl restart smspv.service

ou então

sudo service smspv restart

...e então tente novamente executar o comando:

sudo /opt/sms/powerview start -g -d
Yuri Sucupira ("Sampayu")

eduardoanjos

#78
Funcionou.....

Eu fiz o comando:
grep DISPLAY /opt/sms/powerview

O resultado:
export DISPLAY=:0.0

Usei o comando:
sudo nano /opt/sms/powerview

Troquei o display de :0.0 para :1

Depois executei o comando para reiniciar o serviço e funcionou, realmente apareceu a logo do alerta24h, pediu para escrever um nome, e depois abriu certinho..




Perfeito man, muito obrigado por todo suporte.



======== EDIT =========
Consegui vincular ao site, só não consegui vincular com o mobile....

Sendo que, perde monitoramento toda hora, é um monitoramento bem ruim para falar a verdade, se for isso mesmo...

Eu não sei se é problema da porta usb, não sei se é problema do nobreak, sei lá, se for assim mesmo estou achando bem ruim, toda hora eu tenho que parar o serviço e iniciar novamente.

Sampayu

Citação de: eduardoanjos online 11 de Janeiro de 2022, 10:05
Perfeito man, muito obrigado por todo suporte.
De nada.

Citação de: eduardoanjos online 11 de Janeiro de 2022, 10:05
Consegui vincular ao site, só não consegui vincular com o mobile....

Sendo que, perde monitoramento toda hora, é um monitoramento bem ruim para falar a verdade, se for isso mesmo...

Eu não sei se é problema da porta usb, não sei se é problema do nobreak, sei lá, se for assim mesmo estou achando bem ruim, toda hora eu tenho que parar o serviço e iniciar novamente.

O mobile eu nunca testei.

No meu web server local aparece "Tempo para desligar 00:00:00" mas no seu está aparecendo "Tempo para desligar 00:00:00 Bateria com problemas". Assim como smartphone fica travando, desligando e reiniciando quando está com pane na bateria, o seu nobreak pelo visto está fazendo o mesmo por estar com pane na bateria. Os nobreaks da SMS possuem processador e o processador geralmente reinicia o circuito quando a bateria dá alguma pane, o que acaba interrompendo a conexão do hardware com o web server.

Enfim: eu levaria o nobreak para a assistência técnica trocar a bateria.
Yuri Sucupira ("Sampayu")

sysmatck

#80
Citação de: Grehs online 08 de Junho de 2020, 18:09
Boa tarde pessoal,

Passando só pra registrar que tive sucesso utilizando o SMS PowerView V4.07.00.01 para Linux no Raspberry Pi 3.

O sistema operacional é o Raspberry Pi OS (https://www.raspberrypi.org/, antigo Raspbian) na sua versão atual para 32 bits, com OpenJDK 11.

No entanto, tive que compilar a biblioteca javahidapi dentro do próprio Raspberry e trocar o .so na pasta do PowerView.

Se alguém ainda tiver dificuldades ou dúvidas posso tentar ajudar com mais detalhes.

Seu comentario me ajudou bastante! Obrigado.

Quando eu rodava `./powerview start --debug` aparecia a seguinte mensagem:


May  01 12:36:07 [                              servico.SMSysServico]: [      main - DEBUG] Inicializando o Powerview: [V4.07.00.01]
May  01 12:36:08 [                   comunicacao.FactoryPortaSerials]: [      main - DEBUG] Criou Lista!
OpenJDK Server VM warning: You have loaded library /opt/powerview/libs/64/libhidapi-jni.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
May  01 12:36:08 [                           comunicacao.PortaUSBHID]: [      main - ERROR] LoadLibrary unsatisfiedLinkError: [/opt/powerview/libs/64/libhidapi-jni.so: /opt/powerview/libs/64/libhidapi-jni.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)]
May  01 12:36:08 [                           comunicacao.PortaUSBHID]: [      main - ERROR] LoadLibrary unsatisfiedLinkError: [/opt/powerview/libs/32/libhidapi-jni.so: /opt/powerview/libs/32/libhidapi-jni.so: cannot open shared object file: No such file or directory (Possible cause: can't load IA 32-bit .so on a ARM-bit platform)]


Tambem fiz o mesmo procedimento e funcionou pra mim. Rodando aqui a V4.07.00.01 no Raspberry Pi 4 com Ubuntu Server 22.04 e "default-java" (openjdk-11) instalado.

Gastei um tempão aprendendo como fazer isso, então vai aqui detalhes apra ajudar alguém (talvez eu mesmo no futuro).

Processo:
1. Baixar projeto do javahidapi (https://github.com/andre-rodovalho/)

cd /home
git clone https://github.com/andre-rodovalho/javahidapi.git
cd javahidapi/linux/
git checkout Modernize

2. Instalar bibliotecas e ferramentas pra compilar

apt install pkg-config  default-jdk libudev-dev libusb-1.0-0-dev pkg-config make g++

3. Compilar a biblioteca

make

4. Copiar o libhidapi-jni.so arquivo para pasta correta de acordo com a arquitetura do sistema

cp libhidapi-jni.so /opt/powerview/libs/32/

# e/ou

cp libhidapi-jni.so /opt/powerview/libs/64/


Alternativa:
Para facilitar nossa vida, subi as bibliotecas que compilei no Pi4, 32 e 64 bits. Se voce tiver rodando o mesmo hardware, vai funcionar para voce:


wget https://github.com/andre-rodovalho/javahidapi/raw/ARM_armhf_native_linux_so/lib/native/linux/libhidapi-jni-aarch64.so
mv libhidapi-jni-aarch64.so /opt/powerview/libs/64/libhidapi-jni.so

# e/ou

wget https://github.com/andre-rodovalho/javahidapi/raw/ARM_armhf_native_linux_so/lib/native/linux/libhidapi-jni-eabi5.so
mv libhidapi-jni-eabi5.so /opt/powerview/libs/32/libhidapi-jni.so

gabrielflach

Citação de: sysmatck online 30 de Abril de 2022, 08:28
Seu comentario me ajudou bastante! Obrigado.

Quando eu rodava `./powerview start --debug` aparecia a seguinte mensagem:


May  01 12:36:07 [                              servico.SMSysServico]: [      main - DEBUG] Inicializando o Powerview: [V4.07.00.01]
May  01 12:36:08 [                   comunicacao.FactoryPortaSerials]: [      main - DEBUG] Criou Lista!
OpenJDK Server VM warning: You have loaded library /opt/powerview/libs/64/libhidapi-jni.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
May  01 12:36:08 [                           comunicacao.PortaUSBHID]: [      main - ERROR] LoadLibrary unsatisfiedLinkError: [/opt/powerview/libs/64/libhidapi-jni.so: /opt/powerview/libs/64/libhidapi-jni.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)]
May  01 12:36:08 [                           comunicacao.PortaUSBHID]: [      main - ERROR] LoadLibrary unsatisfiedLinkError: [/opt/powerview/libs/32/libhidapi-jni.so: /opt/powerview/libs/32/libhidapi-jni.so: cannot open shared object file: No such file or directory (Possible cause: can't load IA 32-bit .so on a ARM-bit platform)]


Tambem fiz o mesmo procedimento e funcionou pra mim. Rodando aqui a V4.07.00.01 no Raspberry Pi 4 com Ubuntu Server 22.04 e "default-java" (openjdk-11) instalado.

Gastei um tempão aprendendo como fazer isso, então vai aqui detalhes apra ajudar alguém (talvez eu mesmo no futuro).


Consegui instalar ele num Orange Pi 3 LTS usando a imagem oficial do Ubuntu 22.04 e num Banana Pi Zero M2 com o Armbian, mas esse eu tive que atualizar todos os pacotes do focal para o jammy.

Na instalação usei somente os pacotes default-jdk e libusb-1.0-0-dev de 32 bits, e o javahidapi disponível no link.
Para o problema de senha da interface web, basta substituir o arquivo banco_de_dados.yap por um de outra instalação que esteja funcionando. No meu caso, eu utilizei um que já tenho salvo da versão 2.16.00.13.

carloslessa

Bom dia.

Estou tentando instalar o SMS PV em um raspberry pi 4b com ubuntu 22.04 arm64 e openjdk-8.

Com as dicas encontradas nesse tópico consegui resolver as questões relativas a jssc-2.8.0.jar e libhidapi-jni.so.

O sistema é iniciado, lê a porta serial, reconhece que o nobreak é monofásico:

Procura por nobreak: [SMS]
Testando TipoNobreak: [MONOFASICO]
Leitura do serial disponivel: [-1]
Leitura do serial disponivel:

  • Leitura do serial disponivel:

  • Nobreak [MONOFASICO] encontrado
    Registrado!!! [Porta: 10250
    Endereços:
    new-raspserver   192.168.x.206   8080

    new-raspserver   192.168.x.200   8080
    ]
    testeChave() => Tenta ler dados do UPS!
    Leitura do serial disponivel:

  • Leitura do serial disponivel: [-1]
    Leitura do serial disponivel:

  • Leitura do serial disponivel:

  • RESPOSTA ORIGINAL: [3B4542695331313530303020323436306F0D]
    RESPOSTA APÓS LIMPEZA: [3B4542695331313530303020323436306F0D]
    RESPOSTA SEM INÍCIO: [4542695331313530303020323436306F0D][/i]


    Porém quando executo # /opt/powerview/powerview status:

    Status do SMS Power View: Em execução.
    Erro: [Connection refused to host: 127.0.0.1; nested exception is:
       java.net.ConnectException: Conexão recusada (Connection refused)]
       java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
       java.net.ConnectException: Conexão recusada (Connection refused)
       at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:623)
       at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
       at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
       at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:343)
       at sun.rmi.registry.RegistryImpl_Stub.lookup(RegistryImpl_Stub.java:116)
       at br.com.sms.powerview.servidor.ServidorCliente.getServerByRmi(ServidorCliente.java:71)
       at br.com.sms.powerview.servidor.ServidorCliente.getServidor(ServidorCliente.java:41)
       at br.com.sms.powerview.script.Script.main(Script.java:13)

    No navegado consigo acessar a interface http://192.168.x.200:8080/s2/checaSenha.action

    Mas não consigo fazer login. Nem com senha em branco nem com qualquer outra passada como dica neste tópico.

    Algum dica?

    Obrigado.

carloslessa

#83
Citação de: gabrielflach online 19 de Junho de 2022, 09:51
Para o problema de senha da interface web, basta substituir o arquivo banco_de_dados.yap por um de outra instalação que esteja funcionando. No meu caso, eu utilizei um que já tenho salvo da versão 2.16.00.13.

Simplesmente copie o arquivo banco_de_dados.yap de outra instalação e funcionou!

Sem mensagens de erro java ao verificar o status:

# /opt/powerview/powerview status

Status do SMS Power View: Em execução.
Status com o Nobreak: Conectado


E consegui login na interface.

oalemao

Alguém poderia disponibilizar a libhidapi para raspberry pi? os links indicados estão todos off



Citação de: slackz online 22 de Maio de 2017, 19:16
Pessoal, sou mais um proprietário deste nobreak, infelizmente. Estou tentando rodar em um Raspberry Pi 3, fiz todos os procedimentos do tópico, ao executar ele mostra o seguinte erro:

Procura por nobreak: [DAKER]

E não inicia, alguém já passou por isso?

Vlw!

EDIT: Atualizando !

Consegui funcionar utilizando a libhidapi do seguinte site:

https://blogs.oracle.com/jtc/usb-device-access-for-java-se-and-osgi

Baixei o correspondente a armv6, tudo ok agora!

Sampayu

#85
Citação de: oalemao online 03 de Outubro de 2022, 15:02
Alguém poderia disponibilizar a libhidapi para raspberry pi? os links indicados estão todos off

Como não tenho e nunca tive Raspberry Pi, não faço ideia de qual seja o arquivo mais adequado para seu dispositivo, mas dê uma olhada no projeto GIT intitulado HID4JAVA. Acredito que uma das bibliotecas disponíveis lá possa funcionar com seu Raspberry Pi. Eu começaria testando estes:

Yuri Sucupira ("Sampayu")

oalemao

Muito obrigado pela resposta Sampayu!
Em todo caso, ainda não consegui ter sucesso na instalação.
Mesmo substituindo os libhidapi, quando inicializo o app com o modo gráfico, aparece a tela inicial e fica carregado infinitamente. No terminal, ele fica na "Procura por nobreak: [SMS]" e outros, e daí não passa.

Alguma idéia? Estou usando um raspberry pi4, com sistems Raspberry Pi OS padrão (32).

Sampayu

Citação de: oalemao online 13 de Outubro de 2022, 14:25
Muito obrigado pela resposta Sampayu!
Em todo caso, ainda não consegui ter sucesso na instalação.
Mesmo substituindo os libhidapi, quando inicializo o app com o modo gráfico, aparece a tela inicial e fica carregado infinitamente. No terminal, ele fica na "Procura por nobreak: [SMS]" e outros, e daí não passa.

Alguma idéia? Estou usando um raspberry pi4, com sistems Raspberry Pi OS padrão (32).

Infelizmente, não. :( Há várias causas possíveis para esse problema e eu não tenho como investigar nenhuma delas, já que não possuo um dispositivo Raspberry Pi.
Yuri Sucupira ("Sampayu")

zan2

#88
Boa noite, primeiro queria agradecer a dedicação e disponibilidade sua Sampayu, ter investigado, mantido e respondido esse Forum por tanto tempo é realmente um feito notavel.

Estou tentando configurar o Powerview no Ubuntu 22.04.1, tive alguns problemas mas que acompanhando as resposta consegui solucionar, o principal deles foi a questão da tela com a senha desconhecida, mas após alterar a varíavel DISPLAY para :1 esse problema deixou de acontecer e quando executei o Powerview apareceu a janela para colocar o nome como esperado.
Porem estou com um problema que não encontrei aqui ainda, após executar ele o ícone aparece com o S Azul (apesar de estar fora de posição, imagino que seja pela disposição da minha TrayBar) com foi indicado na instalação, porem ao tentar acessar o dashboard pelo link http://localhost:8080/sms/ ou pelo meu-ip:8080/sms/ ele fica carregando eternamente e nunca abre, alguem já passou por algo parecido?

-- Atualização

Investigando mais identifiquei a porta 8080 possui alguma aplicação rodando nela na minha maquina, alterei a env httoPort "webserver.properties" dentro "powerview/webserver/libs" para outra, 9090 e com isso consegui abri o dashboard. ;D

Algumas informações e prints:
Versão JAVA
java -version
java version "1.8.0_351"


Terminal ao executar o Powerview e status após a execução
sudo /opt/powerview/powerview start -g
Iniciando como TrayIcon...
Criando link simbolico para USB-Serial.
SMS Power View iniciado com sucesso.

-----

sudo /opt/powerview/powerview status
Status do SMS Power View: Em execução.
Status com o Nobreak: Conectado




Sampayu

Citação de: zan2 online 07 de Novembro de 2022, 22:52
Boa noite, primeiro queria agradecer a dedicação e disponibilidade sua Sampayu, ter investigado, mantido e respondido esse Forum por tanto tempo é realmente um feito notavel.

Obrigado.  :)

Citação de: zan2 online 07 de Novembro de 2022, 22:52
-- Atualização
Investigando mais identifiquei a porta 8080 possui alguma aplicação rodando nela na minha maquina, alterei a env httoPort "webserver.properties" dentro "powerview/webserver/libs" para outra, 9090 e com isso consegui abri o dashboard. ;D

Bacana que o tutorial + os comentários conseguiram juntos lhe ajudar a resolver esse problema.  :) Eu nunca passei por esse problema de o server não carregar o dashboard por conta da porta 8080 já estar ocupada por outra aplicação web, mas legal a "sacada" que você teve de tentar descobrir se essa configuração poderia ser modificada em algum arquivo do SMS Power View, e daí alterar o arquivo. Parabéns.  8)

Para quem esteja lendo este comentário, se o SMS Power View foi instalado em /opt/sms, então o caminho completo para o arquivo é /opt/sms/webserver/libs/webserver.properties e a linha modificada foi a httpPort=8080:)
Yuri Sucupira ("Sampayu")