Arduino Due upload firmware issue

Hi folks,

I have Arduino Due on SAM3x8e. I'm on Ubuntu 14.04. Before today I uploaded firmware via terminal using those commands:

$ 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

It was good, but now it stopped working. Bossac just hangs up '-d' displays nothing. That is all.

I downloaded arduino IDE 1.6.5, but this doesn't matter. In ide's console I get

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

It sticks, no leds blinking on Arduino board. It seems it actually hangs up, due to it loads 99% of CPU... May be Ubuntu update caused this issue...? Any help would be really appreciated.

try the native port instead of the programming port? sometimes this works.

Unfortunately issue regards to both of ports

This is the extra info on this.

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 gives this.

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})

It indefinitely polls the descriptor. select = 1 means there is a data, but read returns 0. It seems like something on lower level is broken... may be because of system update (