mb8611 0.0.1
MB8611 CLI
CLI tool and library for managing the Motorola MB8611 series modem and maybe other Motorola devices.
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:
Login — LoginPayload
SetMotoLagStatus — SetMotoLagStatusPayload
SetMotoStatusDSTargetFreq — see SetMotoStatusDSTargetFreqPayload
SetStatusLogSettings — see ClearLogPayload
SetStatusSecuritySettings — see RebootPayload
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 --output-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
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.