Teensy 3.2 not responding

SteveSFX

Well-known member
Hello all

I have a project I built a while back with an integral Teensy 3.2, and today I went to update the software and I cannot connect to it.
Windows acknowledges the USB device fine, but it will not upload.

It says that the Arduino IDE cannot put the device into programming mode, so I should press the program button. That does nothing. The little Teensy window thing doesn't acknowledge it is there at all.
I can see Teensy in the Arduino IDE of connected ports however.

Ideas? Not the lead, as I plugged another Teensy 3.2 in and that worked fine.

If it's the bootloader, then I could rob one off this spare Teensy I have here and probably be able to change it where it sits, but if it's the 48 pin (or whatever it is) processor, then I will annoyingly have to dismantle the whole project.

Any ideas what part may have failed? It's worked fine for a year, so bit odd. What controls the comms - the bootloader?

Thanks
 
AFAIK - The bootloader is just onboard processor with stored code to control and get the T_3.2 MCU programmed - and that is done through that main MCU under direction of that bootloader processor.

More likely something is affecting the main MCU function.

One simple test would be to have the IDE do a VERIFY build of a simple BLINK sketch with no Teensy connected.
> then while holding the T_3.2 Button down, plug in the USB cable and release the button after a second or two

If that fails repeat with the second T_3.2 to see it work
> then repeat with the 'project' T_3.2 once again

Also, there are troubleshooting notes that indicate expected voltages and some other checks that indicate T_3.2 MCU health.
 
Hmm OK.

I tried loading standard blink, but it's definitely not communicating at all with the processor. It just says please press the program button in the Teensy pop-up window. The Teensy window stays mostly greyed out, and does not see the Teensy at all.
Wonder what has happened? It's my weather station I built a while back. The processor is a housing in the garage. Damp maybe? (although it seems fine and did have crystals in the enclosure with it).

I have done that process you suggest....the program button doesn't seem to do anything.
Also, checked the voltages on the pins. I do seem to have 3.3v and ground where required and the crystal seems fine (if that would make any difference).

Annoying!
 
Two quick tests can confirm if the bootloader is running.

First measure the voltage on the Program pin. It should be 3.3V, due to the internal pullup resistor in the bootloader chip. 3.3V confirms the bootloader started up.

Second, if you can access the Reset signal (small R pad on the bottom side) it should normally be 3.3V. If you press and hold the button, it should be low while you hold the button. This behavior confirms the bootloader is running and monitoring the Program pin and controlling the Reset signal.
 
Thanks for the advice. I will try and wrangle the board out tomorrow and have a proper test.
I soldered it onto a PCB as I thought it would never have to come out again and I thought less chance of corrosion on the pins (if not in a socket). Regret that decision now.
 
Hey all.

OK Paul. First test.... no bootloader. Indeed the Program pin was not at 3.3v.
So I reflowed the IC with my hotair soldering gun (300 deg) and once it 'wetted', I re-tested it and then I did have 3.3v on the program pin which dropped to 0v when pressed.
I also have 3.3v on the reset pin that indeed does drop to 0v when you press the button.

But... still not finding it.

