Toolbox for new Huawei HiLink devices (E5186, B315s)

sajunky

Honorary Master
Joined
Nov 1, 2010
Messages
13,109
#1
This is very nice tool for setting up external antenna direction. It can be also used for inspecting router setting, modify some entries and even to modify API. Frankly, you could do everything from the Web browser (if you know what to do), it is just a convenience tool. It works on B315s.

If you afraid to brick the router, just use only default tab and press 'Connect' button. It will logon to the router and display extended set of information.

EDIT: Do not play with frequency setting on the main tab. It is only good for specific model (E5186s-22). Read more how to do it with your router. You can modify CONFIG.XML file to support your model. The post #20002292 (page 6) cover how to do that for B315s.

The same with buttons on the bottom, they have special purpose.

Menu is English.
Download from German forum (download link to the v0.9 - the first post on page 18):
https://www.lteforum.at/mobilfunk/toolbox-fuer-huawei-router-mit-hilink.1872/seite-18.html
(updated April 2018)

EDIT: Enter router's IP address, login name and password (it will be saved in XML file) and click 'Connect' button.

Please share your experience in this thread.

EDIT: Removed warning that Cell C B315s branded firmware v21.313.03.00.1232 restricts API access. Tollbox is still working. It was self corrupting Windows 10.
 

Attachments

Last edited:

sajunky

Honorary Master
Joined
Nov 1, 2010
Messages
13,109
#2
So far tried to add USSD menu option - no effect.
Also tried to replace paid DDNS service "DynDns.com" with a free service. It allows to make changes to the other fields, but any attempt changing service address cause deleting entire table. Huawei protects its revenue. :(
 

Mamba1

Well-Known Member
Joined
Jul 3, 2009
Messages
257
#3
I opened this tool, connected, and rebooted device. Now it refuses to find Telkom lte at all. Cannot find a connection what so ever. Wtf?
 

sajunky

Honorary Master
Joined
Nov 1, 2010
Messages
13,109
#4
Wow! Close the app, it is interfering with booting. If doesn't help, try to cycle power on the router. :)
 

Mamba1

Well-Known Member
Joined
Jul 3, 2009
Messages
257
#5
Wow! Close the app, it is interfering with booting. If doesn't help, try to cycle power on the router. :)
I can't even manually search for Telkom lte. Only mtn and Vodacom lte show. Has the app changed the band's on my router now?
 

sajunky

Honorary Master
Joined
Nov 1, 2010
Messages
13,109
#6
I can't even manually search for Telkom lte. Only mtn and Vodacom lte show. Has the app changed the band's on my router now?
There is an API for band settings, but not sure you found it on the first shot. :)

Edit: OK, I see why you screwed up. There is a band settings on the first page. It doesn't have Telkom TDD band 40 on the list, as author had a different model. Try to select all bands option. Unless the author screwed up, it should restore all bands supported by the router.

If doesn't work, then you must contact author to add it to the menu options. Wait couple weeks and problem solved. :)

Other solution is to use your brain and restore default settings manually. I will post what is default settings on my router (so far untouched :)), hope you are clever enough to edit correctly XML response file and send it back to the router.

Sorry, I can't do it now, as program do not run on my laptop (WinXP) and we have a storm in the area.
 
Last edited:

Mamba1

Well-Known Member
Joined
Jul 3, 2009
Messages
257
#7
There is an API for band settings, but sure not sure you found it on the first shot. :)

Edit: OK, I see why you screwed up. There is a band settings on the first page. It doesn't have Telkom TDD band 40 on the list, as author had a different model. Try to select all bands option. Unless the author screwed up, it should restore all bands supported by the router.

If doesn't work, then you must contact author to add it to the menu options. Wait couple weeks and problem solved. :)

Other solution is to use your brain and restore default settings manually. I will post what is default settings on my router (so far untouched :)), hope you are clever enough to edit correctly XML response file and send it back to the router.

Sorry, I can't do it now, as program do not run on my laptop (WinXP) and we have a storm in the area.
Thanks a lot :) I managed to sort it out by forcing the Telkom band and all worked well! Thanks again for your effort
 

sajunky

Honorary Master
Joined
Nov 1, 2010
Messages
13,109
#8
In case someone else has fallen in the trap, here is how to recover if "All band" do not work:

Open "API control" tab
Select desired "API configuration"
Click "Get" button
A section fills up with response and the "Write to API" section shows the same as above, but tags "response" are replaced with "request" in preparation to write it back. Your job is to edit this section with proper values and press "write" button.

It is how /api/net/net-mode section should look for default mode of B315s:
Code:
<request>
  <NetworkMode>00</NetworkMode>
  <NetworkBand>3FFFFFFF</NetworkBand>
  <LTEBand>7FFFFFFFFFFFFFFF</LTEBand>
