Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 10 of 10

Thread: Another Teensy 4 unresponsive after programming thread

  1. #1
    Member tcottle's Avatar
    Join Date
    Dec 2014
    Location
    Longmont, CO
    Posts
    45

    Another Teensy 4 unresponsive after programming thread

    I'm having a similar problem like others are having with the Teensy 4. Mine is slightly different and maybe this helps in finding the problem

    I bought a Teensy 4 just after they were released (probably from the PJRC store) with the intent of using it in DD4WH's Convolution SDR radio project. It came in, I soldered on headers and verified that it was running the factory installed Blink. I then put it aside

    Last night I wanted to do a simple hardware experiment that would be well suited for a Teensy 3.2 but found that all of my 3.2s were being used. So I grabbed the Teensy 4. Plugged it in, it was still running Blink. Recompiled Blink and uploaded it since this was my first time using a T4. Upload and reset went fine except that now the LED is not blinking. Hmmmm Tried the usual debug techniques, verified that the +5 USB line was clean and then read some of the T4 forum messages.

    Since that 1st upload I have to press the program button to trigger programming but after that Teensy Loader reports normal (reboots)

    I've attached pictures of my T4

    I tried the factory reset trick (hold down the programming button until the red LED flashes once dimly). When I release the button the red LED comes on bright and solid for ~ 30 seconds. The LED goes out, Windows 10 makes an audio report but no blink

    I also tried uploading the blink_fast_Teensy40.hex file from the "Using The Teensy Loader on Windows Vista" page using Teensy loader. I have to press the program button for the Upload and Reboot buttons to become active. It looks like it uploads and reboots fine but Blink isn't running

    I also tried pushing the same file up using TyCommander (0.9.0). In its log file it reports "[upload@6117500-Teensy] Failed to reset board '6117500-Teensy"

    Here is the log file from Teensy Loader. It contains my upload and the 15s factory reset messages

    Code:
    12:30:51.930 (ports 5): Begin, version=1.52-beta3, high-res time
    12:30:51.930 (ports 5): LoadLibrary cfgmgr32 ok
    12:30:51.930 (ports 5): LoadLibrary ntdll ok
    12:30:51.946 (ports 5): callback 0024
    12:30:51.946 (ports 5): callback 0081
    12:30:51.948 (ports 5): callback 0083
    12:30:51.951 (ports 5): hWnd = 2167724
    12:30:51.958 (ports 5): nothing new, skipping HID & Ports enum
    12:30:51.963 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
    12:30:51.965 (ports 5): nothing new, skipping HID & Ports enum
    12:30:52.151 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
    12:30:52.152 (ports 5): nothing new, skipping HID & Ports enum
    12:30:53.192 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
    12:30:53.194 (ports 5): nothing new, skipping HID & Ports enum
    12:35:34.517 (ports 5): WM_DEVICECHANGE DBT_DEVICEREMOVECOMPLETE
    12:35:34.518 (ports 5): nothing new, skipping HID & Ports enum
    12:35:34.816 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
    12:35:34.817 (ports 5): nothing new, skipping HID & Ports enum
    12:35:42.171 (ports 5): WM_DEVICECHANGE DBT_DEVICEARRIVAL
    12:35:42.172 (ports 5): nothing new, skipping HID & Ports enum
    12:35:42.429 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
    12:35:42.430 (ports 5): nothing new, skipping HID & Ports enum
    12:36:52.342 (post_compile 1): Begin, version=1.52-beta3, high-res time
    12:36:54.835 (loader): Teensy Loader 1.52-beta3, begin program
    12:36:54.957 (loader): Listening for remote control on port 3149
    12:36:54.958 (loader): initialized, showing main window
    12:36:55.028 (loader): remote connection 1408 opened
    12:36:55.029 (loader): remote cmd from 1408: "comment: Teensyduino 1.52-beta3 - WINDOWS (teensy_post_compile)"
    12:36:55.029 (post_compile 1): Sending command: comment: Teensyduino 1.52-beta3 - WINDOWS (teensy_post_compile)
    12:36:55.030 (loader): remote cmd from 1408: "status"
    12:36:55.039 (loader): HID/win32:  vid:046D pid:C52B ver:1210
    12:36:55.039 (loader): HID/win32:  vid:046D pid:C52B ver:1210
    12:36:55.039 (loader): HID/win32:  vid:8087 pid:0A1E ver:0200
    12:36:55.040 (loader): HID/win32:  vid:8087 pid:0A1E ver:0200
    12:36:55.040 (loader): HID/win32:  vid:045E pid:0000 ver:0000
    12:36:55.040 (loader): HID/win32:  vid:045E pid:0000 ver:0000
    12:36:55.041 (loader): HID/win32:  vid:044E pid:120B ver:0123
    12:36:55.041 (loader): HID/win32:  vid:044E pid:120B ver:0123
    12:36:55.041 (loader): HID/win32:  vid:046D pid:C52B ver:1210
    12:36:55.042 (loader): HID/win32:  vid:046D pid:C52B ver:1210
    12:36:55.042 (loader): HID/win32:  vid:046D pid:C52B ver:1210
    12:36:55.043 (loader): HID/win32:  vid:046D pid:C52B ver:1210
    12:36:55.104 (loader): HID/win32:  vid:1FC9 pid:0135 ver:0101
    12:36:55.105 (loader): remote cmd from 1408: "dir:C:\Users\TODD_C~1\AppData\Local\Temp\arduino_build_988770\"
    12:36:55.106 (post_compile 1): Status: 0, 0, 0, 0, 0, 0, C:\Users\TODD_C~1\AppData\Local\Temp\arduino_build_299813\, Blink.ino.hex
    12:36:55.106 (post_compile 1): Sending command: dir:C:\Users\TODD_C~1\AppData\Local\Temp\arduino_build_988770\
    12:36:55.106 (loader): remote cmd from 1408: "file:Blink.ino.hex"
    12:36:55.107 (post_compile 1): Sending command: file:Blink.ino.hex
    12:36:55.124 (loader): File "Blink.ino.hex". 13540 bytes, 1% used
    12:36:55.136 (loader): remote cmd from 1408: "status"
    12:36:55.139 (loader): remote cmd from 1408: "auto:on"
    12:36:55.140 (post_compile 1): Status: 1, 0, 0, 0, 0, 0, C:\Users\TODD_C~1\AppData\Local\Temp\arduino_build_988770\, Blink.ino.hex
    12:36:55.140 (post_compile 1): Sending command: auto:on
    12:36:55.140 (post_compile 1): Disconnect
    12:36:55.151 (loader): remote connection 1408 closed
    12:36:55.856 (post_compile 2): Begin, version=1.52-beta3, high-res time
    12:36:55.860 (loader): remote connection 1420 opened
    12:36:55.861 (post_compile 2): Sending command: comment: Teensyduino 1.52-beta3 - WINDOWS (teensy_post_compile)
    12:36:55.861 (loader): remote cmd from 1420: "comment: Teensyduino 1.52-beta3 - WINDOWS (teensy_post_compile)"
    12:36:55.861 (loader): remote cmd from 1420: "status"
    12:36:55.863 (post_compile 2): Status: 1, 1, 0, 0, 0, 0, C:\Users\TODD_C~1\AppData\Local\Temp\arduino_build_988770\, Blink.ino.hex
    12:36:55.863 (post_compile 2): Sending command: dir:C:\Users\TODD_C~1\AppData\Local\Temp\arduino_build_988770\
    12:36:55.863 (loader): remote cmd from 1420: "dir:C:\Users\TODD_C~1\AppData\Local\Temp\arduino_build_988770\"
    12:36:55.863 (loader): remote cmd from 1420: "file:Blink.ino.hex"
    12:36:55.863 (post_compile 2): Sending command: file:Blink.ino.hex
    12:36:55.874 (loader): File "Blink.ino.hex". 13540 bytes, 1% used
    12:36:55.881 (loader): remote cmd from 1420: "status"
    12:36:55.884 (post_compile 2): Status: 1, 1, 0, 0, 0, 0, C:\Users\TODD_C~1\AppData\Local\Temp\arduino_build_988770\, Blink.ino.hex
    12:36:55.884 (post_compile 2): Disconnect
    12:36:55.894 (loader): remote connection 1420 closed
    12:36:55.896 (post_compile 3): Running teensy_reboot: "C:\Program Files (x86)\Arduino\hardware\teensy\..\tools\teensy_reboot.exe" teensy_reboot.exe "-board=TEENSY40" "-port=COM20" "-portlabel=(null)" "-portprotocol=(null)"
    12:36:55.896 (loader): remote connection 1424 opened
    12:36:56.186 (reboot 4): Begin, version=1.52-beta3, high-res time
    12:36:56.186 (reboot 4): location = COM20
    12:36:56.186 (reboot 4): portlabel = (null)
    12:36:56.186 (reboot 4): portprotocol = (null)
    12:36:56.186 (reboot 4): LoadLibrary cfgmgr32 ok
    12:36:56.186 (reboot 4): LoadLibrary ntdll ok
    12:36:56.189 (reboot 4): nothing new, skipping HID & Ports enum
    12:36:56.192 (loader): remote connection 1428 opened
    12:36:56.193 (reboot 4): Disconnect
    12:36:56.204 (loader): remote connection 1428 closed
    12:36:56.210 (loader): remote connection 1424 closed
    12:37:00.749 (ports 5): WM_DEVICECHANGE DBT_DEVICEREMOVECOMPLETE
    12:37:00.753 (loader): remote connection 1432 opened
    12:37:00.755 (ports 5): nothing new, skipping HID & Ports enum
    12:37:00.863 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
    12:37:00.863 (ports 5): nothing new, skipping HID & Ports enum
    12:37:01.198 (ports 5): WM_DEVICECHANGE DBT_DEVICEARRIVAL
    12:37:01.199 (ports 5): found_usb_device, id=\\?\usb#vid_16c0&pid_0478#000955a6#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
    12:37:01.199 (ports 5): found_usb_device, loc=usb:0/140000/0/2    Port_#0002.Hub_#0001
    12:37:01.199 (ports 5): found_usb_device, hwid=USB\VID_16C0&PID_0478&REV_0105
    12:37:01.199 (ports 5): found_usb_device, devinst=00000006
    12:37:01.199 (ports 5): add: loc=usb:0/140000/0/2, class=HID, vid=16C0, pid=0478, ver=0105, serial=000955a6, dev=\\?\usb#vid_16c0&pid_0478#000955a6#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
    12:37:01.199 (ports 5): hiddev_from_devinst_list: iface=0
    12:37:01.200 (ports 5): found_usb_device complete
    12:37:01.201 (ports 5): hid, found devinst=0000000A
    12:37:01.201 (ports 5): hid, path=\\?\hid#vid_16c0&pid_0478#6&203dab35&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
    12:37:01.201 (ports 5): hid,  opened handle
    12:37:01.201 (ports 5):  devinst=0000000A, location=usb:0/140000/0/2
    12:37:01.201 (ports 5):  vid=16C0, pid=0478, ver=0105, usepage=FF9C, use=0024
    12:37:01.201 (ports 5):  devpath=\\?\hid#vid_16c0&pid_0478#6&203dab35&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
    12:37:01.202 (ports 5): usb_add: usb:0/140000/0/2  hid#vid_16c0&pid_0478 (Teensy 4.0) Bootloader
    12:37:01.222 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
    12:37:01.223 (ports 5): nothing new, skipping HID & Ports enum
    12:37:01.401 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
    12:37:01.402 (ports 5): nothing new, skipping HID & Ports enum
    12:37:01.421 (loader): Device came online, code_size = 2031616
    12:37:01.421 (loader): Board is: Teensy 4.0 (IMXRT1062), version 1.05
    12:37:01.436 (loader): File "Blink.ino.hex". 13540 bytes, 1% used
    12:37:01.441 (loader): set background IMG_ONLINE
    12:37:01.460 (loader): File "Blink.ino.hex". 13540 bytes, 1% used
    12:37:01.466 (loader): elf appears to be for Teensy 4.0 (IMXRT1062) (2031616 bytes)
    12:37:01.466 (loader): elf binary data matches hex file
    12:37:01.467 (loader): elf file is for Teensy 4.0 (IMXRT1062)
    12:37:01.469 (loader): begin operation
    12:37:01.486 (loader): flash, block=0, bs=1024, auto=1
    12:37:01.486 (loader):  gauge old value = 0
    12:37:01.486 (loader): flash, block=1, bs=1024, auto=1
    12:37:01.487 (loader):  gauge old value = 1
    12:37:01.487 (loader): flash, block=2, bs=1024, auto=1
    12:37:01.487 (loader):  gauge old value = 2
    12:37:01.487 (loader): flash, block=3, bs=1024, auto=1
    12:37:01.487 (loader):  gauge old value = 3
    12:37:01.488 (loader): flash, block=4, bs=1024, auto=1
    12:37:01.488 (loader):  gauge old value = 4
    12:37:01.493 (loader): flash, block=5, bs=1024, auto=1
    12:37:01.494 (loader):  gauge old value = 5
    12:37:01.496 (loader): flash, block=6, bs=1024, auto=1
    12:37:01.496 (loader):  gauge old value = 6
    12:37:01.498 (loader): flash, block=7, bs=1024, auto=1
    12:37:01.498 (loader):  gauge old value = 7
    12:37:01.500 (loader): flash, block=8, bs=1024, auto=1
    12:37:01.501 (loader):  gauge old value = 8
    12:37:01.503 (loader): flash, block=9, bs=1024, auto=1
    12:37:01.503 (loader):  gauge old value = 9
    12:37:01.505 (loader): flash, block=10, bs=1024, auto=1
    12:37:01.505 (loader):  gauge old value = 10
    12:37:01.507 (loader): flash, block=11, bs=1024, auto=1
    12:37:01.507 (loader):  gauge old value = 11
    12:37:01.508 (loader): flash, block=12, bs=1024, auto=1
    12:37:01.509 (loader):  gauge old value = 12
    12:37:01.510 (loader): flash, block=13, bs=1024, auto=1
    12:37:01.510 (loader):  gauge old value = 13
    12:37:01.519 (loader): sending reboot
    12:37:01.519 (loader): begin wait_until_offline
    12:37:01.544 (ports 5): WM_DEVICECHANGE DBT_DEVICEREMOVECOMPLETE
    12:37:01.545 (ports 5): remove: loc=usb:0/140000/0/2
    12:37:01.545 (ports 5): usb_remove: usb:0/140000/0/2
    12:37:01.545 (ports 5): nothing new, skipping HID & Ports enum
    12:37:01.569 (loader): offline, waited 1
    12:37:01.569 (loader): end operation, total time = 0.100 seconds
    12:37:01.570 (loader): set background IMG_REBOOT_OK
    12:37:01.573 (loader): redraw timer set, image 14 to show for 1200 ms
    12:37:01.620 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
    12:37:01.620 (ports 5): nothing new, skipping HID & Ports enum
    12:37:01.673 (loader): HID/win32:  vid:046D pid:C52B ver:1210
    12:37:01.673 (loader): HID/win32:  vid:046D pid:C52B ver:1210
    12:37:01.673 (loader): HID/win32:  vid:8087 pid:0A1E ver:0200
    12:37:01.673 (loader): HID/win32:  vid:8087 pid:0A1E ver:0200
    12:37:01.673 (loader): HID/win32:  vid:045E pid:0000 ver:0000
    12:37:01.673 (loader): HID/win32:  vid:045E pid:0000 ver:0000
    12:37:01.673 (loader): HID/win32:  vid:044E pid:120B ver:0123
    12:37:01.673 (loader): HID/win32:  vid:044E pid:120B ver:0123
    12:37:01.673 (loader): HID/win32:  vid:046D pid:C52B ver:1210
    12:37:01.673 (loader): HID/win32:  vid:046D pid:C52B ver:1210
    12:37:01.673 (loader): HID/win32:  vid:046D pid:C52B ver:1210
    12:37:01.673 (loader): HID/win32:  vid:046D pid:C52B ver:1210
    12:37:01.797 (ports 5): WM_DEVICECHANGE DBT_DEVICEARRIVAL
    12:37:01.798 (ports 5): nothing new, skipping HID & Ports enum
    12:37:01.831 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
    12:37:01.832 (ports 5): nothing new, skipping HID & Ports enum
    12:37:02.026 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
    12:37:02.027 (ports 5): nothing new, skipping HID & Ports enum
    12:37:02.763 (loader): redraw, image 9
    12:37:03.156 (ports 5): purge, name=hid#vid_16c0&pid_0478 (Teensy 4.0) Bootloader, loc=usb:0/140000/0/2, age=1.611 sec
    12:37:15.695 (ports 5): WM_DEVICECHANGE DBT_DEVICEREMOVECOMPLETE
    12:37:15.696 (ports 5): nothing new, skipping HID & Ports enum
    12:38:08.652 (ports 5): WM_DEVICECHANGE DBT_DEVICEARRIVAL
    12:38:08.652 (ports 5): nothing new, skipping HID & Ports enum
    12:38:08.885 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
    12:38:08.886 (ports 5): nothing new, skipping HID & Ports enum
    12:38:21.882 (loader): Verbose Info event
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	IMG_5441.jpg 
Views:	14 
Size:	150.4 KB 
ID:	19938   Click image for larger version. 

