USB 3G/4G modem problem

6,999

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:

  1. 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.
  2. 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 the pppd, which
  3. 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).

Share:
6,999

Related videos on Youtube

user1977050
Author by

user1977050

Updated on September 18, 2022

Comments

  • user1977050
    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 of nmcli dev command).

    What could be done?

    • michas
      michas over 9 years
      What exactly is your question? What exactly is not working? What did you try? What was the exact problem with that?
    • user1977050
      user1977050 over 9 years
      I 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
      michas over 9 years
      Please 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
      peterh over 9 years
      If 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
      jimmij over 9 years
      For start I suggest to look at the output of lsusb -v to see if/how your modem is detected, then lsmod to see what modules are loaded (you should see at least ppp_generic, perhaps option). It is also possible that those modules are built in the kernel, so grep 'ppp\|option' /usr/src/linux/.config could be helpful too.
    • peterh
      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
    user1977050 over 9 years
    what if ttyUSB0 is not there?
  • peterh
    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
    user1977050 over 9 years
    can you please be more specific? (I'm using fedora). sorry, I'm not so familiar with linux kernels
  • SuB
    SuB almost 7 years
    If you are using a minimal version of Linux like me, install it using apt-get install modemmanager
  • SuB
    SuB almost 7 years
    Reboot required after installing.
  • SuB
    SuB almost 7 years
    Your problem is that the modem is working in Mass Storage mode. usb_modemswitch help you to change its mode.