How do you properly enable/disable Auto-MDIX?
-
@AndyRH Because I said so, same as anything else related to the firewall. And potentially fewer collisions when limiters are doing their thing between CPUs.
And because I don't like the idea random number generators messing with my connections when I have mismatched speed negotiations. "A pseudo-random–number generator determines whether a network port will start in MDI or MDI-X configuration to begin auto-negotiating the link." https://en.wikipedia.org/wiki/Medium-dependent_interface
"When two auto–MDI-X ports are connected together, which is normal for modern products, the algorithm resolution time is typically < 500 ms. However, a ~1.4 second asynchronous timer is used to resolve the extremely rare case (with a probability of less than 1 in 5×10^21) of a loop in which each end keeps switching." I use a LOT of really fast udp packets, all day every day.
Because my jitter on my uploads and downloads rarely goes below 1.4ms (it is hilariously bottlenecked at that number) I think the Auto-MDIX timer is a bottleneck on my fiber connection (it is actually ethernet connected to an ONT which translates ethernet to XGS-PON. (my dad has less than .03ms jitter on his fiber and it is a competition). Also videogames. I have to improve the videogames. Sometimes fqcodel seems to be able to get the jitter below 0.9ms, but rarely.
-
This post is deleted! -
This post is deleted! -
@HLPPC I guess I am still slow; how does a 1-time speed negotiation affect your speed or ping jitter?
I am not saying you should not be able to enable and disable what you want, I just am trying to understand the need for my own education.BTW, I tested with CloudFlare and they show my jitter at 526μs with a distance to the test server of 7ms. Not a good test because there are 3 games, 2 streaming movies running and ~20 various other hosts doing whatever.
-
@AndyRH On the transport layer some videogames (like smash ultimate) use a persistent TCP connection to help regulate their Quazal UDP (or other protocols built on UDP) connections. (https://nintendo-wiki.pretendo.network/docs/nex/) My first smash ultimate match is always flawless with fq_codel, and their own QoS on the Nintendo Switch device does try to slow the connection down or delay up and down links for fairness. Subsequent UDP matches may randomly occur on different CPU cores or use different random MDIX tx and rx PHY queues maybe additionally messing with polarity. I would want to minimize the chaos from the firewall in regards to this specific game's transport layer and physical link in this regard especially because of speed mismatches effecting duplex.
fq_codel and other dummynet firewall rules also match first packets to limiters. A one time negotiation for one link may not be the same for the subsequent links and seems to cause issues for some applications (other games on steam seem effected too.)
Also, my 1.4ms jitter may be due to living in the middle of nowhere, but I cannot help but think that auto-MDIX may also be too slow for what I am doing and would rather just have everything set up correctly to begin with, rather than rely on consumer autocorrection. Turning it off will likely cause more problems than it will solve but who knows.
-
My understanding of this is that MDI/MDIX was a thing back in the days of 10/100Mbps Ethernet with only two wire pairs in the cable. With the 1000Mbps and higher standards, four wire pairs are required, and negotiation of the pairing (a/k/a Auto-MDIX) is both automatic and required by the standards. Don't bother asking how to turn it off: you can't, and there's no need to either.
-
@HLPPC None of that explains how a 1 time negotiation affects the connection after it is established. The speed and cabling negotiation only happens when you first connect. After that the connection does not renegotiate cabling.
Or simply said, you are chasing the wrong thing.The only way to reduce latency is to reduce delays and distance. Provided your FW is fast you are unlikely to have any luck there. That leaves distance. You can only reduce distance on equipment you own. Every meter of cable is about 1 nanosecond. Have you tried shorter cables?
-
@AndyRH Yes. I think some issues I experience are also with PCIe auto negotiated link speeds and duplexes (on an amd mobo with multiple NICs), AMD NX bit memory page security and probably other firmware stuff. I also want to test disabling auto mdix to confirm. I have also had positive experiences cutting 100mbps crossover cables :)
Sometimes I think my hardware is capable of auto negotiating itself into 3/4 (half duplex between different NICs on only outbound or inbound) duplex connections which ethernet doesn't recognize. Especially with very low bandwidth games. PCI auto negotiates too.
GeForce Now with fq_codel is pretty awesome btw. ECN and DSCP are both hard to tell if working correctly with any given connection or necessary. But with more devices the network is more and more likely to lag.
-
Why do you need crossovers these days? Gb and newer 100 Mb interfaces don't need crossover cables.
-
I suspect you're imagining problems. Any hardware that does what you suggest is NFG. Also, if you lock one end, you also have to do the other end and that often can't be done.