Go Down

Topic: Arduino Uno - usb non riconosciuta (Read 5231 times) previous topic - next topic

Salve a tutti.
Finalmente è arrivato Arduino Uno sono felicissimo, ma la felicità si è un po' morzata perchè ho il primo problema, Linux non mi riconosce l'usb ed infatti quando parte l'ide non è selezionabile la voce Tools -> Serial Port.
Su /dev/ non c'è nessuna voce ttyUSB o altro, per cui penso che non venga riconosciuto. Ho provato anche a seguire un reset hardware ma occorre poter caricare almeno uno sketch e non mi riesce ovviamente.
Qualche idea? Lavoro su Debian Sid 6.0 gnome.
Grazie mille perchè non so dove sbattere la testa :(

ste4os

Si anche a me faceva così. Lavoro su Ubuntu. Inizialmente ho scaricato la versione delle repository e avevo il tuo stesso problema!!
Se hai fatto cosi anche tu, eliminala e scarica la 22 dal sito ufficiale (questo), la estrai ed entri. via di ./arduino e sei pronto a lavorare!

leo72

http://www.arduino.cc/playground/Learning/Linux

Segui le istruzioni. Arduino non "va" da solo, ha bisogno di software vario.
Prova anche a mettere l'IDE di Arduino presente nei repo della tua distro: anche se è una versione vecchia, non devi tenerla, ti serve solo per scaricare il software e configurare il sistema. Fatto questo, togli quella versione e scarichi la ultima 0022.

Avevo già seguito le istruzioni e mi installa tutto correttamente, l'IDE parte ma la voce tools->serial port non è abilitata, quindi quando provo a fare un upload mi dice COM1 non trovata, ho cercato su dev/tty ma non trovo ttyUSB o simili, quindi penso che non mi riconosca l'usb.
Ho provato anche a cambiare cavo e porta, niente. Ho provato anche il binario sul sito ma niente, la 22 comunque me lo installa anche da repository.
Altre soluzioni? :(

leo72

Se hai la UNO la porta è /dev/ttyACMx, non ttyUSB. Cmq l'unica altra cosa da controllare è l'appartenenza al gruppo abilitato ad accedere ai dispositivi tty (controlla sempre nella pagina che ti ho linkato). Altro non so.

Su alcuni computer sembra che la Uno stia dando problemi sotto Linux, e consigliano di fare un hard reset e riprogrammare l'Atmega8U2 (è quel chippettino quadrato appena dietro al connettore USB sulla scheda) per sistemare questo bug. Io sinceramente non ho avuto problemi su 3 computer differenti (un desktop addirittura di una decina d'anni fa) per cui non so assolutamente da cosa possa dipendere.

#5
Apr 05, 2011, 08:58 pm Last Edit: Apr 05, 2011, 10:21 pm by shinigamiphobos Reason: 1
Rieccomi :(
Facendo un dmesg vedo il seguente codice:
Quote
[  447.848039] usb 3-1: new full speed USB device using uhci_hcd and address 2
[  448.046079] usb 3-1: New USB device found, idVendor=2341, idProduct=0001
[  448.046085] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[  448.046089] usb 3-1: Product: Arduino Uno
[  448.046092] usb 3-1: Manufacturer: Arduino (www.arduino.cc)
[  448.046096] usb 3-1: SerialNumber: 64932343638351F08251

Quindi l'usb si attiva, solo che non capisco perchè non mi crea in /dev/ nulla.
Qualche idea di come attivare una porta virtuale?

Ho provato ad inserire gli ID con:
Quote
modprobe ftdi_sio vendor=0x2341 product=0x1

Ed ora compare la voce "tools -> serialport" ma con 2 USB, quando provo ad uploadare su una delle due uno sketch qualsiasi mi da:
Quote
ioctl("TIOCMGET"): Broken pipe
avrdude: stk500_recv(): programmer is not responding

E qui mi blocco. :(

lesto

stesso problema un mio amico oggi (che sia una coicidenza?!?!?)

vai su Sistema->amministrazione->utenti e gruppi -> gestisci gruppi -> scegli "dialout" dal menu -> proprieties -> metti la spunta al tuo utente -> ok -> ok-> ok -> etc...
FINITO! :-)

in pratica hai dato al tuo utente i permessi di usare la seriale, e visto che il tuo utente lancia arduino IDE, anche arduino IDE ora può finalmente usare la seriale (o meglio la pseudoseriale, mavebè)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Grazie delle info ma avevo già provato, tuttora è abilitato ma non serve :(

lesto

riavvia il pc che quel modprobe forzato di sicuro non aiuta. (la UNO NON usa l'FTDI...)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

lesto

ah se non funziona ancora prova a lancire arduino da root, se lì funziona allora è solo un problema di permessi, se no potrebbe essere un problema delle politicy di UDEV
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

superlol

lancia l'ide con sudo o da super user
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

superlol


ah se non funziona ancora prova a lancire arduino da root, se lì funziona allora è solo un problema di permessi, se no potrebbe essere un problema delle politicy di UDEV


great minds think alike.. no? ;)
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

No, anche da root mi da lo stesso problema.

lesto

dunque, dici che non compare ttyACMX (dove X è un numero) quando connetti l'usb? e che anche da root non va?

Prima di tutto controlliamo che stai usando la sun JDK e non la open, che sarà open ma non sarebbe la prima volta che crea problemi con la seriale (in realtà con processing, ma essendo l'IDE arduino basata su di essa....)
quindi:
apt-get install sun-java6-jdk
update-java-alternatives -s java-6-sun

Probabilmente non funzionerà, ma dobbiamo escludere tutti i possibili errori uno per uno.
Non disperare, avevo lo stesso problema, nel mio caso era UDEV che anzichè mettere ttyUSB in /dev lo metteva in una sotto-cartella:

Prima di tutto controlliamo se questo è il caso

1. accendi il pc (importante, se no i comandi successivi potrebbero essere "spuri" dalle cose fatte prima, e quindi più macelloso.
2. da terminale: "ls -la /dev > /tmp/output1"
3. collega arduino
4. da terminale: "ls -la /dev > /tmp/output2"
5. da terminale: "diff /tmp/output1 /tmp/output2"
6. a questo punto sai come si chiama il file creato. Non è molto utile, ma sappiamo che almeno non è un problema di driver.

Ora che abbiamo escluso un errore più subdolo passiamo alla parte di "aggiustazione"
1. da terminale vai nella cartella /etc/udev/rules.d/ Da ora in poi lavori come root, quindi occhio.
2. crea un file che inizi per numero a 2 cifre bello grosso trattino in mezzo(-) nome a caso .rules
esempio: 99-UNO.rules
3. apri il file e scrivici:
SUBSYSTEMS=="usb", ATTRS{idProduct}=="0001", ATTRS{idVendor}=="2341", SYMLINK+="ttyACM%n"
salva il file
4. sempre da terminale come root: udevadm control --reload-rules

fine.

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie


dunque, dici che non compare ttyACMX (dove X è un numero) quando connetti l'usb? e che anche da root non va?

Sì, non compare nulla.


Prima di tutto controlliamo che stai usando la sun JDK e non la open, che sarà open ma non sarebbe la prima volta che crea problemi con la seriale (in realtà con processing, ma essendo l'IDE arduino basata su di essa....)
quindi:
apt-get install sun-java6-jdk
update-java-alternatives -s java-6-sun

Facendo l'update mi compaiono questi errori:
Quote
update-alternatives: errore: nessuna alternativa per firefox-javaplugin.so.
update-alternatives: errore: nessuna alternativa per iceape-javaplugin.so.
update-alternatives: errore: nessuna alternativa per iceweasel-javaplugin.so.
update-alternatives: errore: nessuna alternativa per midbrowser-javaplugin.so.
update-alternatives: errore: nessuna alternativa per mozilla-javaplugin.so.
update-alternatives: errore: nessuna alternativa per xulrunner-1.9-javaplugin.so.
update-alternatives: errore: nessuna alternativa per xulrunner-javaplugin.so.
update-alternatives: errore: nessuna alternativa per firefox-javaplugin.so.
update-alternatives: errore: nessuna alternativa per iceape-javaplugin.so.
update-alternatives: errore: nessuna alternativa per iceweasel-javaplugin.so.
update-alternatives: errore: nessuna alternativa per midbrowser-javaplugin.so.
update-alternatives: errore: nessuna alternativa per mozilla-javaplugin.so.
update-alternatives: errore: nessuna alternativa per xulrunner-1.9-javaplugin.so.
update-alternatives: errore: nessuna alternativa per xulrunner-javaplugin.so.



6. a questo punto sai come si chiama il file creato. Non è molto utile, ma sappiamo che almeno non è un problema di driver.

la differenza è nulla, solo l'orario, nessun file.


...
4. sempre da terminale come root: udevadm control --reload-rules

Niente, ho provato togliendo e rimettendo il plug ma niente. :(

Una frase che hai detto su l'udev che mette il file in un altro posto mi ha fatto venire il dubbio, ho fatto ls e diff con l'opzione -R per vedere le sottocartelle, e mi da questo file che viene creato e cancellato quando connetto e disconnetto arduino: /dev/bus/usb/003/004
Può essere utile?

Go Up