Struggling to get a connection with Raspbian Bullseye and EM7345

Now I am aware this is not a super up to date modem, and from searching for hours on this problem, not something people are using often outside of their Lenovo laptops.

I have bought a M.2 to USB adapter, fitted the EM7345, a working SIM, and connected the USB cable to my Pi 3b.

I have very very little linux knowledge.

If I run ifconfig, there is a wwan0 section that has my Sierra Wireless EM7345 listed, but only 26 bytes sent, and none received.

Installing ModemManager, I have been able to open a connection to with
mmcli -m 0 --simple-connect=“,ip-type=ipv4”

The WAN light on the unit lights, yet I am unable to get a reply when I do
ping -I wwan0

I understand I am supposed to be using the cdc_wdm driver in some capacity.

I have used the card on Windows 10 and it connects and I am able to access the internet. I have updated the card to its latest firmware and run “EM7345_MBIM_ACM.exe” to unlock the AT command port.

Pulling my hair out now. My end goal is just to share the internet connection from this now USB modem with a router, and since the router is not OpenWRT capable, I am having to use the Pi 3b as a bridge, to first have connectivity to it, then to forward the connection through its ethernet port - the latter I can probably accomplish.

If you are curious what M.2 to USB converter I am using, it is one of these. They have no active electronics inside (no microcontrollers on either side of the board.) NGFF M.2 To USB 3.0 Adapter with SIM Card Slot for WWAN/LTE/4G Module (Including the Outer Case)-buy at a low prices on Joom e-commerce platform


have you tried PPP dial up using AT command port?

Or you can install the old GobiNet and GobiSerial driver and use AT!SCACT=1,1 to establish data connection.,-d-,42n2,-d-,64/#sthash.q3TqZJ5A.dpbs

Do you think that will do any good with the Intel XMM7160 based EM7345?

1 Like

Then maybe try the ppp dial up

You’re missing the step to configure the network interface.

ModemManager does NOT configure the network interface IP addressing or the routing rules. ModemManager only exclusively puts the modem in connected mode with the settings you provided. Using mmcli --simple-connect is a way to do that, but then you’re forced to either run a DHCP client on the network interface, or otherwise manually configure the IP address and route based on the info provided in the “Bearer” object that was created upon the --simple-connect. E.g. if that command told you that Bearer 0 was created, see the output of mmcli -b 0 to check what asks ModemManager to do with the data port, either “static” (so you manually configure the IP settings) or “dhcp” (so you run a DHCP client). This is not a problem in ModemManager, it’s designed to work like that :slight_smile:

Now, I assume you don’t want to have to manually configure the net interface, you just want a connection. The best way forward is to let NetworkManager do all that for you; there is no reason to use mmcli to setup any data connection if you already have NetworkManager in the system to do all that for you. E.g.:

$ sudo nmcli c add type "gsm" con-name "wwan" apn ""
$ sudo nmcli c up "wwan"

There’s no need to manually run PPP over the TTY and definitely no need to install GobiNet/GobiSerial as those are not drivers for the Intel XMM device you’re running as @dl5162 said. Just avoid running mmcli and switch to nmcli so that NetworkManager takes care of everything.

1 Like

Kicking myself because reply emails went to spam AAAA

I will try again with the module and post an update.


Thanks very much! Had to restart between adding the interface and giving the up command but can get data through. Will now be getting some serious 4G antennas to try and squeeze the most speed possible out of this module.

This is clearly a VERY capable device and I didn’t imagine it would be so simple to connect it - but I have one quick question, how can I allow 4G throughput? Do I change type to “LTE”? As far as I understand you’d only really use GSM for low speed IoT nowadays. I am looking for this connection to form the basis of a portable basestation that I can stream large amounts of data through.

I cannot thank you enough aleksander0m!


The “gsm” part in the NetworkManager settings is just the legacy name that has been kept for backwards compatibility. NM knows about “gsm” and “cdma” settings for WWAN devices, really associated to 3GPP and 3GPP2 respectively. So a “gsm” (3gpp) setting in NetworkManager is valid for all GSM, UMTS, LTE, 5GNR devices. And a “cdma” (3gpp2) setting in NetworkManager is valid for all CDMA1x, EVDO devices.

So no need to change anything there, the “gsm” setting is what you need in NetworkManager.

In order to know the exact access tech being used, just check the output of mmcli -m a and look for the access tech field.

You’re welcome! Have fun