TECHSHIP IS A GLOBAL SUPPLIER OF WIRELESS COMPONENTS
ME909s-821 is the first LTE cat4 module based on Hi-Silicon chipset. Which is high-quality designed LTE module in small size and Huawei standard LGA form factor, especially for industrial-grade M2M applications such as vehicle telematics, tracking, mobile payment, industrial router, safety monitor and industrial PDAs.
ME909s-821 supports 150Mbps downlink data rate, including enhanced features like FOTA, USSD and Huawei enhanced AT commands.
ME909s-821 supports China region LTE Bands including both FDD-LTE & TDD-LTE, and has two different form factor: LGA and Mini PCIe form factor.
With Huawei pin-to-pin form factor, it is easy to migrate from MU609, MU709 or ME909u family to ME909s-821.
To develop applications and to test the mPCIe module separately the article 10069 Techship MiniPCIe Developer Kit incl. Technical support could be very helpful.
Datasheet for Huawei ME909s-821 miniPCIe module. This document includes an overview of ME909u-821 miniPCIe and it's features. For more detailed technical information, see the Huawei ME909s Hardware Guide.
This document describes the hardware application interfaces and air interfaces provided by HUAWEI ME909s Series (ME909s-821 and ME909s-120) LTE Mini PCIe Module
This document helps hardware engineer to understand the interface specifications, electrical features and related product information of the ME909s Mini PCIe module.
This document describes the hardware application interfaces and air interfaces provided by HUAWEI ME909s Series LGA (ME909s-821 and ME909s-120) LTE Module (hereinafter referred to as the ME909s LGA module).
This document helps hardware engineer to understand the interface specifications, electrical features and related product information of the ME909s LGA module.
This document describes AT command interface specifications that is supported by Huawei Mobile Broadband product ME909s module.
Please read the Release Notes released with the firmware before using ME909s module and this document.
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 is intended to provide references for customers to choose appropriate command sequences to start using the ME909s series module (ME909s for short) in a faster manner. This document also contains examples and relevant description.
This document describes best practices when designing a USB interface for use with Huawei wireless modules with USB interface capabilities.
This document mainly describes the power supply design for Huawei modules. This document also provides Huawei modules' requirements for power supplies, which can be used as reference for designing power supplies for Huawei modules. This document is composed of four chapters:
Power Supply Requirements
Power Supply Design Requirements
External Power Supply Circuits
Recommendations for the Layout and Routing of External Power Supply Circuits
This archive contains the Huawei ME909s series product change notifications released May 2018
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 guide instructs the kernel driver integration development for Huawei Modules based on Embedded Linux & Android operating system. It is intended for the driver developers of the products based on Embedded Linux & Android OS.
This document describes the difference in the AT Command specification between the ME909s and the ME909u.
This document is intended to provide references for customers to do module firmware update over the air. Customers need to refer to this document to develop the host application. This document also contains examples and relevant description. Huawei module and the related firmware in the table below support the FOTA service.
Huawei UpdateWizard for Embedded Linux is the tool which is just for updating the
firmware of Huawei module.
The tool complies with interfaces of Huawei device and is forbidden to apply to
devices of any other manufacturer.
This document briefly describes the power management related connection hardware
between the host and module.
This document is only applicable to the Windows XP/Android system; and is not
applicable to the Windows 7/8/blue system and later systems released by Microsoft
because of their feature (they defines their own sleep, wakeup and remote wakeup
This document provides readers with necessary information to develop a multiplexing protocol running on their equipment in order to use the CMUX function provided by Huawei modules.
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.220.127.116.11 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.
HUAWEI only provides Windows CE driver package. It is a stream driver framework. MDD (Model Device Driver) layer supplies the serial device's interface, and PDD (Platform Dependent Driver) layer is responsible for interacting with USB stack. Please refer to MSDN (Microsoft Developer Network) for more information.
This archive contains the Android Radio Interface Layer and the related release notes
It works for android 2.XX to 4.XX.
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 package contains Huawei's Update WIzard for Linux, which can be used to update firmware versions on different modules.
This archive contains the Huawei ME909s-821 Linux local firmware upgrade package (FWLOAD) for V.11.617.04.00.00
This archive contains the Huawei ME909s-821 Firmware updater and release notes for version 11.617.04.00.00
Our cellular module, Huawei ME909s series miniPCIe, is not detected in the MikroTik RouterBoard embedded board running RouterOs, what can we do?
Many host systems running e.g. operating systems like Linux have a very short detection time for peripheral USB devices on the internal miniPCIe sockets before the host system continues to load.
This can result in the cellular module not being detected at all in the host system due to the cellular modules internal boot-up procedure have not yet finished. The D+ signal will be pulled high first after the modules internal boot-up process have completed and then signal its device presence on the USB interface to host system.
When you intend to use a cellular module in these systems and the cellular module cannot be detected, please try to add in a delay to the host systems boot-up procedure in the earliest possible stage, this to allow the cellular module to boot-up correctly first and show its presence to host system before it have passed the peripheral devices detection phase.
The boot-up times for the cellular module can commonly be found in the products hardware guide.
For Huawei ME909s series it is approximately 9 seconds.
For example in Mikrotik RouterOS, this often can be the reason for the cellular module not being detected. Then you can try to adjusting the "boot-delay" parameter from its default 1 second.
Please refer to the RouterOS Wiki for further details on boot-up delays and other useful parameters.
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.18.104.22.168 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 22.214.171.124 on usb0 to 255.255.255.255 port 67 (xid=0x693f31fe)
DHCPOFFER of 126.96.36.199 from 188.8.131.52
DHCPACK of 184.108.40.206 from 220.127.116.11
bound to 18.104.22.168 -- 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 (22.214.171.124) from 126.96.36.199 usb0: 56(84) bytes of data.
64 bytes from lu-in-f147.1e100.net (188.8.131.52): icmp_seq=1 ttl=46 time=115 ms
64 bytes from lu-in-f147.1e100.net (184.108.40.206): icmp_seq=2 ttl=46 time=54.5 ms
64 bytes from lu-in-f147.1e100.net (220.127.116.11): icmp_seq=3 ttl=46 time=51.6 ms
64 bytes from lu-in-f147.1e100.net (18.104.22.168): 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.
How to change USB composition mode to Mobile Broadband Interface (MBIM) that is used by Windows 8 and 10 systems for data connectivity and enabling support for the built-in connection manager in Windows?
This is done by sending AT commands to the Modem or AT serial interfaces that are accepting AT commands. The module will then change the USB endpoint composition it exposes. You can find the correct Serial COM port number by checking in the 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.
Commands to use:
Sierra Wireless EM75xx series module:
Sierra Wireless EM74xx, MC74xx series module:
Sierra Wireless EM73xx, MC73xx series module:
Simcom SIM7xxx series modules:
ZTE Welink ME3630 series:
Telit LE910x V2:
On Huawei modules the USB mode changing is done automatically by the Windows drivers and otherwise defaults to the modules standard endpoint interfaces.
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".
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
How can we use the Huawei ME909s series modules with dual Ethernet interfaces and separate APNs in parallel?
The Huawei ME909s series modules can now support dual APN and dual ECM network interfaces starting from firmware version 11.617.06.00.00.
This gives the host systems the ability to separate the IP traffic for dedicated services or use cases.
A SIM subscription supporting separate active APN connections in parallel is also required.
Activate the second USB CDC ECM network interface with the following AT command:
The interface connections are established with the following AT commands:
AT^NDISDUP=1,1,"< APN1 >"
AT^NDISDUP=2,1,"< APN2 >"
Please observe that this feature is only supported by the Linux systems and drivers currently.