-
-
Notifications
You must be signed in to change notification settings - Fork 18
Modem Netgear CM3000
The Netgear CM3000 is a DOCSIS 3.1 cable modem from the Nighthawk series, commonly deployed in North America. DOCSight supports it via the cm3000 driver.
| Property | Value |
|---|---|
| Driver Key | cm3000 |
| Auth Method | Direct status page access, with Login.htm form fallback on newer firmware |
| DOCSIS Version | 3.1 |
| Default IP | 192.168.100.1 |
| Channels | SC-QAM + OFDM (downstream), ATDMA + OFDMA (upstream) |
- Set Modem Type to
Netgear CM3000in DOCSight settings - Enter the modem's admin password (default username:
admin) - Default modem IP:
192.168.100.1
DOCSight will try to load /DocsisStatus.htm directly first. On newer CM3000 firmware that returns a small login-wrapper page instead, the driver automatically falls back to Login.htm and submits the web login form before retrying the status page.
The CM3000 has no JSON API or structured HTML tables. DOCSIS data is embedded as pipe-delimited JavaScript variables inside /DocsisStatus.htm. For example:
function InitDsTableTagValue() {
var tagValueList = '1|Locked|256QAM|33|699.0|2.3|38.1|12345|0|...';
}
The driver extracts these strings using regex and parses the pipe-separated fields. Five separate JS functions provide data for:
- SC-QAM downstream channels (9 fields per channel)
- ATDMA upstream channels (7 fields)
- OFDM downstream channels (11 fields)
- OFDMA upstream channels (6 fields)
- System info including uptime
After container restarts or network interruptions, the first connection attempt may fail due to stale TCP state. The driver automatically retries with a fresh session.
Some CM3000 firmware variants do not allow direct access to /DocsisStatus.htm even with configured credentials. Instead they first return a small page that redirects to Login.htm.
Since v2026-03-10.679, DOCSight handles this automatically by detecting the wrapper, loading Login.htm, submitting the parsed login form, and then retrying /DocsisStatus.htm.
Status: Untested, likely compatible.
Earlier versions had a bug where the first poll after setup returned 0 channels. The status page HTML was cached during login but consumed by device info extraction before channel parsing ran. This caused the dashboard to show "Generic Router Mode" until the second poll cycle (15 minutes later). Fixed by keeping the cache for the entire collect cycle.
If you experience this issue, update to the latest image.
Home | Quick Start | Configuration | API Reference | GitHub
- Quick Start
- Installation
- Running without Docker
- Podman Quadlet
- Configuration
- Reverse Proxy
- Example Compose Stacks
- Dashboard
- Connection Monitor
- Signal Trends
- Before/After Comparison
- Channel Timeline & Compare
- Event Log
- Smart Capture
- Gaming Quality Index
- Modulation Performance
- Cable Segment Utilization
- In-App Glossary
- Speedtest Tracker
- BNetzA Breitbandmessung
- ThinkBroadband BQM
- Smokeping
- Weather
- Netzbremse (Peering)
- Home Assistant (MQTT)
- Prometheus Metrics