Menu
Reply
  • 15
  • 0
  • 3
TWith2Sugars
On our wavelength
976 Views
Message 1 of 12
Flag for a moderator

Super Hub 3 slow UI caused by bad api response

I've had the super hub 3 for about 2 week and the UI is horridly slow so today I used chromes debugging tools to see what was going on.

Every time I get a slow loading page it's always caused by the same issue. 

The javascript makes a call to this endpoint: http://192.168.0.1/walk?oids=1.3.6.1.4.1.4115.1.20.1.1.2.4.2;&_n=40773&_=1474024969642 which returns a list of connected devices in JSON format. Or at least that is what it's supposed to do. The response is always invalid. Here is the response from my super hub:

{
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.3.200.1.4.192.168.0.2":"unknown",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.3.200.1.4.192.168.0.10":"android-64a5f8878ea0ea51",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.3.200.1.4.192.168.0.11":"tony-laptop",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.3.200.1.4.192.168.0.12":"android-ac38cfdde48a5cef",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.3.200.1.4.192.168.0.13":"NP-2M5461009578",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.3.200.1.4.192.168.0.14":"android-aa429620e0a2a102",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.3.200.1.4.192.168.0.16":"unknown",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.3.200.1.4.192.168.0.152":"unknown",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.3.200.1.4.192.168.0.153":"unknown",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.3.200.1.4.192.168.0.154":"unknown",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.3.200.2.16.254.128.0.0.0.0.0.0.78.102.65.255.254.156.67.5":"android-aa429620e0a2a102",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.3.200.2.16.254.128.0.0.0.0.0.0.152.196.126.76.82.213.8.25":"tony-laptop",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.3.200.2.16.254.128.0.0.0.0.0.0.174.95.62.255.254.66.53.80":"android-ac38cfdde48a5cef",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.4.200.1.4.192.168.0.2":"$ac220b525e9f",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.4.200.1.4.192.168.0.10":"$ac9b0a6d7668",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.4.200.1.4.192.168.0.11":"$34e6d7894d1c",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.4.200.1.4.192.168.0.12":"$ac5f3e423550",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.4.200.1.4.192.168.0.13":"$dc3a5efd4dfd",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.4.200.1.4.192.168.0.14":"$4c66419c4305",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.4.200.1.4.192.168.0.16":"$bc6e76016252",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.4.200.1.4.192.168.0.152":"$02e39c00090b",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.4.200.1.4.192.168.0.153":"$027464000a0b",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.4.200.1.4.192.168.0.154":"$029372000b0b",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.4.200.2.16.254.128.0.0.0.0.0.0.78.102.65.255.254.156.67.5":"$4c66419c4305",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.4.200.2.16.254.128.0.0.0.0.0.0.152.196.126.76.82.213.8.25":"$34e6d7894d1c",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.4.200.2.16.254.128.0.0.0.0.0.0.174.95.62.255.254.66.53.80":"$ac5f3e423550",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.6.200.1.4.192.168.0.2":"0",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.6.200.1.4.192.168.0.10":"21",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.6.200.1.4.192.168.0.11":"1",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.6.200.1.4.192.168.0.12":"5",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.6.200.1.4.192.168.0.13":"5",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.6.200.1.4.192.168.0.14":"13",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.6.200.1.4.192.168.0.16":"23",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.6.200.1.4.192.168.0.152":"0",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.6.200.1.4.192.168.0.153":"0",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.6.200.1.4.192.168.0.154":"0",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.6.200.2.16.254.128.0.0.0.0.0.0.78.102.65.255.254.156.67.5":"13",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.6.200.2.16.254.128.0.0.0.0.0.0.152.196.126.76.82.213.8.25":"1",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.6.200.2.16.254.128.0.0.0.0.0.0.174.95.62.255.254.66.53.80":"5",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.7.200.1.4.192.168.0.2":"6",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.7.200.1.4.192.168.0.10":"1",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.7.200.1.4.192.168.0.11":"1",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.7.200.1.4.192.168.0.12":"1",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.7.200.1.4.192.168.0.13":"1",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.7.200.1.4.192.168.0.14":"1",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.7.200.1.4.192.168.0.16":"5",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.7.200.1.4.192.168.0.152":"6",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.7.200.1.4.192.168.0.153":"6",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.7.200.1.4.192.168.0.154":"6",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.7.200.2.16.254.128.0.0.0.0.0.0.78.102.65.255.254.156.67.5":"5",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.7.200.2.16.254.128.0.0.0.0.0.0.152.196.126.76.82.213.8.25":"5",
"1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.7.200.2.16.254.128.0.0.0.0.0.0.174.95.62.255.254.66.53.80":"5",

As you can see it's missing an end "}" and has an extra "," in the output.

This function

function snmpGetJsonSync(url, opts) {
	var outJson = {};
	snmpBaseAjax(_.extend({
        url:url,
        success:function (result) {
            result = decrypt(result);
            outJson = JSON.parse(result);
            $.log("snmpGetJsonSync["+url+"]:\n"+JSON.stringify(outJson));
        },
        dataType:"text",
        async:false,
        cache:false
    }, opts));
	return outJson;
}

located at  http://192.168.0.1/base_95x.js?ver=9.1.88T on line 997 attempts to parse this bad json

and throws an excepction.

This is caught and "handled" by this function:

function handleError(e) {
	  $.log("handleError:" + e);

    if (e === "unauthorized") {
    	  clearLoginCredential();
        refresh();
        return;
    }
    if (e["label"])
        alert(xlate("Could not set ") + "\"" +xlate(e["label"])+"\""); // todo: tranlaset
    else if (canXlate(e))
        alert(xlate(e));
    else if (_.isString(e))
        alert(e);
    else {
    //	alert(xlate("System error:\n")+ e); // todo: tranlaset
    	var trace = printStackTrace({e:e});
  	  	alert("Error stack trace:\n"+trace);
  	  	$.logError("System error:\n" + e +"\n\n" + "Error stack trace:\n"+trace);
    }
}

 on line 1714 in this file: http://192.168.0.1/base.js?ver=9.1.88T

The "printStackTrace" function isn't define and another exception is thrown but this time it's not caught.

How ever! once in a while I get back a valid response and the ui works.

Not sure how much this will but at least if others have had the same issue it should be simple to fix.

  • 15
  • 0
  • 3
TWith2Sugars
On our wavelength
968 Views
Message 2 of 12
Flag for a moderator

Re: Super Hub 3 slow UI caused by bad api response

I should also point out that if you visit a page that doesn't make a call to the "connected devices" api it loads up instantly e.g. http://192.168.0.1/?modem_settings&mid=Modem

  • 9.37K
  • 362
  • 2.31K
Superuser
Superuser
948 Views
Message 3 of 12
Flag for a moderator

Re: Super Hub 3 slow UI caused by bad api response

Not had any problems myself with LanClientTable returning JSON without a }.

