Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

mb8611

QA Tests Coverage Status Documentation Status PyPI - Version GitHub tag (with filter) GitHub GitHub commits since latest release (by SemVer including pre-releases)

CLI tool and library for managing the Motorola MB8611 series modem and maybe other Motorola devices.

Maintenance notice

This code is not maintained. I do not own this modem anymore nor do I plan on acquiring another.

If you choose to fork this code and want to maintain it long term, please keep my name in the authors list. Also, I am happy to relinquish the PyPI package.

Installation

Poetry

poetry add mb8611

Pip

pip install mb8611

Command line usage

Usage: mb8611 [OPTIONS] {addr|address|clear-log|conn|connection|connection-
              info|conninfo|down|downstream|lag|lag-
              status|log|reboot|software|software-status|startup|startup-
              sequence|up|upstream}

  Main CLI.

Options:
  -H, --host TEXT      Host to connect to.
  -d, --debug          Enable debug level logging.
  -j, --json           Only output JSON. Encoded lists (tables) will still be
                       parsed.
  -p, --password TEXT  Administrator password.
  -u, --username TEXT  Administrator username.
  --help               Show this message and exit.

Library usage

Refer to mb8611.api files for fields. Almost every field type is a string.

Actions

  • GetHomeAddress
  • GetHomeConnection
  • GetMotoLagStatus
  • GetMotoStatusConnectionInfo
  • GetMotoStatusDownstreamChannelInfo
  • GetMotoStatusLog
  • GetMotoStatusLogXXX
  • GetMotoStatusSecAccount
  • GetMotoStatusSecXXX
  • GetMotoStatusSoftware
  • GetMotoStatusStartupSequence
  • GetMotoStatusUpstreamChannelInfo
  • GetNetworkModeSettings

Some actions require a specific payload:

Example

import pprint

from mb8611.client import Client

with Client(the_password) as client:
    addr = client.call_hnap('GetHomeAddress')
    # Fully typed dictionary
    assert addr['GetHomeAddressResponse']['GetHomeAddressResult'] == 'OK'
    pprint.pprint(addr)

Client implements a context manager. Calling Client.login unnecessary when using it with the with statement.

{'GetHomeAddressResponse': {'GetHomeAddressResult': 'OK',
                            'MotoHomeIpAddress': '...',
                            'MotoHomeIpv6Address': '',
                            'MotoHomeMacAddress': '...',
                            'MotoHomeSfVer': '8611-19.2.18'}}

Examples

Check if the modem is online

mb8611 --json conn | jq -r .MotoHomeOnline
Connected

Display the modem's Upstream Bonded Channels

The output is a list of lists. Columns are:

  • Channel
  • Lock Status
  • Channel Type
  • Channel ID
  • Symb. Rate (Ksym/sec)
  • Freq. (MHz)
  • Pwr (dBmV)
mb8611 up -j | jq -r '.MotoConnUpstreamChannel[]|@csv' | tr -d '"' | tabulate -s ','
-  ------  ------  -  ----  ----  --
1  Locked  SC-QAM  1  5120  17.6  43
2  Locked  SC-QAM  2  5120  24    47
3  Locked  SC-QAM  3  5120  30.4  43
4  Locked  SC-QAM  4  5120  36.8  44
-  ------  ------  -  ----  ----  --

Known issues

Note: The modem does not require any authentication for the currently working actions such as addr.

The following actions do not work as they require proper authentication (these return 'UN-AUTH' at this time):

  • clear-log / SetStatusLogSettings
  • SetStatusSecuritySettings
  • SetMotoLagStatus
  • SetMotoStatusDSTargetFreq

Release files for mb8611 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mb8611 0.0.2
File Size Uploaded
mb8611-0.0.2.tar.gz 15.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mb8611 0.0.2
File Interpreter ABI Platform
mb8611-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 29.0 kB

Release files / mb8611-0.0.2.tar.gz

Download URL mb8611-0.0.2.tar.gz
Size 15.3 kB
Tags Source
SHA-256 checksum
How to use checksums
659b3191d50f9b284cff7466754c81d145b9909d353c3af145726ee3e68d6dfa
BLAKE2b-256 checksum
How to use checksums
add62128ea74e0262f3ddf42b71a0304571a1d0ea5abb45ffc008aeb636f127e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.12.9 Linux/6.14.0-gentoo-limelight

Release files / mb8611-0.0.2-py3-none-any.whl

Download URL mb8611-0.0.2-py3-none-any.whl
Size 13.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
47ccd2ff0ba815f26f84c1fd771dddf1f7448473fd26d1dcf25d30ecfa4a038b
BLAKE2b-256 checksum
How to use checksums
aeca0ef294fba0ce3507f3fb11050d935db298af91dd5809d3fae0ccf50a166e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.12.9 Linux/6.14.0-gentoo-limelight

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page