#sms #pdu #modem #gsm #huawei


A set of utilities for interfacing with USB 3G/HSDPA/UMTS modems (particularly Huawei models) that use the Hayes/AT command set

3 releases

0.2.2 Apr 23, 2023
0.2.1 May 4, 2019
0.2.0 May 3, 2019

#5 in #modem

22 downloads per month

CC0 license

2.5K SLoC


CC0 licensed Crates.io badge Docs GitHub stars

The huawei-modem library provides a set of utilities for interfacing with USB 3G/HSDPA/UMTS modems (particularly Huawei models, like the E220 and E3531) that use the Hayes/AT command set.

At present, the library's main consumer is sms-irc. In particular, it may be helpful to look at modem.rs inside that project to get a feel for how to use this library, as well as looking inside the examples/ subdirectory to see some simple SMS sending/receiving examples.


The library can presently send and decode GSM 7-bit and UCS-2 SMS messages, using the SMS PDU format. Some edge cases aren't well implemented or need more testing, but the library is broadly usable for most common SMS sending & receiving needs!

It could do with a bit more ergonomics, however. Currently, if you're confused as to how to use it, have a look at sms-irc's usage above, look at the examples, or file an issue if you're still stuck!


This project is passively maintained (i.e. not actively developed, but I generally consider it complete for my use-case and only develop when needed). PRs and issues on GitHub are more than welcome!

If you're more old-school, feel free to also email me a patch the old-fashioned way.


Licensed under CC0.


~270K SLoC