German: https://www.lteforum.at/mobilfunk/huawei-band-tool.7970
- B618s-22d
- e3372 (HiLink)
- And others.
Linux, Darwin and Windows
Compiler: g++ >= 4.7
or clang++
Libs: curl
, rapidxml
, crypto++
, config4cpp
and sdl2_net
cd src
make install
CLI Utility for various Huawei devices.
Home Page: https://www.lteforum.at/mobilfunk/huawei-band-tool.7970
License: GNU General Public License v3.0
German: https://www.lteforum.at/mobilfunk/huawei-band-tool.7970
Linux, Darwin and Windows
Compiler: g++ >= 4.7
or clang++
Libs: curl
, rapidxml
, crypto++
, config4cpp
and sdl2_net
cd src
make install
Is this device supported? https://www.router-switch.com/huawei-5g-cpe-pro-2.html
sh ALL.sh
ALL.sh: 3: ./huawei_band_tool: not found
Hi is it possible to connect to more than one band using the bitmask?
For example I'd like to connect to band 20 (800) and band 32 (1500) using something like:
./huawei_band_tool --network-mode 03 --network-band 3FFFFFFF --lte-band 0000000000080000 0000000080000000
Thank you.
When selecting more than one band the router switches between them .
I want to put more than one band for better download but I want choose a one main band Work that does not change for a better upload
i use LTE_1800+2100_UPLOAD_1800.sh but the band change to another band after reboot
router : Huawei b535 - 232 4G+
is it possible to add options :
thank you
Any chance to get 700 MHz on AP announced for 800 MHz/1800/2600 ?
I have huawei b593-601 router. I am trying to use this tool to check its configuration and maybe tweak it a little. But it seems to always try to login with that long password which is not the one I put in the config file. How I can force it to use the password I provide ? Its version 0.2.2 for windows of this tool. I am using it on windows 10.
`
Hello.
No config LTE_1800+2600 ?
Is it possible to add 5G bands since I would like to change my 5G routers bands
Hey,
I got a Huawei B715 and with it you can combine 3 LTE Bands together.
But there are only 2CA mode scripts available at the moment, will there be a script for 3CA in the future?
It is possible to set 3CA with the HManager Android App.
Thank you very much in advance!
Regards,
WonderWhyWilli
Is there a way to find the operator in this modem?
modem CPE 2 PRO
Software version11.0.2.11(H329SP4C21)
https://hirouter.net/html/index.html?noredirect
OPRATOR THEREE
Hi
I own a 5G cpe pro model H112-372. Unfortunately couldn't lock the most efficient 4G LTE PCI (Cell ID) . However I can only lock the LTE Band using Huawei Manager tool. Is there a way to Lock PCI Cell ID on this router. It would be great help to get a stable signal from the best tower sector antenna constantly .Kindly help
Hi,
I'm using the Windows variant of this and i'm having some issues getting it to set 2300TDD on a b618-65d.
ALL.sh
and LTE_ALL.sh
don't work, but UMTS_ALL.sh
.
I set it to UMTS_ALL
, but because ALL.sh
doesn't work, I can't reset it back to ALL
now :(
My guess is that it's becaues my router (E5577Cs-321) doesn't support all LTE bands, e.g. it doesn't seem to support LTE_900
, but LTE_800, as you can see below.
So if the tool also tries to set LTE_900
when setting ALL
or LTE_ALL
, maybe that's why those fail?
Here is the output:
> ./ALL_PREFER_LTE.sh
[1213] error: File: web.cpp Line: 421 Function: rapidxml::xml_node<>* web::{anonymous}::xmlHttpRequest(const char*, const char*, web::{anonymous}::HttpResult&, web::{anonymous}::HttpOpts&): Setting network mode: Setting net mode failed
[1213] info: See http://192.168.8.1/api/net/net-mode-list for a list of supported bands. Log in first.
[1213] info: Check debug.log to see what's going on
> ./LTE_ALL.sh
[1203] error: File: web.cpp Line: 421 Function: rapidxml::xml_node<>* web::{anonymous}::xmlHttpRequest(const char*, const char*, web::{anonymous}::HttpResult&, web::{anonymous}::HttpOpts&): Setting network mode: Setting net mode failed
[1203] info: See http://192.168.8.1/api/net/net-mode-list for a list of supported bands. Log in first.
[1203] info: Check debug.log to see what's going on
> ./LTE_800.sh
Current Network Mode: 03
Current Network Band: 3FFFFFFF
Current LTE Band: 524288 (900)
SUCCESS
> ./LTE_900.sh
[247] error: File: web.cpp Line: 421 Function: rapidxml::xml_node<>* web::{anonymous}::xmlHttpRequest(const char*, const char*, web::{anonymous}::HttpResult&, web::{anonymous}::HttpOpts&): Setting network mode: Setting net mode failed
[247] info: See http://192.168.8.1/api/net/net-mode-list for a list of supported bands. Log in first.
[247] info: Check debug.log to see what's going on
> ./ALL.sh
[230] error: File: web.cpp Line: 421 Function: rapidxml::xml_node<>* web::{anonymous}::xmlHttpRequest(const char*, const char*, web::{anonymous}::HttpResult&, web::{anonymous}::HttpOpts&): Setting network mode: Setting net mode failed
[230] info: See http://192.168.8.1/api/net/net-mode-list for a list of supported bands. Log in first.
[230] info: Check debug.log to see what's going on
> ./UMTS_ALL.sh
Current Network Mode: 02
Current Network Band: 7FFFFFFFFFFFFFFF
Current LTE Band: 524288 (900)
SUCCESS
Hi, there is a command in your tool to set network band to increase upload band. Example below is parameter to send request to Huawei API (api/net/net-mode)
<request>
<NetworkMode>03</NetworkMode>
<NetworkBand>100200000CE80380</NetworkBand>
<LTEBand>1A08A0C00DF</LTEBand>
</request>
I wonder how to set a band as upload band to increase upload speed.
ππΌ Hi, thank you for these scripts! ππΌ
On Ubuntu focal 20.04.2 LTS I am having the issues described below with rapidxml
, config4cpp
and libcrypto++
when trying to build the huawei_band_tool
.
All packages required for compilation have been installed.
sudo apt install g++ libcurl4-gnutls-dev librapidxml-dev libcrypto++-dev libsdl2-net-dev
Here are the installed versions.
g++ 9.3.0-17ubuntu1~20.04
libcurl4-gnutls-dev 7.68.0-1ubuntu2.5
librapidxml-dev 1.13-2
libcrypto++-dev 5.6.4-9build1
libsdl2-net-dev 2.0.1+dfsg1-4
Typing make install
inside Huawei_Tool/src
as described in the readme (which should point to ./compile.sh
btw) results in the following error:
g++ -std=c++0x -O3 -I. -Wall -Wextra -Werror=format -DWORK_IN_PROGRESS -c -o at_tcp.o at_tcp.cpp
In file included from huawei_tools.h:22,
from at_tcp.cpp:22:
tools.h:34:10: fatal error: rapidxml.hpp: No such file or directory
34 | #include <rapidxml.hpp>
| ^~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:87: at_tcp.o] Error 1
This is due to a wrong include path for rapidxml. Changing line 34 in tools.h
and line 26 in web.cpp
to #include <rapidxml/rapidxml.hpp>
fixes this issue.
The next error is because of missing header files for config4cpp.
g++ -std=c++0x -O3 -I. -Wall -Wextra -Werror=format -DWORK_IN_PROGRESS -c -o main.o main.cpp
In file included from main.cpp:20:
huawei_tools.h:167:2: warning: #warning min max range ignore [-Wcpp]
167 | #warning min max range ignore
| ^~~~~~~
huawei_tools.h:288:6: warning: #warning WEB [-Wcpp]
288 | #warning WEB
| ^~~~~~~
main.cpp:28:10: fatal error: config4cpp/Configuration.h: No such file or directory
28 | #include <config4cpp/Configuration.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:87: main.o] Error 1
Copying include/config4cpp
from https://github.com/config4star/config4cpp solves this issue.
./compile.sh
(or make install
respectively) still throws some errors concerning CryptoPP.
tools.cpp: In function 'std::string& sha256(const string&, std::string&)':
tools.cpp:243:15: error: 'byte' is not a member of 'CryptoPP'; did you mean 'byte'?
243 | CryptoPP::byte digest[CryptoPP::SHA256::DIGESTSIZE];
| ^~~~
In file included from /usr/include/cryptopp/cryptlib.h:86,
from tools.cpp:25:
/usr/include/cryptopp/config.h:203:23: note: 'byte' declared here
203 | typedef unsigned char byte; // put in global namespace to avoid ambiguity with other byte typedefs
| ^~~~
tools.cpp:244:26: error: 'digest' was not declared in this scope
244 | hash.CalculateDigest(digest, (CryptoPP::byte*)msg.c_str(), msg.length());
| ^~~~~~
tools.cpp:244:45: error: 'byte' is not a member of 'CryptoPP'; did you mean 'byte'?
244 | hash.CalculateDigest(digest, (CryptoPP::byte*)msg.c_str(), msg.length());
| ^~~~
In file included from /usr/include/cryptopp/cryptlib.h:86,
from tools.cpp:25:
/usr/include/cryptopp/config.h:203:23: note: 'byte' declared here
203 | typedef unsigned char byte; // put in global namespace to avoid ambiguity with other byte typedefs
| ^~~~
tools.cpp:244:50: error: expected primary-expression before ')' token
244 | hash.CalculateDigest(digest, (CryptoPP::byte*)msg.c_str(), msg.length());
| ^
tools.cpp: At global scope:
tools.cpp:486:73: warning: optimization attribute on 'void* memcpy(void*, const void*, size_t)' follows definition but the attribute does
n't match [-Wattributes]
486 | void *memcpy(void *__restrict dest, const void *__restrict src, size_t n)
| ^
In file included from /usr/include/features.h:461,
from /usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h:524,
from /usr/include/c++/9/bits/stl_algobase.h:59,
from /usr/include/c++/9/vector:60,
from tools.h:22,
from tools.cpp:19:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:31:1: note: previous definition of 'void* memcpy(void*, const void*, size_t)' here
31 | __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
| ^~~~~
make: *** [Makefile:87: tools.o] Error 1
make: *** Waiting for unfinished jobs....
Unfortunately, going through https://www.cryptopp.com/wiki/Std::byte did not help me much in better understanding the issueβ¦ πΈ
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.