WEBVTT

00:00:00.160 --> 00:00:07.120
In front of me are 127 USB devices, the

00:00:04.880 --> 00:00:12.639
theoretical limit that is supported by a standard PC. But USB has [music] a dark

00:00:09.840 --> 00:00:17.760
secret. As it turns out, the real world limit is actually much, much lower. And

00:00:16.080 --> 00:00:24.640
the only way to find out what it is for sure is to just start plugging devices

00:00:20.560 --> 00:00:27.199
in, which oh well, I mean, I guess we

00:00:24.640 --> 00:00:31.679
could just read the white paper on the architecture of the spec, but

00:00:29.920 --> 00:00:36.000
that would be far less interesting for the people watching on YouTube. So

00:00:33.760 --> 00:00:40.239
instead, we're just going to start plugging things in and see what happens.

00:00:38.640 --> 00:00:46.000
What do you do once you run out of ports? I mean, hubs, obviously, but can

00:00:43.520 --> 00:00:50.480
we just keep plugging in hub after hub after hub until we hit it? What is the

00:00:48.480 --> 00:00:53.840
first factor that limits how many USB devices you can connect to your

00:00:51.680 --> 00:00:58.640
computer? Is one you know quite well, and that's the number of ports on the

00:00:55.920 --> 00:01:04.159
front and back of your PC. But what you might not know is that most computers

00:01:00.960 --> 00:01:06.159
only have a single USB host controller.

00:01:04.159 --> 00:01:11.119
And all of those ports are going to share not only that controller, but that

00:01:09.119 --> 00:01:18.159
controller's bandwidth. So when you have a USB 5 GB per second port, it's 5 Gbit

00:01:15.680 --> 00:01:22.880
per second shared with all the other ports on the controller. Now,

00:01:20.240 --> 00:01:29.360
fortunately, hitting a bandwidth limit is pretty uncommon. Most peripherals

00:01:25.920 --> 00:01:32.000
like mice or keyboards use a negligible

00:01:29.360 --> 00:01:37.280
amount of bandwidth. However, you can run into odd behavior if you have, say,

00:01:34.400 --> 00:01:42.479
for example, a video capture device or a webcam. This was really common with

00:01:39.840 --> 00:01:47.680
early generation VR headsets where the VR tracker sucked up so much bandwidth

00:01:45.200 --> 00:01:52.720
that users needed to install a second controller on an add-in card. Of course,

00:01:50.399 --> 00:01:56.880
our question today isn't how much bandwidth can we push through one of

00:01:54.159 --> 00:02:02.000
these controllers. [music] It's how many devices can we connect to one. So, let's

00:01:59.840 --> 00:02:08.160
move beyond the limits of our mere mortal rear IO ports. I summon the hub.

00:02:06.880 --> 00:02:16.000
I haven't even plugged the hub in yet, and I think we're already getting kind of weird behavior. None of these. Whoa,

00:02:12.720 --> 00:02:20.560
this mouse is crazy hot. Wait,

00:02:16.000 --> 00:02:23.280
heatedmouse.com. Oh, it's a feature.

00:02:20.560 --> 00:02:30.239
All right. Simple unpowered hub.

00:02:27.360 --> 00:02:35.840
Now a mouse. Hey, there it is. Logitech gaming mouse. Now another drive. Ah, but

00:02:33.040 --> 00:02:43.120
this is interesting. Every hub is actually two hubs. See that? We've got a

00:02:38.800 --> 00:02:44.720
USB 2 hub and a USB 3 hub. And depending

00:02:43.120 --> 00:02:48.640
on what kind of devices we plug in, they'll show up under either. Hubs like

00:02:46.720 --> 00:02:53.280
this one are an integral part of the various USB specifications. They handle

00:02:51.360 --> 00:02:57.599
all the communication between devices that are plugged into them and the host

00:02:55.760 --> 00:03:02.400
systems that they're plugged into, as well as handling bandwidth sharing. The

00:02:59.760 --> 00:03:06.800
hub will tell the system, hey, I'm a hub. And the system adds that hub's

