Got it

API for Huawei LAN/WAN LTE modems

12293 0 0 0 0

Hello, everyone!

This post is about the API for Huawei LAN/WAN LTE modems. Please see more details below.

BACKGROUND INFORMATION

About the API for Huawei LAN/WAN LTE modems, you can use this to simply send SMSs, get information about your internet usage, signal and tons of other stuff.

Tested on:

  • Huawei B310s-22;

  • Huawei B525s-23a;

  • Huawei B525s-65a;

  • Huawei B715s-23c;

  • Huawei E3131;

  • Huawei E5186s-22a.

Will NOT work on:

  • Huawei B2368-22 (incompatible firmware, testing device needed!)

P.S.: it is funny how much stuff you can request from your modem/router without any authentication!

INSTALLATION

PIP (pip3 on some distros)

$ pip install huawei-lte-api


Repository


You can also use these repositories maintained by me.

Debian and derivates

Add repository by running these commands:

$ wget -O - https://apt.salamek.cz/apt/conf/salamek.gpg.key|sudo apt-key add -
$ echo "deb https://apt.salamek.cz/apt all main" | sudo tee /etc/apt/sources.list.d/salamek.cz.list


And then you can install a package python3-huawei-lte-api:

$ apt update && apt install python3-huawei-lte-api


Archlinux


Add the repository by adding this at end of the file /etc/pacman.conf:

[salamek]
Server = https://arch.salamek.cz/any
SigLevel = Optional


And then install by running:

$ pacman -Sy python-huawei-lte-api


USAGE


from huawei_lte_api.Client import Client

from huawei_lte_api.AuthorizedConnection import AuthorizedConnection

from huawei_lte_api.Connection import Connection


# connection = Connection('http://192.168.8.1/') For limited access, I have valid credentials no need for limited access

# connection = AuthorizedConnection('http://admin:MY_SUPER_TRUPER_PASSWORD@192.168.8.1/', login_on_demand=True) # If you wish to login on demand (when call requires authorization), pass login_on_demand=True

connection = AuthorizedConnection('http://admin:MY_SUPER_TRUPER_PASSWORD@192.168.8.1/')

 

client = Client(connection) # This just simplifies access to separate API groups, you can use device = Device(connection) if you want

 

print(client.device.signal())  # Can be accessed without authorization

print(client.device.information())  # Needs valid authorization, will throw exception if invalid credentials are passed in URL


# For more API calls, just look on code in the huawei_lte_api/api folder, there is no separate DOC yet.


RESULT DICT

{'DeviceName': 'B310s-22', 'SerialNumber': 'MY_SERIAL_NUMBER', 'Imei': 'MY_IMEI', 'Imsi': 'MY_IMSI', 'Iccid': 'MY_ICCID', 'Msisdn': None, 'HardwareVersion': 'WL1B310FM03', 'SoftwareVersion': '21.311.06.03.55', 'WebUIVersion': '17.100.09.00.03', 'MacAddress1': 'EHM:MY:MAC', 'MacAddress2': None, 'ProductFamily': 'LTE', 'Classify': 'cpe', 'supportmode': None, 'workmode': 'LTE'}


Regards and thanks for reading about API for Huawei LAN/WAN LTE modems!

Comment

You need to log in to comment to the post Login | Register
Comment

Notice: To protect the legitimate rights and interests of you, the community, and third parties, do not release content that may bring legal risks to all parties, including but are not limited to the following:
  • Politically sensitive content
  • Content concerning pornography, gambling, and drug abuse
  • Content that may disclose or infringe upon others ' commercial secrets, intellectual properties, including trade marks, copyrights, and patents, and personal privacy
Do not share your account and password with others. All operations performed using your account will be regarded as your own actions and all consequences arising therefrom will be borne by you. For details, see " User Agreement."

My Followers

Login and enjoy all the member benefits

Login

Block
Are you sure to block this user?
Users on your blacklist cannot comment on your post,cannot mention you, cannot send you private messages.
Reminder
Please bind your phone number to obtain invitation bonus.