Compilare e installare driver java

Non importa se ti serve una mano per partire o se vuoi un consiglio avanzato: gli utenti "del Pinguino" hanno una risposta per ogni necessità.
Regole del forum
Rispondi
Avatar utente
dante5351
Livello: BD-ROM (6/15)
Livello: BD-ROM (6/15)
Messaggi: 219
Iscritto il: dom gen 19, 2014 5:03 pm

Compilare e installare driver java

Messaggio da dante5351 »

Dovrei compilare e/o installare un driver scritto in java per far funzionare una presa radiocomandata dalla mia Mint Mate 17.3, che al momento riesco a far funzionare tramite Windows7 in Virtualbox grazie all'aiuto di PippoDj (vedi il 3d Avvio automatico Virtual Machine su altro desktop); e questo perchè il driver fornito dal venditore è contenuto in un .exe che Wine si rifiuta di far funzionare.

Ho trovato in rete https://github.com/pfichtner/revolt-usb-automation-java che è la trascrizione in Java del driver per Windows.
Di tutto quello che c'e' in quella pagina ho capito, e quindi dovrei essere in grado di fare, la parte finale, cioè che devo installare un plugin "usb4java" che serve a far riconoscere al driver installato nel Pc il dispositivo USB che comunica con la presa (una specie di bluetooth).
Ho quindi scaricato i files, ma non so proprio che farci per installarli sul PC.

Qualcuno ha un po' di pazienza per spiegarmi la procedura passo passo, o linkarmi una pagina di istruzioni, che io non ne ho trovate?
Con il Pc e' come con i bambini, ci vuole pazienza, ed un po' di modestia.
System
System
Bot ufficiale TurboLab.it
Bot
Messaggi:
Iscritto il: sab dic 31, 2016 6:19 pm
Contatta: Contatta

Re: Compilare e installare driver java

Messaggio da System » mer feb 28, 2018 8:45 am


Avatar utente
Ganondolf
Livello: Disco fisso (9/15)
Livello: Disco fisso (9/15)
Messaggi: 674
Iscritto il: mar gen 28, 2014 10:51 am
Località: Mestre

Re: Compilare e installare driver java

Messaggio da Ganondolf »

Non ti serve compilarlo, puoi scaricare i file precompilati dalla pagina release: https://github.com/pfichtner/revolt-usb ... java-0.0.3
Avatar utente
dante5351
Livello: BD-ROM (6/15)
Livello: BD-ROM (6/15)
Messaggi: 219
Iscritto il: dom gen 19, 2014 5:03 pm

Messaggio da dante5351 »

Grazie Ganondolf per la tua risposta, che un po' mi semplifica il problema, che comunque sono incapace di risolvere da solo.

Dunque ho lavorato su una copia del mio SO su VirtualBox: seguendo il mio link e http://usb4java.org/faq.html ho creato un file 99-userusbdevices.rules dal contenuto SUBSYSTEM=="usb",ATTR{idVendor}=="ffff",ATTR{idProduct}=="1122",MODE="0660",GROUP="dan", e poi ho dato da term udevadm trigger.
Poi col comando java -jar ho lanciato i 4 files .jar del tuo link. L'ultimo mi ha aperto la gui riprodotta nel mio link, che non funziona
Il risultato e' stato:
dan@dan ~/Scrivania/revolt-usb-automation-java-0.0.3 $ java -jar cmdline-0.0.3-shaded.jar
Option "-outlet" is required
dan@dan ~/Scrivania/revolt-usb-automation-java-0.0.3 $ java -jar library-0.0.3.jar
nessun attributo manifest principale in library-0.0.3.jar
dan@dan ~/Scrivania/revolt-usb-automation-java-0.0.3 $ java -jar mqtt-0.0.3-shaded.jar
Exception in thread "main" org.usb4java.LibUsbException: USB error 3: Unable to open USB device: Access denied (insufficient permissions)
at com.github.pfichtner.revoltusbautomationjava.usb.UsbUsb4Java.checkRc(UsbUsb4Java.java:122)
at com.github.pfichtner.revoltusbautomationjava.usb.UsbUsb4Java.getDeviceHandle(UsbUsb4Java.java:75)
at com.github.pfichtner.revoltusbautomationjava.usb.UsbUsb4Java.connect(UsbUsb4Java.java:56)
at com.github.pfichtner.revoltusbautomationjava.usb.ClasspathDependentUsb.connect(ClasspathDependentUsb.java:34)
at com.github.pfichtner.revoltusbautomationjava.mqtt.MqttClient.newUsb(MqttClient.java:134)
at com.github.pfichtner.revoltusbautomationjava.mqtt.MqttClient.doMain(MqttClient.java:168)
at com.github.pfichtner.revoltusbautomationjava.mqtt.MqttClient.main(MqttClient.java:128)

