PaulStoffregen
Well-known member
I've just re-read this thread and I'm still struggling to understand the question here. This seems to be the main one, right?
Likely explanation would be some sort of problem with the PCB design or construction of your home built AT43301-bsaed hub.
Unlikely explanation would be a deeper design problem within the AT43301 chip or within Teensy. While I don't want to anything is absolutely impossible, my gut feeling is this probability would be vanishingly small. Teensy 4.1 has been used by many thousands of people with all sort of USB hubs since its release over 4 years ago.
I don't know much about AT43301. In fact this is the first time I can recall seeing that specific part number. But generally speaking USB hub chips tend to follow the USB standard very closely. There can be plenty of subtle PCB design issues, but I've not seen any commercially sold USB hub chip which just didn't work when used on a properly designed circuit board.
On the Teensy side, as far as USB devices are concerned (you're using the device-mode USB port on Teensy 4.1) everything works virtually the same way regardless of whether the upstream port is a USB host or a USB hub. There isn't any USB device code on Teensy that does anything differently. In fact, as far as I know, we can't even detect whether our connection is directly to the USB host or through 1 or more USB hubs. That's simply how USB protocol works. Hubs are pretty much transparent as far as USB devices are concerned.
Hubs definitely are visible to USB hosts. In the USBHost_t36 library, years ago I spent weeks tracking down a tough bug which turned up with a specific 2 port hub. Wrote a lengthy blog article about it. While that article won't directly answer your question "specifically looking for conditions that would cause the AT43301 hub to fail" (and it has Teensy 3.6 since it was written more than a year before Teensy 4.0 release), it does walk through the process of using the Beagle480 USB protocol analyzer to investigate the finer points of USB communication. But it's communication between host and hub, and specifically the split transaction tokens. That communication never occurs with any USB device. It's only done with hubs, so it couldn't possibly apply here.
So basically, I don't have an answer for your question, other than my non-answer that I'm pretty sure the problem almost certainly isn't some sort of deep flaw in either hub chip or within Teensy (used between your PC and Teensy). But if it were really something like that, the process of investigating would involve using a protocol analyzer like I shows in that blog article.
With the only info given that a home built AT43301-bsaed hub doesn't work, but other commercial hubs do work, and so does direct connection to your PC, all we can do is make some basic guesses. I and others have does exactly that. And you've discounted or ruled out those possible issues. I'm afraid no more is really possible. Even if I had your home build hub here on my workbench, and had time to really work with it, really discovering why home build electronics doesn't work can be quite a challenge. But over the internet, with so little info and all the simple guesses already ruled out, I just don't see any realistic path to troubleshooting this hardware.
I am specifically looking for conditions that would cause the AT43301 hub to fail.
Likely explanation would be some sort of problem with the PCB design or construction of your home built AT43301-bsaed hub.
Unlikely explanation would be a deeper design problem within the AT43301 chip or within Teensy. While I don't want to anything is absolutely impossible, my gut feeling is this probability would be vanishingly small. Teensy 4.1 has been used by many thousands of people with all sort of USB hubs since its release over 4 years ago.
I don't know much about AT43301. In fact this is the first time I can recall seeing that specific part number. But generally speaking USB hub chips tend to follow the USB standard very closely. There can be plenty of subtle PCB design issues, but I've not seen any commercially sold USB hub chip which just didn't work when used on a properly designed circuit board.
On the Teensy side, as far as USB devices are concerned (you're using the device-mode USB port on Teensy 4.1) everything works virtually the same way regardless of whether the upstream port is a USB host or a USB hub. There isn't any USB device code on Teensy that does anything differently. In fact, as far as I know, we can't even detect whether our connection is directly to the USB host or through 1 or more USB hubs. That's simply how USB protocol works. Hubs are pretty much transparent as far as USB devices are concerned.
Hubs definitely are visible to USB hosts. In the USBHost_t36 library, years ago I spent weeks tracking down a tough bug which turned up with a specific 2 port hub. Wrote a lengthy blog article about it. While that article won't directly answer your question "specifically looking for conditions that would cause the AT43301 hub to fail" (and it has Teensy 3.6 since it was written more than a year before Teensy 4.0 release), it does walk through the process of using the Beagle480 USB protocol analyzer to investigate the finer points of USB communication. But it's communication between host and hub, and specifically the split transaction tokens. That communication never occurs with any USB device. It's only done with hubs, so it couldn't possibly apply here.
So basically, I don't have an answer for your question, other than my non-answer that I'm pretty sure the problem almost certainly isn't some sort of deep flaw in either hub chip or within Teensy (used between your PC and Teensy). But if it were really something like that, the process of investigating would involve using a protocol analyzer like I shows in that blog article.
With the only info given that a home built AT43301-bsaed hub doesn't work, but other commercial hubs do work, and so does direct connection to your PC, all we can do is make some basic guesses. I and others have does exactly that. And you've discounted or ruled out those possible issues. I'm afraid no more is really possible. Even if I had your home build hub here on my workbench, and had time to really work with it, really discovering why home build electronics doesn't work can be quite a challenge. But over the internet, with so little info and all the simple guesses already ruled out, I just don't see any realistic path to troubleshooting this hardware.