Teensy 4.1 using 1.59.0 (ArduinoIDE 2.3.2) - No USB, weird behaviour.

hlide

Active member
After a long time not developing upon Teensy 4.1, I'm back.

Whenever I tried to upload a new firmware, I'm losing USB ports - including the Teensy port.

So I tried TyCommander as TeensyLoader is not helping me there.

I use the blink demo and set original delay of 1000ms to 100ms to make it blink faster (so I can distinguish it from the original firmware).

Settings are default (600MHz, Faster) except for USB serial : Raw HID (as I recall I was told the original BLINK was under that kind of USB port).

First, I started the very long process of "reseting" the T4.1 so I can see the Teensy port connected.
Sans titre.png


So far, so good.

Now, I upload the faster blink demo through TyCommander. Ok, I seem to have the same effect as with TeensyLoader.

Demo will blink twice as fast as the way I setup but then have a pause with no led then again two fast blinking and so on. I'm expecting simply fast and regular blinking. Not only that, my windows systray attempts to show what I think is an USB icon connection probably during the unexpected periodical pause but it disappears too fast. Going to windows setting to check USB devices, there is a very spurious apparition of a USB serial.

And TyCommander shows that:
Sans titre 2.png

Which is wrong, isn't it? It seems there is a timeout because that 12628860-Teensy then vanishes.

I could uses "USB port: Serial" but it would be the same.

It drives me crazy. It seem developing on Teensy 4.1 is a big no go.
 
Last edited:
Ok, it looks like my other USB port was conflicting with Teensy 4.1 because when I unplug the other port (my external keyboard and my external mouse), then unplug T4.1 then plug it back and… blinking is now regular and TyCommander reconises it. Gosh!

If I plug again my external keyboard and mouse, Teensy 4.1 still regularly blinks. So let us say the issue is resolved now.
 
Now back to blink demo, I now have a toggling between two screens of TyCommander :
Sans titre 3.png
Sans titre 2.png

So basically I need to unplug devices and plug them in reverse order to have a working blinking.

Now I'm trying different ways. Seems TeensyLoader (closed just after recompiling a source after modifiying it) is launched when I try to upload with TyCommander and messes up.

I cannot find an easy way to use TyCommander without TeensyLoader being intrusive and making my tests complicated.
 
Basically, I need to do the long process of resetting the firmware before uploading mine.

If I try to upload without resetting, it looks as if uploading works but I have a situation where Teensy is rebooting (which may explain the spurious USB serial connection) because when I try to have longer LED lit, it is shorter than it should be.

I have the issue even if I unplug my keyboard and mouse so the issue is not that simple as I thought.
 
When just using TeensyLoader even with default settings (Faster, 600MHz): KO.

If I only use TyCommander "Upload New Firmware" after recompiling Blink (just light LED ad aeternam) by closing TeensyLoader, I seem to be able to have the right behavior and a stable USB port: OK.

So now I avoid using TeensyLoader (closing it whenever it shows after compiling).

Another change of source, recompiling and closing TeensyLoader to use TyCommander again without long resetting: OK.

Now changing settings (Faster with LTO, 816MHz) : KO.

Resetting default settings and T4.1 again : OK.

Just setting to 816MHz: KO. Also long resetting: KO.

Setting 150MHz: OK.

Setting 720MHz, without and with long resetting: KO.

I must say overclocking at 816MHz worked before.

So it looks using overclocking frequency leads to that messy situation and you need to do the long process of resetting the T4.1 to unblock.

Checking LTO now (600MHz, Faster with LTO): KO.

So it looks I must also avoid LTO.

EDIT: it works with Small Code With LTO though.
 
Last edited:
I'm glad you're making progress.

But please consider nobody here can see what you're really doing with enough detail to retrace your steps closely to reproduce the problems you're encountering. In fact, I'm not even really sure which code you're loading onto Teensy. Is it any of the published example programs? Or something you've written from scratch?

As a quick test, I tried uploading the LED test from msg #6 on this thread (hardware still happens to be on my workbench) several times to a Teensy 4.1 with "Faster with LTO" at both 600 MHz and 816 MHz. I used Arduino IDE 2.3.2, but running on Linux Ubuntu 22.04 and every upload was successful without having to touch the button on Teensy 4.1. I did about a dozen uploads with the 2 different speeds, and a few with other settings. All were done with Teensy Loader. Could not reproduce the problem of having to press the pushbutton. Here's a photo of it running.

1712448983225.png
 
The program I tested is simply the example _Teensy/Tutorial 1/Blink. After a success, I altered delay in both "delay(1000);" between 100/400 and 400/100 so I can check the right program is uploaded and running. I'm also doing so to distinguish it from the default one running after a long resetting. My Teensy 4.1 has 16MB PSRAM too (working the last time I checked).

I then tested my program TZZ80-ZEXALL (accurate Z80 emulator checking all instructions) which runs fine at 600MHz/Faster/Dual USB. It seems overclocking to 720/816MHz is now a big no go now for whatever program. It looks like there is a periodic reboot which may explain why the USB connection is not stable (intempestive USB connection/disconnection in less than a second).

All my tests are done using Windows 10. I don't have Linux to check.

I'm going to check with another T4.1 (without soldered PSRAM).
 
So with a new T4.1, I was able to go with 812MHz (but I didn't test too long).

Getting back to my T4.1 with 16MB PSRAM and uploading the same program, it runs fine but then I got something wrong:
Sans titre 4.png


That T4.1 was running 812MHz fine in its early days, so I'd be inclined to think that overclocking might not be so safe in the long run.

I'm letting the new T4.1 run until it completes its tasks (between 15-30 minutes) to check if 812MHz is still okay for it.
 
So yeah, my second T4.1 runs fine. I probably left my first T4.1 running at 816MHz one day or more under condition where overclocking was not safe.
 
Back
Top