WEBVTT

00:00:00.000 --> 00:00:05.200
I could probably build an entire second career just making videos about Nintendo's bad behavior,

00:00:05.200 --> 00:00:11.200
but the one we're gonna look at today is one that's gonna hit the wallet of merely every

00:00:11.200 --> 00:00:18.240
Switch 2 owner. The completely unnecessary left turn into proprietary bill that they have taken

00:00:18.240 --> 00:00:24.320
with the Switch 2. While the rest of the game console industry has made serious strides toward

00:00:24.320 --> 00:00:32.320
universal standards and interoperability, this dock is a classic example of locking down a product

00:00:32.320 --> 00:00:38.640
not for a good reason, but just because we can, or to make a buck, or because, I don't know,

00:00:39.680 --> 00:00:46.720
you. And the bigger problem here is that Nintendo is a market leader, and their actions may very

00:00:46.720 --> 00:00:53.040
well embolden other tech companies to do the same. Check this out. This dock here works perfectly

00:00:53.040 --> 00:00:59.760
on the Switch 1, and in fact, every other device on the table. And the Switch 2? No, no, no. That's the

00:00:59.760 --> 00:01:06.560
only device we were able to find that it won't work with. All of these docks and dongles you're

00:01:06.560 --> 00:01:11.840
looking at now will work with the Switch 1 or with your laptop, but you can't use them on your Switch 2.

00:01:12.560 --> 00:01:16.960
It would seem then that Nintendo has opted to make their new universal serial bus device

00:01:17.600 --> 00:01:22.480
a little less universal. The question is how? I mean, it's still got a regular Type-C connector,

00:01:22.480 --> 00:01:28.560
so what's happening? To find out, we have the Infineon Protocol Analyzer, a little device that

00:01:28.560 --> 00:01:34.480
intercepts the communication between two USB-C PD devices, and allows us to see exactly what

00:01:34.480 --> 00:01:40.880
Nintendo has done. Oh, here we go. Normal, normal, normal. Vendor-defined message.

00:01:42.080 --> 00:01:48.160
But what the heck is a vendor-defined message? And what is this message from our sponsor?

00:01:52.560 --> 00:02:03.360
Let's take a step back and explain the wonders of USB in the modern age,

00:02:03.360 --> 00:02:08.720
which is going to give us some additional context as to why we should be especially mad at Nintendo.

00:02:08.720 --> 00:02:14.800
Since its inception in 1996, USB has been a consistent standard that's replaced

00:02:14.800 --> 00:02:23.200
many connectors with one easy to insert connector. There's been tons of revisions with increases in

00:02:23.200 --> 00:02:27.840
power and data delivery as well as more and more functionality with each update,

00:02:28.400 --> 00:02:33.120
all while maintaining a pretty robust backwards and forwards compatibility.

00:02:33.120 --> 00:02:38.160
It's honestly a pretty impressive collaboration in an industry of min-maxing profiteers.

00:02:38.160 --> 00:02:44.000
Arguably its biggest change came with the introduction of the USB-C standard, which was

00:02:44.000 --> 00:02:51.200
partially intended to make all USB devices just a little more universal, although there's definitely

00:02:51.200 --> 00:02:56.400
been some snags in the decade plus since the update. In an effort to reduce the amount of

00:02:56.400 --> 00:03:02.960
USB-C devices that may fry each other because of voltage and compatibilities, the USB-C PD,

00:03:02.960 --> 00:03:08.480
or power delivery standard, was released. As many of you will know, that's a protocol for

00:03:08.480 --> 00:03:13.680
negotiation between two devices to communicate their power and data capabilities. Lucas from

00:03:13.680 --> 00:03:18.400
the Labs just wrote a really fantastic article about this handshake, and if you want a little

00:03:18.400 --> 00:03:23.280
more detail, you should definitely give that a read. For now, let's test what's actually

00:03:23.280 --> 00:03:27.680
happening with the Switch 2. To understand what we're working with, let's test out the Switch 2

00:03:27.680 --> 00:03:35.120
in the Switch 2 dock first. And we have image. Wow, these two devices meant to work together,

00:03:35.120 --> 00:03:39.520
work together. Fantastic. Let's take a look at what all these messages mean. This interface

00:03:39.520 --> 00:03:42.480
can be a little bit overwhelming if you don't know exactly what you're looking for.

00:03:43.360 --> 00:03:48.080
The main thing to know is the message column is the messages that are being sent in between the

00:03:48.080 --> 00:03:54.800
two docks. In the power role, we have SNK, which is our sync device, and SRC, which is our source