00:03:04.800 --> 00:03:11.120
address to the path of any devices that are plugged in down the chain. When

00:03:09.120 --> 00:03:16.000
multiple hubs are used, multiple addresses are added to the path. So if

00:03:13.599 --> 00:03:21.519
hub A, for example, is plugged into port four of the host, hub B is plugged into

00:03:19.040 --> 00:03:27.040
port two of hub A, and then a mouse is plugged into port one of hub B, the

00:03:23.840 --> 00:03:28.800
address might read something like 0421,

00:03:27.040 --> 00:03:33.599
where zero is the address of the controller's root hub. Powered or

00:03:31.840 --> 00:03:38.799
unpowered, it doesn't change the addressing system. However, according to

00:03:36.239 --> 00:03:43.680
the USB spec, a hub that is powered entirely by the port that it's plugged

00:03:40.560 --> 00:03:45.977
into, like this one, cannot allow this

00:03:43.680 --> 00:03:51.200
sort of daisy chaining. According [music] to the spec, anyway, as we are

00:03:48.319 --> 00:04:00.080
about to see, however, that is not the case here, right? Look at this. But why

00:03:55.920 --> 00:04:02.319
though? Because unpowered hubs are liars

00:04:00.080 --> 00:04:07.760
sometimes. Actually, not just sometimes, most of the time. And if that shocks

00:04:04.480 --> 00:04:10.720
you, well, it shouldn't. Consider their

00:04:07.760 --> 00:04:16.239
predicament. According to the spec, only low power devices, so devices that draw

00:04:13.680 --> 00:04:21.120
less than 100 milliamps, are [music] supposed to be used on hubs that are

00:04:18.400 --> 00:04:27.199
powered by the port itself and not by an external power brick. So, if people buy

00:04:24.479 --> 00:04:31.840
a spec compliant unpowered hub, they're going to be in for a rude shock when

00:04:29.440 --> 00:04:38.720
many of their devices, I mean, even mice with too many RGB lights won't work for

00:04:35.360 --> 00:04:41.919
some unclear reason. So, as a result,

00:04:38.720 --> 00:04:43.840
manufacturers can either have mostly

00:04:41.919 --> 00:04:48.880
happy customers and with an [music] out ofspec product or they can have USB

00:04:46.639 --> 00:04:52.960
implement form certification. Well, average Joe customer doesn't care about

00:04:50.960 --> 00:04:55.759
USB if certification. They might not even know that they exist.

00:04:54.479 --> 00:05:04.000
Whose castle is this? They just want a hub that works with their devices, and it usually will.

00:05:01.280 --> 00:05:08.160
However, draw too much current and your USB controller will shut down the

00:05:05.919 --> 00:05:12.160
connection from the source. Huh. Hopefully before anything gets damaged.

00:05:10.720 --> 00:05:19.440
Should we try that? Why don't we plug the heated mouse into this thing?

00:05:15.919 --> 00:05:22.880
Okay, working now. But what happens when

00:05:19.440 --> 00:05:25.199
we turn our heat to high? Oh wow, this

00:05:22.880 --> 00:05:31.360
is still working somehow. [music] I NEED MORE POWER. HOW ABOUT THIS K95 keyboard?

00:05:29.039 --> 00:05:36.080
Really? How is this all still working? More

00:05:33.199 --> 00:05:41.440
brightness. That was max brightness. Let's plug into a USB 2 port. That'll do

00:05:39.840 --> 00:05:47.840
it. And

00:05:43.440 --> 00:05:48.960
oh, the heat on. Really? Were you

00:05:47.840 --> 00:05:55.199
expecting this to work? I mean, no, not really. But

00:05:52.240 --> 00:06:00.039
time for another RGB keyboard. Okay, come on. This will

00:06:04.960 --> 00:06:10.560
two full RGB keyboards and a heated mouse. Do we have any bigger unpowered

00:06:10.080 --> 00:06:15.919
hubs? No, the these are the two unpowered hubs I could find. Most of our stuff seems to

00:06:14.400 --> 00:06:21.680
just be powered. And it's plugged into a USB 2 port, which means that it's [music] pulling at most 2 and 1/2 watts,

