TECHSHIP IS A GLOBAL SUPPLIER OF WIRELESS COMPONENTS
The ME906s-158 is a LTE module with M.2 (NGFF) interface, supporting eight LTE (FDD) B1/B2/B3/B5/B7/B8/B20/B28, Penta-band DC-HSPA+/HSPA+/HSPA/WCDMA for Europe network coverage, all bands with diversity. It has low power consumption, support for Global Navigation Satellite System (GNSS, GPS, GLONASS) and European carrier certifications enabling easier and more flexible design and integration into end devices.
In addition, ME906s-158 supports M.2 (NGFF) features to optimize performance, power consumption and usability.
ME906s-158 is the ideal choice for many applications, including Ultra books, notebooks, tablets and even M2M and other embedded applications.
Datasheet for Huawei ME906s-158. This document includes an overview of ME906s-158 and it's features. For more detailed technical information, see the Huawei ME906s-158 Hardware Guide.
This document describes the hardware application interfaces and air interfaces that are provided when HUAWEI ME906s LTE M.2 Module (hereinafter referred to as the ME906s module) is used.
M.2 is the new name for NGFF (Next Generation Form Factor), which is the specification of PCI-SIG (Peripheral Component Interconnect Special Interest Group).
This document helps you to understand the interface specifications, electrical features and related product information of the ME906s module.
This document describes certain AT commands (implemented by terminal devices) of international standards, such as 3GPP and ITU-T, according to the requirements of terminal devices.
In addition, this document describes the Huawei proprietary AT command interfaces that are implemented by terminal devices. These Huawei proprietary AT command interfaces help implement a certain function.
This document describes the Huawei RIL (Radio Interface Layer) for Android and the deliveries included. It includes description on how to integrate the RIL and what is supported.
This guide instructs the kernel driver integration development for Huawei modules based on Linux operating system (OS), such as Android, Ubuntu and Chrome OS. It is intended for the driver developers of the products based on Linux kernel OS.
This document describes best practices when designing a USB interface for use with Huawei wireless modules with USB interface capabilities.
This document is intended to provide references for customers to choose appropriate command sequences to start using the ME906s module in a faster manner. This document also contains examples and relevant description.
This guide describes a workaround method for how to enable the serial (AT/NMEA) interfaces in Windows 8 and 10 for Huawei HiSilicon based cellular modules that normally only expose MBIM interface.
This archive contains the guide, library and sample code for accessing Huawei extended AT commands over MBIM interface in Microsoft Windows 8 and newer systems where no AT serial ports are available from Huawei Modules.
This document contains the open source notice for the ME909s and ME906s series from Huawei.
This archive contains the ANATEL certificates and reports for the Huawei module ME906s-158 in Brazil.
This archive contains the certificates and reports for the module ME906s-158 in Ukraine.
This document describes the TRA certificate for the module ME906s-158 in the United Arab Emirates. It's valid until 2018-06-06.
This archive contains the Huawei Windows desktop systems drivers for HiSilicon chipset based LTE modules and the related release notes
This archive contains the Huawei debug drivers V.188.8.131.52 for HiSilicon chipset based Huawei modules containing drivers supporting the additional USB serial end points exposed when module is set in AT^SETMODE=1 instead of default AT^SETMODE=0
This archive contains the Windows drivers for Huawei modules with HiSilicon chipset
This archive contains the Huawei AT commands over MBIM interface tool used for Windows 8-10 systems to send AT commands to cellular modules not exposing the AT/Modem serial interface endpoints.
This archive contains the Windows drivers V.5.06.04.05 for Huawei modules with HiSilicon chipset
This archive contains the drivers for Huawei ME909s series in windows.
It's backwards compatible with older modules.
The Ulog is a log capturing tool for all Huawei modules.
It can work on PCs and various embedded platforms, and supports different operating systems (OS), such as Windows 7, Linux, and Android.
For Windows there's a graphical user interface available. In order to capture logs with Ulog the modules unique shell lock code need to be acquired based on the IMEI.
This archive contains the Huawei ME906s Firmware Package V14.0 (12.500.00.02.00) Windows Updater and Release Notes
It updates the module with the following operator specific image versions:
12.617.08.00.1011 Spark NZ
This archive contains the Huawei ME906s Firmware Package V13.0 (12.500.00.01.00) Windows Updater and Release Notes
It updates the module with the following operator specific image versions:
12.617.08.00.1011 Spark NZ
This archive contains the Huawei ME906s Firmware Package V10.0 (11.500.00.12.00) Windows Updater and Release Notes
It updates the module with the following operator specific image versions:
11.617.09.00.1011 Spark NZ
How to collect initial diagnostics data and logs for Huawei cellular modules needed when requesting Techship technical support?
In order to troubleshoot and solve a technical problem, we ask you to please provide information about your system and logs from the related Huawei module when creating a technical support ticket.
Problem description of what exact problem is and in what precise situations present
Describe the host system:
-Hardware (system board, peripherals...)
-Operating system and detailed versions (E.g. Windows, Linux release, kernel...)
-Drivers and driver versions
Identify the precise details of cellular module found on label:
-SKU/BOM or P/N code
(For RMA returns the IMEI number is required also)
If you are running on a Linux based system, please capture the terminal logs bellow:
ls -l /dev/serial/by-id
ls -l /sys/bus/usb-serial/devices
The logs from module firmware can be acquired by accessing one of the USB enumerated serial (COM) interfaces accepting AT commands. (In Windows this is the PC UI serial interface). Send the following commands to module and capture the text output and include them when creating the the technical support ticket.
The support ticket can be created after login at: https://techship.com/technical_support/
How-to change the cellular modulesUSB composition mode to Mobile Broadband Interface Model (MBIM) used by Windows 8 and 10 systems for controlling and establishing data connectivity through the built-in connection manager in Windows?
This is done by sending a set of AT commands to the cellular modules Modem or AT serial interface found in Windows Device Manager. Please see list below for associated AT commands.
(For additional details, refer to the product specific software, ports, and AT commands guides found on the Techship product web pages under technical documentation tab).
After the AT commands have been received by the module and has restarted, the USB interface endpoint composition should have changed to include MBIM interface as well.
You can find the correct Serial COM port number by checking Windows Device Manager, under the Modems drop down -> (right click and see properties for selected COM port info) or under the Ports (COM & LPT) drop down.
Vendor specific commands to use:
Sierra Wireless EM75xx, EM74xx, MC74xx series module:
Sierra Wireless EM73xx, MC73xx series module:
Simcom SIM7100, SIM7500 and SIM7600 series modules:
ZTE Welink ME3630 series:
Telit LE910C1 and LE910C4 series:
Telit LM940 and LM940A11:
Telit LM960 and LM960A18:
Telit LE910 V2 series:
On Huawei and Telit LN94x series modules the USB mode changing is done automatically by the modules Windows drivers based on current Windows version.
Please be aware that some USB mode configurations do not include any serial interfaces, making it impossible to revert the changes using AT commands.
What Linux kernel modules and configs are commonly used for communicating with cellular modules over their USB interface?
Most cellular modules can be supported in Linux by using som of the in-kernel drivers. The physical data interface to the host Linux system is usually done over USB which enumerates a set of different endpoints/interfaces. A set of serial interfaces for Modem/PPP, AT commands, NMEA location data and chipset debug information are almost always available in all configurations.
In addition some type of network endpoint/interface are also available and exposed. This can vary between manufacturers and chipset vendors and can also commonly be configurable by using USB configuration mode switching or through vendor specific AT commands.
Recommended kernel configurations to enable are listed bellow. Many cellular modules base their Linux support on these modules and drivers. Once included in the kernel build, the USB interfaces will be detected and bound correctly out-of-the-box or after applying source code patches to the driver modules.
Configs for USB serial drivers:
Configs for Modem/PPP support:
Configs for USB network drivers:
Please relate to the Techship product specific web pages for vendor specific Linux integration guides.
Below is a selection of kernel commits relating to cellular module support in Linux kernels:
qmi_wwan: Add support for Fibocom NL678 series
qmi_wwan: Added support for Telit LN940 series
qmi_wwan: Added support for Fibocom NL668 series
USB: serial: option: add support for GosunCn ME3630 RNDIS mode
USB: serial: option: add support for Simcom SIM7500/SIM7600 RNDIS mode
USB: serial: option: add Simcom SIM7500/SIM7600 (MBIM mode)
USB: serial: option: add Fibocom NL678 series
USB: serial: option: add Telit LN940 series
USB: serial: option: add Fibocom NL668 series
USB: serial: option: add GosunCn ZTE WeLink ME3630
qmi_wwan: apply SET_DTR quirk to the SIMCOM shared device ID
If you use any of the listed cellular modules, drivers and specified USB modes in the commits above, ensure that your kernel version already include the patch or apply it to your build.
How can we establish data connection for cellular modules in Windows 8 and Windows 10 systems?
Microsoft Windows desktop versions starting from Windows 8 and newer have built in data connection manager for WWAN, Wifi etc. that can be used to configure, control and establish the data connection of cellular module that support MBIM interface, which most cellular modules do.
The connection managers settings and controls can be found and accessed on Windows desktop start menu through the network icon (see picture).
The Cellular tab can be found in Windows system settings and if needed the connection APN details can be manually entered through "Advanced options".
How to access the serial AT command interfaces for Huawei HiSilicon chipset based modules in systems with Windows 8 and later?
Serial interfaces for cellular modules are recommended to be disabled by default by Microsoft for systems running Windows 8 and later.
The serial interfaces for AT commands etc. can however be exposed again by first using the tool in linked archive: "Huawei AT commands over MBIM interface tool for Windows 8-10 systems and usage guide" and send module the command bellow once (stored in module memory):
(instead of the default value AT^SETMODE=0)
The module will now reboot and new end-points will be visible for the module once re-appearing.
By installing the linked drivers: "Huawei Debug Driver V.184.108.40.206 for HiSilicon" the correct end point drivers can also be loaded for the cellular module when used in this mode.
You should now be able to find AT commands accepting serial interface as following:
Huawei ME909s, and ME906s series:
HUAWEI Mobile Connect - PC UI Interface
How to activate the data connection for Huawei cellular modules over the USB network interface in Linux?
The first step is to assure that the Huawei cellular module is properly loaded in the Linux system. Huawei modules are most often automatically detected in recent Linux kernels, this can be verified in different ways by commands bellow:
The lsusb command shows what physical USB devices are detected in the Linux operating system:
Bus 001 Device 005: ID 12d1:1f1a Huawei Technologies Co., Ltd.
The lsusb -t command shows the USB endpoints exposed by the detected USB devices and the related drivers loaded for them:
|__ Port 4: Dev 5, If 0, Class=Communications, Driver=cdc_ether, 480M
|__ Port 4: Dev 5, If 1, Class=CDC Data, Driver=cdc_ether, 480M
|__ Port 4: Dev 5, If 2, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 4: Dev 5, If 3, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 4: Dev 5, If 4, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 4: Dev 5, If 5, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 4: Dev 5, If 6, Class=Vendor Specific Class, Driver=option, 480M
The dmesg lists all the driver loading logs since system boot up:
usb 1-4: new high-speed USB device number 6 using xhci_hcd
usb 1-4: New USB device found, idVendor=12d1, idProduct=1f1a, bcdDevice= 1.02
usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-4: Product: HUAWEI Mobile V7R11
usb 1-4: Manufacturer: Huawei Technologies Co., Ltd.
usb 1-4: SerialNumber: 0123456789ABCDEF
cdc_ether 1-4:2.0 usb0: register 'cdc_ether' at usb-0000:00:15.0-4, CDC Ethernet Device, 02:1e:10:1f:00:00
option 1-4:2.2: GSM modem (1-port) converter detected
usb 1-4: GSM modem (1-port) converter now attached to ttyUSB0
option 1-4:2.3: GSM modem (1-port) converter detected
usb 1-4: GSM modem (1-port) converter now attached to ttyUSB1
option 1-4:2.4: GSM modem (1-port) converter detected
usb 1-4: GSM modem (1-port) converter now attached to ttyUSB2
option 1-4:2.5: GSM modem (1-port) converter detected
usb 1-4: GSM modem (1-port) converter now attached to ttyUSB3
option 1-4:2.6: GSM modem (1-port) converter detected
usb 1-4: GSM modem (1-port) converter now attached to ttyUSB4
Enable the USB network interface in Linux host:
ip link set dev usb0 up
The command ifconfig list all network interfaces loaded in the Linux system, the cellular module interface can be named differently depending on the distribution used but generally named usb0, wwan0 etc. initially.
usb0: flags=4163 mtu 1500
inet6 2a02:aa1:1601:d0da:1e:10ff:fe1f:0 prefixlen 64 scopeid 0x0
inet6 fe80::1e:10ff:fe1f:0 prefixlen 64 scopeid 0x20
ether 02:1e:10:1f:00:00 txqueuelen 1000 (Ethernet)
RX packets 120 bytes 6335 (6.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11 bytes 946 (946.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
the command ls can list the USB serial interfaces detected:
/dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 /dev/ttyUSB3 /dev/ttyUSB4
Once this far we can now start communicate with the cellular module over AT commands. There are different applications available in Linux that enables manual communication with serial interfaces:
minicom -D /dev/ttyUSB2
socat - /dev/ttyUSB2,crnl
Try writing to the modem/AT serial interface initially the command "AT" it should return you OK:
Enable input command echo:
Print general information about cellular module
Manufacturer: Huawei Technologies Co., Ltd.
Enter the SIM PIN code if such is needed for the SIM card inserted.
Define the operator APN name related to your operators data subscription
Check that you have acquired network registration
Activate the data connection over for the network interface visible to host system using APN profile 1 previously created.
Once ^NDISSTAT:1,,,"IPV4" or (^NDISSTAT: 1,,,"IPV6" or if IPv6) is returned it indicates that you now have a active data connection to the network operator over either IPv4 or IPv6 or both.
You can then use a DHCP client in your host system to request the IP address from the cellular network:
dhclient -v usb0
Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/usb0/02:1e:10:1f:00:00
Sending on LPF/usb0/02:1e:10:1f:00:00
Sending on Socket/fallback
DHCPDISCOVER on usb0 to 255.255.255.255 port 67 interval 3 (xid=0xfe313f69)
DHCPREQUEST of 220.127.116.11 on usb0 to 255.255.255.255 port 67 (xid=0x693f31fe)
DHCPOFFER of 18.104.22.168 from 22.214.171.124
DHCPACK of 126.96.36.199 from 188.8.131.52
bound to 184.108.40.206 -- renewal in 244094 seconds.
You now have a working cellular network data connection in your Linux system.
It can be tested e.g. by using ping over the specific network interface:
ping -4 -I usb0 www.google.com
PING www.google.com (220.127.116.11) from 18.104.22.168 usb0: 56(84) bytes of data.
64 bytes from lu-in-f147.1e100.net (22.214.171.124): icmp_seq=1 ttl=46 time=115 ms
64 bytes from lu-in-f147.1e100.net (126.96.36.199): icmp_seq=2 ttl=46 time=54.5 ms
64 bytes from lu-in-f147.1e100.net (188.8.131.52): icmp_seq=3 ttl=46 time=51.6 ms
64 bytes from lu-in-f147.1e100.net (184.108.40.206): icmp_seq=4 ttl=46 time=49.4 ms
--- www.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 49.486/67.774/115.379/27.544 ms
This is the basic way of bringing up the network interface. Additional checks and probing should be added in the control software or script if the process is to be automated. For scripting e.g. Python or other language can be used to setup the connection.
Why is there no serial interface for AT-commands available in Microsoft Windows 8/10 and newer, while in Windows 7 all the traditional module serial interfaces are available?
Microsoft demands cellular module vendors to use the Mobile Broadband Interface Model (MBIM) interface for signaling in newer operating systems like Windows 8 and 10 rather than the previous serial based control channels with AT commands.
The serial ports are phased out and enumeration in the host system of these are dropped by many manufacturers because of Microsofts requirements.
The connections can be controlled graphically in Windows by the systems built in connection manager as well as by commands in the command prompt starting with: netsh mbn
Microsoft: Overview of mobile broadband