cancel
Showing results for 
Search instead for 
Did you mean: 

Hub 3 / Compal CH7465-LG (TG2492LG) and CGNV4 Latency Cause

Datalink
Up to speed

Good Day Ladies and Gentlemen,

Greetings from the other side of the pond, so to speak.  Over the last few weeks I've been perusing various user forums across North America and Europe for issues related to Intel Puma 6 modem latency.  Of those forums, your Hub 3 stands out as yet another Puma 6 based modem where users see continuous latency no matter what site is used or what online game is played. Considering all of the problems that are on the go, the following information should be of interest to all Hub 3, Compal CH7465-LG and Hitron CGNV4 modem users.  There is much more to post regarding this, so this is a start, to alert VM users as to the real cause of the latency and hopefully engage the VM engineering staff, via the forum staff, with Arris.  I am surprised to see that there has been no mention on this board of users from other ISPs who are suffering the exact same issues with their modems, so, this may come as a surprise to some, and possibly old news to others.

So, the short story ........

The Hub 3 / Compal CH7465-LG (TG2492LG) & Hiton CGNV4 modems are Intel Puma 6 / 6 Media Gateway (MG) based modems.  These modems exhibit high latency to the modem and high latency thru the modem.  The latency affects all IPV4 and IPV6 protocols, so it will be seen on every internet application and game.  The basic cause is the processing of the data packets thru a CPU software based process instead of thru the hardware processor / accelerator.  It appears that a higher priority task runs periodically, causing the packet processing to halt, and then resume.  This is observed as latency in applications and in ping tests to the modem and beyond.  For the last several weeks, Hitron, along with Intel and Rogers Communications in Canada have been addressing the latency issue within the Hitron CGNxxx series modems.  To date, only the IPV4 ICMP latency has been resolved.  Although this is only one protocol, it does show that a Puma 6MG modem is capable of using the hardware processor / accelerator with good results.  Currently Rogers is waiting for further firmware updates from Hitron which should include an expanded list of resolved protocol latency issues.  For Arris modems, "Netdog" an Arris engineer indicated last week that Arris was onboard to address the issue for the Arris SB6190 modem.  That should be considered as good news for any Arris modem (read Hub 3) user as Arris should be able to port those changes over to other Puma 6/6MG modems fairly quickly.  This is not a trivial exercise and will probably take several weeks to accomplish.  Note that there is no guarantee at this point that it is possible to shift all packet processing to the hardware processor / accelerator without suffering from any packet loss side effects.  Time will tell if all of the technical issues can be resolved with the current hardware included in the Puma 6/6MG chipset.  Last night, Netdog loaded beta firmware on selected test modems on the Comcast Communications network.  As this was only done last night, it's too soon to tell what this version resolves and if it was successful or not.  Netdog has contacts with staff at Comcast, Rogers, Charter and Cox Communications to fan out beta versions and modifications for testing.  I'd say its time to add Virgin Media and/or Liberty Global to that group as well.

Recent activity:

Approx three weeks ago a DSLReports user, xymox1 started a thread where he reported high latency to an Arris SB6190 and illustrated that with numerous MultiPing plots.  This is the same latency that I and other users with Rogers communications have been dealing with for months so it came as no surprise.  As well as reporting via that thread, xymox1 took it upon himself to email several staff members at Arris, Intel, Cablelabs and others.  The result of that campaign was Netdog's announcement, last week, that Arris was fully engaged at resolving the issue.  That has led to last nights release of beta firmware, although as I indicated its too early to determine what the beta firmware resolves, if anything.


The original thread that xymox1 started is here:

https://www.dslreports.com/forum/r31079834-ALL-SB6190-is-a-terrible-modem-Intel-Puma-6-MaxLinear-mis...


Yesterday, DSLReports issued a news story covering the thread:

https://www.dslreports.com/shownews/The-Arris-SB6190-Modem-Puma-6-Chipset-Have-Some-Major-Issues-138...


Today, Arris responded:

https://www.dslreports.com/shownews/Arris-Tells-us-Its-Working-With-Intel-on-SB6190-Puma6-Problems-1...


That response was also picked by Multichannel.com

http://www.multichannel.com/news/distribution/intel-arris-working-firmware-fix-sb6190-modem/409379

This is more news likely to appear in the next few days as additional tech and news staff pick up on this issue.


Hub 3 observations:

Like many others using a Puma 6/6MG modem, Hub 3 users are experiencing latency when they ping the modem, or ping a target outside of the home, game online or use low latency applications.  The common misconception is that this is Buffer Bloat. It's not. Its most likely a case of the packet processing stopping while the CPU processes a higher priority task.  The packet processing is done via the CPU no matter what mode the modem is operating in, modem mode or router mode and no matter what IPV4 or IPV6 protocol is used.  Normally, the latency is just that, latency.  The exception are UDP packets. In this case there is latency and packet loss.  The result of that is delayed and failed DNS lookups, and poor game performance for games that use UDP for player/server comms or player/player comms.


Can this be fixed?

So far, it appears that the answer is yes.  Rogers Communications issued beta firmware to a small group of test modems in October.  This version shifted the IPV4 ICMP processing from the CPU to the hardware processor / accelerator, resulting in greatly improved performance in ping latency.  At the present time we are waiting for the next version firmware which should shift other protocols over to the hardware processor / accelerator.  That can be seen in the following post:

http://communityforums.rogers.com/t5/forums/forumtopicpage/board-id/Getting_connected/message-id/369...

The details and results of last nights beta release to the Comcast group have yet to be seen.

At this point there is enough reading to keep most staff and users busy.  My intention is to post some of the history leading up to this point and instructions on how to detect the latency and packet loss.  This is not thru the use of a BQM.  I had hoped to post this all at once but events are moving much faster than I had thought they would.  For now this should suffice to get the ball rolling.

Below is a link to a post with a couple of HrPing plots from my 32 channel modem to the connected CMTS.  This shows the latency that is observed and reflects what others have posted in this forum using Pingplotter and HrPing.

https://www.dslreports.com/forum/r31106550-

HrPing is one of the freebie applications that can be used to monitor the latency to and thru the modem. 

Pingplots with Pingplotter which show the latency from my modem to the CMTS can be found in the first two to three rows of my online image library at Rogers Communications, located below.  They are essentially what the BQM would look like if you were able to zoom into the plot to the point where you could see the individual ping spikes.  Those ping spikes are common to Puma 6 and Puma 6MG modems.

http://communityforums.rogers.com/t5/media/gallerypage/user-id/829158

 

 

 [MOD EDIT: Subject heading changed to assist community]

4,478 REPLIES 4,478

The DOCSIS "modem" is not Level-2 device as you may expect.

"modems" / "modem mode" with DOCSIS simply makes gateway a "half bridge router" - e.g. its still router, just configured in such way (e.g. how it assigns addresses and routes) that it "appears as a modem", even when it still functions as fully-fledged router under the hood.

Its basically using slightly improved techniques of "poor man bridge mode" - https://openwrt.org/docs/guide-user/network/wan/dmz-based-bridge-mode

(Note that it also can do same via DMZ, just that "modem mode" button conveniently sets it all up for you and assigns WAN address to LAN).

 

Just to point out, the icmp processing was not shifted over to the wifi chip.   It was moved over to the Hardware Accelerator/Processor.  What we don't know is just how much was moved over to the Accelerator/Processor in subsequent firmware revisions.  That includes ICMP, UDP, TCP/IP and anything else, for both IPV4 and IPV6.  I doubt that we'll ever see a clear cut explanation from Intel detailing what was done to alleviate the problems and whether or not those measures were 100% successful.  Not forgetting of course, the DOS issue.....


@Sephirothwrote:

@deasmiwrote:

@Sephirothwrote:

It can’t be fixed by software.  A different DOCSIS chip is the only solution and VM know this in their stunning silence. They should be suing someone. 

 

 


I think that is conjecture, just because to date intel haven't issued a fix that has been proven to solve the problem does not mean they can't. As I said previously it's clearly possible to have single threaded CPUs happily work in routers without these kinds of of issues. I highly doubt this is a true hardware problem, much more likely to be low level firmware/microcode, and so potentially fixable.

iPerf is looking promising as a test platform, using large numbers of identical udp packets or short tcp connections and measuring jitter.


It’s not conjecture.  A DOCSIS modem is doing much more than a DSL modem because everything on your node hits it.  

 


As I've understood it issue is caused by CPU starvation due to an interrupt driven memory clean up routine, this prevents the Atom part of the Puma6 platform from processing packets. The ARM processor handles the DOCSIS component and isn't actually affected.

Java JREs used to suffer from similar problems back in the day with garbage collection, a total freeze whilst garbage collection was carried out.

I am not suggesting it's identical, but over time solutions were found to mitigate/solve the java problem, perhaps intel can solve this. It's in their interests to do so given the number of class actions in the US.

As there is so little decent technical information on the cause of this issue I think it is jumping to conclusions to state it can't be fixed.

Anyway, whether or not it can be fixed, and whether or not it has been fixed I think needs repeatable test that show the issue and therefore can show if it's gone away, or if it hasn't.


@Datalinkwrote:

What we don't know is just how much was moved over to the Accelerator/Processor in subsequent firmware revisions.  


Oh. I guess if they moved just TCP connection establishment to PP, this could've "fixed" DSLReports test - if its testing spikes while establishing connections (instead of measuring spikes in sustained connection).

 


@philjohnwrote:
Edit: If anyone *without* the new firmware and is happy running iperf can drop me a DM I've setup an AWS server and would like to compare results.

You shouldn't need to setup your own iperf server on AWS, there are publicly available ones, such as ping.online.net (and for if we ever get IPV6 ping6.online.net)


Yes you are right, however there is better reporting at the server end.

I did try these but the iperf in client mode will only report the aggregate final UDP jitter, whereas the server can be asked to print out updates every time period, so I'm running with one second output.

