I'm using a Feather 32u4 bluetooth device connected
to a AM2302 temperature sensor via I/O pin to my Linux PC via USB
Everything was working fine, uploading the code to the micro via Artuino IDE and reading the temperature on the Rapsberry PI connected via bluetooth to the Feather 32u4, until I decided to use the Raspberry PI3 to provide power feeding to the Feather (via USB). After that attempt, I tried again to connect the Feather 32u4 to the Linux PC, but I've neve been able to do that. Everywhen I connect the Feather to the USB port of the PC it is not shown in the available serial ports of Arduino IDE and the dmesg is
[ 358.028022] usb 8-2: new full-speed USB device number 6 using uhci_hcd
[ 358.148026] usb 8-2: device descriptor read/64, error -71
[ 358.372024] usb 8-2: device descriptor read/64, error -71
[ 358.588029] usb 8-2: new full-speed USB device number 7 using uhci_hcd
[ 358.708024] usb 8-2: device descriptor read/64, error -71
[ 358.932024] usb 8-2: device descriptor read/64, error -71
[ 359.148028] usb 8-2: new full-speed USB device number 8 using uhci_hcd
[ 359.556026] usb 8-2: device not accepting address 8, error -71
[ 359.668028] usb 8-2: new full-speed USB device number 9 using uhci_hcd
[ 360.076038] usb 8-2: device not accepting address 9, error -71
[ 360.076056] usb usb8-port2: unable to enumerate USB device
Is it possible that using the Rapsbery PI3 providing power feeding to the Feather destroyed its USB port? Why?
When I reset the Feather (using the reset button) the following is the dmesg
[53215.808027] usb 3-1: new full-speed USB device number 10 using uhci_hcd
[53215.993042] usb 3-1: New USB device found, idVendor=239a, idProduct=000c
[53215.993046] usb 3-1: New USB device strings: Mfr=2, Product=1, SerialNumber=0
[53215.993049] usb 3-1: Product: Adafruit Feather
[53215.993051] usb 3-1: Manufacturer: Adafruit In
[53216.072814] cdc_acm 3-1:1.0: ttyACM0: USB ACM device
[53216.074154] usbcore: registered new interface driver cdc_acm
[53216.074157] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[53225.664064] usb 3-1: USB disconnect, device number 10
[53225.904030] usb 3-1: new full-speed USB device number 11 using uhci_hcd
[53226.024024] usb 3-1: device descriptor read/64, error -71
[53226.248024] usb 3-1: device descriptor read/64, error -71
[53226.464024] usb 3-1: new full-speed USB device number 12 using uhci_hcd
[53226.584023] usb 3-1: device descriptor read/64, error -71
[53226.808022] usb 3-1: device descriptor read/64, error -71
[53227.024030] usb 3-1: new full-speed USB device number 13 using uhci_hcd
[53227.432025] usb 3-1: device not accepting address 13, error -71
[53227.544024] usb 3-1: new full-speed USB device number 14 using uhci_hcd
[53227.952021] usb 3-1: device not accepting address 14, error -71
[53227.952040] usb usb3-port1: unable to enumerate USB device
NEW EDIT
I tried the suggestion from @Majenko and the result is the following
Sketch uses 19,712 bytes (68%) of program storage space. Maximum is 28,672 bytes.
Global variables use 730 bytes of dynamic memory.
Forcing reset using 1200bps open/close on port /dev/ttyACM0
PORTS {/dev/ttyACM0, /dev/ttyS0, /dev/ttyS4, } / {/dev/ttyACM0, /dev/ttyS0, /dev/ttyS4, } => {}
<... a long list of similar PORTS rows>
Uploading using selected port: /dev/ttyACM0
/home/storassa/work/Arduino/hardware/tools/avr/bin/avrdude -C/home/storassa/work/Arduino/hardware/tools/avr/etc/avrdude.conf -v -patmega32u4 -cavr109 -P/dev/ttyACM0 -b57600 -D -Uflash:w:/tmp/build133016433f76cdf39b8ff61da42c5037.tmp/Antoz.ino.hex:i
avrdude: Version 6.0.1, compiled on Apr 14 2015 at 19:04:16
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "/home/storassa/work/Arduino/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/home/storassa/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/ttyACM0
Using Programmer : avr109
Overriding Baud Rate : 57600
avrdude: ser_open(): can't open device "/dev/ttyACM0": No such file or directory
avrdude: ser_send(): write error: Bad file descriptor
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
I also tried with a
chmod 777 ttyACM0
with the same result
LAST EDIT
I tried again multiple times and eventually I was able to upload the sketch. Everything works fine now
1 Answer 1
The sketch on your Feather has no CDC/ACM interface - either because it was disabled in your code, or because the sketch has become corrupted somehow.
You need to re-flash the feather with a new sketch - but that's not going to be easy with no CDC/ACM device to access to start programming - except that you do for a short time.
You need to press reset and then upload in the few seconds you get while the CDC/ACM device is available:
\/\/\/ Reset pressed and bootloader entered \/\/\/
[53215.808027] usb 3-1: new full-speed USB device number 10 using uhci_hcd
[53215.993042] usb 3-1: New USB device found, idVendor=239a, idProduct=000c
[53215.993046] usb 3-1: New USB device strings: Mfr=2, Product=1, SerialNumber=0
[53215.993049] usb 3-1: Product: Adafruit Feather
[53215.993051] usb 3-1: Manufacturer: Adafruit In
[53216.072814] cdc_acm 3-1:1.0: ttyACM0: USB ACM device
[53216.074154] usbcore: registered new interface driver cdc_acm
[53216.074157] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
*** UPLOAD RIGHT NOW!!! ***
*** You get about 9 seconds, because... ***
\/\/\/ Bootloader times out and your corrupt sketch runs \/\/\/
[53225.664064] usb 3-1: USB disconnect, device number 10
-
you can find the result in my new edit. Can I use the RST pin in this case? I found this in the operating guide of the Feather "The RST pin is the factory reset pin, which is also rarely used, but you can use it to set the module back to the factory default settings if it gets really messed up".sthor69– sthor692016年12月22日 08:34:22 +00:00Commented Dec 22, 2016 at 8:34
-
As you can see on my last edit, everything works fine now. Thank you very much. I couldn't get to this solution without your helpsthor69– sthor692016年12月22日 09:11:28 +00:00Commented Dec 22, 2016 at 9:11