cancel
Showing results for 
Search instead for 
Did you mean: 

InquireHub - 3 (Three) / Greenpacket Outdoor router Y5-210MU Inquiry and Reboot utility

MymsMan
Rising star
You can connect to the hub via a web browser and scroll through the numerous information pages and perform various actions but this becomes tedious if you want to automate monitoring the hub regularly.

InquireHub makes it easier to automate routine hub monitoring by providing a simple command interface to the hub.

I have tried to pick the most useful fields from the various Hub displays and these are output in three ways:
  •     Displayed on screen at end of run
  •     Appended to a file in CSV format for input to a spreadsheet
  •     Returned in JSON format for possible use by another program
Frankly I don't understand the meanings of many of the acronyms used or the significance of the data presented!
I have tried to choose fields likely to vary over time rather than configuration constants but if I have missed something significant let me know, or change the query-list configuration to include it

Other functions included are:
  •     Download the hubs log file to a local file with timestamped name.
  •     Download the hubs configuration data to a local file with timestamped name.
  •     Reboot the hub
The script needs to have a user name and password to logon to the hub, these can be supplied via the command line or you can customize the script to save the need to enter them each time

Please give it a try and give feedback in this thread

Download InquireHub from GitHub

This package was inspired by and based upon check_and_reboot.py by @gavinmcnair.
Best solution
Best solution
MymsMan
Rising star

I have posted V2 of Inquire Hub on GitHub

Changes include:

* Added new function: Ping a web address
* Added new function: Clear Traffic statistics
* Function is now required on command line
* Use UTC timestamps
* Created Google spreadsheet to process csv file
* Added additional data to query output:
  * Traffic stats reset time
  * Internet info fields
  * TR069 configuration fields

Updated samples for V2

Display Hub Status

 python   ./inquirehub.py -p password -f


Selected data query_count=11 runtime=0.7654827999940608
{'QueryTime': '2025-09-14 15:00:23',
 'SignalScore': '75',
 'Signal5G': '75',
 'Signal4G': '36',
 'WAN_Address': '188.29.246.174',
 'WAN_Gateway': '188.29.246.172',
 'WAN_Uptime': '4days 19hours 5mins',
 'LastClearTime': '00:00:00',
 'CurrentVolume': '43.860GB',
 'CurrentVolumeDuration': '4 days 19 hours 6 mins',
 'MonthlyDataUsage': '46.744GB',
 'MonthlyDataUsageDuration': '5 days 4 hours 37 mins',
 'TotalDataUsage': '46.744GB',
 'TotalDataUsageDuration': '5 days 4 hours 37 mins',
 'RunningTime': '4days 19hours 6mins',
 'SoftwareVersion': '130.00100.113.024',
 'PortMode': 'IP Passthrough',
 'Status': 'Connected',
 'Operator': '3 UK',
 'WorkMode': 'NSA',
 'Band': '78',
 'CellId': '00',
 'ECellId': '000CC5800',
 'RSRP': '-102',
 'RSRQ': '-11',
 'SINR': '20',
 'TR069ServiceEnable': 'Disable',
 'PeriodicInformEnable': 'Disable',
 'PeriodicInformTime': '2025-09-09T19:54:45Z',
 'PeriodicInformInterval': 3600,
 'ConnectionRequestUsername': '',
 'SMS_In': 0,
 'Unread_SMS': 0,
 'SMS_Out': 0,
 'Unsent_SMS': 0,
 'Ipv4': '188.29.246.174',
 'Ipv6': '',
 'LeaseTime': '09-15-2025 09:21:58'}

 Command Help

python ./inquirehub.py -h
usage: inquirehub.py [-h] (-f [CSVFILE] | -nof | -l [LOGPATH] | -c [CONFIGPATH] | -pi [PINGURL] | -rs | --reboot) [-u USERID]
                     [-p PASSWORD] [-url URL] [-hdr | -nohdr] [-v | -q]

Retrieve data from Y5-210MU 5G Hub, VERSION='2.0'

options:
  -h, --help            show this help message and exit

Functions:
  -f, --CSVfile [CSVFILE]
                        Inquire and write CSV file, default=./InquireHub.csv
  -nof, --noCSVfile     Inquire and Don't write CSV file
  -l, --log [LOGPATH]   Save logs to logpath, default= ./
  -c, --config [CONFIGPATH]
                        Save Configuration to configpath, default=./
  -pi, -ping, --ping [PINGURL]
                        Ping URL from hub, default=www.google.com
  -rs, --resetStats     Reset traffic interval statistics
  --reboot              Reboot hub