I think this is going to show momentary spikes in latency/jitter better this way.

The output from the server end looks like this. Column after Mbit/sec is the jitter. 

I'd really like to compare with old firmware, as with jitter < 1ms for 18Mbps of udp traffic I can't see the issue anymore, but don't have data for old firmware.

[  3] local y.y.y.y port 5900 connected with x.x.x.x port 14189
[  3]  0.0- 1.0 sec  2.14 MBytes  17.9 Mbits/sec   0.496 ms    0/ 1525 (0%)
[  3]  1.0- 2.0 sec  2.14 MBytes  18.0 Mbits/sec   0.591 ms    0/ 1528 (0%)
[  3]  2.0- 3.0 sec  2.15 MBytes  18.0 Mbits/sec   0.528 ms    0/ 1534 (0%)
[  3]  3.0- 4.0 sec  2.14 MBytes  18.0 Mbits/sec   0.547 ms    0/ 1529 (0%)
[  3]  4.0- 5.0 sec  2.15 MBytes  18.1 Mbits/sec   0.553 ms    0/ 1535 (0%)
[  3]  5.0- 6.0 sec  2.14 MBytes  17.9 Mbits/sec   0.737 ms    0/ 1526 (0%)
[  3]  6.0- 7.0 sec  2.15 MBytes  18.1 Mbits/sec   0.542 ms    0/ 1537 (0%)
[  3]  7.0- 8.0 sec  2.14 MBytes  18.0 Mbits/sec   0.584 ms    0/ 1530 (0%)
[  3]  8.0- 9.0 sec  2.14 MBytes  18.0 Mbits/sec   0.665 ms    0/ 1529 (0%)
[  3]  9.0-10.0 sec  2.14 MBytes  18.0 Mbits/sec   0.665 ms    0/ 1529 (0%)
[  3] 10.0-11.0 sec  2.15 MBytes  18.0 Mbits/sec   0.778 ms    0/ 1531 (0%)
[  3] 11.0-12.0 sec  2.14 MBytes  18.0 Mbits/sec   0.507 ms    0/ 1529 (0%)
[  3] 12.0-13.0 sec  2.14 MBytes  18.0 Mbits/sec   0.802 ms    0/ 1530 (0%)
[  3] 13.0-14.0 sec  2.14 MBytes  18.0 Mbits/sec   0.751 ms    0/ 1530 (0%)
[  3] 14.0-15.0 sec  2.15 MBytes  18.1 Mbits/sec   0.594 ms    0/ 1537 (0%)
[  3] 15.0-16.0 sec  2.16 MBytes  18.1 Mbits/sec   0.506 ms    0/ 1538 (0%)
..
..
..

 Client end

..
..
[  4] 97.0-98.0 sec  2.15 MBytes  18.0 Mbits/sec
[  4] 98.0-99.0 sec  2.15 MBytes  18.0 Mbits/sec
[  4] 99.0-100.0 sec  2.15 MBytes  18.0 Mbits/sec
[  4]  0.0-100.0 sec   215 MBytes  18.0 Mbits/sec
[  4] Sent 153141 datagrams
[  4] Server Report:
[  4]  0.0-100.0 sec   215 MBytes  18.0 Mbits/sec   0.689 ms    0/153140 (0%)
[  4]  0.0-100.0 sec  1 datagrams received out-of-order

Would love to help, but I'm somewhere in the middle of current trial version and general release Smiley Frustrated

--------------------------------------------------------
Look behind you, a three-headed monkey


@Guybrush85wrote:

Would love to help, but I'm somewhere in the middle of current trial version and general release Smiley Frustrated


More firmware versions the better to be honest. You don't even have to tell us which one you're on.

You can pass --get-server-output (I think that's the correct switch) and the public servers will return their output as well at the end.

You do get a dedicated server to play with on your AWS one though, as an iperf3 server can only run a single test at once, so there's sometimes a little wait - so if you don't mind that it could save you a little bit of money 🙂


@philjohnwrote:

You can pass --get-server-output (I think that's the correct switch) and the public servers will return their output as well at the end.

You do get a dedicated server to play with on your AWS one though, as an iperf3 server can only run a single test at once, so there's sometimes a little wait - so if you don't mind that it could save you a little bit of money 🙂


Thank you, that is all round better, didn't know what option. Should have read the manpage.

 

PacketNerd
On our wavelength

I have some tests set up from my home router using something called IP SLA, which I hope should show me if the fix does solve the latency problem for UDP traffic.

It generates test UDP telephony traffic, and sends it off to a server on the internet, which sends timestamped return traffic, and then records the delay for the jitter and latency in each direction. It sends and receives 10 UDP packets mimicking the g729a codec for each test. The one way delay is far from perfect due to NTP drift but should give an indication of if the latency spikes improve and in which direction.

Here are some of the graphs it generates on firmware 9.1.116V...

/msBfhgT

Now I just have to wait for Virgin Media to upgrade my firmware to post a comparison.