Teensy 3.6 boot issues.

Status
Not open for further replies.

Naampie

Member
Hi,

I've had success with teensy boards in the past. Like the 3.2. It still boots an operates fine.
But on Win 7 the teensy 3.6 is giving me trouble. It starts out when the driver doesn't install for the board.
When it does once "UpNp"?, I can program the virtual device adress. Then the device is not configured as either a com port or a serial MIDI device.
And is an unknown device with driver issues. The 3.2 is fine in this regard, the code has it. The 3.6 seemed to do better on win 10.

I think I've ruled out the obvious, like driver reinstalls and boots, what more can I do?
 
Code:
//#define HWSERIAL Serial3
#include <Bounce.h>
#include "usb_names.h"

#include <String.h>

Back at it, I reinstalled to the latest IDE. Which doesnt lock up as much giving me the programming port some more.
But when I plug the device I used to get another COM and a working MIDI device.
Now I get the base filename usb_names.h. as an USB device, but no COM port allocated.

for 3.2 proof of concept.
ck.jpg

Is this a change in firmware, or is my teensy fried?
 
Maybe the reason why it's not working?

T 3.2:
t3.2.jpg

T 3.6
t3.6.jpg
I know what the USB_PCAP driver is, it's native to Wireshark.
What it's doing there is a mystery to me?
 
deinstall the wrong comport and then reattach T3.6

There is no COM port to begin with.. After deinstalling the HID/unknown device/USB device it goes unknown device.
After the first reinstall the driver goes time out and bricks it in Windows.. "Bricks Windows".

Something to note is I disabled Windows update, since it's EOL in Win 7. And all it does is connect to the internet.

I hand soldered it to a board, that only poses two 10k pull ups on on a MOSI and MISO pair.
strange enough I get the name from the device and a virtual adress to program to. "once or twice".
So I think the prom and phy are in order?

so.. time for a hard reset,
 
Hmm tried to uninstall, reinstall various things. Enabled Windows update. Desoldered the I2C pull up resistors at pin 11 and 12.
Still no life in the board. Its a named booting USB device, with no programming port. That doesn't function as a USB MIDI device. With Microsoft signed drivers that don't work..

Ordered a new one as proof of concept, still hoping I missed something programatically?
About to give up on this one,
 
Finally fixed it. It was cryptsvc.dll. I did stuff to it so it didn't work. Fixed multiple bugs in my system :p
 
Wow, I've never even heard of this DLL before. But then I don't use Windows much.

Any idea what triggered these sorts of mysterious problems? Any advice or things learned which might help us to recognize if/when others have a similar problem?
 
Basically I renamed cryptsvc.dll for showing up on my network.
This resulted in the Teensy driver install timing out to the point it doesn't install the board.
And when it did install it the COM port didn't show up, but rather some arbitrary USB or HID device.
So effectively it bricked the whole thing. 3.2 worked, but it was already installed I guess,

So now it looks alright,
t3.6n.jpg
 
Oh, ok, that's makes sense.

Windows 7, 8, 10 all require drivers to be digitally signed. On Windows 7 & 8 we also have to install an INF to tell Windows to load its own USBSER.SYS driver (which is signed by Microsoft), and those systems require a matching CAT file with a digital signature (the INF/CAT file is signed by PJRC).

Without that DLL, Window probably failed to verify the digital signatures, which use SHA256 and RSA2048 (and ASN1 and probably other non-cipher stuff). The Windows policy is drivers can't load without valid signatures.

If possible, I'd recommend you use Windows 10. The USBSER.SYS driver in Windows 7 & 8 has some really unpleasant bugs. Microsoft fixed those problems in Windows 10, but they never published any update to Windows 7 or 8. The main problem is USBSER.SYS does not properly handle "surprise removal", leaving corrupted stuff in the registry which causes an otherwise perfectly good device to fail to communicate the next time you plug it in. It's terribly confusing and frustrating. Normally the Arduino IDE avoids this because it automatically closes the serial monitor window when you click Upload. But on Windows 7, when that window is open you're just 1 cable unplug or program button press away from things going wrong and the problems manifesting much later when you expect things to work.

Windows 10 really is so much better for using Teensy and other USB devices!
 
The main problem is USBSER.SYS does not properly handle "surprise removal", leaving corrupted stuff in the registry which causes an otherwise perfectly good device to fail to communicate the next time you plug it in. It's terribly confusing and frustrating. Normally the Arduino IDE avoids this because it automatically closes the serial monitor window when you click Upload. But on Windows 7, when that window is open you're just 1 cable unplug or program button press away from things going wrong and the problems manifesting much later when you expect things to work.

Windows 10 really is so much better for using Teensy and other USB devices!

As side note: I frequently use Putty to open a terminal to Teeny while programming with VisualCode (Win10) using VisualTeensy task macros. In order to download from VC, I have to first close Putty, otherwise, link to Teensy is only interrupted, Putty crashes (locks COM port?) and program button must be pressed to proceed with download.
 
Status
Not open for further replies.
Back
Top