Ubuntu 14.04 Arduino Devido problema de firmware de upload

1

Eu tenho o Arduino Due no SAM3x8e. Eu estou no Ubuntu 14.04. Antes de hoje eu carreguei firmware via terminal usando esses comandos:

$ stty -F /dev/ttyACM0 speed 1200 cs8 -cstopb -parenb
$ /home/q/apps/devel/arduino/arduino-1.5.7/hardware/tools/bossac --port=ttyACM0 -U false -e -w -v -b /home/q/work/gk/j-v2/embedded/smib/Release/smib.bin -R

Foi bom, mas agora parou de funcionar. Bossac apenas desliga '-d' não exibe nada. Isso é tudo.

Eu baixei o arduino IDE 1.6.5, mas isso não importa. No console do ide eu recebo

Sketch uses 11,000 bytes (2%) of program storage space. Maximum is 524,288 bytes.
Forcing reset using 1200bps open/close on port /dev/ttyACM0
/home/q/.arduino15/packages/arduino/tools/bossac/1.3a-arduino/bossac -i -d --port=ttyACM0 -U false -e -w -v -b /tmp/build238086227206829290.tmp/AnalogReadSerial.cpp.bin -R

Ele gruda, sem leds piscando na placa do Arduino. Parece que realmente desliga, porque carrega 99% da CPU ... Talvez a atualização do Ubuntu tenha causado esse problema ...?

dmesg

[ 5168.658692] usb 3-3: new full-speed USB device number 7 using xhci_hcd
[ 5168.676969] usb 3-3: New USB device found, idVendor=2341, idProduct=003d
[ 5168.676979] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[ 5168.676985] usb 3-3: Product: Arduino Due Prog. Port
[ 5168.676989] usb 3-3: Manufacturer: Arduino (www.arduino.cc)
[ 5168.676994] usb 3-3: SerialNumber: 75438313633351A07051
[ 5168.677225] usb 3-3: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes
[ 5168.677652] cdc_acm 3-3:1.0: ttyACM0: USB ACM device

syslog

Oct  4 21:49:01 4xybook kernel: [ 5356.553290] usb 3-3: new full-speed USB device number 8 using xhci_hcd
Oct  4 21:49:01 4xybook kernel: [ 5356.571623] usb 3-3: New USB device found, idVendor=2341, idProduct=003d
Oct  4 21:49:01 4xybook kernel: [ 5356.571635] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=220
Oct  4 21:49:01 4xybook kernel: [ 5356.571643] usb 3-3: Product: Arduino Due Prog. Port
Oct  4 21:49:01 4xybook kernel: [ 5356.571649] usb 3-3: Manufacturer: Arduino (www.arduino.cc)
Oct  4 21:49:01 4xybook kernel: [ 5356.571655] usb 3-3: SerialNumber: 75438313633351A07051
Oct  4 21:49:01 4xybook kernel: [ 5356.571923] usb 3-3: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes
Oct  4 21:49:01 4xybook kernel: [ 5356.572506] cdc_acm 3-3:1.0: ttyACM0: USB ACM device
Oct  4 21:49:01 4xybook mtp-probe: checking bus 3, device 8: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-3"
Oct  4 21:49:01 4xybook mtp-probe: bus: 3, device: 8 was not an MTP device

lsusb

Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 8087:07da Intel Corp. 
Bus 001 Device 003: ID 064e:c336 Suyin Corp. 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 152d:0567 JMicron Technology Corp. / JMicron USA Technology Corp. 
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 008: ID 2341:003d Arduino SA 
Bus 003 Device 002: ID 1a2c:0e24 China Resource Semico Co., Ltd 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

strace dá isso.

select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99988})
read(4, "", 1024)                       = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99992})
read(4, "", 1024)                       = 0  
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99994})
read(4, "", 1024)                       = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99994})
read(4, "", 1024)                       = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99995})
read(4, "", 1024)                       = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99994})
read(4, "", 1024)                       = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99994})
read(4, "", 1024)                       = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99995})
read(4, "", 1024)                       = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99995})
read(4, "", 1024)                       = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99996})
read(4, "", 1024)                       = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99995})
read(4, "", 1024)                       = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99995})
read(4, "", 1024)                       = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99995})

Ele pesquisa indefinidamente o descritor. select = 1 significa que há um dado, mas read retorna 0. Parece que algo no nível inferior está quebrado ... pode ser por causa da atualização do sistema (

Qualquer ajuda seria muito apreciada.

    
por 4xy 04.10.2015 / 23:08

1 resposta

1

atualizar o kernel do 3.13.0-66-generic para o 3.13.0-67-generic parece resolver o problema.

    
por sauerburger 22.11.2015 / 14:15