USB 3G/4G modem problem
Solution 1
Entering the following commands on the command line will enable wireless broadband in the NetworkManager
:
sudo systemctl start ModemManager.service
sudo systemctl enable ModemManager.service
Solution 2
It is not simple, but fortunately you don't need to hack kernel drivers.
USB modems are working a little bit funny. Actually, the real network connection is done through 3 layers:
- first, the kernel driver of your modem generates a virtual serial terminal, which will be a character device some like
/dev/ttyUSB0
. If it doesn't happen, you are in trouble. - A running
pppd
authenticates and communicates through this serial connection. But to make it work, first you had to communicate with the remote 3G/4G side, where you want to connect. It needs a chatscript. The chatscript interpreter can start finally thepppd
, which - emulates a network interface (typically
ppp0
) on this virtual serial terminal line.
If your ttyUSB0
exists, theoretically you can do anything. Only the chatscript is missing. It is actually an AT modem-controlling code sequence.
The AT codes of the chatscript are non-trivial, but quite simple. They can be get by running a w$ in a vmware session, making the usb connection with it, and peeking its transmission from an usb debugging option of the linux kernel.
But, there is a much bigger problem. From your question is visible, that you are probably unable to go through these steps. You don't know linux enough well. At first it took me some days to deal with this.
I reached this from the networkmanager totally independently.
If you have the money, buy another modem. If not, try to use some virtualization based solution (f.e. w$ running in a vmware shares the network).
In some weeks I will probably restart this LTE game, and then I will be probably able to extend this answer with more detailed informations.
Extension #1: Your device doesn't create the /dev/ttyUSB0
automatically. Investigating a little bit to your vendor-model ID, we can find this device is practically unknown in the linux USB device register. But it doesn't mean there is no driver with it can be made working. Actually, there are not too many chips on the world market, and many "vendors" plays the game, that the buy some ton of usb chip from (f.e.) Sanghai, change their hardcoded vendor-model id to their own, and sell them as their own product. This is the reason, why can hundreds of vendor-model ids concurrently exist for the same chip. The problem is, that somehow their brain is incapable to at least say this to the linux usb device register. But you can fix this problem by saying the vendor-model id to them. Until that, you had to insert this data into your vendor-model-driver database, which can be found below /lib/modules/<your-kernel-version>/<some-text-file-about-usb-map>
. Unfortunately, I can't remember this exactly, so you had to find them exactly. Editing this file would make possible to "rewire" a soon existing driver to your device. It is not 100% that it will be successful, but very probably (because a company whose "development department" is so dummy, that they are incapable to register their own vendor-model on linux-usb.net, it is very improbable, that they will develop a 3G/4G chip - rather they will buy a ship of them from Sanghai. It is much cheaper and will pass their mental capabilities much easier).
Related videos on Youtube
user1977050
Updated on September 18, 2022Comments
-
user1977050 over 1 year
I have LTE USB modem identified as
ID 0408:ea16 Quanta
.It doesn't have problem with my windows machine, but with my Fedora (kernel 3.18.5-201) it is not working.
I've found some info in the Internet, but those didn't work.
I can't see it in
NetworkManager
(as output ofnmcli dev
command).What could be done?
-
michas over 9 yearsWhat exactly is your question? What exactly is not working? What did you try? What was the exact problem with that?
-
user1977050 over 9 yearsI can't see it in NetworkManager(as output of "nmcli dev" command). I've tried according to the info in the link and now trying also one in the ubuntu forum (ubuntuforums.org/…)
-
michas over 9 yearsPlease update your question with all the details needed for a meaningful answer. Also make sure you include an actual question. (Something ending with a question mark.)
-
peterh over 9 yearsIf you plug in your modem, it should create a device named /dev/ttyUSB0. Does it happen? If yes, everything can be solved. If not, there are probably further tricks to be solved. But I HAVE an LTE modem, and I could make it working on linux, don't worry!
-
jimmij over 9 yearsFor start I suggest to look at the output of
lsusb -v
to see if/how your modem is detected, thenlsmod
to see what modules are loaded (you should see at leastppp_generic
, perhapsoption
). It is also possible that those modules are built in the kernel, sogrep 'ppp\|option' /usr/src/linux/.config
could be helpful too. -
peterh over 9 years@jimmij ppp will be only loaded if the kernel/udev knows from his device at least that it is a surftick, and it can even find and load its driver. It doesn't happen (see his comment below my answer).
-
-
user1977050 over 9 yearswhat if ttyUSB0 is not there?
-
peterh over 9 years@user1977050 Then it could probably work some other driver, only its usb vendor-model id wasn't registered until now. Edit it into the usb map in
/lib/modules/<kernelversion>
, and try to drivers of other usb surf sticks one by one. -
user1977050 over 9 yearscan you please be more specific? (I'm using fedora). sorry, I'm not so familiar with linux kernels
-
SuB almost 7 yearsIf you are using a minimal version of Linux like me, install it using
apt-get install modemmanager
-
SuB almost 7 yearsReboot required after installing.
-
SuB almost 7 yearsYour problem is that the modem is working in Mass Storage mode.
usb_modemswitch
help you to change its mode.