</request>
The value 7FFFFFFFFFFFFFFF means "all supported frequencies", but you can enter any supported combination as a hex number. B315s-936 supports the following LTE frequencies: FDD1 (2100MHz - Cell C), FDD3 (1800MHz - all others except Telkom), TDD40 (2300MHz - Telkom), TDD41 (2500MHz) [-](2600MHz - Telkom, possibly in future)[/-]
All supported B315s-936 frequencies represent a combined number 18000000005. For our use:
08000000000 - TDD 2300MHz only
10000000000 - TDD 2500MHz only

To the Author of toolbox - valexi, if you read it. :)
To get frequency selection working properly for all devices, program should parse output of /api/net/net-mode-list, pickup hex value for "all supported frequencies" and offer possible combinations based on this number.
This is an output from B315s-936:
/api/net/net-mode-list
Code:
<response>
  <AccessList>
    <Access>00</Access>
    <Access>01</Access>
    <Access>02</Access>
    <Access>03</Access>
  </AccessList>
  <BandList>
    <Band>
      <Name>GSM900/GSM1800/WCDMA BCVIII/WCDMA BCI</Name>
      <Value>2000000400380</Value>
    </Band>
  </BandList>
  <LTEBandList>
    <LTEBand>
      <Name>LTE BC1/LTE BC3/LTE BC40/LTE BC41</Name>
      <Value>18000000005</Value>
    </LTEBand>
    <LTEBand>
      <Name>All bands</Name>
      <Value>7ffffffffffffff</Value>
    </LTEBand>
  </LTEBandList>
</response>
 
Last edited:

ginggs

Super Grandwizard
Super Moderator
Joined
Jun 26, 2006
Messages
11,279
#9
08000000000 - TDD 2300MHz only
10000000000 - TDD 2600MHz only
General rule:
LTE band number = log10(x) / log10(2) + 1

e.g. 0x8000000000 in hex = 549755813888 in decimal
log10(549755813888) = 11.740169831
log10(2) = 0.3010299957
11.740169831 / 0.3010299957 = 39
39 + 1 = 40

From: https://en.wikipedia.org/wiki/E-UTRA#Frequency_bands_and_channel_bandwidths
LTE Band 40 is TDD 2300MHz

This works for Huawei's LTE bands only, I haven't found a pattern in their 2G/3G/HSPA bands.
 

E5186

New Member
Joined
Jan 24, 2015
Messages
7
#10
in the config.xml of this tool you can add your own API for Band setting api/net/net-mode



Yes

<LTEBand>xxxxxxxxxx</LTEBand>
--------------------------------------
For only Band 40 it is 8000000000

0000000000000001 band 1
0000000000000002 band 2
0000000000000004 band 3
0000000000000008 band 4
0000000000000010 band 5
0000000000000020 band 6
0000000000000040 band 7
0000000000000080 band 8
0000000000000100 band 9
0000000000000200 band 10
0000000000000400 band 11
0000000000000800 band 12
0000000000001000 band 13
0000000000002000 band 14
0000000000004000 band 15
0000000000008000 band 16
0000000000010000 band 17
0000000000020000 band 18
0000000000040000 band 19
0000000000080000 band 20
0000000000100000 band 21
0000000000200000 band 22
0000000000400000 band 23
0000000000800000 band 24
0000000001000000 band 25
0000000002000000 band 26
0000000004000000 band 27
HEX 0000000008000000 band 28 = BINÄR 1000000000000000000000000000
0000000010000000 band 29
0000000020000000 band 30
0000000040000000 band 31
0000000080000000 band 32
0000000100000000 band 33
0000000200000000 band 34
0000000400000000 band 35
0000000800000000 band 36
0000001000000000 band 37
0000002000000000 band 38
0000004000000000 band 39
0000008000000000 band 40
0000010000000000 band 41
0000020000000000 band 42
0000040000000000 band 43
0000080000000000 band 44
0000100000000000 band 45
0000200000000000 band 46
0000400000000000 band 47
0000800000000000 band 48
0001000000000000 band 49
0002000000000000 band 50

Demo
8000045 = 1000 0000 0000 0000 0000 0100 0101= Band28,Band7,Band3,Band1
 
Last edited:

sajunky

Honorary Master
Joined
Nov 1, 2010
Messages
13,109
#11
in the config.xml of this tool you can add your own API for Band setting api/net/net-mode



Yes
Yes, of course it is bitmapped value from the lookup table.
We had discussion before with ginggs, author of MDMA (for RAS access modems). In case you didn't see this utility yet, you can download here: http://mybroadband.co.za/vb/showthr...amp-USSD-amp-Monitors-Signal-Strength-Windows
In case of LTE, lookup table can be mathematically calculated, as ginggs pointed out.

But I have a question. What is a point of adding all supported channel numbers one-by-one to the "api/net/net-mode"? Would it add a combo frequency selection box to the Web interface? I'd like to add such selection box to my router's Web interface.

I understand that adding non-supported channel numbers to the list doesn't make sense, if hardware radio unit is not capable to tune up to such odd frequency.
 
Last edited:

E5186

