Skip to content

Netgear CM: Genie sign-in for CM1000 firmware V7.01.01 - #1369

Merged
tvancott42 merged 3 commits into
release/2.11from
feature/netgear-genie-login
Nov 9, 2026
Merged

tvancott42 merged 3 commits into
release/2.11from
feature/netgear-genie-login

Conversation

@tvancott42

@tvancott42 tvancott42 commented Nov 8, 2026 •

Copy link
Copy Markdown
Collaborator

Monitoring - Cable Modem Stats

  • Netgear CM1000 on firmware V7.01.01 - This firmware puts the DocsisStatus page behind the Netgear Genie sign-in form, not HTTP Basic, so every poll failed with "Could not reach" the modem. The Netgear / Nighthawk CM (HTTP) provider now signs in through that form and reads the status page. It needs the modem's username and password. (thanks @tweexter for the traces)

This ships in v2.11.1-preview1, and the CM1000 issue closes with that release.

How it works

  • The Genie login joins the provider's existing fallback matrix. It runs only when credentials are set, and only after the Basic attempts fail. A modem that already works with Basic or with the CM2050V form login resolves the same way as before and never reaches it.
  • The modem binds the session to the source IP and sets no cookie. While that session is live, a poll is one GET of the status page and does not sign in again.
  • The sign-in uses the same lenient raw HTTP reader as the CM700 path, because the login's redirect response carries bytes that strict HTTP clients reject.
  • Credentials go only to a Genie login form the modem serves. A modem without one moves on to the next attempt with nothing posted.
  • When every attempt fails, the error shown now comes from the login for the configured page extension. Before, the CM2050V login's connection reset was shown on .asp models. A refused password on a Genie modem now reads as a sign-in failure.

Tests

Loopback fakes of the CM1000 V7.01.01, the CM2050V and a Basic-auth modem run the full attempt matrix:

  • Genie sign-in, including the malformed redirect
  • A cached combo with a live session (one request)
  • An expired session, which signs in again with a fresh token
  • Wrong password, and no credentials
  • The CM2050V (default and .htm paths) and a Basic-auth modem resolve as before without any Genie request

Parser tests cover quoted and unquoted tokens and every form-action shape.

CM1000 firmware V7.01.01 gates DocsisStatus.asp behind the Netgear Genie
login: the page is a 200 that redirects to /GenieLogin.asp, which carries a
per-load, unquoted webToken. Credentials POST to /goform/GenieLogin, the
session is bound to the source IP (no cookie), and the login's 302 carries
non-header bytes after the header block. The provider only knew Basic and
the CM2050V's /goform/Login, so every attempt failed and the CM2050V POST's
connection reset was the error shown.

- Attempts now carry an auth style (Basic, FormLogin, GenieLogin) instead
  of a form-login flag. With credentials, the Genie login runs on the .asp
  page and the CM2050V login on the .htm page. The login for the configured
  extension goes last, so a total failure surfaces that model's error.
- The Genie flow is raw HTTP/1.0 via LenientHttp throughout. It reuses a
  live session (one GET when already signed in), reads webToken and the
  form action with HtmlAgilityPack, and reports a login that still does
  not open the status page as a 401 ("Authentication failed").
- A modem without a Genie form (404 or no webToken) returns the page it
  reached, so the matrix moves on. A 404 status page ends the attempt
  before any Genie request. An empty reply (reset/close before any byte)
  is a transport error.

Tests run the full matrix against stateful loopback fakes of the CM1000
V7.01.01 and the CM2050V, plus a Basic-auth modem: Genie sign-in, cached
combo with a live session, expired session with a fresh token, wrong
password, no credentials, and the CM2050V and Basic models resolving as
before without touching the Genie login.
@tvancott42
tvancott42 merged commit b96c177 into release/2.11 Nov 9, 2026
6 checks passed
@tvancott42
tvancott42 deleted the feature/netgear-genie-login branch November 9, 2026 01:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant