Kitz ADSL Broadband Information
adsl spacer  
Support this site
Home Broadband ISPs Tech Routers Wiki Forum
 
     
   Compare ISP   Rate your ISP
   Glossary   Glossary
 
Please login or register.

Login with username, password and session length
Advanced search  

News:

Pages: 1 ... 4 5 [6] 7 8 9

Author Topic: ZyXEL Modems - eg VMG1312-B10A - Custom Firmware MTU 1508 Maintenance  (Read 18732 times)

Weaver

  • Addicted Kitizen
  • *****
  • Posts: 9294
  • Retd sw dev; A&A; 4 ◊ 7km ADSL2; IPv6; Firebrick
Re: ZyXEL Modems - eg VMG1312-B10A - Custom Firmware MTU 1508 Maintenance
« Reply #75 on: April 11, 2019, 04:17:54 AM »

@johnson about the remote reboot thing. Yes, I have done Ďbasic authenticationí before with the iOS Shortcuts framework. I already have written library routines to do everything, so it would be a good choice for me. Could we use the existing password out of the current ZyXEL config - would that be more work or less work?
Logged

Weaver

  • Addicted Kitizen
  • *****
  • Posts: 9294
  • Retd sw dev; A&A; 4 ◊ 7km ADSL2; IPv6; Firebrick
Re: ZyXEL Modems - eg VMG1312-B10A - Custom Firmware MTU 1508 Maintenance
« Reply #76 on: April 24, 2019, 05:00:40 AM »

[A recap post. Duplicate of a post in another long thread.]

This post at an earlier point in the thread contains the download link. That is the version I am using on all my (many) modems. Rock solid, ignore the reports in posts immediately following as I just made stupid mistakes and failed to install it. It is just superb.

That version has
  • the MTU 1500+8=1508 feature,
  • allows multiple telnet sessions iirc - please check
  • has the Ďeasy statsí SNRM graphing feature using a web server in the modem,
  • the Ďeasy statsí stats querying protocol where you can read pages of stats over http without login
A new version is under development.

I use all of the features of it all the time as I donít currently have a suitable machine that can display stats via a telnet-based protocol because of limitations in the tools I use. I am iPad-only these days and I have not learned Python yet, which is probably the way to go for easy casual app development on iPad.

Another opportunity to thank our kitizen and friend Johnson for his outstanding (and continuing) work on this.
Logged

Weaver

  • Addicted Kitizen
  • *****
  • Posts: 9294
  • Retd sw dev; A&A; 4 ◊ 7km ADSL2; IPv6; Firebrick
Re: ZyXEL Modems - eg VMG1312-B10A - Custom Firmware MTU 1508 Maintenance
« Reply #77 on: April 25, 2019, 02:17:13 AM »

A few questions about the toolchain supplied by ZyXEL: the cross-compiler for MIPS target was mentioned.
  • where does the compiler come from - is it included or a reference and a separate download ?
  • is the target MIPS32 ?
  • is the compilerís code generation any good?
Logged

RTouris

  • Member
  • **
  • Posts: 39

I'd be inclined to test this on my 8924 in bridge mode, however seeing that I have the patched v.24 one with the babyjumbo frames, the multiple telnet sessions and the new DSL PHY driver can I ask if we can possibly have the newer version with the webserver stats incorporated? ...and while we are at it can I ask how any updates off the current 1312 fork are shaping up? ;)
Logged

johnson

  • Reg Member
  • ***
  • Posts: 787
Re: ZyXEL Modems - eg VMG1312-B10A - Custom Firmware MTU 1508 Maintenance
« Reply #79 on: July 09, 2019, 06:14:36 AM »

Experiments with docker have given pleasing results, with this minimal Dockerfile:

Code: [Select]
FROM yamamuteki/ubuntu-lucid-i386

WORKDIR /tmp

RUN sed -i 's/archive/old-releases/' /etc/apt/sources.list

RUN echo "dash dash/sh boolean false" | debconf-set-selections

RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash

RUN apt-get update && apt-get install -y unzip bzip2 patch \
    g++ flex bison gawk make autoconf zlib1g-dev libcurses-ocaml-dev libncurses-dev

