[RISOLTO] Riconoscimento porta USB

Bash, Perl, Python, Ruby, ...

Re: Riconoscimento porta USB

Messaggioda Aki » 29/12/2015, 12:06

@ferlino: hai aggiornamenti rispetto all'argomento della discussione ?
Aki
Global Moderator
Global Moderator
 
Messaggi: 8429
Iscritto il: 27/12/2007, 16:59

Re: Riconoscimento porta USB

Messaggioda ferlino » 05/01/2016, 19:40

Ultimamente, forse a seguito di qualche modifica software, non si è mai presentato il problema dell' "ibernazione" della porta USB quanto piuttosto quello della connessione wifi, per qualche minuto, per poi riprendere normalmente.
Utilizzo un dongle wifi (EDUP EP-N8508GS) che, ho letto da qualche parte, non è particolarmente adatto e presenta questo inconveniente.
In ogni caso ho quasi terminato il mio progetto di cui allego un paio di fotografie.
https://www.dropbox.com/s/vz4bksslatjqizy/Foto%20progetto.jpg?dl=0
https://www.dropbox.com/s/xev0smvrve41t76/Foto%20lanterna.jpg?dl=0
Aggiungo che per scattare delle fotografie repebili da internet ho dovuto inserire il seguenti script usbperm.sh :
Codice: Seleziona tutto
#!/bin/bash
dev=`gphoto2 --auto-detect | grep usb | cut -b 36-42 | sed 's/,///'`
if [ -z ${dev} ]
then
 echo "Error: Camera not found"
 exit
fi
resetusb /dev/bus/usb/${dev}
gphoto2 $@
resetusb /dev/bus/usb/${dev}


Senza di esso non era possibile scattare una foto e salvarla nel raspberry. Non so spiegarne il funzionamento ma ... funziona.
ferlino
Newbie
Newbie
 
Messaggi: 31
Iscritto il: 03/10/2015, 17:48

Re: Riconoscimento porta USB

Messaggioda Aki » 06/01/2016, 10:16

non si è mai presentato il problema dell' "ibernazione" della porta USB quanto piuttosto quello della connessione wifi, per qualche minuto, per poi riprendere normalmente.

Probabilmente, entrambe sono conseguenza del reset della porta USB che esegui, presumo, periodicamente.

Puoi specificare il contenuto dello script resetusb ?
Aki
Global Moderator
Global Moderator
 
Messaggi: 8429
Iscritto il: 27/12/2007, 16:59

Re: Riconoscimento porta USB

Messaggioda ferlino » 07/01/2016, 19:53

Ho fatto un po di confusione. Chiedo scusa.
Questo è usbperm.sh
Codice: Seleziona tutto
#!/bin/bash
#  usbperm  https://www.raspberrypi.org/forums/viewtopic.php?f=41&t=2276&start=125
dev=`gphoto2 --auto-detect | grep usb | cut -b 36-42 | sed 's/,/\//'`
sudo chmod 777 /dev/bus/usb/${dev}
exit 0


e questo resetusb.sh
Codice: Seleziona tutto
#!/bin/bash
#
dev=`gphoto2 --auto-detect | grep usb | cut -b 36-42 | sed 's/,///'`
if [ -z ${dev} ]
then
 echo "Error: Camera not found"
 exit
fi
resetusb /dev/bus/usb/${dev}
gphoto2 $@
resetusb /dev/bus/usb/${dev}
ferlino
Newbie
Newbie
 
Messaggi: 31
Iscritto il: 03/10/2015, 17:48

Re: Riconoscimento porta USB

Messaggioda Aki » 07/01/2016, 20:27

Puoi confermare,che per quanto riguarda il programma resetusb, che stai usando quello indicato all'indirizzo http://askubuntu.com/questions/645/how-do-you-reset-a-usb-device-from-the-command-line, ovvero:
Codice: Seleziona tutto
/* usbreset -- send a USB port reset to a USB device */

#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/ioctl.h>

#include <linux/usbdevice_fs.h>


int main(int argc, char **argv)
{
    const char *filename;
    int fd;
    int rc;

    if (argc != 2) {
        fprintf(stderr, "Usage: usbreset device-filename\n");
        return 1;
    }
    filename = argv[1];

    fd = open(filename, O_WRONLY);
    if (fd < 0) {
        perror("Error opening output file");
        return 1;
    }

    printf("Resetting USB device %s\n", filename);
    rc = ioctl(fd, USBDEVFS_RESET, 0);
    if (rc < 0) {
        perror("Error in ioctl");
        return 1;
    }
    printf("Reset successful\n");

    close(fd);
    return 0;
}
Aki
Global Moderator
Global Moderator
 