The Arduino IDE just shouts 'Teensy did not respond to USB-based request to enter program mode'. Pressing the button now induces the Windows connect/disconnect chime (which I don't think it did before), but still unable to load the basic blink test code.

Hmm... ideas? Not sure I want to reflow the main IC.... SMD isn't my thing.

Not sure if the bootloader log is any use...

Code:
11:08:59.998 (post_compile 1): Begin, version=1.55, high-res time
11:09:00.504 (loader): Teensy Loader 1.55, begin program
11:09:00.674 (loader): File "C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\Blink.ino.hex", 7788 bytes
11:09:00.676 (loader): File "Blink.ino.hex". 7788 bytes
11:09:00.711 (loader): Listening for remote control on port 3149
11:09:00.712 (loader): initialized, showing main window
11:09:00.755 (loader): remote connection 1368 opened
11:09:00.759 (post_compile 1): Sending command: comment: Teensyduino 1.55 - WINDOWS (teensy_post_compile)
11:09:00.759 (loader): remote cmd from 1368: "comment: Teensyduino 1.55 - WINDOWS (teensy_post_compile)"
11:09:00.761 (loader): remote cmd from 1368: "status"
11:09:00.831 (loader): HID/win32:  vid:16C0 pid:0486 ver:0275  usb:0/100000/0/3/4
11:09:00.833 (loader): HID/win32:  vid:16C0 pid:0486 ver:0275  usb:0/100000/0/3/3
11:09:00.834 (loader): HID/win32:  vid:0001 pid:0001 ver:0001
11:09:00.840 (post_compile 1): Status: 1, 0, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:00.840 (post_compile 1): Sending command: dir:C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\
11:09:00.840 (loader): remote cmd from 1368: "dir:C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\"
11:09:00.842 (post_compile 1): Sending command: file:Blink.ino.hex
11:09:00.842 (loader): remote cmd from 1368: "file:Blink.ino.hex"
11:09:00.861 (loader): File "C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\Blink.ino.hex", 7788 bytes
11:09:00.862 (loader): File "Blink.ino.hex". 7788 bytes
11:09:00.870 (loader): remote cmd from 1368: "status"
11:09:00.876 (post_compile 1): Status: 1, 0, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:00.876 (post_compile 1): Sending command: auto:on
11:09:00.878 (loader): remote cmd from 1368: "auto:on"
11:09:00.879 (post_compile 1): Disconnect
11:09:00.896 (loader): remote connection 1368 closed
11:09:19.852 (loader): file changed
11:09:19.879 (loader): File "C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\Blink.ino.hex", 7788 bytes
11:09:19.879 (loader): File "Blink.ino.hex". 7788 bytes
11:09:19.907 (post_compile 2): Begin, version=1.55, high-res time
11:09:19.912 (loader): remote connection 1456 opened
11:09:19.912 (loader): remote cmd from 1456: "comment: Teensyduino 1.55 - WINDOWS (teensy_post_compile)"
11:09:19.912 (loader): remote cmd from 1456: "status"
11:09:19.912 (post_compile 2): Sending command: comment: Teensyduino 1.55 - WINDOWS (teensy_post_compile)
11:09:19.916 (loader): remote cmd from 1456: "dir:C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\"
11:09:19.916 (loader): remote cmd from 1456: "file:Blink.ino.hex"
11:09:19.916 (post_compile 2): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:19.916 (post_compile 2): Sending command: dir:C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\
11:09:19.916 (post_compile 2): Sending command: file:Blink.ino.hex
11:09:19.932 (loader): File "C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\Blink.ino.hex", 7788 bytes
11:09:19.932 (loader): File "Blink.ino.hex". 7788 bytes
11:09:19.940 (loader): remote cmd from 1456: "status"
11:09:19.944 (post_compile 2): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:19.944 (post_compile 2): Disconnect
11:09:19.964 (loader): remote connection 1456 closed
11:09:20.311 (loader): remote connection 1456 opened
11:09:20.311 (loader): remote cmd from 1456: "comment: Teensyduino 1.55 - WINDOWS (teensy_post_compile)"
11:09:20.311 (loader): remote cmd from 1456: "status"
11:09:20.311 (loader): remote cmd from 1456: "dir:C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\"
11:09:20.318 (post_compile 3): Begin, version=1.55, high-res time
11:09:20.322 (post_compile 3): Sending command: comment: Teensyduino 1.55 - WINDOWS (teensy_post_compile)
11:09:20.326 (post_compile 3): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:20.326 (post_compile 3): Sending command: dir:C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\
11:09:20.327 (post_compile 3): Sending command: file:Blink.ino.hex
11:09:20.327 (loader): remote cmd from 1456: "file:Blink.ino.hex"
11:09:20.327 (loader): File "C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\Blink.ino.hex", 7788 bytes
11:09:20.327 (loader): File "Blink.ino.hex". 7788 bytes
11:09:20.343 (loader): remote cmd from 1456: "status"
11:09:20.352 (post_compile 3): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:20.352 (post_compile 3): Disconnect
11:09:20.374 (loader): remote connection 1456 closed
11:09:20.374 (loader): remote connection 1456 opened
11:09:20.374 (post_compile 4): Running teensy_reboot: "C:\Program Files (x86)\Arduino\hardware\teensy\..\tools\teensy_reboot.exe" teensy_reboot.exe "-board=TEENSY32" "-port=usb:0/100000/0/3" "-portlabel=hid#vid_16c0&pid_0486 (Teensy 3.2) RawHID" "-portprotocol=Teensy"
11:09:20.436 (loader): remote connection 1460 opened
11:09:20.436 (loader): remote cmd from 1460: "show:arduino_attempt_reboot"
11:09:20.436 (loader): got request to show arduino rebooting message
11:09:20.437 (reboot 5): Begin, version=1.55, high-res time
11:09:20.437 (reboot 5): location = usb:0/100000/0/3
11:09:20.437 (reboot 5): portlabel = hid#vid_16c0&pid_0486 (Teensy 3.2) RawHID
11:09:20.437 (reboot 5): portprotocol = Teensy
11:09:20.437 (reboot 5): Only location usb:0/100000/0/3 will be tried
11:09:20.437 (reboot 5): LoadLibrary cfgmgr32 ok
11:09:20.437 (reboot 5): LoadLibrary ntdll ok
11:09:20.440 (reboot 5): found_usb_device, id=\\?\usb#vid_16c0&pid_0486#8589370#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
11:09:20.440 (reboot 5): found_usb_device, loc=usb:0/100000/0/3    Port_#0003.Hub_#0003
11:09:20.440 (reboot 5): found_usb_device, hwid=USB\VID_16C0&PID_0486&REV_0275
11:09:20.440 (reboot 5): found_usb_device, devinst=00000003
11:09:20.440 (reboot 5): add: loc=usb:0/100000/0/3, class=USB, vid=16C0, pid=0486, ver=0275, serial=8589370, dev=\\?\usb#vid_16c0&pid_0486#8589370#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
11:09:20.440 (reboot 5): hiddev_from_devinst_list: iface=1
11:09:20.440 (reboot 5):   0000000B: path=\\?\hid#vid_16c0&pid_0486&mi_01#7&2491053a&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
11:09:20.443 (reboot 5): found_usb_device complete
11:09:20.444 (reboot 5): hid, found devinst=0000000B
11:09:20.444 (reboot 5): hid, found devinst=00000009
11:09:20.448 (reboot 5): found Teensy Loader, version 1.55
11:09:20.448 (reboot 5): Sending command: show:arduino_attempt_reboot
11:09:20.452 (loader): remote cmd from 1460: "comment: Teensyduino 1.55 - WINDOWS (teensy_reboot)"
11:09:20.452 (loader): remote cmd from 1460: "status"
11:09:20.452 (loader): remote cmd from 1460: "status"
11:09:20.453 (reboot 5): Sending command: comment: Teensyduino 1.55 - WINDOWS (teensy_reboot)
11:09:20.458 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:20.458 (reboot 5): hid_send_feature
11:09:20.464 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:20.464 (reboot 5): status read, retry 0
11:09:20.468 (loader): remote connection 1436 opened
11:09:20.480 (ports 6): WM_DEVICECHANGE DBT_DEVICEREMOVECOMPLETE
11:09:20.481 (ports 6): remove: loc=usb:0/100000/0/3
11:09:20.481 (ports 6): usb_remove: usb:0/100000/0/3
11:09:20.481 (ports 6): nothing new, skipping HID & Ports enum
11:09:20.526 (ports 6): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
11:09:20.527 (ports 6): nothing new, skipping HID & Ports enum
11:09:20.577 (loader): remote cmd from 1460: "status"
11:09:20.582 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:20.582 (reboot 5): status read, retry 1
11:09:20.682 (loader): remote cmd from 1460: "status"
11:09:20.686 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:20.686 (reboot 5): status read, retry 2
11:09:20.800 (loader): remote cmd from 1460: "status"
11:09:20.803 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:20.803 (reboot 5): status read, retry 3
11:09:20.823 (ports 6): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
11:09:20.824 (ports 6): nothing new, skipping HID & Ports enum
11:09:20.830 (ports 6): WM_DEVICECHANGE DBT_DEVICEARRIVAL
11:09:20.832 (ports 6): found_usb_device, id=\\?\usb#vid_16c0&pid_0486#8589370#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
11:09:20.832 (ports 6): found_usb_device, loc=usb:0/100000/0/3    Port_#0003.Hub_#0003
11:09:20.832 (ports 6): found_usb_device, hwid=USB\VID_16C0&PID_0486&REV_0275
11:09:20.832 (ports 6): found_usb_device, devinst=00000004
11:09:20.832 (ports 6): add: loc=usb:0/100000/0/3, class=USB, vid=16C0, pid=0486, ver=0275, serial=8589370, dev=\\?\usb#vid_16c0&pid_0486#8589370#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
11:09:20.832 (ports 6): hiddev_from_devinst_list: iface=1
11:09:20.832 (ports 6): found_usb_device complete
11:09:20.833 (ports 6): usb_add: usb:0/100000/0/3  [no_device] (Teensy 3.2) RawHID
11:09:20.878 (ports 6): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
11:09:20.880 (ports 6): update_usb_device, devinst list change, old had 1, new has 5
11:09:20.880 (ports 6): hiddev_from_devinst_list: iface=1
11:09:20.880 (ports 6):   0000000F: path=\\?\hid#vid_16c0&pid_0486&mi_01#7&2491053a&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
11:09:20.881 (ports 6): hid, found devinst=0000000F
11:09:20.881 (ports 6): hid, found devinst=0000000D
11:09:20.882 (ports 6): usb_add: usb:0/100000/0/3  hid#vid_16c0&pid_0486 (Teensy 3.2) RawHID
11:09:20.918 (loader): remote cmd from 1460: "status"
11:09:20.922 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:20.923 (reboot 5): status read, retry 4
11:09:20.926 (ports 6): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
11:09:20.928 (ports 6): nothing new, skipping HID & Ports enum
11:09:21.039 (loader): remote cmd from 1460: "status"
11:09:21.044 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:21.044 (reboot 5): status read, retry 5
11:09:21.159 (loader): remote cmd from 1460: "status"
11:09:21.166 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:21.166 (reboot 5): status read, retry 6
11:09:21.279 (loader): remote cmd from 1460: "status"
11:09:21.283 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:21.283 (reboot 5): status read, retry 7
11:09:21.398 (loader): remote cmd from 1460: "status"
11:09:21.403 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:21.403 (reboot 5): status read, retry 8
11:09:21.513 (loader): remote cmd from 1460: "status"
11:09:21.517 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:21.517 (reboot 5): status read, retry 9
11:09:21.618 (loader): remote cmd from 1460: "status"
11:09:21.623 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:21.623 (reboot 5): status read, retry 10
11:09:21.738 (loader): remote cmd from 1460: "status"
11:09:21.743 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:21.743 (reboot 5): status read, retry 11
11:09:21.854 (loader): remote cmd from 1460: "status"
11:09:21.859 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:21.859 (reboot 5): status read, retry 12
11:09:21.968 (loader): remote cmd from 1460: "status"
11:09:21.973 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:21.973 (reboot 5): status read, retry 13
11:09:22.084 (loader): remote cmd from 1460: "status"
11:09:22.089 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:22.089 (reboot 5): status read, retry 14
11:09:22.204 (loader): remote cmd from 1460: "status"
11:09:22.208 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:22.208 (reboot 5): status read, retry 15
11:09:22.314 (loader): remote cmd from 1460: "status"
11:09:22.318 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:22.318 (reboot 5): status read, retry 16
11:09:22.423 (loader): remote cmd from 1460: "status"
11:09:22.427 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:22.427 (reboot 5): status read, retry 17
11:09:22.533 (loader): remote cmd from 1460: "status"
11:09:22.536 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:22.536 (reboot 5): status read, retry 18
11:09:22.642 (loader): remote cmd from 1460: "status"
11:09:22.646 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:22.646 (reboot 5): status read, retry 19
11:09:22.751 (loader): remote cmd from 1460: "status"
11:09:22.756 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:22.756 (reboot 5): status read, retry 20
11:09:22.861 (loader): remote cmd from 1460: "status"
11:09:22.865 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:22.865 (reboot 5): status read, retry 21
11:09:22.970 (loader): remote cmd from 1460: "status"
11:09:22.975 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:22.975 (reboot 5): status read, retry 22
11:09:23.080 (loader): remote cmd from 1460: "status"
11:09:23.085 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:23.085 (reboot 5): status read, retry 23
11:09:23.189 (loader): remote cmd from 1460: "status"
11:09:23.196 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:23.196 (reboot 5): status read, retry 24
11:09:23.298 (loader): remote cmd from 1460: "status"
11:09:23.303 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:23.303 (reboot 5): status read, retry 25
11:09:23.408 (loader): remote cmd from 1460: "status"
11:09:23.413 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:23.413 (reboot 5): status read, retry 26
11:09:23.517 (loader): remote cmd from 1460: "status"
11:09:23.522 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:23.522 (reboot 5): status read, retry 27
11:09:23.626 (loader): remote cmd from 1460: "status"
11:09:23.632 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:23.632 (reboot 5): status read, retry 28
11:09:23.736 (loader): remote cmd from 1460: "status"
11:09:23.741 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:23.741 (reboot 5): status read, retry 29
11:09:23.845 (loader): remote cmd from 1460: "status"
11:09:23.850 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:23.850 (reboot 5): status read, retry 30
11:09:23.955 (loader): remote cmd from 1460: "status"
11:09:23.960 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:23.960 (reboot 5): status read, retry 31
11:09:24.064 (loader): remote cmd from 1460: "status"
11:09:24.069 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:24.069 (reboot 5): status read, retry 32
11:09:24.173 (loader): remote cmd from 1460: "status"
11:09:24.179 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:24.179 (reboot 5): status read, retry 33
11:09:24.283 (loader): remote cmd from 1460: "status"
11:09:24.288 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:24.288 (reboot 5): status read, retry 34
11:09:24.392 (loader): remote cmd from 1460: "status"
11:09:24.398 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:24.398 (reboot 5): status read, retry 35
11:09:24.501 (loader): remote cmd from 1460: "status"
11:09:24.507 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:24.507 (reboot 5): status read, retry 36
11:09:24.611 (loader): remote cmd from 1460: "status"
11:09:24.616 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:24.616 (reboot 5): status read, retry 37
11:09:24.720 (loader): remote cmd from 1460: "status"
11:09:24.726 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:24.726 (reboot 5): status read, retry 38
11:09:24.830 (loader): remote cmd from 1460: "status"
11:09:24.835 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:24.835 (reboot 5): status read, retry 39
11:09:24.939 (loader): remote cmd from 1460: "status"
11:09:24.944 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:24.944 (reboot 5): status read, retry 40
11:09:25.048 (loader): remote cmd from 1460: "status"
11:09:25.054 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:25.054 (reboot 5): status read, retry 41
11:09:25.158 (loader): remote cmd from 1460: "status"
11:09:25.163 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:25.163 (reboot 5): status read, retry 42
11:09:25.267 (loader): remote cmd from 1460: "status"
11:09:25.274 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:25.274 (reboot 5): status read, retry 43
11:09:25.376 (loader): remote cmd from 1460: "status"
11:09:25.382 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:25.382 (reboot 5): status read, retry 44
11:09:25.486 (loader): remote cmd from 1460: "status"
11:09:25.491 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:25.491 (reboot 5): status read, retry 45
11:09:25.595 (loader): remote cmd from 1460: "status"
11:09:25.601 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:25.601 (reboot 5): status read, retry 46
11:09:25.705 (loader): remote cmd from 1460: "status"
11:09:25.710 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:25.710 (reboot 5): status read, retry 47
11:09:25.814 (loader): remote cmd from 1460: "status"
11:09:25.819 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:25.819 (reboot 5): status read, retry 48
11:09:25.923 (loader): remote cmd from 1460: "status"
11:09:25.928 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:25.928 (reboot 5): status read, retry 49
11:09:26.033 (loader): remote cmd from 1460: "status"
11:09:26.038 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:26.038 (reboot 5): status read, retry 50
11:09:26.142 (loader): remote cmd from 1460: "status"
11:09:26.147 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:26.147 (reboot 5): status read, retry 51
11:09:26.252 (loader): remote cmd from 1460: "status"
11:09:26.256 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:26.256 (reboot 5): status read, retry 52
11:09:26.361 (loader): remote cmd from 1460: "status"
11:09:26.366 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:26.366 (reboot 5): status read, retry 53
11:09:26.470 (loader): remote cmd from 1460: "status"
11:09:26.475 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:26.475 (reboot 5): status read, retry 54
11:09:26.580 (loader): remote cmd from 1460: "status"
11:09:26.587 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:26.587 (reboot 5): status read, retry 55
11:09:26.689 (loader): remote cmd from 1460: "status"
11:09:26.694 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:26.694 (reboot 5): status read, retry 56
11:09:26.798 (loader): remote cmd from 1460: "status"
11:09:26.803 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:26.803 (reboot 5): status read, retry 57
11:09:26.908 (loader): remote cmd from 1460: "status"
11:09:26.912 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:26.912 (reboot 5): status read, retry 58
11:09:27.017 (loader): remote cmd from 1460: "status"
11:09:27.023 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:27.023 (reboot 5): status read, retry 59
11:09:27.127 (loader): remote cmd from 1460: "status"
11:09:27.131 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:27.131 (reboot 5): status read, retry 60
11:09:27.236 (loader): remote cmd from 1460: "status"
11:09:27.241 (reboot 5): Status: 1, 1, 0, 0, 0, 0, C:\Users\Steve\AppData\Local\Temp\arduino_build_423180\, Blink.ino.hex
11:09:27.241 (reboot 5): status read, retry 61
11:09:27.346 (reboot 5): Teensy did not respond to a USB-based request to automatically reboot.
11:09:27.361 (loader): remote connection 1460 closed
11:09:27.376 (loader): remote connection 1456 closed
11:09:32.283 (loader): Verbose Info event

Trouble is, I don't have another Teensy to hand (that isn't buried in a project). Very annoying and a bit odd it's stopped working. No idea why the bootloader solder had an issue... looked fine.