00:03:54.800 --> 00:04:00.960
device. In this case, our source is our dock, and our sync is the switch. So the first thing we're

00:04:00.960 --> 00:04:08.560
seeing is the source offering up its capabilities. When you look in this pane over here, you can see

00:04:08.560 --> 00:04:14.560
that it's offering five, nine, and 15 volt power. Good CRC, which you'll see all the way down,

00:04:14.560 --> 00:04:21.840
just means Roger. Then our Switch is talking SNK, and it's looking for object position three,

00:04:21.840 --> 00:04:28.640
which is the 15 volts of power. We get a Roger. We get an accept from our dock. We get another

00:04:28.640 --> 00:04:35.040
Roger. Next, we have power supply ready, meaning it's ready to deliver its power. We got our Roger.

00:04:35.040 --> 00:04:42.000
Then we have a data role swap. So now the switch is switching roles, and it's kind of taking control

00:04:42.000 --> 00:04:46.320
of the interaction. Then we get our Vekon swap, and to oversimplify, it's just another part of

00:04:46.320 --> 00:04:52.000
kind of the data role swap. We got good. We got good power supply ready. And then we have a little

00:04:52.000 --> 00:04:58.960
soft reset where you can see this SOP prime. That's actually when the USB devices are talking to

00:04:58.960 --> 00:05:04.480
the intermediary devices. So it might be talking to a cable that's in between, if it's an active cable,

00:05:04.480 --> 00:05:10.080
or a part of the dock or something. So right now it's doing a little soft reset for those.

00:05:10.080 --> 00:05:14.400
Then we have our vendor-defined messages, and you can see in this pane, it's asking for

00:05:14.400 --> 00:05:19.040
discover identity. And this is the first time that our dock and our Switch are going to communicate,

00:05:19.920 --> 00:05:23.760
hey, you Nintendo, are you Nintendo device? Vendor-defined doesn't mean that it's like

00:05:23.760 --> 00:05:30.640
an exclusive lockdown thing necessarily, but it can. And then in quick, basically we have

00:05:30.640 --> 00:05:37.200
these vendor-defined messages where the dock and the Switch are going to try and negotiate

00:05:37.200 --> 00:05:42.960
their DisplayPort mode. It takes clearly a lot of vendor-defined messages, and this is sort of

00:05:42.960 --> 00:05:47.920
where the things become a little unusual. In this case, it's going to work, and we get a display on

00:05:47.920 --> 00:05:52.800
our screen after they've negotiated their modes. But let's take a look at what happens when we

00:05:52.800 --> 00:05:58.320
connect the Switch to a dock that won't work. Now we're going to test out this pretty generic

00:05:58.320 --> 00:06:03.120
Nucleum USB Type-C dongle. You can immediately see things are a little bit different. Our dongle

00:06:03.120 --> 00:06:10.000
gives it source capabilities, the Switch requests based on that. We get our power supply ready,

00:06:10.000 --> 00:06:14.320
Vcon swap, and then the data roll swap. And you can see that it's actually in a different order.

00:06:14.320 --> 00:06:20.640
The Vcon and the data roll swap are in a different order, which ends up in a reject from the Switch.

00:06:20.640 --> 00:06:25.280
They try this a couple of times. Eventually it works. Power supply, we do our little

00:06:26.000 --> 00:06:32.080
intermediary soft reset, and then we do it all again. And that's a little bit strange. Why are

00:06:32.080 --> 00:06:37.440
we doing it all again? Okay. Yeah, yeah, yeah, yeah. We're getting to our intermediary reset,

00:06:37.440 --> 00:06:42.480
and then we're into our vendor-defined stuff. We're trying to find who's talking to who

00:06:43.120 --> 00:06:47.040
in specific. Are these Nintendo products? And then we're discovering the modes.

00:06:48.000 --> 00:06:56.400
And this is generally the DisplayPort modes in this. The Switch is asking for a specific mode.

00:06:56.400 --> 00:07:04.640
We get connected. We get UFD connected. And then it kind of just like fizzles out. And then it

00:07:04.640 --> 00:07:08.960
sort of stops communicating. And that's going to be kind of a reoccurring pattern where

00:07:09.920 --> 00:07:14.560
things don't happen in the same order. Things get confused. And then the communication kind of

00:07:14.560 --> 00:07:19.360
just ceases. Let me show you on a monitor. This one's even more clear why things aren't working.

00:07:19.360 --> 00:07:23.280
They're trying to do the data roll swap, and there's a rejection happening from

