55010580
Supplier number:
The Huawei ME909u-521 (ME909E) is an LTE module with a 145-pin LGA form factor, supporting seven(!) LTE FDD-bands. Quad-band DC-HSPA+ and quad-band GPRS/EDGE for European network coverage is included as fall-back.
This module is part of Huawei's new LGA family, including MU509 (HSDPA), MU609 (HSPA+) and ME909 (LTE) which are all pin-to-pin compatible to enable a clear and easy path for future integration. This makes the integration of any one of these modules very future-proof.
With their ultra-compact design and extended operating temperature range, ME909 and it's siblings are the perfect platform for any M2M application.
This ME909u-521 module has the form factor LGA. For the same module with form factor mPCIe please refer to our article 10105 Huawei ME909u-521 Mini PCI Express - EU/ASIA
Please check out our article 10218 Huawei ME909u-521 developer kit for test and development.
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 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 guide will make it easier to migrate from one Huawei module to another. This version also includes the ME909s modules.
This document describes AT command interface specifications that is supported by Huawei cellular wireless product ME909u-521 V1R2 module (starting from FW version 12.631.07.01.00).
Please read the release note released with the firmware software before using ME909 wireless module and this document.
This guide contains sequences of AT commands and instructions on how to perform certain tasks.
This archive contains a 3D drawing of the LGA module ME909u-521.
This document describes how electrostatic discharge (ESD) occurs, how to conduct ESD tests, how interfering signals resulted from ESD are coupled to circuits of electronic devices, and what rules need to be followed during ESD design for Huawei LGA modules. Following these rules can provide users with good ESD performance during applications of Huawei LGA modules.
This document describes the rules and precautions of designing Printed Circuit Board (PCB) interconnection for the HUAWEI LGA module. By observing the rules, users can ensure the performance of this module in use and reduce costs effectively.
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 provides instructions for storage, packing, SMT assembly, and rework of the HUAWEI LGA module, and serves as a guide to secondary assembly of the HUAWEI LGA module. Meanwhile, this document provides PCB design guide for module assembly requirements of producibility and maintainability
The HUAWEI LGA module has two types of packaging:
PCB145-3030M: 145 pin LGA with a dimension of 30 mm × 30 mm
PCB114-3020M: 114 pin LGA with a dimension of 30 mm × 20 mm
The purpose of this document is to describe some hardware specification which is useful to develop a product with HUAWEI LGA module supporting PCM (Pulse- Coded Modulation). This document is intended for HUAWEI customers who are integrators and about to implement their applications by using our module.
The HUAWEI LGA module supports the PCM, which can be used for the module to transmit and receive digital audio data. Linear and μ-law codecs are supported. The HUAWEI LGA module uses the PCM interface as part of the audio front end; it easily allows for an external codec to be used instead of the internal codec. As an example, through the PCM you could connect a HUAWEI LGA module to a Bluetooth device.
The HUAWEI LGA module has one PCM port. Please refer to the Hardware Guide of the module that you are in use to know the PIN number of the PCM ports.
Communications through universal asynchronous receiver/transmitter (UART) serial ports is convenient and reliable. UART serial ports are widely adopted in Huawei modules. This design guide describes the serial port specifications of Huawei modules and provides recommended design schemes for peripheral circuits. When designing UART serial ports for Huawei modules, customers can refer to this document.
Most of Huawei modules provide 8-wire serial ports with flow control. These 8-wire serial ports can also be used as 2-wire or 4-wire serial ports.
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
standards).
This document is intended to provide references for customers to choose appropriate
command sequences to start using the ME909u-521 module in a faster manner. This
document also contains examples and relevant description.
This document describes the hardware application interfaces and air interfaces provided by HUAWEI ME909u-521 LTE LGA module.
This document helps hardware engineer to understand the interface specifications, electrical features and related product information of the ME909u-521 module.
This document describes AT command interface specifications that is supported by Huawei cellular wireless product ME909u-521 V1R1 module.
Please read the release note released with the firmware software before using ME909 wireless module and this document.
This document is intended to provide references for customers to choose appropriate
command sequences to start using the ME909u-521 module in a faster manner. This
document also contains examples and relevant description.
This is the datasheet for the Huawei module ME909u-521 LGA.
This document describes the brief hardware information of ME909 series module.
This document helps hardware engineer to understand the interface specifications, electrical features and related product information of the ME909 series module.
This archive contains the documents that declares the Huawei ME909u-521 CE RED and RoHS Conformity.
This archive contains the CE certificate including the reports related to the certificates.
They include Safety, RF, EMF, and EMC reports.
This archive contains the GCF certificate for the module ME909u-521.
This archive contains the Android Radio Interface Layer and the related release notes
It works for android 2.XX to 4.XX.
This RAR archive contains the setup file for the Huawei Windows drivers version 4.25.45.08
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.
Connection management software for use in Windows with Huawei Device wireless modules.
This package contains Huawei's Update WIzard for Linux, which can be used to update firmware versions on different modules.
This is the official FW which enables the GPS function of the ME909u-521 module. Release notes are included in the package. Compatible with Linux and Windows.
This archive contains the Huawei ME909u-521 incremental local firmware update package from 12.636.11.01.00 to 12.636.12.01.00
This archive contains the release notes and firmware updater tool to upgrade the Huawei module ME909u-521 to version 12.636.12.01.00.
The archive contains both the .exe for Windows and .BIN for Linux.
Updater for Huawei ME909u-521 to firmware 12.631.07.00.00 (V1R2)
Firmware Updater to 12.631.07.01.00 for ME909u-521 in Windows/Linux
This is the firmware update for the module ME909u-521.
The .zip contains updaters for both Linux and Windows. It also contains the release notes.
This archive contains the delta file to perform a FOTA or local FOTA update between the firmwares 12.631.07.00.00 ti 12.636.11.01.00.
For guidelines on how to perform a FOTA upgrade, please refer to Huawei FOTA Application Guide (https://techship.se/downloads/huawei-module-fota-application-guide/)
This archive contains the delta file to perform a FOTA or local FOTA update between the firmwares 12.631.07.00.01 ti 12.636.11.01.00.
For guidelines on how to perform a FOTA upgrade, please refer to Huawei FOTA Application Guide (https://techship.se/downloads/huawei-module-fota-application-guide/)
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:
CONFIG_USB_SERIAL
CONFIG_USB_SERIAL_GENERIC
CONFIG_USB_SERIAL_WWAN
CONFIG_USB_SERIAL_OPTION
CONFIG_USB_SERIAL_QUALCOMM
CONFIG_USB_ACM
Configs for Modem/PPP support:
CONFIG_PPP
CONFIG_PPP_BSDCOMP
CONFIG_PPP_DEFLATE
CONFIG_PPP_FILTER
CONFIG_PPP_MPPE
CONFIG_PPP_MULTILINK
CONFIG_PPPOE
CONFIG_PPP_ASYNC
CONFIG_PPP_SYNC_TTY
Configs for USB network drivers:
CONFIG_USB_USBNET
CONFIG_USB_NET_QMI_WWAN
CONFIG_USB_NET_CDCETHER
CONFIG_USB_NET_RNDIS_HOST
CONFIG_USB_NET_CDC_NCM
CONFIG_USB_NET_HUAWEI_CDC_NCM
CONFIG_USB_NET_CDC_MBIM
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 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:
lsusb
root@support-up2:~# lsusb
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:
lsusb -t
...
|__ 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:
dmesg
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.
ifconfig usb0
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:
ls /dev/ttyUSB*
/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
etc.
Try writing to the modem/AT serial interface initially the command "AT" it should return you OK:
AT
OK
Enable input command echo:
ATE1
OK
Print general information about cellular module
ATI
Manufacturer: Huawei Technologies Co., Ltd.
Model: ME909s-120
Revision: 11.617.06.00.00
IMEI: 867377020520569
+GCAP: +CGSM,+DS,+ES
OK
Enter the SIM PIN code if such is needed for the SIM card inserted.
AT+CPIN=1234
OK
Define the operator APN name related to your operators data subscription
AT+CGDCONT=1,"IP","data.tre.se"
+CPIN: READY
OK
Check that you have acquired network registration
AT+CREG?
+CREG: 0,1
OK
Activate the data connection over for the network interface visible to host system using APN profile 1 previously created.
AT^NDISDUP=1,1,
OK
^NDISSTAT: 1,,,"IPV4"
^NDISSTAT: 1,,,"IPV6"
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 2.69.217.204 on usb0 to 255.255.255.255 port 67 (xid=0x693f31fe)
DHCPOFFER of 2.69.217.204 from 2.69.217.201
DHCPACK of 2.69.217.204 from 2.69.217.201
bound to 2.69.217.204 -- 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 (74.125.131.147) from 2.69.217.204 usb0: 56(84) bytes of data.
64 bytes from lu-in-f147.1e100.net (74.125.131.147): icmp_seq=1 ttl=46 time=115 ms
64 bytes from lu-in-f147.1e100.net (74.125.131.147): icmp_seq=2 ttl=46 time=54.5 ms
64 bytes from lu-in-f147.1e100.net (74.125.131.147): icmp_seq=3 ttl=46 time=51.6 ms
64 bytes from lu-in-f147.1e100.net (74.125.131.147): icmp_seq=4 ttl=46 time=49.4 ms
^C
--- 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 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:
-Model
-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:
uname -a
lsusb
lsusb -t
ifconfig -a
ls -l /dev/serial/by-id
ls -l /sys/bus/usb-serial/devices
dmesg
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.
ATI
ATE1
AT+CMEE=2
AT+CFUN?
AT+CPIN?
AT^SYSINFOEX
AT^SYSCFGEX?
AT^HCSQ?
AT+CREG?
AT+CGREG?
AT+CEREG?
AT+COPS?
AT+CGDCONT?
AT^AUTHDATA?
AT+CGCONTRDP
AT+CGPADDR
AT+CGATT?
AT+CGACT?
AT^NDISDUP?
AT^NDISSTATQRY?
AT^DHCP?
AT^DHCPV6?
AT^CHIPTEMP?
AT^THERMFUN?
AT^FOTAMODE?
The support ticket can be created after login at: https://techship.com/technical_support/
How to install Huawei drivers in Windows 10 for modules with Qualcomm chipset?
First install this driver from product page.
Huawei drivers V.4.25.45.08 for Windows
Afterwards open Windows Device Manager and locate HUAWEI named device(s) with warning sign that are not installed correctly.
Right click on each of them and select update driver software...
Select Browse my computer for driver software.
Locate the folder under C:\Program Files (x86)\HUAWEI M2M Driver\Driver\ or the install files folder, select include sub folders also and click next.
Now the drivers should get installed by the system.
You will have to repeat the procedure for all Huawei devices in Device Manager with warning signs.
Now you will have have a working Huawei Qualcomm based module and you can connect to internet with Windows built-in connection manager or Huaweis Mobile Partner software.
I want to use the ME909u-521 with LTE radio access technology only.
I use the command AT^SYSCFGEX="03",40000000,2,4,40000000,"","" or similar, but the module won't lock to LTE only.
Why?
For modules with firmware 12.631.07.00.00 to 12.631.07.01.00
Since voice was included as a feature in this firmware, Huawei have removed the feature to lock to LTE only. The reason is that the majority of the current LTE networks doesn't support VoLTE (voice over LTE). The way the ME909u-521 solves this is by using a technology called Circuit Switched Fallback. This requires the use of the WCDMA or GSM network. Therefore the module won't allow blocking theses technologies.
For modules with firmware 12.636.11.01.00 and forward
The problem with voice still exists, so the module will need to do a Circuit Switched Fallback to handle this. With this firmware, Huawei introduced the command AT^CEUS, which can set the module in either data centric mode (1) or voice centric mode (0). If the module is in data centric mode, there will be no need to use the voice feature. Then the module can be locked to LTE. If you want to use the voice feature of the ME909u-521, you cannot lock to LTE at the moment.
I want to use the diagnostic port on the ME909u-521. Can I do so?
The diagnostic port was open on the ME909u-521 until the firmware 12.636.11.01.00. If you want to use the diagnostic port you'll need to contact us so we can give you the shell codes to unlock the module. The shell codes are generated by the IMEI number on the module.
The command to open the diagnostic port is the command AT^SHLOCK. Send the AT Command AT^SHLOCK=1, to open the diagnostic port. The port will close when the module is power cycled or restarted.