Notes on “Can’t Connect Over Comcast”

At the radio end the Internet service is Wireless ISP which uses the protocol PPPoE and has an MTU of 1492 bytes.  ADSL also has an MTU of 1492.  Other internet services use the standard of 1500.  Packets larger than 1492 bytes will get dropped and a connection will fail.  The MTU must be reduced.  Below are the troubleshooting steps taken to find this out.

A network probe was installed at the Strasburg end to see if any packets are reaching the Flex.  They ARE.  The Wireshark sniffer shows an oversized TCP packet is being generated by the Flex but only with Comcast at the client end.  The packet is 1514 bytes and the MTU (maximum transmission unit) in the remote router is 1492.  An error on wireshark from the remote router says the packet should be fragmented.   So the packets are not getting blocked or filtered by Comcast apparently.  Why is the Flex not fragmenting packets and why is it only when we are using Comcast.   The VPN also uses Comcast and it causes no problem.   Why?    This information has been forwarded to Dan Quigley at Flex and his ideas are being anxiously awaited.

Followup:  Success!  Problem solved by a simple and free parameter change on our own equipment.  A connection from a client using Comcast with no VPN works perfectly now.  Full panafall display works just as it should.  CW is smooth.  All is good.  The simple and free change?  Reducing MTU on the client router from 1500 to 1478.  That’s it.  That change causes the pc to send a SYN packet with a MSS (maximum segment size) specification of 1438.  By the rules of the Internet the Flex is obligated to send no packet with a payload bigger than 1438 bytes.  The Flex adds on the header overhead of 54 bytes, which can’t be reduced, for a total of 1492.  Bingo.  The MTU of the remote router is 1492.  That number is prescribed because the Internet service uses the protocol of PPPoE which is limited to 1492.  Here is the key to the original failure.  The Flex was generating packets that we 1514 in length and the remote router was correctly dropping them and sending back an error message.  Unfortunately Flex has ICMP turned off which means it was never getting those error messages.  The Flex would retry the oversized packet several times and give up.  A connection request always timed out and failed.  Why did other Internet carriers work?   The answer lies in the MTU of those networks.  Just by luck the MTU’s deep in their networks were always 1478 or smaller.  The client PC always performs a Path MTU Discovery as part of beginning a connection for the purpose of discovering the smallest MTU deep in the network.  The PC uses  that number in a SYN packet telling the far end host how big the host’s payload can be.  At that point the host, the Flex, would generate packets no bigger than 1492 and therefore would not overflow the remote router.   Connection successful.

How was this solution figured out?   It has apparently not been written about in the Flex community forum based on multiple searches producing nothing.  Comcast was no help in network troubleshooting.  Flex’s only response has been to direct us to the wrong culprit, the network.  Certainly Flex has added to the problem by having ICMP turned off which caused it to not even receive the error messages.  If it had received the errors it possibly could have adjusted the packet size on the fly and fixed the problem without intervention.  But that’s just speculation.  No doubt Flex has a good reason to have ICMP turned off.  Here is one good explanation which also includes an easy way to turn it back on if one had shell access.    https://www.thegeekstuff.com/2010/07/how-to-disable-ping-replies-in-linux/

Again you asked, how was this solution figured out?  It came to mind after reading a white paper from Cisco about how Path MTU Discovery works.  Learning about MSS was also key in understanding the problem.    https://www.cisco.com/c/en/us/support/docs/ip/generic-routing-encapsulation-gre/25885-pmtud-ipfrag.html

A question lingered about why the Flex was sending packets that were too large.  How did the Flex determine the size of those packets? A little digging provided the answer:  MSS or maximum segment size.  MSS is the payload size.  By the rules the host can vary the size of a packet by changing the size of the payload as long as it’s not bigger than the MSS.   The host cannot exceed the MSS. A header with a fixed size is wrapped around that payload.  Next logical question is how is MSS set?   A little more digging provided the answer:    A client PC runs Path MTU Discovery and sends a SYN packet to the remote host which includes the MSS calculated from that Discovery.     Consider this.  The Comcast network could be so good that all their routers have the maximum MTU.   Therefore the PC could be sending a SYN packet with a MSS too big.  At that point it was easy to use Wireshark to show what the actual MSS was in the SYN packets.  Indeed it was too large.  Next question is how could the MSS be reduced?  The answer lies in the fact that Path MTU Discovery looks at all the MTU’s in all the routers along the path including the router at each end.  It then uses the smallest MTU found to calculate MSS.  Aha. Maybe if the router at the client end had the smallest MTU the Path Discovery would calculate a small MSS.  Changing the MTU on the router at the client end proved to work.  The MTU was manually set to a number that caused the MSS to be small enough not to cause an error when the Flex generated it’s reply.  That MTU number is 1478.  MSS is calculated by the machine to be 1438.  The fixed header is 54 bytes which is wrapped around the payload of 1438 bytes for a total of 1492.   Joy.  That is the MTU of the remote router and it is happy.

