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 the pppd
, 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).
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.