dan@dan ~/Scrivania/revolt-usb-automation-java-0.0.3 $ java -jar swingui-0.0.3-shaded.jar
Ho evidenziato in rosso quelli che a mio parere sono gli errori a cui non so porre rimedio.
Ovviamente non so neanche se ho proceduto bene
Con il Pc e' come con i bambini, ci vuole pazienza, ed un po' di modestia.
Avatar utente
Ganondolf
Livello: Disco fisso (9/15)
Livello: Disco fisso (9/15)
Messaggi: 674
Iscritto il: mar gen 28, 2014 10:51 am
Località: Mestre

Re: Compilare e installare driver java

Messaggio da Ganondolf »

dan@dan ~/Scrivania/revolt-usb-automation-java-0.0.3 $ java -jar mqtt-0.0.3-shaded.jar
Exception in thread "main" org.usb4java.LibUsbException: USB error 3: Unable to open USB device: Access denied (insufficient permissions)
Riprova usando sudo

EDIT: guardando meglio, swingui sembra il programma principale, gli altri files sono librerie o programmi accessori. Prova quindi

Codice: Seleziona tutto

sudo java -jar swingui-0.0.3-shaded.jar
Avatar utente
dante5351
Livello: BD-ROM (6/15)
Livello: BD-ROM (6/15)
Messaggi: 219
Iscritto il: dom gen 19, 2014 5:03 pm

Re: Compilare e installare driver java

Messaggio da dante5351 »

Non è il programma principale, E' il programma.
L'ho lanciato da solo con sudo e funziona perfettamente!
Forse, quando nel mio link, l'autore scrive:"This repository hosts four separate items..." vuol dire che sono 4 elementi indipendenti tra loro che attivano ognuno un suo modo di comandare la presa.
Se l'avesse detto subito che ci vuole il sudo, non avremmo perso tempo; forse ha dato per scontato i privilegi di root.

Così ho trasportato il tutto sulla mia Mint reale.
Poi mi sono creato un lanciatore col comando gksudo -u dan "java -jar /mnt/Dati/Archivio/Presa/swingui-0.0.3-shaded.jar" e così posso azionare la mia presa dalla mia Mint senza dover passare da Windows7.
Il problema è risolto, grazie a te :grazie
Ti devo una birra, pardon un prosecchin! o un tajut de snapa!
Con il Pc e' come con i bambini, ci vuole pazienza, ed un po' di modestia.
Avatar utente
Ganondolf
Livello: Disco fisso (9/15)
Livello: Disco fisso (9/15)
Messaggi: 674
Iscritto il: mar gen 28, 2014 10:51 am
Località: Mestre

Re: Compilare e installare driver java

Messaggio da Ganondolf »

Forse, quando nel mio link, l'autore scrive:"This repository hosts four separate items..." vuol dire che sono 4 elementi indipendenti tra loro che attivano ognuno un suo modo di comandare la presa.
No, come scrivevo sono librerie e sottoprogrammi, e in quanto tali non vanno eseguiti direttamente.
Se l'avesse detto subito che ci vuole il sudo, non avremmo perso tempo; forse ha dato per scontato i privilegi di root.
Il file 99-userusbdevices.rules doveva servire proprio a darti l'accesso al dispositivo senza usare sudo, ma a quanto pare non ha avuto effetto. Hai creato questo file nella cartella /etc/udev/? "dan" è il tuo gruppo principale? Dovrebbe, corrispondendo al tuo nome utente, ma meglio accertarsene: digita "groups" in un terminale e vedi se "dan" è presente nei gruppi elencati
Avatar utente
dante5351
Livello: BD-ROM (6/15)
Livello: BD-ROM (6/15)
Messaggi: 219
Iscritto il: dom gen 19, 2014 5:03 pm

Re: Compilare e installare driver java

Messaggio da dante5351 »

Ganondolf ha scritto: gio mar 01, 2018 6:14 pm No, come scrivevo sono librerie e sottoprogrammi, e in quanto tali non vanno eseguiti direttamente.
Io adesso non l'ho lanciati: vuol dire che non ho delle funzionalità? (Che al momento non mi interessano)