Sidebar:  Why some networks and not others?  The Internet service at the remote site is provided by a wireless ISP which uses a protocol of PPPoE.  PPPoE and ADSL both add 8 bytes of overhead to the packets which reduces the MTU the to customer.  The customer only gets to use 1492 instead of what is standard for most Internet which is 1500.  That is most likely why the connection to the Flex also failed when we tested it on Century Link.   Century Link uses ADSL which limits the MTU to 1492.  As for why it works on VPN the answer probably is in the MTU of one of the routers used along the way by the VPN.  Same possibility with the AT&T Mobile Hotspot.  Some hop has a small MTU, which results in a smaller MSS, which results in the Flex sending smaller packets, which results in a good connection.

Followup May 30, 2020:  New router.   Here we go again.  A EvenRoute IQRouter V3 was purchased to eliminate audio dropouts possibly caused by “bufferbloat” and improve the quality of the audio signal.  The same no connection issue started all over again and changing the MTU setting did not fix it this time.  EvenRoute technical support person Sandy Fowler responded quickly with excellent information.  She said, “Since that portion of the product is bone-stock OpenWRT, that change you applied should have given you the expected results. We do not mess with MTU once the unit is configured.”  Digging into the openWRT forum produced the result that openWRT splits up MTU and MSS.   There is a separate setting called MSSClamping on the firewall page.  After checking the checkbox for MSSClamping in the IQRouter the Flex is reachable once again and works perfectly.  Also, the short audio dropouts are gone.  No more “bufferbloat”?  Qudos for the IQRouter and for the EvenRoute tech support team.  MSSClamp apparently means “clamp the MSS to the path MTU discovery”.  OpenWRT forum has considerable discussion regarding MTU and MSSclamping.

A new issue has come up and that is DAX occassionally locks up after a few minutes of operation.  That issue is being looked into before opening a support ticket.

Measuring Ladder Line With An Antenna Analyzer

Testing a ladder line for an electrical half wave length will yield meaningless results with a MFJ 259B Antenna Analyzer.  What works with 50 ohm coax will not work with any other impedance coax or ladder line (unless it’s 50 ohm ladder line).  The 259B analyzer is a bridge circuit where the other three legs of the bridge are 50 ohms.  The fourth component must also be the electrical equivalent of a 50 ohm resistor for a meaningful readout. But not to fear.  It can still be accomplished with just a little work.  The steps to find an electrical half wave length for a ladder line are identical to that of a 50 ohm coax.

Using the same technique as would be used with a 50 ohm coax first find the electrical quarter wave frequency .  With the far end open and the near end attached to the analyzer tune for a dip at the lowest frequency. Going through several dips to get to the lowest one is normal.  Both resistance and impedance should dip as close to zero as possible. If impedance is zero but resistance is high keep tuning until both are zero. Note the frequency.

Now find the next frequency up where both resistance and impedance dip to zero.  This frequency should be triple the first frequency.  This will be another odd multiple of a quarter wave and it should be the three quarter wave frequency.  Make a mental note that the difference of these two frequencies is the electrical half wave frequency. For example the first frequency was one quarter wave length and the second frequency was three quarter wavelengths. The difference would be two quarter wave lengths or one half wavelength.  How do we get to meaningful dimensions?  We need the velocity factor.

The MFJ 259B has a built in advanced mode function called distance to fault.  The distance to fault will be the electrical distance to the end of the cable. It will be longer than the cable itself because the insulation slows down the electrons (by an amount known as the velocity factor!) To find the distance to fault hold down both the mode button and the gate button at the same time until advanced mode appears on the screen.  Press the mode button repeatedly until the distance to fault mode appears.

Repeat the steps above but this time enter the data into the analyzer.  Go back to the lower dip frequency and press gate.  This will become the 1st data.   Next rotate the frequency knob to the next highest dip and press the gate button again.  This is now the 2nd data.  Press the gate button a third time and the distance to fault will appears.