Can I ask what happens to pin 4 on the USB connection (id?) I looked at the schematics of the Teensy to see if I could work anything out. I assume it is just not used, seeing as the USB B is 4 pin.

Should mention it shows up in the Arduino IDE as Rawhid. Is that correct?
 
The Arduino IDE just shouts 'Teensy did not respond to USB-based request to enter program mode'. Pressing the button now induces the Windows connect/disconnect chime (which I don't think it did before), but still unable to load the basic blink test code.

Hmm... ideas?

Sure sounds like connectivity between the chips has failed.

From the verbose info log, your PC sends the request for Teensy to reboot into bootloader mode at 11:09:20.458

Code:
11:09:20.458 (reboot 5): hid_send_feature

Then 22ms later, Windows detects that a device has disconnected, so the MK20 chip on your Teensy definitely did hear the request. The bootloader must have heard the request, because the chip did disconnect.

Code:
11:09:20.480 (ports 6): WM_DEVICECHANGE DBT_DEVICEREMOVECOMPLETE
11:09:20.481 (ports 6): remove: loc=usb:0/100000/0/3

What is supposed to happen is the bootloader takes control of the MK20 chip and causes it to run the bootloader code. But obviously that didn't happen. We can see in the log Teensy reconnects 350ms later, as the same RawHID device.

Code:
11:09:20.830 (ports 6): WM_DEVICECHANGE DBT_DEVICEARRIVAL
11:09:20.832 (ports 6): found_usb_device, id=\\?\usb#vid_16c0&pid_0486#8589370#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
11:09:20.832 (ports 6): found_usb_device, loc=usb:0/100000/0/3    Port_#0003.Hub_#0003
11:09:20.832 (ports 6): found_usb_device, hwid=USB\VID_16C0&PID_0486&REV_0275

Then the verbose info has a lot of lines which are the usual USB detection process. 3ms later the device is detected with "[no_device]", and then 45ms after that (at time 11:09:20.882 in the log) Windows finally get around to loading the HID driver and sends a DBT_DEVNODES_CHANGED message, and we're able to detect the device is now "hid#vid_16c0&pid_0486".

I hope you can understand I can really only answer the question "what" from all this info. Answering "why" is pretty much impossible. But it's pretty clear your Teensy 3.2 is damaged in some very mysterious way where the main MK20 chip is running and can signal to the bootloader that it should attempt to go into bootloader mode, and communication between the 2 is working enough for the bootloader to hear that request and begin the process. But for reasons unknown, it's not able to take control of the MK20 chip and actually run the bootloader. So the MK20 just reboots and runs the previously programmed code all over again.

That's the best "what" answer I can give. I don't know "why".


Trouble is, I don't have another Teensy to hand

Unfortunately, PJRC completely ran out of Teensy 3.2 last week. It's looking like months until more can be made, due to chip shortages. Digikey still has some in stock, but they are likely to run out soon too.


Code:
Can I ask what happens to pin 4 on the USB connection (id?) I looked at the schematics of the Teensy to see if I could work anything out. I assume it is just not used, seeing as the USB B is 4 pin.

That pin isn't used. When Teensy 3.0 was designed (about 10 years ago) that pin was connected just in case USB OTG support would be needed some day. No specific plan was ever made for OTG. At the time, OTG was still pretty new and its future was more hype than useful products. Today we have the hindsight to know OTG never really took off. Newer Teensy boards don't connect that pin. Teensy 3.2 has the connection, but never uses it.


Code:
Should mention it shows up in the Arduino IDE as Rawhid. Is that correct?

That depends. You said this Teensy 3.2 previously worked fine for a year. So the question is did you set Tool > USB Type in Arduino to RawHID? If you previously programmed it with code to work as RawHID, then of course it should always appear as RawHID.

But the default setting is Serial. If you didn't make any selection or didn't even know about that USB Type sub-menu, and you programmed at code onto this Teensy, then it should be appearing as Serial. If you did previously program this Teensy, it should appear as whatever setting you had in the Tools > USB Type menu.

Every Teensy is tested at PJRC, where the final test involves the test operator plugging in a USB cable and pressing the button. The text fixture programs the LED blink sketch with USB Type set to RawHID. So appearing as RawHID is correct for a new Teensy which has never been programmed, other than the initial testing at PJRC. And in that case, appearing as RawHID is a sure sign the hardware did respond to pressing the button and did go into bootloader mode, because that's how the LED blink with RawHID program gets into every new Teensy.

FWIW, the reason every Teensy ships as RawHID is the terrible history of pre-10 versions of Windows. They all had the USBSER.SYS driver, but until Windows 10, and for reasons that make no sense to me, Microsoft didn't supply an INF config file to cause USBSER.SYS to automatically load when a USB device following the USB standards appeared. In the early days, we shipped Teensy boards with USB serial, and Windows would show a message asking for the driver if you plugged Teensy in before running the Teensyduino installer. Many people pretty much seemed to be willing to travel to the end of the earth (but not just run the installer we published) to search online for possible drivers, sometime even using regedit in ways that trashed their Windows systems. As Teensy grew, it become a tech support nightmare. So eventually we started shipping every Teensy loaded with LED blink using RawHID. All versions of Windows have HID drivers, and it's one of the few parts of Windows which has worked very reliably back even to Windows 98. Arduino can always auto-detect RawHID on all versions of Windows, so it changes from RawHID to Serial the first time you load your own program. To do so, you must first run the Teensyduino installer, which means the INF will be present to cause USBSER.SYS to properly load that first time Teensy appears as USB serial.

But back to whether RawHID is correct. For a never-yet-programmed-outside-PJRC new Teensy, yes, RawHID is correct. For a Teensy you used over a year ago, unless you explicitly changed the Tools > USB Type setting in Arduino from its default setting of Serial, it should not appear as RawHID. The code stored inside the flash memory would appear as whatever you has previously programmed, and that would only be RawHID if you had specifically selected RawHID before uploading your program.
 
OK, thank you Paul for that in-depth answer. It's a legitimate Teensy 3.2 (bought from Cool Components if I remember rightly).

I might try reflowing the main IC then (nothing to lose now), but it doesn't sound like that is the issue. This sounds like a part failure.

Thanks again.

Edit.... I should add that pressing the Prog button on the Teensy chimes the Windows sound, but the Teensy window still doesn't do anything. No 'reboot OK' pop-up or anything.
 
Last edited:
Back
Top