Nella dir /etc/udev/rules.d ho creato il file 99-userusbdevices.rules, che secondo me serve a far riconoscere alla GUI SwingUI il bluetooth; dico questo perchè quando ho riportato il tutto sulla Mint reale, mi ero dimenticato di creare il file, e per ciò il comando dato dalla gui non sortiva effetto; cioè si vedeva che la finestra di terminale tentava di aprirsi ma si chiudeva subito. Altra cosa e' il sudo, per eliminare il quale sul lanciatore ho dovuto mettere il comando gksudo -u dan.
Naturalmente "dan" e' il 1° dei gruppi; del resto se guardi lo spoiler del terminale nel mio 2° messaggio, vedi che i comandi sono dati da dan@dan (sono fantasioso nella scelta dei nomi, vero?) ;)
Con il Pc e' come con i bambini, ci vuole pazienza, ed un po' di modestia.
Avatar utente
Ganondolf
Livello: Disco fisso (9/15)
Livello: Disco fisso (9/15)
Messaggi: 674
Iscritto il: mar gen 28, 2014 10:51 am
Località: Mestre

Re: Compilare e installare driver java

Messaggio da Ganondolf »

dante5351 ha scritto: gio mar 01, 2018 6:54 pm
Ganondolf ha scritto: gio mar 01, 2018 6:14 pm No, come scrivevo sono librerie e sottoprogrammi, e in quanto tali non vanno eseguiti direttamente.
Io adesso non l'ho lanciati: vuol dire che non ho delle funzionalità? (Che al momento non mi interessano)
No, vuol dire che semplicemente che sugli altri file non devi eseguire il comando "java -jar". Anzi, non ti servono proprio.
Nella dir /etc/udev/rules.d ho creato il file 99-userusbdevices.rules, che secondo me serve a far riconoscere alla GUI SwingUI il bluetooth
No, le regole udev servono a permettere ad un utente normale (non root) di interagire con i dispositivi hardware, in questo caso il tuo dongle usb. A guardare meglio, mi accorgo che i codici forniti per idVendor e idProduct sono palesemente finti. Per poter usare il programma senza sudo devi trovare l'idVendor e l'idProduct corrispondenti al tuo dongle usb. Per sapere quali sono, ti basta attaccarlo al computer e dare il comando

Codice: Seleziona tutto

lsusb
Ti verrà fuori un output simile a

Codice: Seleziona tutto

Bus 001 Device 002: ID aaaa:bbbb Nome del dongle usb
dove aaaa è l'idVendor e bbbb è l'idProduct
Naturalmente "dan" e' il 1° dei gruppi; del resto se guardi lo spoiler del terminale nel mio 2° messaggio, vedi che i comandi sono dati da dan@dan (sono fantasioso nella scelta dei nomi, vero?) ;)
Si, avevo visto, ma non era detto che il tuo gruppo avesse lo stesso nome del tuo utente. È così nel 99% dei casi, ma quella volta che capita il contrario...
Avatar utente
dante5351
Livello: BD-ROM (6/15)
Livello: BD-ROM (6/15)
Messaggi: 219
Iscritto il: dom gen 19, 2014 5:03 pm

Re: Compilare e installare driver java

Messaggio da dante5351 »

Avevo gia fatto il controllo
dan@dan ~ $ lsusb
Bus 002 Device 002: ID 8087:8000 Intel Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 15a4:1336 Afatech Technologies, Inc. SDHC/MicroSD/MMC/MS/M2/CF/XD Flash Card Reader
Bus 003 Device 005: ID 046d:c52e Logitech, Inc. MK260 Wireless Combo Receiver
Bus 003 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 003 Device 004: ID ffff:1122
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
dan@dan ~ $
perchè all'inizio del mio 1° link c'e' scritto: "...The dongle has the usb id ffff:1122 and the program talks to it via usb urb out packets. Windows recognizes the dongle as HID device..."
Comunque l'importante è che adesso funziona tutto alla (quasi) perfezione, grazie al tuo aiuto
Con il Pc e' come con i bambini, ci vuole pazienza, ed un po' di modestia.
System
System
Bot ufficiale TurboLab.it
Bot
Messaggi:
Iscritto il: sab dic 31, 2016 6:19 pm
Contatta: Contatta

Re: Re: Compilare e installare driver java

Messaggio da System » ven mar 02, 2018 9:26 am


Rispondi
  • Argomenti simili
    Risposte
    Visite
    Ultimo messaggio