We need to know the physical length of the cable so measure the total length with a ruler.  Velocity factor is the quotient of the distances measured electrically by the analyzer and the actual measured length. Divide the physical length by the electrical length and the quotient is the velocity factor.  An example would be .88.

Update:  Or just get a RigExpert AA-55 analyzer.  A parameter can be set for any impedance coax.

Verticals vs Dipoles

“Dipoles are better than verticals.”

If you’ve heard this before you won’t be surprised but I hadn’t and it really shocked me because I’d always heard verticals were low angle radiators and that was better.

For years we had been taught to put up dipoles for stateside contacts and verticals for dx.

“Verticals are better than dipoles for DX”

“They” said dipoles have 2.2 dB gain over isotropic and verticals are better low angle radiators.  Both are at best half truths.  More accurate thinking would be to put up a vertical only when a dipole can’t be erected at the proper height or length.  Below is an explanation of why dipoles should normally always be the first choice.

“The dipole is the basic building block of many antennas. A dipole does NOT have 2.2 dB gain over an isotropic radiator when the dipole is placed over earth. The dipole has about 8.5 dB gain over an isotropic radiator! Always remember this when you see antenna models over earth given in dBi. If the model over earth shows a “gain” of about 8.5 dBi, the model effectively has the same gain as a dipole.” – http://www.w8ji.com/antennas.htm  (Tom Rauch)

I “fact-checked” Tom’s comment by using EZNEC to model a dipole one half wavelength above average ground. Gain numbers are in the same ball park as Tom’s considering he was modelling at 145 feet above ground and I was using a more attainable 33 feet.  In this case the model does seem to agree with Tom.

Screenshot 2016-01-27 16.00.16

For a rigorous explanation see Joel Hallas, W1ZR, in QST, November, 2015 p44, Antenna Gain, Part 1:  What Do The Numbers Really Mean?.

Verticals ground mounted over average soil conductivity with adequate radials don’t have any gain.  This model shows gain of 0 dBi. In other words you’d be giving up 8db of gain by using a vertical instead of a dipole.

(I’m planning on inserting a model of a quarter wave vertical with ground radials over average ground here as soon as I can find someone with NEC4.  NEC2 supposedly can’t model ground interaction very well and that’s half of a vertical antenna)

Next we model the identical antennas but this time we look only for the gain at a take off angle of 15 degrees.  We chose 15 degrees because many DXers believe this is the optimum take off angle to work the most countries.

From Jim Brown, K9YC:

Ah, some say – but the vertical doesn’t do nearly as well at the high angles that support short distance propagation. Yes, that’s true – but: 1) Don’t forget inverse square law – field strength falls as the square of the distance, so stations at 800 miles are 6 dB closer than stations at 1,600 miles and 9 dB closer than stations at 2,300 miles! You don’t need as much signal to work those closer stations.

In closing the soil determines how well a vertical will work.  The one time verticals will outperform dipoles is if they’re over salt water or on a salt water beach.

40 Meters – Practical Example

As promised above here are the two models using EZNEC v.6.0 (NEC2-based because I gave up on finding someone with a NEC4 version).  Comparing a dipole at one half wave height to a quarter wave vertical on 40 meters both over average soil we get the following graphs.  The vertical is on the left. The shapes are surprisingly similar but the gain is not.

 

Here are the same graphs larger so the numbers are easier to read.

Screenshot 2017-12-10 13.32.49

Screenshot 2017-12-10 13.30.02

The green dot marks the 15 degree take off angle.  The gain at 15 degrees is -1.48 dBi on the vertical and 4.92 dBi on the dipole.  This is a difference of 6.4 dBi.  In other words to get the same signal out requires 4 times the power on a vertical.   Fifty watts into a dipole is the equivalent of 200 watts into a vertical.

This gain comes at the price of directivity.  A vertical, of course, has a 360 degree omni directional pattern.  A dipole has a 78 degree beamwidth.  The dipole is the winner if it is pointed in the direction of the DX.  If the DX is off to the side of the dipole the vertical will be the winner.  Here is the same dipole showing the azimuth pattern at 15 degrees take off angle.

Screenshot 2017-12-10 13.57.58

The front to side difference is 13.93 dBi which we’ll round to 14 dBi.  Now the vertical that was 6 dBi worse off the front is 8 dBi better off the side.  This is a power multiplier of 6.31.  It would take 316 watts into a dipole to equal 50 watts into a vertical when the DX is off to the side of a dipole.

