Unlock Modem Huawei Linux
This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.
Hello, in this article i will uncover the basic concept of how to sim-unlock the USB Broadband modems from GNU/Linux operating system using basic tools. We will test Huawei E3131 Modem and will use this public page to get the unlock code for free. Preparations: apt-get install minicom minicom -s This opens up minicom in the configuration mode. The unlock code is then used in conjunction with a Flash code generated together with the unlock code to determine the most suitable Huawei Modem Firmware update for you. Later on, the universal firmware replaces the older one, which was only limited to working with one type of SIM card, allowing you to use multiple SIMs in your modem.
Steps To Unlocking All Stubborn Huawei Modems Without Paying For Unlock Credits. Click Here to visit the website where you would generate the unlock code. When the page loads, click on the Google plus icon to log in with your Google plus account (You must have a functional G+ account to use this service).
A number of mobile phone carriers around the world offer internet access via mobile broadband (e.g. LTE, UMTS, EDGE, GSM, etc.).
This article focuses on mobile broadband modems in the format of portable USB devices and mini PCIe cards. For standalone mobile broadband routers, simply connect to them using an interface they provide (e.g. Ethernet or Wi-Fi).
Huawei Modem Unlocker, free huawei modem unlocker freeware software downloads. HUAWEI E220 Installer is a Linux installer for HUAWEI E220 USB modem. Huawei modem/dongle unlock code calculator calculate master-reset-code / unlock-code for your Huawei USB modem/dongle. Please enter your IMEI number in above box and click the button.
Device identification
This article or section needs expansion.
Installusbutils.
Examine the output of:
which will show the vendor and product IDs of the device. Note that some devices will show two different product IDs at different times as explained below.
Mode switching
From mass storage mode
Often these devices will have two modes (1) USB flash memory storage (2) USB modem. The first mode, sometimes known as ZeroCD, is often used to deliver an internet communications program for another operating system and is generally of no interest to Linux users. Additionally some have a slot into which the user can insert an additional flash memory card.
A useful utility for switching these devices into modem mode is usb_modeswitch. It ships with udev rules/usr/lib/udev/rules.d/40-usb_modeswitch.rules
that contain entries for many devices, which it will switch to modem mode upon insertion.
When a device is switched, its product ID may change to a different value. The vendor ID will remain unchanged. This can be seen in the output of lsusb
.
Some devices are supported in the USB serial kernel module called option
(named after the 'Option' devices, but not limited to just those) and may be used without usb_modeswitch.
From router mode
This article or section needs expansion.
Depending on the device, it may expose an Ethernet network interface or provide Wi-Fi. In that case you will need to have the interface up. If the device has a DHCP server, you can use a DHCP client to match it. Otherwise, you will have to have some knowledge about the network the device expects. Such information might be obtained from its behavior in another OS. Or by searching the web. Or from the drivers, and other information, stored in the initial USB flash memory storage (ZeroCD). Some Huawei HiLink devices, for example, sometime operate at 192.168.8.0/24, with a gateway at 192.168.8.1. They also might have a web interface at http://192.168.8.1.
Modem mode
In general, at this point you should note if mode switching left you with additional /dev/ttyUSB*
serial device and a ww*
network interface. You can do that with journalctl or by shell commands such as:
Remove the PIN
First of all use your SIM card in a normal phone and disable the PIN request if present. If the SIM card asks the PIN wvdial will not work.
Failing that, you can use mmcli (provided by modemmanager) or AT commands, to unlock the SIM card.
Using mmcli
First, list the modems and find the modem's index:
Look for /org/freedesktop/ModemManager1/Modem/MODEM_INDEX
.
Find the SIM card index:
Just as with the modem index, look for primary sim path: /org/freedesktop/ModemManager1/SIM/SIM_INDEX
.
Unlock the SIM card:
Remove the requirement for PIN:
Using AT commands
Follow the instructions in https://unix.stackexchange.com/a/313878.
Connection
To connect to the mobile network, use one of the following methods.
This article or section needs expansion.
ModemManager
Installmodemmanager and usb_modeswitch.
Start and enableModemManager.service
.
Use mmcli(1) to communicate with the modem.
The simplest way to establish a connection is to use mmcli's --simple-connect
option.
First, list the modems and find the modem's index:
Look for /org/freedesktop/ModemManager1/Modem/MODEM_INDEX
.
Next connect to the mobile network. For example:
Replace internet.myisp.example
with your ISP's provided APN. If a user name and password is required, set them accordingly:
- ModemManager only establishes a connection to the mobile network. To access the Internet, you will still need use a network manager or DHCP client.
- The network interface name will start with
ww
, e.g.wwp0s20u8i2
. - ModemManager does not save modem configuration, i.e. it does not have anything like connection profiles. The modem will need to be configured each time it is attached. If persistent configuration is desired, use NetworkManager.
To disconnect from the mobile network run:
See also mmcli(1) § EXAMPLES.
NetworkManager
NetworkManager uses ModemManager to work with mobile broadband modems. See NetworkManager#Mobile broadband support.
libmbim
Install libmbim. To bring up the modem you can use mbim-network
which is a wrapper for mmcli
calls. First create a profile for mbim-network.
Now connect to the network with:
Then follow Network configuration to bring up the ww*
interface and get an IP address using DHCP.
pppd
pppd can be used to configure 3g connections. Step by step instruction is available on 3G and GPRS modems with pppd. Optionally, pppconfigAUR can be used to simplify the pppd configuration using dialog interface.
wvdial
See main article: wvdial
netctl
Netctl can be used to establish a connection using a USB modem. An example configuration file provided by netctl is located at /etc/netctl/examples/mobile_ppp
. Minimally you will probably have to specify
See the netctl article and netctl.profile(5) for more information.
Tips and tricks
Disable mode switching
Some ways to disable usb_modeswitch from operating on a device before the device was inserted, for example to be able to read the initial flash memory (ZeroCD), are:
By the configuration file
With a udev rule
Masking the udev rule the package is using can be achieved with
AT commands
There are some useful commands:
AT^U2DIAG=0
- the device is only ModemAT^U2DIAG=1
- device is in modem mode + CD ROMAT^U2DIAG=255
- the device in modem mode + CD ROM + Card ReaderAT^U2DIAG=256
- the device in modem mode + Card ReaderAT+CPIN=PIN-CODE
- enter PIN-codeAT+CUSD=1,PDU-encoded-USSD-code,15
- USSD request, result can be found (probably) in/dev/ttyUSB2
.
Encode *100#
to PDU format:
Decode AA180C3602
from PDU format:
Answer decoding (this example is balance response: 151.25
):
Some operators return USSD result in PDU encoding, so you should check proper decoding method.
AT+CSQ
- get signal quality (AT+CSQ=?
)AT+GMI
- get manufacturerAT+GMM
- get modelAT+GMR
- get revisionAT+GMN
- get IMEIAT+COPS?
- get operator infoAT^CARDLOCK='NCK-code'
- unlock modem. NCK-code should be calculated by IMEI. After that modem can work with any GSM-provider.AT^SYSCFG=mode, order, band, roaming, domain
- System Config
Mode:
2
Automatic search13
2G ONLY14
3G ONLY16
No change
Order:
0
Automatic search1
2G first, then 3G2
3G first, then 2G3
No change
Band:
80
GSM DCS systems100
Extended GSM 900200
Primary GSM 900200000
GSM PCS400000
WCDMA IMT 20003FFFFFFF
Any band40000000
No change of band
Roaming:
Unlock Modem Huawei Linux Download
0
Not supported1
Roaming is supported2
No change
Domain:
0
CS_ONLY1
PS_ONLY2
CS_PS3
ANY4
No change
Monitor used bandwidth
Frequently a 3G connection obtained via a mobile phone operator comes with restricted bandwidth, so that you are only allowed to use a certain bandwidth per time (e.g. 1GB per month). While it is quite straight-forward to know which type of network applications are pretty bandwidth extensive (e.g. video streaming, gaming, torrent, etc.), it may be difficult to keep an overview about overall consumed bandwidth.
A number of tools are available to help with that. Two console tools are vnstat, which allows to keep track of bandwith over time, and iftop to monitor bandwidth of individual sessions. If you are a KDE user, knemoAUR might help.
The internal web server found in some devices, such as some Huawei HiLink, might also show information about bandwidth usage.
Reading SMS
With dedicated software
This was tested on a Huawei EM770W (GTM382E) 3g card integrated into an Acer Aspire AS3810TG laptop. Install gnokiiAUR, then:
Usually the configuration directory is ~/.config/gnokii
.
Edit ~/.config/gnokii/config
as follows:
You may have to use a different port depending on your configuration, for example /dev/ttyUSB1
or something else:
You need to be part of the uucp
group to use /dev/ttyUSB0
.
Then launch gnokii:
Click on the 'SMS' icon button, a window opens up. Then click: 'messages->activate sms reading'. Your messages will show up in the window.
Command line script:
A small command line script using gnokii to read SMS on your SIM card (not phone memory) without having to start a GUI:
What it does:
Granted this does not work very well if your SMS contains the word 'Text', but you may adapt the script to your liking.
Another option is to use mmcli
With email like web interface
Some Devices, such as some Huawei HiLink, include an email like web interface for SMS. It is included in the device internal web server, which is used for other purposes too.
Writing SMS
You may need give permission by creating file with content like
Commands to restart the device
Unplugging, and plugging, the device is sometimes used to restart the USB device. The following describes how to do that from the shell. Doing that from the shell might be useful, if, for example, the plug is at the rear side of the PC. The method described is not just for USB modems. It should be good for many other USB devices.
The important part is that the requirements are for the USB bus, and the port, the device is attached to. There could be one, or more, sub ports too. Suppose I obtained bus 2 and port 4, without sub ports, for my device from the output of lsusb -t
. This information is also recorded in the journal. With
I can verify it is the intended device.
The following sequence will restart the device:
Unlock Modem Huawei Linux Windows 10
Some more comments are at, for example, https://askubuntu.com/questions/1036341/unplug-and-plug-in-again-a-usb-device-in-the-terminal.
Troubleshooting
Connection halts after few minutes running
This problem commonly occurs on some modems which locked by a mobile operator. You can successfully connect to the internet but after few minutes connection halts and your modem reboots. That happens because an operator built a some checks into modem firmware so a modem checks if a branded software is running on your pc, but usually that software is Windows-only, and obviously you do not use it. Fix (it works on ZTE-mf190 at least) is simple - send this command through serial port (use minicom or similar soft):
This command will delete a NODOWNLOAD.FLG
file in the modem's filesystem - it will disable such checks.
Another possibility for such disconnections is to help the customer save bandwidth, which might be expensive. With Huawei HiLink devices with a web interface, there might be an option there to set a longer period of inactivity before the connection hangs up.
Low connection speed
Someone claims that the connection speed under Linux is lower than Windows [3]. This is a short summary for possible solutions which are not fully verified.
In most of conditions, the low speed is caused by bad receiver signals and too many people in cell. But you still could use the following method to try to improve the connection speed:
- QoS parameter can be set with the
AT+CGEQMIN
andAT+CGEQREQ
commands. It should also be possible to decrease and limit the connection speed. Add the followingInit
command in/etc/wvdial.conf
:
- Baud parameter in
/etc/wvdial.conf
could be used to increase the connection speed:
It is advisable to see the baud rate set by the official modem application for Windows (possibly 9600
on Vista).
Fix image quality
If you are getting low quality images while browsing the web over a mobile broadband connection with the hints shift+r improves the quality of this image
and shift+a improves the quality of all images on this page
, follow these instructions:
Installtinyproxy.
Edit /etc/tinyproxy/tinyproxy.conf
and insert the following two lines:
Starttinyproxy.service
Configure your browser to use localhost:8888
as a proxy server and you are all done. This is especially useful if you are using, for example, Google Chrome which, unlike Firefox, does not allow you to modify the Pragma and Cache-Control headers.
ModemManager does not recognize the modem
In case ModemManager does not recognize the modem, check the output of:
If you get error messages such as Couldn't check support for device
and not supported by any plugin
, you may have to whitelist your device using the ModemManager filter rules https://www.freedesktop.org/software/ModemManager/api/latest/ref-overview-modem-filter.html