00:06:19.840 --> 00:06:26.080
which is crazy that all of that stuff just works. Okay,

00:06:23.919 --> 00:06:31.520
you know what? Probably overdrawing. What I [music] suspect is that this

00:06:28.240 --> 00:06:33.680
motherboard is just like,

00:06:31.520 --> 00:06:37.520
I will deliver more than spec. Unbelievable. I can't believe they just

00:06:35.199 --> 00:06:40.720
allow more power draw so that things function properly.

00:06:40.209 --> 00:06:47.199
[sighs] This will do it. Heated mouse, RGB

00:06:43.520 --> 00:06:49.680
keyboard, and stream deck. No, it

00:06:47.199 --> 00:06:55.120
doesn't have the software. That should I want it to light up full brightness. Oh,

00:06:51.759 --> 00:06:57.360
wait. Hold on. USB device not

00:06:55.120 --> 00:07:03.520
recognized. Last USB device you connected has malfunctioned. Yes, we've

00:06:59.759 --> 00:07:07.120
overwhelmed it. Wow. What the devil is

00:07:03.520 --> 00:07:08.880
that? She real unhappy. I suspect if we

00:07:07.120 --> 00:07:11.880
plug this directly into the back of the PC

00:07:13.120 --> 00:07:19.039
it would show up just fine. Elgato

00:07:16.639 --> 00:07:24.080
Stream Deck XL. There it is. Everything working perfectly. But we take it back

00:07:22.000 --> 00:07:33.039
out of here and we plug it into our unpowered hub

00:07:26.319 --> 00:07:34.575
and boom. Problem. Yes. Suck.

00:07:33.039 --> 00:07:40.080
Okay. It doesn't matter. The point is [music] there's a solution to that.

00:07:37.280 --> 00:07:46.080
powered USB hubs like this one from Sabrin that does a whopping

00:07:42.639 --> 00:07:48.880
16 devices. Now, something funky about

00:07:46.080 --> 00:07:53.440
these is that they are power mandatory hubs. Some are power optional. Remember

00:07:51.199 --> 00:07:58.479
that first one that I had over here? It actually has a barrel jack, so it can

00:07:55.759 --> 00:08:05.039
operate as a powered hub. This one, on the other hand, is like, uh-uh, no can

00:08:01.759 --> 00:08:09.520
do. Where's my cable?

00:08:05.039 --> 00:08:11.199
Zip, zilt, nada. But plug in a 90 watt

00:08:09.520 --> 00:08:15.919
charger. And hey, there we go. Ah, this is

00:08:14.800 --> 00:08:21.520
interesting. We're going to talk about this later. All the different hubs that

00:08:18.400 --> 00:08:23.680
are present here. But first,

00:08:21.520 --> 00:08:28.160
let's see if we can get our stream deck and our heated mouse and our RGB

00:08:26.319 --> 00:08:34.880
keyboard running at the same time. We got to turn on those ports, of course.

00:08:31.840 --> 00:08:37.599
No problem. With these, I can greatly

00:08:34.880 --> 00:08:43.120
expand my USB connectivity. All I have to do is daisy chain my hubs together,

00:08:40.719 --> 00:08:50.560
which should give me pretty much unlimited hubbery.

00:08:47.279 --> 00:08:54.160
Uh, except for one small problem. Too

00:08:50.560 --> 00:08:56.240
many USB hubs. A hub will not function

00:08:54.160 --> 00:09:00.560
when it's connected more than five hubs away from the root port. But this is

00:08:58.399 --> 00:09:06.959
only three hubs. Remember when we noticed that each of these one hubs was

00:09:03.600 --> 00:09:11.440
identifying as five hubs in software

00:09:06.959 --> 00:09:15.680
sort of okay USB hub chips can have up

00:09:11.440 --> 00:09:19.040
to seven downstreamfacing ports or DFPs.

00:09:15.680 --> 00:09:21.519
Most hub chips have only four DFPs. So,

00:09:19.040 --> 00:09:26.720
a manufacturer looking to make a big tough USB bar that doubles as a