I have a fully working build environment for the 1312/8x24. So with a working docker install its 2 commands to build the images on linux/mac/windows. (  :fingers: )

Have also succeeded in getting a 3925 build running in docker, but its a little more complicated.

Anyway, have also got 99% of the the way there to a nice helper script that will use this docker container to build any version of the image required, jumbo - telnet - x1 - x6 - stats etc. Works great in linux, but need to try on other platforms.

Has anyone got the new source package we all requested in january(?), I believe the date they said it would be available was some time in june, but have not been checking my spam email box and they always seem to go there. Would be nice to include the latest source.
Logged

johnson

  • Reg Member
  • ***
  • Posts: 787
Re: ZyXEL Modems - eg VMG1312-B10A - Custom Firmware MTU 1508 Maintenance
« Reply #80 on: July 09, 2019, 06:34:20 AM »

A few questions about the toolchain supplied by ZyXEL: the cross-compiler for MIPS target was mentioned.
  • where does the compiler come from - is it included or a reference and a separate download ?
  • is the target MIPS32 ?
  • is the compilerís code generation any good?

Sorry for not looking at this thread in an age Weaver!

1. The toolchain is supplied with the source code package from Zyxel, others have rollled their own and produced working binaries (that I have tested). The cross compile tools are mips uClibc 4.4.2-1.

2. Yes the target is MIPS32, the BCM63168 has 2 400mhz MIPS cores.

3. I have no idea, all I know is that it works. The build is Makefile soup, so I am not sure if the best compiler flags are used, but I should look at that.
Logged

Weaver

  • Addicted Kitizen
  • *****
  • Posts: 9294
  • Retd sw dev; A&A; 4 ◊ 7km ADSL2; IPv6; Firebrick
Re: ZyXEL Modems - eg VMG1312-B10A - Custom Firmware MTU 1508 Maintenance
« Reply #81 on: August 24, 2019, 04:59:18 AM »

Since the previous post, I have been running this same VMG1312-B10A 2018-10 version on all my modems. I have since tested a new very snazzy JavaScript UI for the SNRM stats graphing function by remote access to a UI-test-box server, but as for modems, I have not acquired a newer released modem build. That October VMG1312-B10A release has worked superbly well.
Logged

Weaver

  • Addicted Kitizen
  • *****
  • Posts: 9294
  • Retd sw dev; A&A; 4 ◊ 7km ADSL2; IPv6; Firebrick
Re: ZyXEL Modems - eg VMG1312-B10A - Custom Firmware MTU 1508 Maintenance
« Reply #82 on: March 28, 2020, 10:23:15 PM »

Iím now running the 2020-02-xx (mid February) release of the VMG 1312-B10A build. As Iíve said earlier elsewhere, itís superb. Many thanks yet again.  ;D  ;D

FYI I have my own "my-ref" version numbers for new Johnson releases; this number space of mine doesnít tell you which build variant it is in the sense of which features are in/out amongst the many build options. The weaver-ver numbers are
  • as-of 2020-02-26 release : my-ref: weaver_v06 ; Johnsonís build ver: v1.1 ? (Is that correct?)
  • as-of 2018-10-14 release : my-ref: weaver_v05 ; Johnsonís build ver: I donít know


A couple of feature requests arising from something that was discussed briefly some while back:

1. Would it be possible to take your Johnson build version number and append it to your build version identifier string as I see that the build version id string / bin filename is now visible in the web UI?

This is info something I would like to use in order to :
  • check what the Johnson build version is
  • see if an upgrade has even worked
2. Could you add entries to the main stats numbers page so that all the component build version strings and Johnson build version number are showing? That would be really handy as I then donít need to log in. Note: Iíd like the Johnson build version number to be shown separately please.  :)

3. And the same version info components as above, making it structured in machine-readable format such as eg "<field-name> ":" <field-value> <LF>" or whatever, with easy-to-parse syntax, and returned by an http request such as "http://192.168.1.1:8000/Version/". The field names can be whatever you like, something suitable to explain the various component items of version identification info exactly as in #2 above.

That way I could query the build version number most easily.
« Last Edit: March 29, 2020, 12:10:51 AM by Weaver »
Logged

