Friday, September 20, 2024

The 12VHPWR fiasco - or: Choosing a replacement adapter cable for your GPU.

An Nvidia 12VHPWR adapter cable with a chip in it.

The 12VHPWR fiasco… or: choosing a replacement adapter cable for your GPU.
This issue has been around for a long time, but I only just got an RTX 40 series card and so it is all new to me. Please let me know if I have something wrong below…

I received my new RTX 40 series GPU and it came with an Nvidia branded 3-into-1 12VHPWR adapter cable for the power supply. Sadly, my Corsair power supply only came with 2 PCIe power cables, so I needed an additional PCIe cable to make the Nvidia adapter work properly. But if I purchased that cable, I’d end up with an octopus like mess of 4 cables connected together just to get power to my GPU! Another option would be to "daisy chain" one of my existing PCIe cables, like this:
An ugly mess that isn't a good idea.

Clearly, I should just get one cable to replace this messy bundle.

But!...
  1. Of course, the power supplies are not all the same... some use different proprietary pinouts! This is why many recommend using the Nvidia adapter provided with the GPU with the cables that came with the PSU, and I suspect the chip in the adapter cable helps check things too.
  2. Wait… there is a chip in the Nvidia octopus adapter cable that comes with the GPU?! Apparently, the Nvidia 3-into-1 adapter cable that comes with the GPU actually has a chip in it that tells the GPU that all three ends at the PSU are plugged in and supplying the proper voltage etc. But the aftermarket cables do not have that chip and I suspect just hard-wire the sense lines. I read that this is fine, as long as you actually properly plug the adapter into a properly spec'd supply. Also, note the Nvidia adapter cable seems to connect all the positive wires together, and same for the ground. The aftermarket cables only seem to short adjacent PCI2e wires together at the 12 pin GPU connector.
  3. I had remembered there was a connector problem when these RTX 40 series cards first came out: connectors at the GPU were melting! People were not plugging in the connectors all the way, or they were bent hard near the GPU and that was pulling them out or weakening the connections. Also, original cables were soldered to the connectors, a potentially bad practice for power cables. So you want to get a quality cable, with crimped connections. And don’t stress the cable by bending it harshly at the connectors.
  4. You can now get cables with a 90 degree (right angle) connector at the GPU, so the cable doesn’t have to bend hard, an issue in smaller cases like mine. The right angle can bend up toward the backing plate or down toward the cooling fins. Note that if you want a right angle (90 degree) cable you have to make sure your connector on the GPU is not recessed and decide if you want the right angle to bend up toward the backing plate or down toward the cooling fins. Some GPUs may only fit a cable that goes one way, bent up or down. The cable manufacturers seem to call these “A” or “B” variant/type cables. Note that if you choose the bend so that it goes over the latch (B), it may be very hard to remove the connector from the GPU because the connector and cables will be in the way. Choose carefully.
  5. You also need to decide if you need a 2-into-1, 3-into-1 or 4-into-1 cable. This is determined by the power requirements for your GPU. The manufacturer CableMod claims that a 2-into-1 cable is enough to provide a full 600W, but there is little reason to use less than a 3-into-1 cable if you need full power*. 
In summary: So to order a replacement cable, if you need to decide:
  • Can you get one that matches the specific connectors and wiring on your power supply?
  • Are you are OK with using a cable without a chip?
  • Do want a right angle (90 degree) connector on the GPU end of the cable, and if you do, what way should it bend and will it fit?
  • Do you need a 2-to-1, 3-to-1 or 4-to-1 cable?
top: ugly assembly of Nvidia adapter connected to 2 Corsair PCIe cables.
bottom: aftermarket 3-into-1 12VHPWR cable with 90 deg connector.

What a fiasco.

So... I ended up buying 2 cables, one manufactured by CableMod and one made by JOYJOM. They both worked and seemed wired adequately. However, they were wired differently. In the picture below you can see that at the PSU end, the JOYJOM cable is missing 6 connectors and the CableMod is missing 2 connectors. I haven't completely researched what is going on with this, but I suspect both are OK. But again, pick carefully!

I posted on Reddit with the above pic and a CableMod representative replied:

Finally, here is the CableMod cable installed. I chose an "A" version so that the GPU end the clip is exposed and it can easily be detached. In my case, the cable is plenty long enough to come out upward around the GPU card backing plate and then back down behind the GPU to the PSU.

Epilogue: Of course, there is a new power supply cable standard that just came out… don’t be surprised if the next generation of GPUs use a new connector called the “12V-2x6” connector. Supposedly this new connector will be backwards compatible with the 12VHPWR one.