00:09:24.240 --> 00:09:31.360
self-defense weapon could achieve their desired number of ports by doing what

00:09:28.399 --> 00:09:34.320
anyone else would, by chaining them together. This particular model from

00:09:33.680 --> 00:09:40.640
Sabrant [music] has one main chip with four DFPs that

00:09:37.920 --> 00:09:46.560
each branch off into four more chips with four more [music] DFPs each. That

00:09:43.120 --> 00:09:51.600
gives us a total of 16 ports, each of

00:09:46.560 --> 00:09:53.839
which are two hubs deep. So if we put

00:09:51.600 --> 00:09:58.720
three of these together, that's [music] six hubs in a row. Of course, all of

00:09:56.399 --> 00:10:03.600
this hub into hub tom foolery was just an excuse for me to talk about hub depth

00:10:00.800 --> 00:10:09.920
limitations. The real way to plug in as many devices as we can is to plug each

00:10:06.880 --> 00:10:12.560
of our hubs into the back of our PC.

00:10:09.920 --> 00:10:18.079
Now, we're only two hubs deep on every one of these ports, meaning we can start

00:10:15.200 --> 00:10:23.040
loading things up. I could use a couple of extra hands here, boys.

00:10:20.959 --> 00:10:28.320
I'm actually going to turn these off just so that I can do this.

00:10:26.842 --> 00:10:31.920
[laughter] We're not going to be able to use USB thumb drives forever, though.

00:10:30.079 --> 00:10:35.200
Windows gets kind of fussy about how many drive letters it will assign. So,

00:10:33.600 --> 00:10:40.480
I'm just going to do one hub worth of these. We'll start bringing over mice. Yeah.

00:10:38.399 --> 00:10:44.800
Why don't we have a mouse hub, a USB thumb drive hub, and a keyboard hub?

00:10:42.720 --> 00:10:53.279
What do you guys think? Sound good? Yeah. We are up to 30 devices now. And I got

00:10:49.120 --> 00:10:54.720
to say, good old USB. You know, we kind

00:10:53.279 --> 00:11:00.720
of take it for granted. You know, you just use it every day and don't think about it. But it is shockingly robust.

00:10:59.120 --> 00:11:04.079
Are you guys um What are you guys doing with the keyboards over there?

00:11:02.240 --> 00:11:07.920
Uh we need to plug some in right now is what we need to do. All right. Hit me with some cables.

00:11:06.320 --> 00:11:12.240
Cable me. Plug these two in. Better believe it. We've made it to 48

00:11:10.320 --> 00:11:18.320
devices, all of which are showing up correctly. And while there is some weird

00:11:14.160 --> 00:11:20.800
behavior, uh I can't click sometimes,

00:11:18.320 --> 00:11:25.120
for example. Yep, that's uh Hold on. Maybe a different mouse will click. No.

00:11:22.560 --> 00:11:31.200
Um how about this? No. Nope. That doesn't work. But uh what

00:11:27.839 --> 00:11:34.000
about the Windows key? Oh. Uh control

00:11:31.200 --> 00:11:40.800
shift escape. Hello. Oh yeah, but could bring up task manager. So that's good.

00:11:36.079 --> 00:11:42.959
Alt F4. Anything, buddy? Shoot. Okay,

00:11:40.800 --> 00:11:48.640
let's go. Just one keyboard and one mouse for a

00:11:46.880 --> 00:11:52.079
sec here. Why was I able to click on that one thing and not a different

00:11:50.240 --> 00:12:03.279
thing? This is so weird. Okay. Yes, we're back.

00:11:58.800 --> 00:12:08.720
And come back all my pretties. Okay.

00:12:03.279 --> 00:12:10.639
Excellent. May I have another hub?

00:12:08.720 --> 00:12:13.440
There is a point to this. We're on a different screen now. And I'll show you

00:12:11.760 --> 00:12:19.880
why this is important. Let me just get everything lit back up here first. It's

00:12:15.600 --> 00:12:19.880
at 114 right now.

00:12:20.880 --> 00:12:27.320
We're at 172.