Weaver

  • Addicted Kitizen
  • *****
  • Posts: 9294
  • Retd sw dev; A&A; 4 ◊ 7km ADSL2; IPv6; Firebrick
Re: ZyXEL Modems - eg VMG1312-B10A - Custom Firmware MTU 1508 Maintenance
« Reply #83 on: March 29, 2020, 08:21:59 AM »

Very vague possibility of a bug report. After I upgraded to a new 2020-02-xx version of Johnsonís custom firmware now with a vastly enhanced multi-graph web UI as opposed to the 2018-10-xx single graph version I had been using before I got very confused because it looked like the upgrade had failed. I couldnít see the new sophisticated web UI, I was still seeing an old-style web page but digging around in the ZyXEL admin web-UIís menus I could see the new expected version string. I tried all sorts of things floundering. Then I discovered that it was simply a matter of stale cached content in the browser. Somehow getting the browser to really refetch the latest page at http://192.168.3.1:8000 was all that was needed to reveal the new style stats serverís numbers page finally.

Apologies if all the following is old news to you, which Iím sure is probably the case, but just in case itís useful, here goes:

So it looks to me as if the cache control info is wrong. See https://www.mnot.net/cache_docs/#SCRIPT In fact the whole article if youíre not au fait with web cacheability and caching-friendliness. It looks as if there is caching of stale data going on within the browser here, and Iím guessing itís because because cacheability headers are missing.

It would be a really bad thing to try and disable all caching by fighting the browser, I recommend the best thing to do is to add Etag http headers to the generated web pages. (See above url.) A good web server will do this for you when it can and Iím assuming that Mongoose (is that right) will do so but only when it can, and here youíre taking generated content produced by an application and turning it into web pages, not serving up files from the file system and so in this case webserver engines need to be told what to do as they canít generate cacheability headers automatically from metadata about a served-up content fileís size, last-modified date and even a hash of the file content. I have written this kind of code in a server-side module before. Again, the best thing would be to add ETag headers whose values are cheapo cheapo hashes (ie fast and not cryptography-grade) of the entire generated data itself which is the content of your webpage. That way the browser will know when the content of the web page has changed because the etag hash will change and if the value is not changed then the browser can skip a repeat download. The system is then bomb-proof and thereís no fiddling about with a guess about freshness times.

In this case the problem was I assume the reverse, if my guess/diagnosis is right, in that old information which was stale was regarded as good by the browser either because there was no cacheability header information published by the web server or else the cacheability headers were wrong, which is unlikely unless there was a definite bug. When the content of the page changes then the ETag value computed from the page content, which is the cheap and fast hash, becomes different from the ETag value last seen by the browser and so the browser knows to do a download. Since the browser, so it seems, was unwilling to download the page in question (in this case ":8000/") even though the relevant page content had in fact changed inside the server my guess is that there were no ETags. Maybe there is an overall default in force for a long cache time which is totally inappropriate here.

I think back then I was still seeing the browserís cache which contained a webpage produced by the old firmware and the browser was ignoring the fact that the content of "/" was by then different on the server. The server presumably got a get http head request or got a conditional get which returned not_modified. There are various if-modified queries and conditional requests, which check dates if applicable, or else ETag values, if not using dates in cacheability headers, as here, with non-(static)-file content being served up.

Hopefully thatís all you have to do. One albeit long line of code. I had to do a lot more than just adding calculated ETag headers in the server application code but my circumstances were different.
« Last Edit: April 09, 2020, 10:45:42 AM by Weaver »
Logged

Weaver

  • Addicted Kitizen
  • *****
  • Posts: 9294
  • Retd sw dev; A&A; 4 ◊ 7km ADSL2; IPv6; Firebrick
Re: ZyXEL Modems - eg VMG1312-B10A - Custom Firmware MTU 1508 Maintenance
« Reply #84 on: March 29, 2020, 05:06:50 PM »

Another bug report: on one of my modems, the axes in SNRM are showing extreme values such that the current dataset will not be visible. I can scroll or pinch to head to the area where the data is but itís either too far or it simply is not to be found. A reboot did not fix this.