Options:
  -u, --userid USERID   Hub userid, default=admin
  -p, --password PASSWORD
                        Hub user password
  -url URL              Router URL, default=https://192.168.0.1
  -hdr, --header        Write CSV header line, Default= header if file preexists, noHeader if it doesnt
  -nohdr, --noHeader    Don't write CSV header line
  -v, --verbose         Show full hub query output
  -q, --quiet           Hide query output

Ping Website

Using the hub to ping a website eliminates any overheads or problems introduced by your local network

python ./inquirehub.py -p password -pi microsoft.com
Ping to microsoft.com at 2025-09-14 15:11:46
PING microsoft.com (13.107.246.64): 56 data bytes
64 bytes from 13.107.246.64: seq=0 ttl=48 time=12.150 ms
64 bytes from 13.107.246.64: seq=1 ttl=48 time=16.444 ms
64 bytes from 13.107.246.64: seq=2 ttl=48 time=21.602 ms

--- microsoft.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 12.150/16.732/21.602 ms

 

View solution in conversation

13 REPLIES 13
Best solution
MymsMan
Rising star

I have posted V2 of Inquire Hub on GitHub

Changes include:

* Added new function: Ping a web address
* Added new function: Clear Traffic statistics
* Function is now required on command line
* Use UTC timestamps
* Created Google spreadsheet to process csv file
* Added additional data to query output:
  * Traffic stats reset time
  * Internet info fields
  * TR069 configuration fields

Updated samples for V2

Display Hub Status

 python   ./inquirehub.py -p password -f


Selected data query_count=11 runtime=0.7654827999940608
{'QueryTime': '2025-09-14 15:00:23',
 'SignalScore': '75',
 'Signal5G': '75',
 'Signal4G': '36',
 'WAN_Address': '188.29.246.174',
 'WAN_Gateway': '188.29.246.172',
 'WAN_Uptime': '4days 19hours 5mins',
 'LastClearTime': '00:00:00',
 'CurrentVolume': '43.860GB',
 'CurrentVolumeDuration': '4 days 19 hours 6 mins',
 'MonthlyDataUsage': '46.744GB',
 'MonthlyDataUsageDuration': '5 days 4 hours 37 mins',
 'TotalDataUsage': '46.744GB',
 'TotalDataUsageDuration': '5 days 4 hours 37 mins',
 'RunningTime': '4days 19hours 6mins',
 'SoftwareVersion': '130.00100.113.024',
 'PortMode': 'IP Passthrough',
 'Status': 'Connected',
 'Operator': '3 UK',
 'WorkMode': 'NSA',
 'Band': '78',
 'CellId': '00',
 'ECellId': '000CC5800',
 'RSRP': '-102',
 'RSRQ': '-11',
 'SINR': '20',
 'TR069ServiceEnable': 'Disable',
 'PeriodicInformEnable': 'Disable',
 'PeriodicInformTime': '2025-09-09T19:54:45Z',
 'PeriodicInformInterval': 3600,
 'ConnectionRequestUsername': '',
 'SMS_In': 0,
 'Unread_SMS': 0,
 'SMS_Out': 0,
 'Unsent_SMS': 0,
 'Ipv4': '188.29.246.174',
 'Ipv6': '',
 'LeaseTime': '09-15-2025 09:21:58'}

 Command Help

python ./inquirehub.py -h
usage: inquirehub.py [-h] (-f [CSVFILE] | -nof | -l [LOGPATH] | -c [CONFIGPATH] | -pi [PINGURL] | -rs | --reboot) [-u USERID]
                     [-p PASSWORD] [-url URL] [-hdr | -nohdr] [-v | -q]

Retrieve data from Y5-210MU 5G Hub, VERSION='2.0'

options:
  -h, --help            show this help message and exit

Functions:
  -f, --CSVfile [CSVFILE]
                        Inquire and write CSV file, default=./InquireHub.csv
  -nof, --noCSVfile     Inquire and Don't write CSV file
  -l, --log [LOGPATH]   Save logs to logpath, default= ./
  -c, --config [CONFIGPATH]
                        Save Configuration to configpath, default=./
  -pi, -ping, --ping [PINGURL]
                        Ping URL from hub, default=www.google.com
  -rs, --resetStats     Reset traffic interval statistics
  --reboot              Reboot hub

Options:
  -u, --userid USERID   Hub userid, default=admin
  -p, --password PASSWORD
                        Hub user password
  -url URL              Router URL, default=https://192.168.0.1
  -hdr, --header        Write CSV header line, Default= header if file preexists, noHeader if it doesnt
  -nohdr, --noHeader    Don't write CSV header line
  -v, --verbose         Show full hub query output
  -q, --quiet           Hide query output

Ping Website

Using the hub to ping a website eliminates any overheads or problems introduced by your local network

python ./inquirehub.py -p password -pi microsoft.com
Ping to microsoft.com at 2025-09-14 15:11:46
PING microsoft.com (13.107.246.64): 56 data bytes
64 bytes from 13.107.246.64: seq=0 ttl=48 time=12.150 ms
64 bytes from 13.107.246.64: seq=1 ttl=48 time=16.444 ms
64 bytes from 13.107.246.64: seq=2 ttl=48 time=21.602 ms

--- microsoft.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 12.150/16.732/21.602 ms

 

Miki1960
Active

Hi Bob,

I'd love to try this but I'm doing something wrong. I've installed Python3.13 on Windows 11, downloaded the InquireHub.py file and added my admin password. Tried entering ./InquireHub.py at the Python command prompt and I just get:
Server commands: [b]rowser, [q]uit
Where should I locate the InquireHub.py file
Thanks for your efforts, I'll add a separate post on my latest exploits later
Kind regards
Mike

MymsMan
Rising star

You dont need to be at the python prompt,  enter the command on the command line, On Windows it is best to use:

py InquireHub.py

It is easiest to have the file in the current directory to avoid the need for a long path name

If you create a folder to hold the script and output files you can right click on the folder name in file explorer and use the 'Open in Terminal' option to create Power Shell command window with the folder set as current folder

Miki1960
Active

OK, created a directory entered py InquireHub.py and got the following response:

Miki1960_0-1756908004006.png

Rather than keep asking you I tried Google and think I managed to install requests see below, but running py InquireHub.py again just gave the following errors - any thoughts?

Miki1960_1-1756908253941.png

 

MymsMan
Rising star

Three can be slow approving pictures so I can't yet see your error so where possible it is best to post text within code tags </> on post format ... menu

Miki1960
Active

<PS C:\Users\miker\Downloads\InquireHub> py InquireHub.py
Traceback (most recent call last):
File "C:\Users\miker\Downloads\InquireHub\InquireHub.py", line 14, in <module>
import requests
ModuleNotFoundError: No module named 'requests'

PS C:\Users\miker\Downloads\InquireHub> py C:\Users\miker\AppData\Local\Programs\Python\Python313\Scripts\pip.exe install requests
Collecting requests
Downloading requests-2.32.5-py3-none-any.whl.metadata (4.9 kB)
Collecting charset_normalizer<4,>=2 (from requests)
Downloading charset_normalizer-3.4.3-cp313-cp313-win_amd64.whl.metadata (37 kB)
Collecting idna<4,>=2.5 (from requests)
Downloading idna-3.10-py3-none-any.whl.metadata (10 kB)
Collecting urllib3<3,>=1.21.1 (from requests)
Downloading urllib3-2.5.0-py3-none-any.whl.metadata (6.5 kB)
Collecting certifi>=2017.4.17 (from requests)
Downloading certifi-2025.8.3-py3-none-any.whl.metadata (2.4 kB)
Downloading requests-2.32.5-py3-none-any.whl (64 kB)
Downloading charset_normalizer-3.4.3-cp313-cp313-win_amd64.whl (107 kB)
Downloading idna-3.10-py3-none-any.whl (70 kB)
Downloading urllib3-2.5.0-py3-none-any.whl (129 kB)
Downloading certifi-2025.8.3-py3-none-any.whl (161 kB)
Installing collected packages: urllib3, idna, charset_normalizer, certifi, requests
━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━ 2/5 [charset_normalizer] WARNING: The script normalizer.exe is installed in 'C:\Users\miker\AppData\Local\Programs\Python\Python313\Scripts' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed certifi-2025.8.3 charset_normalizer-3.4.3 idna-3.10 requests-2.32.5 urllib3-2.5.0
PS C:\Users\miker\Downloads\InquireHub> py InquireHub.py
Login failed 400 The input information is incorrect. Please re-enter it. at 2025-09-03 14:53:29.997052.
Failed query WAN info, /web/v1/dashboard/waninfo 501 Not Implemented at 2025-09-03 14:53:30.042804.
Failed query WAN Traffic, /web/v1/setting/network/wan/gettraffic 501 Not Implemented at 2025-09-03 14:53:30.045195.
Failed query Device Info, /web/v1/setting/deviceinfo 501 Not Implemented at 2025-09-03 14:53:30.047769.
Failed query Port mode, /web/v1/setting/network/lan/portmodeconfig 501 Not Implemented at 2025-09-03 14:53:30.049979.
Failed query SMS inbox count, /web/v1/sms/inboxInfo 501 Not Implemented at 2025-09-03 14:53:30.052001.
Failed query SMS outbox count, /web/v1/sms/outboxInfo 501 Not Implemented at 2025-09-03 14:53:30.054021.
Failed query Host Info, /web/v1/setting/host/hostsinfo 501 Not Implemented at 2025-09-03 14:53:30.056265.