00:12:24.320 --> 00:12:27.320
Uh,

00:12:29.279 --> 00:12:37.360
this is not what I was expecting to happen, but we have a total of 234 end

00:12:35.279 --> 00:12:40.399
points. Um, Tanner. Yeah,

00:12:38.560 --> 00:12:46.079
that's not what we were expecting to happen, is it?

00:12:41.600 --> 00:12:48.800
Not at all. I haven't found so much as a

00:12:46.079 --> 00:12:55.040
data sheet for a USB root hub that can handle more than 128. [music]

00:12:50.639 --> 00:12:57.200
It's supposed to fail at 127. Well, 128.

00:12:55.040 --> 00:13:02.320
Um, it did not.

00:12:58.880 --> 00:13:05.360
Apparently, the AMD

00:13:02.320 --> 00:13:07.120
chipset is just very powerful when it

00:13:05.360 --> 00:13:10.120
comes to the amount of USB it can handle.

00:13:10.240 --> 00:13:15.600
More devices. Tanner, what is it supposed to do?

00:13:14.000 --> 00:13:19.760
Uh, it's supposed to tell you that it's out of resources.

00:13:17.279 --> 00:13:24.320
I see. And were you ever actually able to create that condition? tons of times.

00:13:23.360 --> 00:13:30.959
Cool. It became something I could do in less than five minutes on both my laptop and

00:13:29.120 --> 00:13:35.360
the system I was testing on. I see. Those are both Intelbased [music]

00:13:32.959 --> 00:13:38.720
systems and for some reason AMD just decided to go ham on the amount of USB

00:13:37.279 --> 00:13:43.519
they [music] can handle. Starting with AM4, but back then it was still limited

00:13:41.120 --> 00:13:50.160
to 128 and I expected it to be at least somewhere near 128

00:13:47.120 --> 00:13:53.959
still. But no, it What are we at right

00:13:50.160 --> 00:13:53.959
now? 304.

00:13:54.639 --> 00:14:01.920
Let's go. World new world record.

00:13:58.720 --> 00:14:04.720
Sum of hubs and devices is 101 right

00:14:01.920 --> 00:14:09.360
now. We are getting dangerously close to the goal we set out at the beginning of

00:14:06.399 --> 00:14:14.800
the video and we haven't even pulled out the USBator yet. I will be very

00:14:12.160 --> 00:14:22.639
disappointed if I don't need this. The theoretical limit of XHCI is like 8,000.

00:14:21.989 --> 00:14:27.199
[laughter] But how often do we reach theoretical

00:14:25.519 --> 00:14:31.440
limits for these things? I haven't been able to

00:14:29.839 --> 00:14:38.320
get anywhere near it without things breaking. And yet here we are with AMD

00:14:33.760 --> 00:14:40.320
just tanking it. Surely this final hub

00:14:38.320 --> 00:14:46.560
will be enough, he said, not really convinced. Oh, this

00:14:44.240 --> 00:14:52.480
video is completely off the rails now. There were rails. There was a script.

00:14:48.720 --> 00:14:54.399
There was a plan. Weeks of testing. And

00:14:52.480 --> 00:14:58.040
then we just happened to grab an AMD system. 106.

00:14:58.160 --> 00:15:04.959
Remember, cuz there's five hubs in here, right? Plus the one thing I replugged

00:15:01.945 --> 00:15:07.680
[music] back in. Uh,

00:15:04.959 --> 00:15:13.440
okay. I'm just going to start finding plugs and plugging them into things.

00:15:10.320 --> 00:15:18.680
Why, thank you, good sir.

00:15:13.440 --> 00:15:18.680
Holy 337 end points.

00:15:18.880 --> 00:15:26.399
Wait. Oh. Oh, we just lost a bunch. We're down to 270 end points all of a

00:15:24.800 --> 00:15:31.360
sudden. The keyboards are dead. Whoa. We are

00:15:28.560 --> 00:15:37.440
losing devices left and right here. We're

00:15:33.760 --> 00:15:40.079
Did we just completely