Do we need a ranges state reset control in order to be able to get back to sanity if the user has scrolled right of the visible dataset? I may have dropped the iPad face down so it got bizarre multitouch events. I would suggest not, just donít allow scrolling/zooming right off/away from the range of visible data.
Logged

Dad-Of-5

  • Member
  • **
  • Posts: 36
Re: ZyXEL Modems - eg VMG1312-B10A - Custom Firmware MTU 1508 Maintenance
« Reply #85 on: March 31, 2020, 08:33:36 AM »

sorry to change the subject but l'm on a Huawei cabinet that support g.inp and vectoring.
1. what firmware should I be on please for mtu 1508? looking for the one that would give me stats read out and do I just login and upgrade as normal via the router gui?
Logged

Weaver

  • Addicted Kitizen
  • *****
  • Posts: 9294
  • Retd sw dev; A&A; 4 ◊ 7km ADSL2; IPv6; Firebrick
Re: ZyXEL Modems - eg VMG1312-B10A - Custom Firmware MTU 1508 Maintenance
« Reply #86 on: March 31, 2020, 11:41:41 AM »

Depends which modem you have. Do you have a separate modem and router? The ones with easy stats web server capabilities have Ďstatsí in the filename. And yes, you just upgrade firmware using the normal router web UI as usual.
Logged

Weaver

  • Addicted Kitizen
  • *****
  • Posts: 9294
  • Retd sw dev; A&A; 4 ◊ 7km ADSL2; IPv6; Firebrick
Re: ZyXEL Modems - eg VMG1312-B10A - Custom Firmware MTU 1508 Maintenance
« Reply #87 on: March 31, 2020, 09:35:38 PM »

Further to that previous bug report: the axes that are scrolled off to extreme values are those that show date-time. The horizontal axis on SNRM is showing 1 Jan 1970. A reboot doesnít get me out of this.
Logged

johnson

  • Reg Member
  • ***
  • Posts: 787
Re: ZyXEL Modems - eg VMG1312-B10A - Custom Firmware MTU 1508 Maintenance
« Reply #88 on: April 01, 2020, 07:04:35 AM »

Weaver thank you for the excellent and detailed feedback, the changes to version numbers and visibility all seem reasonable, I will have a good look at the best way to do it. Thank you for bringing up the problems with caching, I have experienced similar even with real projects like openwrt, but it seems to have slipped through the cracks with my tests of the firmware.

The time problem I thought was under control by having the stats logging script detect changes of over and hour and updating all the stamps in the log file, while also using the modems current time and calculating the difference to browser time to display. I had issues with the stats logging beginning before boot had completed so including stamps at 0 seconds since the epoch (1970) but I thought I'd stopped that happening.


To start with I really want to fix the graphs broken by incorrect timestamps, it would be great if you could upload the result of hitting "Save" on the stats page of a modem with the problem present (unfortunately I believe its over the limit for attachments with 48hrs of data so will require dropbox or similar).
Logged

Weaver

  • Addicted Kitizen
  • *****
  • Posts: 9294
  • Retd sw dev; A&A; 4 ◊ 7km ADSL2; IPv6; Firebrick
Re: ZyXEL Modems - eg VMG1312-B10A - Custom Firmware MTU 1508 Maintenance
« Reply #89 on: April 01, 2020, 04:28:53 PM »

Hereís a saved dataset with the problem showing. The server has not been running for any length of time at all; hope that doesnít matter.

BTW this is downloaded into iOS Safari on my iPad which is set to a UTC/GMT not BST. I canít imagine that that makes any difference, but there is one Ďjust in caseí odd thing about my system. I have installed the new version in more than one modem and iirc some modems donít show the problem and only one does. Guessing completely; one iPad fell onto its front on the bed so was getting pinch/scroll multitouch input events all the time while I dozed off. That could well have sent lots of events to the web server because a graph was showing in Safari at the time.

[Later edited version: should now have attachment correctly uploaded, was Ďzero bytesí long before; see zip file from webserver ]

[Moderator edited to detach the duplicate attachment.]
« Last Edit: April 02, 2020, 01:03:41 AM by Weaver »
Logged
Pages: 1 ... 4 5 [6] 7 8 9
 

anything