If I run your link on my Hub 3 10 times in a row it always returns a fully formed JSON response with:

{
[insert my devices here]
"1":"Finish" }

At the end.

However I will relay your thread to the firmware team. 

You'll be running 9.1.88T firmware I presume?

I'm on the trial firmware 9.1.116V.

 

  • 15
  • 0
  • 3
TWith2Sugars
On our wavelength
928 Views
Message 4 of 12
Flag for a moderator

Re: Super Hub 3 slow UI caused by bad api response

Yes that is the firmware I'm running.
0 Kudos
Reply
  • 2
  • 0
  • 0
jlost
Joining in
914 Views
Message 5 of 12
Flag for a moderator

Re: Super Hub 3 slow UI caused by bad api response

I had a Super Hub 3 delivered yesterday, as a replacement for a failing SH1. Running 9.1.88T, and the UI is indeed a disappointing experience. I hope to see the 9.1.116V update soon.

0 Kudos
Reply
  • 57
  • 0
  • 22
Virgin Media Staff
Virgin Media Staff
880 Views
Message 6 of 12
Flag for a moderator

Re: Super Hub 3 slow UI caused by bad api response


TWith2Sugars wrote:

I should also point out that if you visit a page that doesn't make a call to the "connected devices" api it loads up instantly e.g. http://192.168.0.1/?modem_settings&mid=Modem


Thank you @TWith2Sugars for looking into the code in detail. We suppose the GUI slowness is fixed in 9.1.116V that is currently getting released.

We request you to validate again as soon as you receive 9.1.116V and feedback if you still face unexpected delays.

Kind Regards

  • 15
  • 0
  • 3
TWith2Sugars
On our wavelength
874 Views
Message 7 of 12
Flag for a moderator

Re: Super Hub 3 slow UI caused by bad api response

I will check as soon as the firmware is on. Do you know when this will be?

0 Kudos
Reply
  • 15
  • 0
  • 3
TWith2Sugars
On our wavelength
754 Views
Message 8 of 12
Flag for a moderator

Re: Super Hub 3 slow UI caused by bad api response

I should also point out that this api tends to fail a lot more on a wireless connection.

Not sure if this helps.

 

0 Kudos
Reply
  • 10
  • 0
  • 0
Diggory
Joining in
589 Views
Message 9 of 12
Flag for a moderator

Re: Super Hub 3 slow UI caused by bad api response

I can't quite believe how long this is taking to release.  This has been an issue since March at least.

0 Kudos
Reply
  • 3
  • 0
  • 0
mestiso
Joining in
567 Views
Message 10 of 12
Flag for a moderator

Re: Super Hub 3 slow UI caused by bad api response

If the firmware 9.1.116V was supposed to fix the UI being slow then it definitely did not fix it. Turns out I'm running hardware 10, software 9.1.116V and it's still ridiculously slow.

Request to http://192.168.0.1/walk?oids=1.3.6.1.4.1.4115.1.20.1.1.2.4.2;&_n=65083&_=1478778069400 takes 26 seconds. JSON syntax is correct (with the closing bracket, etc.) but damn, it's slow.

0 Kudos
Reply