00:15:37.440 --> 00:15:45.839
Oh, wow. They're coming back. Okay. Wow. This is not what you want to see.

00:15:42.800 --> 00:15:47.920
Well, cool. At any rate, here's screen

00:15:45.839 --> 00:15:52.380
capture of the normal way that this happens that Tanner will get later. And

00:15:50.800 --> 00:15:59.440
this is also a thing that can happen [music] when you have too many endpoints. Allow me to explain. It's not

00:15:56.399 --> 00:16:01.550
a device limit or a power limit or a

00:15:59.440 --> 00:16:07.199
bandwidth limit. This is an endpoint [music] limit. An end point is a data

00:16:04.399 --> 00:16:11.279
pipe between the host and the device. And a device will typically have

00:16:08.959 --> 00:16:16.160
multiple end points for things like configuration, um, occasional small low

00:16:14.399 --> 00:16:21.040
latency data transfer, [music] non-timeritical large data transfer, and

00:16:19.199 --> 00:16:25.519
continuous data flow for things like microphones or cameras. Now, remember

00:16:23.839 --> 00:16:30.800
when I said that, well, they're all buried now, but these hubs were actually

00:16:28.320 --> 00:16:38.079
five hubs. Well, that was half true. They are five USB 3 hubs [music]

00:16:33.600 --> 00:16:40.959
and they are also five USB 2 hubs for a

00:16:38.079 --> 00:16:47.440
total of 10 hubs. Each hub [music] uses two endpoints for a total of 20. Now

00:16:44.320 --> 00:16:49.519
technically XHCI extended host control

00:16:47.440 --> 00:16:55.920
protocol supports up to [music] 31 endpoints per device which assuming a

00:16:52.959 --> 00:17:00.399
reasonable 127 device limit like we encountered in our testing [music] is

00:16:57.680 --> 00:17:04.000
nearly 4,000 end points. That's enough endpoints to fill up a tech sack from

00:17:02.160 --> 00:17:07.039
ltdstore.com. But you're not going to be able to

00:17:05.439 --> 00:17:12.480
actually hit that limit with modern hardware because controllers almost

00:17:09.280 --> 00:17:15.120
always have a limit [music] of 64 to 128

00:17:12.480 --> 00:17:19.679
endpoints, typically settling on around 96.

00:17:16.640 --> 00:17:22.319
Except that this one didn't. It had like

00:17:19.679 --> 00:17:28.720
over 300 or something. But that doesn't matter because we are still going to get

00:17:24.559 --> 00:17:31.919
to our goal of plugging in 128 devices

00:17:28.720 --> 00:17:34.400
with the USBator.

00:17:31.919 --> 00:17:38.799
And it should actually behave less flakier than this. Maybe.

00:17:37.120 --> 00:17:45.039
Don't make promises you can't keep. The one with all the USB drives in it is

00:17:42.240 --> 00:17:48.679
flipping hot. Like unhappy.

00:17:48.720 --> 00:17:55.200
Wow. Ow. You know, it kind of is a good

00:17:53.679 --> 00:18:01.280
representation of the difference in philosophy between Intel and AMD. Intel

00:17:58.080 --> 00:18:03.919
has a tendency to just say this is what

00:18:01.280 --> 00:18:07.600
we know we can support reasonably well and just no, you actually may not have

00:18:05.600 --> 00:18:12.400
any more than that. Whereas AMD tends to be kind of more yolo like I don't know,

00:18:10.799 --> 00:18:18.447
see what happens. We're not going to put a limit on it. What you are looking at

00:18:15.280 --> 00:18:19.840
here is an ASUS mining motherboard. Not

00:18:18.447 --> 00:18:27.760
[music] because we're doing any Bitcoin mining or anything like that, but because we want a whole bunch of PCIe by

00:18:24.720 --> 00:18:30.640
one slots plugged into a whole bunch of

00:18:27.760 --> 00:18:35.919
these little mining daughter boards that instead of being loaded up with graphics

00:18:32.400 --> 00:18:40.880
cards are loaded up with USB controller

00:18:35.919 --> 00:18:44.559
cards. In total, I believe we have 30