Messaggi: 8429
Iscritto il: 27/12/2007, 16:59

Re: Riconoscimento porta USB

Messaggioda ferlino » 07/01/2016, 21:48

Comincio a non capire più nulla (se mai ho cominciato !).
1) Il comando sudo find / -name resetusb.* mi trova solo il file resetusb.sh postato precedentemente; sudo find / -name usbreset.* non mi trova nulla.
2) lo script resetusb.sh richiama due volte resetusb ?
Codice: Seleziona tutto
resetusb /dev/bus/usb/${dev}
gphoto2 $@
resetusb /dev/bus/usb/${dev}


Preciso che la mia app Android lancia lo script usbperm.php

Codice: Seleziona tutto
Job1.PostString("http://nomesito.noip.com/usbperm.php","")


/var/www/html/usbperm.php
Codice: Seleziona tutto
<?php
echo exec('/var/www/html/usbperm.sh');
?>


/var/www/html/usbperm.sh
Codice: Seleziona tutto
#!/bin/bash
#  usbperm  https://www.raspberrypi.org/forums/viewtopic.php?f=41&t=2276&start=125
dev=`gphoto2 --auto-detect | grep usb | cut -b 36-42 | sed 's/,/\//'`
sudo chmod 777 /dev/bus/usb/${dev}
exit 0


Come dovrebbe esser evidente io vado un po' a tentoni e applico, adattandolo come meglio so fare, i vari suggerimenti che trovo a destra e a manca. Ho, in questo caso, riscontrato che senza usbperm non ero in grado di scattare una fotografia da internet, visualizzandola (quasi) immediatamente dopo sul mio smartphone.
ferlino
Newbie
Newbie
 
Messaggi: 31
Iscritto il: 03/10/2015, 17:48

Re: Riconoscimento porta USB

Messaggioda Aki » 09/01/2016, 13:59

ferlino ha scritto:Il comando sudo find / -name resetusb.* mi trova solo il file resetusb.sh postato precedentemente; sudo find / -name usbreset.* non mi trova nulla.

Presumo tu debba impartire il comando:
Codice: Seleziona tutto
sudo find / -name "resetusb*"

Da quanto ha scritto, dovresti avare, infatti, due programmi:
1) uno script resetusb.sh (di cui hai inviato le istruzioni contenute)
2) un eseguibile in formato binario (codice macchina, da te compilato) chiamato resetusb (senza estensione) che è quello che effettivamente effettua il reset dell'hub usb del raspberry (e che ti causa le disconnessioni periodiche del WiFi in conseguenza del reset)
Aki
Global Moderator
Global Moderator
 
Messaggi: 8429
Iscritto il: 27/12/2007, 16:59

Re: Riconoscimento porta USB

Messaggioda ferlino » 09/01/2016, 17:30

Il comando
Codice: Seleziona tutto
sudo find / -name "resetusb*"

mi restituisce solo il file resetusb.sh.
Purtroppo non ricordo se, a suo tempo, ho compilato il sorgente C da te indicato; ricordo però di averlo visto consultando probabilmente la pagina di cui mi hai dato il link.
Mi spiace di dimostrare, con questo, qualche imprecisione ma l'imperizia ed il fatto che lavoro a questo progetto ogni tanto mi fanno commettere questi errori.
ferlino
Newbie
Newbie
 
Messaggi: 31
Iscritto il: 03/10/2015, 17:48

Re: Riconoscimento porta USB

Messaggioda Aki » 10/01/2016, 8:30

ferlino ha scritto:Il comando
Codice: Seleziona tutto
sudo find / -name "resetusb*"

mi restituisce solo il file resetusb.sh.

