Using 4G LTE wireless modems on a Raspberry Pi
This blog post has been quite the effort—coming into it I thought I&#x27;d just learn some new things, document a simple process, and be done.<p>But along the way I probably spent 40 hours (and counting) trying to figure out the ins-and-outs of 4G LTE modems and Linux networking when it comes to these oddball devices.<p>I hope some parts of this post help anyone else new to LTE networking in Linux, and maybe somebody can help clear up some of my open questions, like:<p>Why doesn&#x27;t Quectel have any firmware downloads on their site? (And is there any way to get them besides downloading random files posted to forums?)<p>Is there any advantage to using QMI (`wwan0` &#x2F; qmi_wwan) vs ECM (`usb0` &#x2F; cdc_ether)?<p>Why does it seem there&#x27;s no real documentation for LTE modems on Linux? What little _good_ information I found was in random presentation slides scattered around the Internet.<p>Other than that it&#x27;s either extremely technical documentation pages that expect a very high level of familiarity already, or some very cookie-cutter blog posts that give a walkthrough to get Internet going, but don&#x27;t really explain anything.<p>(Also in the course of my research I learned a lot from OSMOCOM&#x27;s work reverse-engineering some of the LTE modems (including the QC25 I&#x27;m using): <a href="https:&#x2F;&#x2F;osmocom.org&#x2F;projects&#x2F;quectel-modems&#x2F;wiki&#x2F;EC25" rel="nofollow">https:&#x2F;&#x2F;osmocom.org&#x2F;projects&#x2F;quectel-modems&#x2F;wiki&#x2F;EC25</a> ).