00:18:40.880 --> 00:18:47.360
total USB controllers, meaning that we

00:18:44.559 --> 00:18:54.480
are going to be nowhere near any kind of endpoint limit shenanigans to get to our

00:18:50.880 --> 00:18:56.640
127 devices. From the outside, the USB

00:18:54.480 --> 00:19:00.559
and is very similar to what we were just doing. We've got these Sabrin 16 port

00:18:58.880 --> 00:19:04.480
hubs, and we're going to plug them into ports in the back of our computer. But

00:19:02.559 --> 00:19:09.760
it's these ports that make this system different. StarTech sent over two

00:19:06.880 --> 00:19:14.400
different kinds of USB controller cards. These ones with seven plugs and these

00:19:12.160 --> 00:19:19.039
ones with four. [music] And believe it or not, the ones with four plugs are

00:19:16.960 --> 00:19:22.160
actually better than the ones with seven. And that's because, and if you've

00:19:20.880 --> 00:19:26.880
been paying close attention, you'll know why this matters. Four of these ports,

00:19:24.720 --> 00:19:31.200
namely the top ones, are running off of an integrated hub. Meaning that it would

00:19:29.039 --> 00:19:36.080
be much easier to hit an endpoint limit using these. So, for example, if you had

00:19:33.520 --> 00:19:41.280
a couple more multiport hubs and then one of these multi-dis adapter things,

00:19:39.440 --> 00:19:46.720
it would work in any of these bottom three, which are directly connected to

00:19:43.600 --> 00:19:48.640
the controller, but would cease to work

00:19:46.720 --> 00:19:54.640
if it was connected to one of the top four. That is not true of our four port

00:19:52.160 --> 00:19:58.640
cards. Each of these is running off of its own controller, meaning that the

00:19:56.480 --> 00:20:04.880
theoretical maximum number of endpoints going into just one of these cards would

00:20:00.960 --> 00:20:08.640
be 508 or something like that, assuming

00:20:04.880 --> 00:20:11.120
each of these can do 127 endpoints. What

00:20:08.640 --> 00:20:16.000
that means is that if all goes according to plan, it should be basically

00:20:13.360 --> 00:20:21.120
impossible for us to reach an endpoint limit on this system. I say we power the

00:20:18.880 --> 00:20:26.000
thing on. All right, because the first thing that we need to do is uh

00:20:23.600 --> 00:20:28.960
is verify which of these cards currently feels like working. Ah,

00:20:27.360 --> 00:20:32.240
it's not the card's fault. It's the risers, right? Mining stuff. Definitely [snorts]

00:20:31.600 --> 00:20:38.080
reliable. Oh, so reliable. This one has no lights. This one has no

00:20:35.360 --> 00:20:42.240
lights. That's okay. I can work with that. I regret taking the approach we

00:20:40.559 --> 00:20:45.760
did last time. Why? How many total drives did you say that

00:20:44.880 --> 00:20:51.120
you could handle? As many as there are letters in the alphabet. But really the problem is when

00:20:49.600 --> 00:20:55.440
a whole bunch of them connect at the same time, then Windows tries and give

00:20:53.039 --> 00:20:59.600
tries to give the drive letter to multiple drives at once.

00:20:56.799 --> 00:21:04.320
Sick. It is time to painstakingly plug in 127 USB devices. How are we doing

00:21:03.120 --> 00:21:10.640
here? What how are we doing for endpoints, boys? We're we're at 56 total peripherals. End

00:21:08.640 --> 00:21:13.360
points are going to be just based on the controller itself. So, we've got

00:21:12.080 --> 00:21:20.320
multiple controllers, but yeah, we're at 56. 56 and 122 standard hubs.

00:21:16.480 --> 00:21:23.440
Not bad. Let's do more. We are up to 86

00:21:20.320 --> 00:21:25.440
peripheral devices. The question is, are

00:21:23.440 --> 00:21:29.760
they still functioning at all? Let's do my caps lock test.

00:21:28.480 --> 00:21:37.760
So, you should be able to kind of see them going going nuts. Okay. What about