Il comando sopra riportato lo hai impartito nuovamente (come te lo ho suggerito, senza specifica del punto prima dell'asterisco) oppure la tua risposta si riferisce al tentativo che avevi già effettuato ?
Aki
Global Moderator
Global Moderator
 
Messaggi: 8429
Iscritto il: 27/12/2007, 16:59

Re: Riconoscimento porta USB

Messaggioda ferlino » 10/01/2016, 8:57

Il comando l'ho dato con un copia e incolla del tuo suggerimento.
ferlino
Newbie
Newbie
 
Messaggi: 31
Iscritto il: 03/10/2015, 17:48

Re: Riconoscimento porta USB

Messaggioda Aki » 10/01/2016, 9:03

Cosa accade se digiti dal terminale il comando:
Codice: Seleziona tutto
script log.txt
./resetusb
resetusb
exit

Il comando con i rispettivi output sarà nel file log.txt
Aki
Global Moderator
Global Moderator
 
Messaggi: 8429
Iscritto il: 27/12/2007, 16:59

Re: Riconoscimento porta USB

Messaggioda ferlino » 10/01/2016, 11:21

Ecco il log
Script started on dom 10 gen 2016 11:12:31 CET
^[]0;pi@raspberrypi: ~^G^[[01;32mpi@raspberrypi^[[00m ^[[01;34m~ $^[[00m ./rese$
bash: ./resetusb: File o directory non esistente
^[]0;pi@raspberrypi: ~^G^[[01;32mpi@raspberrypi^[[00m ^[[01;34m~ $^[[00m resetu$
bash: resetusb: comando non trovato
^[]0;pi@raspberrypi: ~^G^[[01;32mpi@raspberrypi^[[00m ^[[01;34m~ $^[[00m exit
exit

Script done on dom 10 gen 2016 11:12:55 CET


Preciso che non utilizzo tastiera e monitor del Raspberry ed ho diverse difficoltà nel collegarmi con Putty, WinSPC o MobaXterm (sotto Windows XP), mentre la mia app Android si collega immediatamente ed esegue i vari comandi senza fallo. Con il computer devo provare e riprovare più volte (con i 3 programmi sopra citati), anche a distanza di qualche minuto; dopo diversi tentativi finalmente riesco a collegarmi e posso lavorare (ma solo a tratti; ogni tanto si pianta per poi ripartire qualche minuto dopo: un supplizio !). Per questo motivo preferisco dedicarmi a perfezionare ed ampliare le possibilità dell'app Android e qui non ho sorprese.
ferlino
Newbie
Newbie
 
Messaggi: 31
Iscritto il: 03/10/2015, 17:48

Re: Riconoscimento porta USB

Messaggioda Aki » 17/01/2016, 9:54

A questo punto non riesco più a capire esattamente cosa hai fatto e, mi sembra di capire, per il momento neanche tu. In ogni caso, mi sembra che hai risolto: giusto ?
Aki
Global Moderator
Global Moderator
 
Messaggi: 8429
Iscritto il: 27/12/2007, 16:59

[RISOLTO] Riconoscimento porta USB

Messaggioda ferlino » 18/01/2016, 16:46

Hai colto nel punto !
Non ho le idee chiare su cosa ho fatto. Il risultato finale (quello che più conta) è che l'app Android da me realizzata comanda correttamente il raspberry in tutte le funzioni che io desidero (in particolare il movimento dello step motor, lo scatto di una singola fotografia e l'esecuzione di un panorama). Tutto ciò nelle 2 modalita di collegamento da me volute:
a) wifi e il protocollo SSH
b) attraverso internet
ovviamente con script diversi da caso a caso.
Gli unici punti che ancora non sono funzionanti (il secondo solo parzialmente) sono :
- qualche sporadico e casuale (apparentemente) arresto nel collegamento wifi con il computer; l'app continua viceversa a funzionare, immancabilmente, sempre;
- la realizzazione di un panorama tramite internet; c'è da dire che in questo caso la mia app (scritta in B4A) avvia un Job il quale lancia uno script php che avvia un lungo script sh che contiene sia altri script sh che script py. Un po' contorto vero ?
Ancora grazie per il tuo competente supporto.
Ultima modifica di ferlino il 18/01/2016, 21:07, modificato 1 volta in totale.
ferlino
Newbie
Newbie
 
Messaggi: 31
Iscritto il: 03/10/2015, 17:48

Re: Riconoscimento porta USB

Messaggioda Aki » 18/01/2016, 20:04

Può contrassegnare la discussione come risolta ?
Aki
Global Moderator
Global Moderator
 
Messaggi: 8429
Iscritto il: 27/12/2007, 16:59

Precedente

Torna a Scripting

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite