Skip to main content

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

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mb8611-0.0.2.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mb8611-0.0.2-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file mb8611-0.0.2.tar.gz.

File metadata

  • Download URL: mb8611-0.0.2.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.12.9 Linux/6.14.0-gentoo-limelight

File hashes

Hashes for mb8611-0.0.2.tar.gz
Algorithm Hash digest
SHA256 659b3191d50f9b284cff7466754c81d145b9909d353c3af145726ee3e68d6dfa
MD5 3afc446c2d86bf143dd8521b5da9b718
BLAKE2b-256 add62128ea74e0262f3ddf42b71a0304571a1d0ea5abb45ffc008aeb636f127e

See more details on using hashes here.

File details

Details for the file mb8611-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: mb8611-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.12.9 Linux/6.14.0-gentoo-limelight

File hashes

Hashes for mb8611-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 47ccd2ff0ba815f26f84c1fd771dddf1f7448473fd26d1dcf25d30ecfa4a038b
MD5 460f441e3bf5116f8d6008853aa27fcb
BLAKE2b-256 aeca0ef294fba0ce3507f3fb11050d935db298af91dd5809d3fae0ccf50a166e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page