Selected data query_count=8 runtime=0.06042960000195308
{'QueryTime': '2025-09-03 14:53:29.997202',
'SignalScore': '84',
'Signal5G': '85',
'Signal4G': '33'}>

MymsMan
Rising star

The login failed, if you haven't hardcoded it inside inquirehub.py specify the admin pasword with the -p option on command line

Sometimes it does fail for no good reason, only the signal strength is returned without a logon

Miki1960
Active

All working well and very useful thanks Bob, not least the WAN_Uptime information that is so difficult to find.
I'm not sure if you do requests but being a sad person I often look at the "Engineer" Report in the admin logon and asked AI to explain the results to me and some of the results indicated "possibly idle or poor throughput." So it would be great if I could run the script in the middle of a a speed test.
How difficult would it be to include the following information into the script?
AI interpretation of "Engineer" Report in Admin:
Here's a breakdown of your 5G signal data, decoded and interpreted for clarity:

---

### 📡 **Frequency & Band Details**
- **UL_FREQ / DL_FREQ**: 3620.6 MHz
- Uplink and Downlink are on the same frequency, typical for TDD (Time Division Duplex) used in Band n78.
- **NARFCN**: 641376
- This corresponds to the 3620.6 MHz frequency in 5G NR Band n78.
- **BandWidth**: 5 MHz
- Quite narrow for 5G; limits throughput potential.
- **Active_Band**: 78
- Band n78 (3.3–3.8 GHz) is widely used for mid-band 5G, balancing coverage and speed.

---

### 🏷️ **Network Identifiers**
- **PLMN**: 23420
- Mobile Network Code for **Three UK**.
- **GCI / NCI / NCGI**: 000C56E47
- Global Cell ID and NR Cell Identity—unique identifiers for the cell tower you're connected to.
- **PCI**: 138
- Physical Cell ID used for beamforming and signal separation.
- **TAC**: FFFFFFF
- Invalid or placeholder Tracking Area Code—could indicate a logging or decoding issue.

---

### 📶 **Signal Strength & Quality**
- **SSB_RSRP**: -91 dBm
- Reference Signal Received Power—fair signal strength.
- **SSB_RSRQ**: -11 dB
- Reference Signal Received Quality—moderate quality.
- **SSB_SINR**: 24 dB
- Signal-to-Interference-plus-Noise Ratio—**excellent**, suggesting low interference.
- **NR_RSSI**: -80 dBm
- Received Signal Strength Indicator—slightly better than RSRP, includes noise.
- **NR_Power**: -2 dBm
- Likely refers to received power level—low but not problematic.
- **NR_PUSCHPower**: 22 dBm
- Uplink transmit power—healthy level for sending data.

---

### 📊 **Modulation & Throughput Indicators**
- **DL_MCS**: 0
- Downlink Modulation and Coding Scheme—**very low**, possibly idle or poor throughput.
- **UL_MCS**: 12
- Uplink MCS—moderate, allowing decent uplink data rates.
- **NR_CQI**: 13
- Channel Quality Indicator—**high**, suggesting good downlink conditions and potential for high-speed data.

---

### 🧠 Summary
You're connected to a **Three UK 5G cell** on Band n78 with a **strong SINR and good CQI**, but the **downlink MCS of 0** suggests either no active data transfer or a temporary issue. The **5 MHz bandwidth** is quite narrow for 5G, which may limit peak speeds.

If you're testing performance or troubleshooting, I’d suggest checking:
- Whether the connection is actively transferring data.
- If the device supports wider bandwidth aggregation.
- Whether the TAC value is being correctly decoded.

Would you like help interpreting this in the context of router logs or engineer reports?

MymsMan
Rising star

@Miki1960 

Apologies for delay in replying.

I have been spending (too much) time creating a spreadsheet to interpret the csv output data and have just put version 2 of the script up on GitHub.

The new version includes the Internet Information output:

{'Status': 'Connected',
 'Operator': '3 UK',
 'WorkMode': 'NSA',
 'Band': '78',
 'CellId': '00',
 'ECellId': '000CC5800',
 'RSRP': '-101',
 'RSRQ': '-11',
 'SINR': '20'}

Does that satisfy your requirements for additional signal information?

There are a number of problems with includng the Engineers report information:

  • There is huge amount of data on the page,  do you need all of it or a subset?
  • I am worried that including it all would be too much information for command output or spreadsheet
  • It is output in arrays and InquireHub currently doesn't handle array data well

I am not saying it can't be be done but it needs some more investigation and as always getting a round tuit!