00:07:23.280 --> 00:07:29.360
the Switch. These two buddies not working together so good. But we're still seeing our pattern that

00:07:29.360 --> 00:07:34.800
the Switch has a little bit of a difficulty negotiating when things don't go exactly as it's

00:07:34.800 --> 00:07:43.120
expecting. That means only hardware with the exact validated negotiation can decode these messages

00:07:43.200 --> 00:07:48.560
and successfully negotiate a display out from the Switch too. And this isn't a technical limitation

00:07:48.560 --> 00:07:55.040
of USB-C itself. Most PD devices can navigate these operations in different orders and make it work.

00:07:55.760 --> 00:08:01.440
Rather, I think the most likely answer here and the one that avoids making claims we can't

00:08:01.440 --> 00:08:08.160
absolutely confirm is that Nintendo made sure that it worked on their own devices and then

00:08:08.240 --> 00:08:12.960
stopped their efforts there. That means that even if a third-party dock has the correct power

00:08:12.960 --> 00:08:18.880
delivery and video output capabilities, it just won't fully function with the Switch too unless

00:08:18.880 --> 00:08:25.200
it can successfully communicate using Nintendo-specific undisclosed protocols. This communications

00:08:25.200 --> 00:08:31.600
lockdown definitely could be malicious, but I wouldn't feel confident taking Nintendo to court

00:08:31.600 --> 00:08:37.600
about it. But I'm not sure I would chalk it up to pure carelessness either. The most likely

00:08:37.600 --> 00:08:45.840
scenario, in our opinion, is that this is an example of tactical laziness. What a beautiful term.

00:08:46.720 --> 00:08:52.880
Because the benefit of this enshrification is so obvious. Money. Do you need a second dock in your

00:08:52.880 --> 00:08:58.560
house? Well, instead of using something you already have, that'll be $120 more directly to Nintendo.

00:08:58.560 --> 00:09:03.520
Thank you very much. You want to go traveling and have something more portable. Time to order

00:09:03.520 --> 00:09:08.720
another expensive Nintendo-approved accessory. It makes me wonder if we would be better if they

00:09:08.720 --> 00:09:14.960
just use proprietary port. On the one hand, it would solve the seeming underhandedness of the

00:09:14.960 --> 00:09:20.240
issue and the ensuing consumer confusion. Everyone would have known from the get-go about the

00:09:20.240 --> 00:09:25.120
incompatibility and maybe Nintendo could have justified it with a unique feature like a

00:09:25.120 --> 00:09:31.680
locking port all while leaving the top USB port as is for charging. But that would mean

00:09:31.680 --> 00:09:37.520
needing to develop and manufacture a proprietary port, possibly upping the price over a mass-produced

00:09:37.520 --> 00:09:44.160
generic part with Nintendo fronting the R&D cost. And proprietary ports means that it's Nintendo's

00:09:44.160 --> 00:09:49.920
own IP so they can set the license fee, probably upping the cost on third-party accessories.

00:09:49.920 --> 00:09:54.640
It would also mean increased e-waste long-term when there's more Switch 2 docks left than

00:09:54.640 --> 00:10:00.560
Switch 2 players. That's really not ideal. On the other hand, it's exceptionally

00:10:00.640 --> 00:10:04.880
frustrating to be able to correctly plug in your accessories and then not have them work.

00:10:05.440 --> 00:10:11.520
To be fair, that's not a Nintendo exclusive problem. All type C ports and cables have not

00:10:11.520 --> 00:10:17.200
been created equal. It's an ongoing issue, but in my personal experience, the compatibility issues

00:10:17.200 --> 00:10:23.040
are generally trending towards becoming solved, not launching themselves towards totally unnecessary

00:10:23.040 --> 00:10:30.160
compatibility catastrophe, which just makes this so infuriating. Especially since the Switch 2 is

00:10:30.160 --> 00:10:36.080
less capable than most modern, regular type C devices. The charging caps out at around 15

00:10:36.080 --> 00:10:41.520
watts, which may be good for battery health long-term, but it certainly would be nice to have the

00:10:41.520 --> 00:10:47.680
option to fast charge when necessary and variable refresh rate is currently not possible via the

00:10:47.680 --> 00:10:54.160
dock. You can only do that in handheld mode, so we're really not asking much of these.

00:10:54.160 --> 00:10:59.760
Even Apple manages to be more universal than this crap. Apple was one of the pioneers of

00:10:59.760 --> 00:11:04.000
the industry move towards mass adoption of USB type C and Thunderbolt. I remember they actually