New Member
Joined
Jan 24, 2015
Messages
7
#12
I know the tool from ginggs. Is the best tool for non-hilink Modem Mode.

At problems with other countries also Australia other bands nobody has thought in the hilink tools.
Not even with LTE watch.This was only a solution to set band yourself.

there are some modified Huawei firmwares for e3372 Hilink sticks is also a good solution
 

sajunky

Honorary Master
Joined
Nov 1, 2010
Messages
13,109
#13
there are some modified Huawei firmwares for e3372 Hilink sticks is also a good solution
How to do it on B315s? Maybe Javascript file need to be modified. I can grab it, no problem, but how to write it back? :)

All right, now little-bit experiments of my own.

1. Changing DNS Server. Important for streaming movies from Unotely, etc...

Go to /api/dhcp/settings

It doesn't accept new values, unless 'DnsStatus' is changed from 1 to 0.

I guess:
0 - manual DNS
1 - auto from ISP

Here is my posted file (highlighted changes):
<request>
<DhcpIPAddress>192.168.8.1</DhcpIPAddress>
<DhcpLanNetmask>255.255.255.0</DhcpLanNetmask>
<DhcpStatus>1</DhcpStatus>
<DhcpStartIPAddress>192.168.8.100</DhcpStartIPAddress>
<DhcpEndIPAddress>192.168.8.200</DhcpEndIPAddress>
<DhcpLeaseTime>86400</DhcpLeaseTime>
<DnsStatus>0</DnsStatus>
<PrimaryDns>8.8.8.8</PrimaryDns>
<SecondaryDns>8.8.4.4</SecondaryDns>
</request>
I don't really know whether Google DNS server is used, as DNS relay reports its own (routers) IP address, I can only say that Internet is working.

2. Now to satisfy users who love Class A subnets: Changing router's IP address to 10.0.0.1. It is in the same place. Google DNS still here and warning: it accept rubbish. I entered "10..0.0.1" and it accepted. Had to reset router to defaults. ;)
<request>
<DhcpIPAddress>10.0.0.1</DhcpIPAddress>
<DhcpLanNetmask>255.0.0.0</DhcpLanNetmask>
<DhcpStatus>1</DhcpStatus>
<DhcpStartIPAddress>10.0.0.100</DhcpStartIPAddress>
<DhcpEndIPAddress>10.0.0.200</DhcpEndIPAddress>
<DhcpLeaseTime>86400</DhcpLeaseTime>
<DnsStatus>0</DnsStatus>
<PrimaryDns>8.8.8.8</PrimaryDns>
<SecondaryDns>8.8.4.4</SecondaryDns>
</request>
Right, unplug cable, plug again, it works. It doesn't need to restart router.
 
Last edited:

sajunky

Honorary Master
Joined
Nov 1, 2010
Messages
13,109
#14
Two important notes:

1. Manual DNS:
I noticed that sometimes router is losing my Google DNS setting. Tried to replicate it, so far no luck. It happened second time, I think it was after changing some settings (main WiFi switch)?

2. Class A network: ClassA.JPG
Never ever use Class A network for the router's IP with Cell C. Sometimes Cell C will assign you public IP, other time it is from the private range range 10.x.x.x. As you have no control over auto assigned IP, don't use Class A private address space for the router's LAN IP. It is probably a reason why Huawei is limiting configuration to Class C. What happen if you do?

When preparing screenshot I changed router's IP to 10.0.0.1. Everything was fine till I tried to connect. Router immediately logged me out, had problems logging in, as page was self-refreshing periodically. Chrome allowed me to log in and I found that router's received WAN address 10.173.x.x (something). Hidden bridge mode??? :)
Eventually router completely hanged out. After restart I couldn't connect to the router. Utility ipconfig reported that router decided to ignore settings and router's IP address has changed to 11.0.0.1 (sic!!!) My PC received IP 11.0.0.100 according to DHCP. These are public Internet addresses and belong to someone else. Internet was working, but it is obviously a bug in firmware.
 
Last edited:

sajunky

Honorary Master
Joined
Nov 1, 2010
Messages
13,109
#15
Good news for Unotelly users that manual DNS works. Here is nslookup after configuring B315s to use Unotelly's DNS servers (197.189.212.164 & 197.242.94.51)
C:\>nslookup www.netflix.com 8.8.8.8
Server: google-public-dns-a.google.com
Address: 8.8.8.8

Non-authoritative answer:
Name: www.eu-west-1.prodaa.netflix.com
Addresses: 54.246.114.211, 54.247.102.156, 176.34.114.234, 46.137.74.94
46.137.126.101, 54.246.95.69, 46.137.163.204, 54.247.125.40
Aliases: www.netflix.com, www.geo.netflix.com


C:\>nslookup www.netflix.com
Server: homerouter.cpe
Address: 192.168.8.1

Name: www.netflix.com
Addresses: 173.208.224.183, 69.197.152.183, 162.222.71.83
 
Top