*From the CableMod web site: 
DON’T PCI-E PORTS ONLY PROVIDE UP TO 150W PER PORT? HOW IS IT THAT A 3 X 8-PIN (OR 2 X 8-PIN FOR THAT MATTER) CABLE CAN BE SUFFICIENT TO POWER GPUS THAT REQUIRE UP TO 600W AT PEAK? In truth, an 8-pin PCI-e port on modern PSUs can supply over 300W of power each (up to 342W, depending on model). Thus, two 8-pin PCI-e ports are more than enough to provide the required 600W. We provide both 3 x 8-pin and 4 x 8-pin versions of this cable for extra redundancy. **Please note that all 8 Pin PCI-e plugs need to be plugged in for the cable to function properly. If you order a 2 x 8-pin, 3 x 8-Pin, or 4 x 8-Pin to 16-Pin, make sure that all of the 8-pin connectors are connected correctly to your PSU.

        source: https://cablemod.com/support/#12vhpwr-pcie-gen-5-atx-3-0 

Steve and the team from Gamers Nexus just did a huge report on these cables, adapters and connectors. Check it out here: 12VHPWR is a Dumpster Fire | Investigation into Contradicting Specs & Corner Cutting

After watching the Gamers Nexus video, I'll add these tips:

  1. Make sure you have a large enough power supply
  2. Use the cables that came with your quality supply and the Nvidia branded 3 to 1 adapter cable
  3. Do not bend the cables near the connector. If you have a narrow case or other factors that make the GPU power connection a tight fit, get a right angle adapter cable from a quality manufacturer.
  4. Make sure the cables are fully seated and do not have tension on them.

 

Monday, August 12, 2024

Pi-Hole vs Control D or NextDNS on a home router

Testing the performance of a Pi-Hole vs NextDNS or Control D on a home router.

The Pi-Hole was running on a Raspberry Pi 3 B+ and the router is a Synology RT2600ac.

The short summary (TLDR)

1) Fastest Performance: Pi-Hole

2) NextDNS and Control D are much easier to set up and maintain than a Pi-Hole.

3) If you are happy with base level functionality and ad blocking, Control D and NextDNS perform similarly.

4) If you want advanced features you need to install the Control D or NextDNS app (daemon or service) directly on your router. NextDNS’s app was MUCH faster than Control D’s in my setup. But we are still talking about small pieces of time, and that difference may not be noticeable.

5) The NextDNS daemon supports local caching, a big speed advantage. (edit: it has been brought to my attention that the Control D daemon can be configured to support caching. But I could not get the config file to work.)

6) Control D offers some “traffic redirection” features that may allow you to pretend you are in a different region of the world (possibly useful for foreign streaming websites and television).

7) The NextDNS web control panel is much easier to use than the current Control D web panel. Control D claims it is because of all the added features… and that is partially correct but I also think it’s an overly complicated design. I did see some hints that a new UI for Control D is coming.

The long story and testing

I’ve been happily using a Pi-Hole on our home network for the last 5 years. Pi-Hole is a DNS server application that blocks advertisements on your network. For us, that blocks ads on our phone, computers and even some of the ads in our TV’s menus. I ran the Pi-Hole on a Raspberry Pi and recently the SD card in the Pi failed. After I got the network back up and running I decided to investigate some other ways to block advertisements on our home network.

My first option was to just get a new SD card for the Raspberry Pi and set that up as a Pi-Hole again. However, the Pi-Hole does require occasional maintenance. You should keep the Raspberry Pi OS and Pi-Hole package updated. And of course, it is another box hooked up to the home network.

The second and third options, Control D and NextDNS, are DNS services that you can set up on your router, instead of the default DNS services suggested by your Internet Service Provider. Note that some ISPs do not allow you to change your DNS easily… I think this is because they want to watch your traffic! There are ways around this, like using your own router instead of the once provided by your ISP. I really recommend doing that.

Two ways to use Control D or NextDNS

1) Manually configure the router to use the Control D or NextDNS servers. That is done by entering the appropriate IP addresses into the router’s menus as your preferred and alternate DNS.

2) Install a app or daemon on the router that will automatically take over the DNS functions on the router*. This will provide more features but requires a bit more expertise and maintenance.

*To use Control D or Next DNS you need a router that runs Linux, like one of the Synology routers or some Ubiquiti routers. (My home router is a Synology RT2600ac.) You can also use routers running ”alternative” or open source firmware like DD-WRT, Merlin Fresh Tomato, pfSense. etc. Check on the Control D or NextDNS sites to make sure you choose a compatible router!

Testing

Many people “ping” their DNS server to test it’s response time. In my opinion, this is a waste of time. “Ping” does not test the lookup time at all. Also, pinging the DNS does not test the speed of any software provided to do DNS in your router! A better way is to use “dig”. However, even then you need a bunch of digs to get enough information to average out the results. So instead:

I used Steve Gibson’s “DNS Benchmark” software to test how stuff worked. I also did some testing from the command line with “dig”. I am on AT&T’s fiber 1 Gbps service.

About the charts

These are the three local DNS servers on my network:

192.168.77.1 < This is my home router, a Synology RT2600ac
192.168.77.100 < This is my Pi-Hole, configured to use google’s DNS (8.8.8.8) and Steven Black’s ad list.
192.168.1.254 < This is the “router” provided by my service provider AT&T.
 

Other servers I used in testing:

1.1.1.1 cloudflare
8.8.8.8 dns.google
9.9.9.9 dns9.quad9.net
12.127.16.67 rmtu.mt.rs.els-gms.att.net
12.127.17.71 dns-rs1.bgtmo.ip.att.net
76.76.2.0 p0.freedns.controld.com unfiltered
76.76.10.0 s0.freedns.controld.com unfiltered
76.76.2.2 p2.freedns.controld.com ads-tracking
76.76.10.2 s2.freedns.controld.com ads-tracking
76.76.2.35 controld x-stevenblack
76.76.10.35 controld x-stevenblack
45.90.28.0 dns1.nextdns.io
45.90.28.135 dns1.nextdns.io
45.90.30.0 dns2.nextdns.io
45.90.30.135 dns2.nextdns.io

The scale moves on the charts, but note that the vertical gray dashed lines are at every 20 milliseconds

Red bar = cached
green bar = uncached
blue bar = dotcom

All the charts are sorted by cached performance (the red bars).

First, let's try a fairly normal configuration using Cloudflare for DNS as a baseline.

With 1.1.1.1 set directly in the router menus: Look at my router, 192.168.77.1. Its performance using 1.1.1.1 is very similar to directly hitting 1.1.1.1 or any of the other servers. But note the cached performance of the Pi-Hole (.100) and the AT&T router (.254) is far better because of the local caching.

I don’t know what happened to Quad 9 (9.9.9.9) above. Maybe just a bad moment for them.

Now let’s try with the Control D server set in the router menus.

The scale moved compared to the last chart, but Control D performed very well. I set Control D to use Steven Black’s ad list. You can see the performance (192.168.77.1) is very similar to hitting the external servers directly. But of course the local caching of the Pi-Hole (.100) remains far superior.

Then I tested Control D’s daemon, ctrld, installed on the router. 

Again, it is setup to use Steven Black’s ad list. The ctrld daemon is not easily configured to do local caching*. And performance of the router running ctrld (192.168.77.1) is significantly slower than hitting the servers directly. The vertical dashed lines are at 20 milliseconds, so you can see the cached performance is about 20ms, about double hitting the routers directly. Also the uncached (green) and dotcom (blue) responses are also significantly slower than any other option.

I discussed the poor performance of the ctrld daemon with Control D. The issue may be because the router is still running dnsmasq while it runs ctrld on a different port. This started to get hard for me to debug any further, but maybe they will choose to fix this issue. You can see the details on the ctrld github if you wish.

Comparing the daemon’ from NextDNS vs Control D

I did like the extra features that come with running a daemon directly on the router. So I decided to see the NextDNS’s daemon performed better than the one from Control D. And the result was a very pleasant surprise!

First I ran the Control D daemon again. You can see its relatively poor performance again (192.168.77.1). Also Quad 9 (9.9.9.9) has a very poor showing.


But then I installed the daemon from NextDNS. During installation it asked if I wanted to turn on caching, and of course I selected yes! Running the test, of course the NextDNS cached performance was great (192.168.77.1). But the uncached (green) and dotcom (blue) responses are also good. The uncached was a bit longer than directly hitting some of the other DNS, but not excessively so.

So for me, the NextDNS daemon was the winner.

It does caching, which is a big advantage. And it is significantly faster.

From Gibson's DNS Benchmark tool:
--------------- ctrld daemon--------nextdns daemon
cached-------- .022-----------------.000 (obviously a locally cached response is much faster*)
uncached------.058-----------------.050 (similar)
dotcom--------.024-----------------.010 (nextdns is way faster)

But, if you don't use the daemon... both Control D and NextDNS are good.

I will note that I did not test NextDNS configured manually in the router menus, as I wasn’t interested in that option. But I expect that performance would have compared to be very similar to Control D configured the same way. If you are just using Control D or Next DNS servers manually configured in the router menus, speed is probably not a big factor in the choice.

* It has been brought to my attention that the Control D daemon can be configured to support caching. But I could not get the config file to work with my router.

Wednesday, January 3, 2024

Black & Decker Workmate as Motorcycle Tire Changing Stand

For some reason, after years of using a milk crate, I finally realized my Workmate might make a good tire changing stand!

I have a vintage Workmate 79-001 Type 2 (WM625) with replaced jaws.
I bought a 12" long piece of 1/2" stainless steel round bar, and I filed a small V in one side of the jaws:

 Poof! Instant tire changing stand!

 Getting ready to mount a tire:

Success: the mounted tire. The stand worked great!

  
Addendum...
I realized my wheel was scrapping the workmate's wood surface. Not such a big deal, but it's nice to be able to easily rotate the wheel and i wouldn't want to scrape up some of the fancier wheels. I've seen some wheel changers have a big plastic / nylon disks... so I took a jigsaw and drill to one of our old cutting boards:



Perfect!