00:21:33.520 --> 00:21:40.799
the Windows key? Wow.

00:21:37.760 --> 00:21:42.720
Okay. With all these controllers, it's

00:21:40.799 --> 00:21:50.159
actually still kind of working. Can I Can I click on something? Yes.

00:21:46.640 --> 00:21:52.320
Very nice. MORE THUMB DRIVES. I AM uh

00:21:50.159 --> 00:21:58.799
I'm getting kind of nervous about the lean going on here. Like that is that is

00:21:55.280 --> 00:22:00.880
some pizza level almost. And there is a

00:21:58.799 --> 00:22:05.919
single strip of tape holding these on. It's good tape, but that's 16 ports

00:22:03.679 --> 00:22:12.799
worth of stress. We're at 100 devices right now. 100 devices. Let's go. I have to say my

00:22:09.360 --> 00:22:14.960
side much more organized.

00:22:12.799 --> 00:22:18.799
I did take the only rack though. Yeah.

00:22:16.640 --> 00:22:24.320
We have a mouse infestation. 104.

00:22:21.520 --> 00:22:29.679
Okay. Are any of these not lit up? Oh, that's that heated one. Yeah.

00:22:27.360 --> 00:22:33.360
Weirds me out, man. Oh crap. Something is depressed.

00:22:32.720 --> 00:22:39.919
Uh-oh. Oh, sorry. No, no, not that kind of depressed. Oh,

00:22:37.200 --> 00:22:42.880
are some of the ports not powered? Are some of them not powered on this side?

00:22:41.360 --> 00:22:46.480
Okay. No, they're definitely all powered away. Oh, okay. What are we up to now,

00:22:44.480 --> 00:22:52.640
Colin? Ah, 112. Oh, we're so close. 113. Come

00:22:50.880 --> 00:22:57.760
on. That didn't count. That also didn't

00:22:55.440 --> 00:23:04.240
count. Oh, we're down. We're down to 110.

00:22:59.280 --> 00:23:06.480
Okay. What about this one? Oh no. Oh no.

00:23:04.240 --> 00:23:11.440
Oh, I just saw keyboard lose power. I wonder if this is more of a driver

00:23:08.960 --> 00:23:17.039
level limit just trying to manage all of these flipping. What does our CPU usage

00:23:14.240 --> 00:23:22.200
look like? Look at my cursor now. Just hold on a gosh darn second

00:23:19.200 --> 00:23:22.200
here.

00:23:23.760 --> 00:23:31.120
Okay, it's not exactly a super powerful CPU.

00:23:28.000 --> 00:23:35.039
It's only a quad core, but

00:23:31.120 --> 00:23:38.000
we were pulling 60% when I opened this

00:23:35.039 --> 00:23:44.480
and it's sitting at 30 40% [music] now, just doing nothing. While I'm

00:23:41.360 --> 00:23:47.200
disappointed that we couldn't get to 127

00:23:44.480 --> 00:23:51.520
concurrent devices, we learned a lot along the way. And in fact, I have had

00:23:49.600 --> 00:23:55.280
multiple times in the past when I've run into issues that would have been caused

00:23:53.039 --> 00:24:00.080
by these kinds of topology limitations that just I didn't understand in the

00:23:58.080 --> 00:24:04.291
past [music] and now I will. So, the main things to take away here are that

00:24:02.240 --> 00:24:09.200
if you're using a hub, you're going to [music] want to connect that directly to

00:24:06.559 --> 00:24:14.159
the root controller. And if you're using an unpowered hub, hey, it might [music]

00:24:12.320 --> 00:24:18.080
be running out of spec. So, make sure you're only plugging in low power

00:24:15.600 --> 00:24:22.520
devices or get yourself a powered hub. We're down to 99, guys.

00:24:23.840 --> 00:24:28.880
I think she can't take it anymore.

00:24:27.039 --> 00:24:34.320
If you guys enjoyed this video, maybe check out the one where we oh connected

00:24:31.679 --> 00:24:38.799
as many PCIe risers as we could to see what would happen. You actually [music]

00:24:35.760 --> 00:24:38.799
ended up getting really
