Go Down

Topic: Problema al subir programa a UNO R3 desde Archlinux como root (Read 539 times) previous topic - next topic

Killtroman_X

Hola. Este es mi primer post en este foro, y la razón por la que estoy acá originalmente (lo que no impide que me sea útil después).

Soy nuevo en esto del uso de Arduino, tengo una placa Arduino Uno R3, probé en ArchLinux instalando los paquetes arduino y arduino-avr-core (que contiene los drivers de diversas placas arduino, incluyendo la uno), agregué mi usuario al grupo uucp (como dice en las instrucciones de post-instalación de pacman) y ejecuté el programa, seleccionando en herramientas la placa Arduino/Genuino Uno y el puerto /dev/ttyACM0. No funcionó en usuario normal, así que lo tiré a superusuario (haciendo los cambios mencionados antes), la primera vez funcionó sin problemas, pero al día siguiente mostró el siguiente error:

Quote
El Sketch usa 916 bytes (2%) del espacio de almacenamiento de programa. El máximo es 32256 bytes.
Las variables Globales usan 9 bytes (0%) de la memoria dinámica, dejando 2039 bytes para las variables locales. El máximo es 2048 bytes.
avrdude: ser_open(): can't set attributes for device "/dev/ttyACM0": Inappropriate ioctl for device
Ha ocurrido un error mientras se enviaba el sketch
Luego de ver las sugerencias en varios sitios de internet pensé que podría haber un problema con el USB o incluso con la placa Arduino, por lo que fuí a mi partición Windows 7, bajé el paquete completo de Arduino y lo ejecuté, hasta ahora sin complicación alguna (ahí corre en el puerto COM40). Eso descarta un error de hardware... creo.

Estuve mirando los puertos /dev/ttyACM*, y cuando antes eran dos, el ttyACM0 y otro que no recuerdo, siendo ttyACM0 de root y grupo uucp... ahora sale esto:
Quote
lrwxrwxrwx 1 root root 10 mar 11 12:12 /dev/ttyACM -> input/mice
lrwxrwxrwx 1 root root  7 mar 11 14:43 /dev/ttyACM0 -> hidraw0
lrwxrwxrwx 1 root root 12 mar 11 14:43 /dev/ttyACM1 -> input/event1
lrwxrwxrwx 1 root root 13 mar 11 12:12 /dev/ttyACM10 -> input/event10
lrwxrwxrwx 1 root root 13 mar 11 12:12 /dev/ttyACM11 -> input/event11
lrwxrwxrwx 1 root root 13 mar 11 12:12 /dev/ttyACM12 -> input/event12
lrwxrwxrwx 1 root root 14 mar 11 12:12 /dev/ttyACM128 -> dri/renderD128
lrwxrwxrwx 1 root root 13 mar 11 12:12 /dev/ttyACM13 -> input/event13
lrwxrwxrwx 1 root root 13 mar 11 12:12 /dev/ttyACM14 -> input/event14
lrwxrwxrwx 1 root root 13 mar 11 12:12 /dev/ttyACM15 -> input/event15
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM16 -> tty16
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM17 -> tty17
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM18 -> tty18
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM19 -> tty19
lrwxrwxrwx 1 root root 12 mar 11 14:43 /dev/ttyACM2 -> input/event2
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM20 -> tty20
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM21 -> tty21
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM22 -> tty22
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM23 -> tty23
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM24 -> tty24
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM25 -> tty25
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM26 -> tty26
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM27 -> tty27
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM28 -> tty28
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM29 -> tty29
lrwxrwxrwx 1 root root  5 mar 11 14:42 /dev/ttyACM3 -> vcsa3
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM30 -> tty30
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM31 -> tty31
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM32 -> tty32
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM33 -> tty33
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM34 -> tty34
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM35 -> tty35
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM36 -> tty36
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM37 -> tty37
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM38 -> tty38
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM39 -> tty39
lrwxrwxrwx 1 root root  4 mar 11 14:42 /dev/ttyACM4 -> vcs4
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM40 -> tty40
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM41 -> tty41
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM42 -> tty42
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM43 -> tty43
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM44 -> tty44
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM45 -> tty45
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM46 -> tty46
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM47 -> tty47
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM48 -> tty48
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM49 -> tty49
lrwxrwxrwx 1 root root  5 mar 11 12:22 /dev/ttyACM5 -> vcsa5
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM50 -> tty50
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM51 -> tty51
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM52 -> tty52
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM53 -> tty53
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM54 -> tty54
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM55 -> tty55
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM56 -> tty56
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM57 -> tty57
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM58 -> tty58
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM59 -> tty59
lrwxrwxrwx 1 root root  4 mar 11 12:12 /dev/ttyACM6 -> vcs6
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM60 -> tty60
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM61 -> tty61
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM62 -> tty62
lrwxrwxrwx 1 root root  5 mar 11 12:12 /dev/ttyACM63 -> tty63
lrwxrwxrwx 1 root root 12 mar 11 12:12 /dev/ttyACM7 -> input/event7
lrwxrwxrwx 1 root root 12 mar 11 12:12 /dev/ttyACM8 -> input/event8
lrwxrwxrwx 1 root root 12 mar 11 12:12 /dev/ttyACM9 -> input/event9
Con esos permisos. Si saben algo de Linux sabrán que son enlaces simbólicos (algo así como accesos directos, aunque con algunas diferencias que no vienen a cuento). Examinando /dev/ttyACM0:

Quote
crw------- 1 root root 250, 0 mar 11 14:43 /dev/hidraw0
le di a este último permisos totales con $ sudo chmod 777 /dev/hidraw0 sin resultados. Cambié el grupo a uucp (aunque ya me intuía que no tendría objeto).

¿Alguien ya probó otra cosa?

Killtroman_X

Euh... si necesitan algo más de info solo pregunten. Si la respuesta es "entonces úsalo desde Windows"... lo he pensado, pero ese SO es el que uso para los videojuegos, en este caso bajé el arduino para probar si funcionaba o no, para descartar un error de hardware, sea el usb o (no quiero ni pensarlo) el que por alguna razón me haya cargado la placa arduino.

Si no hay solución, supongo que tendré que probar con medidas más... drásticas, como ver si puedo correrlo desde una VM con otro SO u otra cosa, eso podría darme algo de información extra.

surbyte

Se paciente ya te responderán.
Yo he instalado el IDE usando una distro DEBIAN sin problemas.

Killtroman_X

Podría intentarlo yo también, al menos en la otra computadora a ver cómo anda.

Killtroman_X

Solucionado, aunque no recomiendo esta forma: Simplemente cambié la arquitectura de mi SO de 32 a 64 bits, me solucionó muchas cosas incluyendo mi problema con Arduino.

Go Up