I'm sorry to hear that the ECI/I is not working for you. Would you not consider trying the ECI/r?
Definitely, if I had one !! I think the ECI/r may well perform better on my line (which is prone to errors) but much testing with the /i has revealed it (in my case) to not perform as well as the HG612.
I've always been a bit of a fan of Broadcom chipsets (except for wireless, where I have found Atheros to be superior) and unfortunately, my testing so far has only borne this out.
From another point of view, its annoying that the ECI/i is a bit haphazard in what it returns to my program, although I must admit, this could well be down to my code
In
pseudo code what happens is the following
Send a command to router
send 'cat' command
wait 50ms
read response
so if we send eg "g997bang 0 1 > /tmp/pipe/dsl_cpe0_cmd"
and then "cat /tmp/pipe/dsl_cpe0_ack", we would expect the response to be the output from the 'cat' command. This isn't the case however. Sometimes the response includes the first command, the second command, and the data. Sometimes it includes the second command (the 'cat') and the data, sometimes just the data. I have half an idea that this
may be down to the telnet library I am using, and as such I am seriously considering scrapping that code and writing from scratch. At the end of the day, for what data I need to get, telnet is just a socket on port 23. I don't see a need to handle some of the more fancy stuff that telnet supports, just basic communication.
Currently my program does its best to avoid these issues. If unexpected or missing data is returned then its just ignored and the program continues. This can make some of the graphs scruffy though, which is why I'd like to avoid it at all if possible. As my code stands at present, the only things that stop the program are either incorrect router details (in that it cannot obtain a connection), or the router closing the telnet session.
Another option is to make the program multi-threaded. This would make the GUI separate from the reading routines, which would run in another thread. I don't have any experience of doing this however, although some searching reveals it's probably not that difficult to implement. A benefit of doing it this way would be that the GUI would be far more 'snappier'.
Finally, regarding the large error figures returned in both a telnet session and the http GUI.
I still think this could be due to overflow. As far as I can ascertain, all the high values start 429496xxxx which in Hex would be FFFFxxxx. I'm hoping
B*cat or
4c amongst others may have a comment to make regarding this.