What is the conclusion?  Both antennas are needed.  Two dipoles at right angles would work, too.

Perfect Antenna for April 1

Too bad it’s August 1 instead of April 1.  I ran across this ideal antenna while modeling some other antennas in EZNEC.  It would be too good to be true except on that one day of the year.   Of course, it’s true.  What’s not to be trusted?  It is modelled in EZNEC to prove it.  The name of the antenna is SUPERGAIN.  As can be seen in the view ant window below it is a triangular loop.

Click to enlarge

Screenshot 2015-07-31 09.23.55

So far so good. It’s a simple wire antenna.  Here’s a look at the FF Plot to show the pattern and the gain.   The gain figures are in the notes below the pattern.  Gain of 23.85 dBi and at a fairly low angle, too.  I’ll round that out to 24dBi.

Click to enlarge

Screenshot 2015-07-31 09.32.29

This antenna is modeled over real ground by the way, not free space. What a fantastic dx antenna.  I’m pretty sure “fantasy” is the operative word here.  But let’s take this at face value for now.

What could be done with an antenna with 24 dB of gain?    We could put 1 watt in and have an effective radiated power (ERP) of over 200 watts.   We wouldn’t need linear amplifiers any more. We wouldn’t need towers and beams or any other antennas. If we used a typical transceiver with it’s 100 watts the ERP would be 20,000 watts. Or a qrp-er could use 5 watts and have an ERP of 1000 watts.   Hmmm.  This is a really nice antenna and don’t forget from the plot all that radiation is going out at fairly low angles.

What is fooling EZNEC or why haven’t we heard about this wonderful contraption before? What’s going on here?

Installing JT65

Running JT requires three packages:   WSJT-X, Timing, and JT-Alert.

1.  JT.   Although there are many software packages that provide WSJT support, WSJT-X is my current favorite because it contains both JT65 and JT9 in the same package and also becasue it’s written by the originator of WSJT, Dr. Joe Taylor.  First step is to Google “wsjt-x”.

wsjt-x > WSJTX – Physics > Latest Windows release:1.7 > WSJTX_xxxxxxx.exe

Installation:  Accept all defaults, then:

Click setup and check the boxes for items 4 through 12.  Next click “configuration” and the following screen will pop up  (click to enlarge).  This sample configuration works for having an external interface.  For radios with USB interfaces scroll down to a blog posting farther down.  This is the screen to put in your call sign and grid locator.

wsjt-x config1

2. Timing setup to keep a pc accurate to within 1 second:

Meinberg is but one example of a way to keep your pc clock accurate to within one second. It’s my favorite.

Free Download NTP Software ntp-4.2.8p9-win32-setup.exe (3.72 MB)
NTP package with IPv6 support for Windows XP and newer

Accept defaults on each page but watch closely for the word “none”.  When you see the word none, replace it with United States of America.   Create a new login with your call letters and a password of your choice.  Test by running the program “Quick NTP Status”.   If it’s working correctly you should see 3 or more ntp servers listed. If you don’t see three lines similar to the screenshot below, start the meinberg installation over.

screenshot-2017-02-09-08-26-58

3. Finally we install jt-alert:

 jt-alert > HamApps.com > HamApps JTAlert v2.9.0 : Download

Accept defaults and then configure the way you like it.  I did mine this way:

Settings>Manage settings>logging>Standard ADIF File.    Click Enable Standard ADIF File Logging and enter the path of your choice in the field Log File.   I keep my log in the cloud at Dropbox so the file is on the internet and not on any one specific pc.

C:\Users|MarkH\Dropbox\Ham\log.adi

JT-Alert provides all sorts of nice features to make operating easier.  One of my favorites is an audible reminder when each minute is up.

For help and questions, my email address is w0ql-at-arrl.net.

Dipole replaces mag loop

The AEA Isoloop was working as designed and making contacts but this dipole is blowing the doors off the loop.  I’m actually seeing dx from Europe and this afternoon I worked France.  That is the first QSO with Europe since we moved into this condo.  Disappointingly the Isoloop never was able to achieve that goal.  Tonight I worked European Russia with the dipole.    I love it.

IMG_1930[1]

Constructed of electric fence insulators mounted on the lanai screens, I stuck hookup wire in the insulators and a MFJ 1:1 current balun in the middle.  I had to hunt for the insulators but I found them at Murdoch’s Farm and Ranch Supply. Amazing what one can do with wire antennas.

IMG_1931[1]