# QMI vs PPP - which one is better?

**URL:** <https://community.sixfab.com/t/qmi-vs-ppp-which-one-is-better/1398>\
**Category:** 3G/4G&LTE Base HAT\
**Tags:** ppp, quectel\
**Created:** [May 25, 2021, 2:35am UTC](https://community.sixfab.com/t/qmi-vs-ppp-which-one-is-better/1398 "2021-05-25T02:35:46Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![charles](https://community.sixfab.com/letter_avatar_proxy/v4/letter/c/6f9a4e/32.png) [@charles](https://community.sixfab.com/u/charles)\
**Post date:** [May 25, 2021, 2:35am UTC](https://community.sixfab.com/t/qmi-vs-ppp-which-one-is-better/1398/1 "2021-05-25T02:35:46Z")

</div>

The tutorials explain how to set up the 3G/4G hats using PPP and QMI protocols, but which one is better? I’m using Quectel EC-25x modules and either the SixFab SIM or Verizon SIM. I’m currently using PPP, but wonder if I should switch. I have two applications: #1 is 500kbits/sec data only, the other is HD video (1280X960@30fps). BOTH ends are mobile. I use LogMeIn Hamachi to deal with the IP addressing issues. I need to be able to automatically reconnect if the cell signal “disappears” and later “re-appears”. I don’t know how much of that is handled by the various protocols, and how much I’ll have to do in a cron task. But if someone has some answers, I would like to know.

---

<div class="post-metadata">

**Author:** ![j051y](https://community.sixfab.com/user_avatar/community.sixfab.com/j051y/32/706_2.png) [@j051y](https://community.sixfab.com/u/j051y)\
**Post date:** [May 26, 2021, 10:57am UTC](https://community.sixfab.com/t/qmi-vs-ppp-which-one-is-better/1398/2 "2021-05-26T10:57:40Z")

</div>

Hey @charles, you might want to take a look at **[this](https://docs.sixfab.com/docs/raspberry-pi-3g-4g-lte-base-hat-faq)** section of the docs.

> **Which one among PPP & QMI should I select?**
>
> PPP is a data layer communication protocol that is established through the serial port of the modem. These Serial port communication could be either the UART( **/dev/ttyS0** ) or the serial exposed to USB( **/dev/ttyUSB3** ). This serial is also used for both modem commands (AT commands) and responses. This connection is established by dial-up (ATD\*99#).
> 
> PPP is easy to establish, widely used protocol, and flexible with the devices. PPP may show a drop of the connection while using the AT command set for other functionality of modem.
> 
> The LTE radio protocol has native support of TCP/IP and IPv6, so there is no need to actually wrap TCP/IP into PPP over the radio interface. The PPP protocol is just used between the computer and the modem to make the connection look like a legacy dial-up modem-based network connection.  
> To get rid of the legacy cruft, newer ways to present USB-connected LTE modems like QMI and MBIM have been developed.
> 
> Quectel modules offer QMI(Qualcomm MSM Interface) which is established as a real network interface, such as ethernet(typically shows as wwan0). The QMI is also counted among the non-AT protocols which are communicated over **/dev/cdc-wdm0** port.
> 
> In order to establish a connection, proper qmi/gobinet proxy should be installed, which again depends on the chipset of the module/modem and the kernel of Linux, gets a bit complicated. The QMI offers a more accessible and faster connection compared to the PPP protocol.
> 
> We recommend QMI, if you are looking for a faster connection, and for a longer duration.

Speaking from experience, I have a Telit LE910-EU V2 that I use over PPP and was only able to get 8 to 10Mbps with the small antennas that SixFab has on their store.

I also have a Quectel EP06 that I got to try QMI but haven’t had the chance to test just yet…