00:11:04.000 --> 00:11:11.120
took a lot of flack for being the first to ship a laptop, the 2015 MacBook, with only USB type C,

00:11:11.120 --> 00:11:15.520
which is especially funny when you consider how they had to be dragged kicking and screaming

00:11:15.520 --> 00:11:21.520
on the phone side. But I digress. The point is, in spite of Apple's long proud history of making

00:11:21.520 --> 00:11:27.040
things proprietary for no obvious user benefit, even they haven't gone as far as creating a

00:11:27.040 --> 00:11:33.600
proprietary handshake between their cables, their accessories, and their computers. Although

00:11:33.600 --> 00:11:37.520
don't imagine for a second they're not capable of it. Oh god, I hope they're not getting any ideas

00:11:37.520 --> 00:11:43.440
from this. Because once Apple does something, well, the industry follows. Hopefully Nintendo

00:11:43.440 --> 00:11:47.600
doesn't have quite the same influence. While we've harped pretty hard on Nintendo so far,

00:11:47.600 --> 00:11:52.400
we want to give credit where credit is due. Do we? They are helping to push the MicroSDX

00:11:52.480 --> 00:11:57.600
standard into the mainstream instead of making some expensive proprietary format like the Xbox

00:11:57.600 --> 00:12:03.520
Series or the PlayStation Beta. Okay, that's fair. But not even everything they've done with their

00:12:03.520 --> 00:12:08.240
non-proprietary storage is good. The fact that they don't let you just dump save game files off

00:12:08.240 --> 00:12:14.080
of your system onto it is quite frankly offensive to me. Nintendo has angered all of us with their

00:12:14.080 --> 00:12:19.840
game prices. But here's the thing, the most that that can cost me is about 80 US dollars.

00:12:19.840 --> 00:12:26.480
That's the worst case scenario. But imagine this, I dump 300 hours into a game and then

00:12:26.480 --> 00:12:32.240
I don't subscribe to Nintendo online so I can't back up my save and then I happen to lose my

00:12:32.240 --> 00:12:41.280
switch, a portable device. I lose 300 hours. I mean, okay, obviously I'm not being paid to game so

00:12:41.280 --> 00:12:46.000
it's not a straightforward mathematical equation. But if we're talking about what it would cost me

00:12:46.000 --> 00:12:53.760
in my time and my personal energy to go back and get all of that back, honestly, I'd rather go to

00:12:53.760 --> 00:13:00.000
work for one day so I can buy a new fucking game versus dump another 300 hours in to get back what

00:13:00.000 --> 00:13:06.640
I lost. So what can we do? Well, the best thing to do is not give Nintendo your money. Either wait

00:13:06.640 --> 00:13:12.160
for the next Gen Yuzu or just skip Nintendo games until they fix this. That's probably the best,

00:13:12.240 --> 00:13:17.120
most impactful move you can make. But when you look at the switch one and two sales number,

00:13:17.680 --> 00:13:22.880
it's pretty easy to feel like your wallet's vote doesn't get you very far anymore. And I don't

00:13:22.880 --> 00:13:28.400
feel any kind of moral superiority for telling you to stop engaging with Nintendo's games. They are

00:13:28.400 --> 00:13:36.080
clearly making fantastic experiences that no one else can match. And I and lots of you want to play

00:13:36.080 --> 00:13:41.200
them. You could buy third party options like the Antank S3 that we're going to have linked down in

00:13:41.200 --> 00:13:47.520
the video description that somehow has the ability to speak the switch to his proverbial language.

00:13:48.560 --> 00:13:53.840
Who the fuck knows how Antank figured that out? A friend at Nintendo or on the third shift at one

00:13:53.840 --> 00:14:01.920
of the factories? Random dumb luck. Regardless, it works for now. Nintendo could technically alter

00:14:01.920 --> 00:14:08.080
that deal on a whim by changing their protocols in a neat little game of cyber cat and mouse. But

00:14:08.800 --> 00:14:13.360
what we'd all really like is for this video to be out of date as soon as it hits the internet.

00:14:13.920 --> 00:14:17.920
It seems like Nintendo has it within their power to push a couple of firmware updates

00:14:17.920 --> 00:14:25.440
to stop this baloney. Baloney. Like this Segway sandwich. To a sponsor. If you like video showcasing

00:14:25.440 --> 00:14:30.240
the baloney big tech is trying to pull over on you, you should watch our most recent tech gripes.

00:14:30.240 --> 00:14:37.840
So many damn gripes. Man, I said a lot cooler in this one. Good job me.