Name:	IMG_5443.jpg 
Views:	19 
Size:	136.6 KB 
ID:	19939  


  2. #2
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany NRW
    Posts
    6,906
    Every looks like it works - but no blink? It uploads, 15-secs reset seems to work...
    (remember after the 15-reset you will not have USB, too! - the T4 is like a new one then - so NO USB)

    A dumb question.. is the LED OK?

    Try to upload the blink from Arduino / Examples. With USB-Type set to "Serial".

  3. #3
    Member tcottle's Avatar
    Join Date
    Dec 2014
    Location
    Longmont, CO
    Posts
    45
    Thanks Frank - that is a really good point. I checked the output of pin 13 with a scope but didn't check the LED. The LED test fine (and lights) using the continuity function on my DVM.
    The Arduino IDE is set for "Teensy 4.0/Serial/600 MHz/Faster"
    I just powered the T4 from a 5V bench supply to remove USB power concerns. No change :-(
    I also added debug messages in loop() for Serial and Serial1. Nothing ...

  4. #4
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    11,764
    With Blink running - put the Teensy in the dark - is there even a faint blink on the LED?

    Is this right :: Write a sketch with pin #13 as input and then put 3.3V on pin 13 to test the LED?

    Try the blink in this post - it will send out Serial Monitor prints as it runs when connected to USB SerMon.

    <crossposted> seems most of this was just tried

  5. #5
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany NRW
    Posts
    6,906
    Might make sense to try a pin on an other GPIO...

  6. #6
    Member tcottle's Avatar
    Join Date
    Dec 2014
    Location
    Longmont, CO
    Posts
    45
    Thanks defragster. No LED indication in a very dark room

    I'm uncomfortable applying 3V to pin 13 especially since I am pretty sure the sketch isn't running. The I/O should default to tristate after reset but ... I do measure 470 ohms from pin 13 to the LED anode. The DVM in continuity mode lights the LED when the probes go between LED anode and GND so I am pretty sure that section of the PCB is OK

    I complied and uploaded your blink variant following your detailed instructions. This time Teensy Loader reported 'erasing' and the red LED comes on for a couple of seconds. No blink and no serial ports show up under Tools>Port:

    I ran the same sketch using a T3.6. Complies and uploads fine, blinks and there is entry for a Teensy Port under Ports.

  7. #7
    Member tcottle's Avatar
    Join Date
    Dec 2014
    Location
    Longmont, CO
    Posts
    45
    Hi Frank - I kinda did that already by sending out a diagnostic message using Serial1 and watching on an oscilloscope doing RS-232 decode. No activity on the TX line. The same sketch worked fine on my T3.6

    I'm pretty sure the T4 is stuck in reset or in some other hard fault

    Keep the suggestions coming!

  8. #8
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    22,077
    Sounds like something has gone wrong with the hardware on that board. After the restore process completes, the orange LED definitely should blink.

  9. #9
    Member
    Join Date
    Jan 2020
    Posts
    97
    @tcottle
    What is that shiny oily goop on the Teensy? Remains of flux? Any kind of contact cleaner? WD-40? If so, that could be the cause of the complete board not working any more.

  10. #10
    Member tcottle's Avatar
    Join Date
    Dec 2014
    Location
    Longmont, CO
    Posts
    45
    It (kinda) lives!!!! Based on Paul's opinion that it was a HW problem I decided to gently attempt to reflow the component side of the PCB using my hot air rework station. That seemed to do the trick. After the PCB cooled down I tried the 15S factory reset. The red LED is dimmer than last night (probably because I violated the max storage temp of the part with my hot air rework ) and Windows 10 reported a bunch of times during the erase. This is new. After the erase, Blink still didn't run. So before I gave up I tried uploading Blink through the Arduino IDE. That worked A serial port also shows up in the IDE and I not longer have to press the program button to upload.

    TyCommander ID's the T4 at launch and I could upload blink_fast_Teensy40.hex

    So here is the weird part. The 15S factory reset didn't erase the flash and reload Blink. Not sure what it was trying to do but at the end the T4 runs the last sketch that was loaded into it. I tested this twice. Suspecting that my sketch may not be written to flash I power cycled the T4. The last loaded sketch ran. Now here is another weird part. After the power cycle I tried the 15S factory reset again. This time Win 10 did not report except during the initial press of the programming button and at the end of the erase and it now running Blink(!)

    So somehow my T4 got into an odd state (and that state may be 'Broken') where the flash erase routine in factory reset doesn't work correctly. I've tried to document its behavior hoping there is enough clues to determine what the root cause is.

    Anyway I am back to my original project. I'll never trust this part fully but it does look like it is working well enough for my immediate needs.

    I want to thank everyone who replied to this thread!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •