USB 3G/4G modem problem

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








5















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?










share|improve this question



















  • 1





    What exactly is your question? What exactly is not working? What did you try? What was the exact problem with that?

    – michas
    Feb 8 '15 at 17:33











  • 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/…)

    – user1977050
    Feb 8 '15 at 17:37











  • 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.)

    – michas
    Feb 8 '15 at 17:41











  • 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!

    – peterh
    Feb 8 '15 at 18:40






  • 1





    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.

    – jimmij
    Feb 8 '15 at 18:58


















5















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?










share|improve this question



















  • 1





    What exactly is your question? What exactly is not working? What did you try? What was the exact problem with that?

    – michas
    Feb 8 '15 at 17:33











  • 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/…)

    – user1977050
    Feb 8 '15 at 17:37











  • 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.)

    – michas
    Feb 8 '15 at 17:41











  • 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!

    – peterh
    Feb 8 '15 at 18:40






  • 1





    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.

    – jimmij
    Feb 8 '15 at 18:58














5












5








5


1






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?










share|improve this question
















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?







fedora modem 3g lte






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 9 at 12:15









Rui F Ribeiro

41.9k1483142




41.9k1483142










asked Feb 8 '15 at 17:13









user1977050user1977050

144315




144315







  • 1





    What exactly is your question? What exactly is not working? What did you try? What was the exact problem with that?

    – michas
    Feb 8 '15 at 17:33











  • 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/…)

    – user1977050
    Feb 8 '15 at 17:37











  • 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.)

    – michas
    Feb 8 '15 at 17:41











  • 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!

    – peterh
    Feb 8 '15 at 18:40






  • 1





    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.

    – jimmij
    Feb 8 '15 at 18:58













  • 1





    What exactly is your question? What exactly is not working? What did you try? What was the exact problem with that?

    – michas
    Feb 8 '15 at 17:33











  • 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/…)

    – user1977050
    Feb 8 '15 at 17:37











  • 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.)

    – michas
    Feb 8 '15 at 17:41











  • 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!

    – peterh
    Feb 8 '15 at 18:40






  • 1





    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.

    – jimmij
    Feb 8 '15 at 18:58








1




1





What exactly is your question? What exactly is not working? What did you try? What was the exact problem with that?

– michas
Feb 8 '15 at 17:33





What exactly is your question? What exactly is not working? What did you try? What was the exact problem with that?

– michas
Feb 8 '15 at 17:33













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/…)

– user1977050
Feb 8 '15 at 17:37





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/…)

– user1977050
Feb 8 '15 at 17:37













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.)

– michas
Feb 8 '15 at 17:41





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.)

– michas
Feb 8 '15 at 17:41













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!

– peterh
Feb 8 '15 at 18:40





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!

– peterh
Feb 8 '15 at 18:40




1




1





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.

– jimmij
Feb 8 '15 at 18:58






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.

– jimmij
Feb 8 '15 at 18:58











3 Answers
3






active

oldest

votes


















2














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





share|improve this answer























  • If you are using a minimal version of Linux like me, install it using apt-get install modemmanager

    – SuB
    Jun 26 '17 at 7:33











  • Reboot required after installing.

    – SuB
    Jun 26 '17 at 7:40


















1














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|improve this answer

























  • what if ttyUSB0 is not there?

    – user1977050
    Feb 10 '15 at 12:13











  • @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.

    – peterh
    Feb 10 '15 at 12:22











  • can you please be more specific? (I'm using fedora). sorry, I'm not so familiar with linux kernels

    – user1977050
    Feb 10 '15 at 12:36


















0














I know it is a little late but the problem reemarged in Fedora 24 and 25.
What really worked in my case is using usb_modeswitch-data package to get my Huawei dongle working on Fedora 24 after being recognized in (mass storage mode).
Excerpt of lsusb:



Bus 001 Device 011: ID 12d1:1f01 Huawei Technologies Co., Ltd. E353/E3131 (Mass storage mode)


After running lsusb and locating your usb modem device's details in my case ( 12d1:1f01 ), run this:



sudo usb_modeswitch --<mode to apply> --default-vendor <Vendor ID> --default-product <Product ID>


In my case it was:



sudo usb_modeswitch --huawei-new-mode --default-vendor 0x12d1 --default-product 0x1f01 


That is it! fixed :D



Bus 001 Device 012: ID 12d1:14db Huawei Technologies Co., Ltd. E353/E3131





share|improve this answer























  • Your problem is that the modem is working in Mass Storage mode. usb_modemswitch help you to change its mode.

    – SuB
    Jun 26 '17 at 7:48











Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f183675%2fusb-3g-4g-modem-problem%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























3 Answers
3






active

oldest

votes








3 Answers
3






active

oldest

votes









active

oldest

votes






active

oldest

votes









2














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





share|improve this answer























  • If you are using a minimal version of Linux like me, install it using apt-get install modemmanager

    – SuB
    Jun 26 '17 at 7:33











  • Reboot required after installing.

    – SuB
    Jun 26 '17 at 7:40















2














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





share|improve this answer























  • If you are using a minimal version of Linux like me, install it using apt-get install modemmanager

    – SuB
    Jun 26 '17 at 7:33











  • Reboot required after installing.

    – SuB
    Jun 26 '17 at 7:40













2












2








2







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





share|improve this answer













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






share|improve this answer












share|improve this answer



share|improve this answer










answered Jun 23 '15 at 7:23









Reto GmürReto Gmür

1213




1213












  • If you are using a minimal version of Linux like me, install it using apt-get install modemmanager

    – SuB
    Jun 26 '17 at 7:33











  • Reboot required after installing.

    – SuB
    Jun 26 '17 at 7:40

















  • If you are using a minimal version of Linux like me, install it using apt-get install modemmanager

    – SuB
    Jun 26 '17 at 7:33











  • Reboot required after installing.

    – SuB
    Jun 26 '17 at 7:40
















If you are using a minimal version of Linux like me, install it using apt-get install modemmanager

– SuB
Jun 26 '17 at 7:33





If you are using a minimal version of Linux like me, install it using apt-get install modemmanager

– SuB
Jun 26 '17 at 7:33













Reboot required after installing.

– SuB
Jun 26 '17 at 7:40





Reboot required after installing.

– SuB
Jun 26 '17 at 7:40













1














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|improve this answer

























  • what if ttyUSB0 is not there?

    – user1977050
    Feb 10 '15 at 12:13











  • @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.

    – peterh
    Feb 10 '15 at 12:22











  • can you please be more specific? (I'm using fedora). sorry, I'm not so familiar with linux kernels

    – user1977050
    Feb 10 '15 at 12:36















1














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|improve this answer

























  • what if ttyUSB0 is not there?

    – user1977050
    Feb 10 '15 at 12:13











  • @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.

    – peterh
    Feb 10 '15 at 12:22











  • can you please be more specific? (I'm using fedora). sorry, I'm not so familiar with linux kernels

    – user1977050
    Feb 10 '15 at 12:36













1












1








1







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|improve this answer















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|improve this answer














share|improve this answer



share|improve this answer








edited Feb 10 '15 at 13:04

























answered Feb 8 '15 at 18:38









peterhpeterh

4,519113461




4,519113461












  • what if ttyUSB0 is not there?

    – user1977050
    Feb 10 '15 at 12:13











  • @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.

    – peterh
    Feb 10 '15 at 12:22











  • can you please be more specific? (I'm using fedora). sorry, I'm not so familiar with linux kernels

    – user1977050
    Feb 10 '15 at 12:36

















  • what if ttyUSB0 is not there?

    – user1977050
    Feb 10 '15 at 12:13











  • @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.

    – peterh
    Feb 10 '15 at 12:22











  • can you please be more specific? (I'm using fedora). sorry, I'm not so familiar with linux kernels

    – user1977050
    Feb 10 '15 at 12:36
















what if ttyUSB0 is not there?

– user1977050
Feb 10 '15 at 12:13





what if ttyUSB0 is not there?

– user1977050
Feb 10 '15 at 12:13













@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.

– peterh
Feb 10 '15 at 12:22





@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.

– peterh
Feb 10 '15 at 12:22













can you please be more specific? (I'm using fedora). sorry, I'm not so familiar with linux kernels

– user1977050
Feb 10 '15 at 12:36





can you please be more specific? (I'm using fedora). sorry, I'm not so familiar with linux kernels

– user1977050
Feb 10 '15 at 12:36











0














I know it is a little late but the problem reemarged in Fedora 24 and 25.
What really worked in my case is using usb_modeswitch-data package to get my Huawei dongle working on Fedora 24 after being recognized in (mass storage mode).
Excerpt of lsusb:



Bus 001 Device 011: ID 12d1:1f01 Huawei Technologies Co., Ltd. E353/E3131 (Mass storage mode)


After running lsusb and locating your usb modem device's details in my case ( 12d1:1f01 ), run this:



sudo usb_modeswitch --<mode to apply> --default-vendor <Vendor ID> --default-product <Product ID>


In my case it was:



sudo usb_modeswitch --huawei-new-mode --default-vendor 0x12d1 --default-product 0x1f01 


That is it! fixed :D



Bus 001 Device 012: ID 12d1:14db Huawei Technologies Co., Ltd. E353/E3131





share|improve this answer























  • Your problem is that the modem is working in Mass Storage mode. usb_modemswitch help you to change its mode.

    – SuB
    Jun 26 '17 at 7:48















0














I know it is a little late but the problem reemarged in Fedora 24 and 25.
What really worked in my case is using usb_modeswitch-data package to get my Huawei dongle working on Fedora 24 after being recognized in (mass storage mode).
Excerpt of lsusb:



Bus 001 Device 011: ID 12d1:1f01 Huawei Technologies Co., Ltd. E353/E3131 (Mass storage mode)


After running lsusb and locating your usb modem device's details in my case ( 12d1:1f01 ), run this:



sudo usb_modeswitch --<mode to apply> --default-vendor <Vendor ID> --default-product <Product ID>


In my case it was:



sudo usb_modeswitch --huawei-new-mode --default-vendor 0x12d1 --default-product 0x1f01 


That is it! fixed :D



Bus 001 Device 012: ID 12d1:14db Huawei Technologies Co., Ltd. E353/E3131





share|improve this answer























  • Your problem is that the modem is working in Mass Storage mode. usb_modemswitch help you to change its mode.

    – SuB
    Jun 26 '17 at 7:48













0












0








0







I know it is a little late but the problem reemarged in Fedora 24 and 25.
What really worked in my case is using usb_modeswitch-data package to get my Huawei dongle working on Fedora 24 after being recognized in (mass storage mode).
Excerpt of lsusb:



Bus 001 Device 011: ID 12d1:1f01 Huawei Technologies Co., Ltd. E353/E3131 (Mass storage mode)


After running lsusb and locating your usb modem device's details in my case ( 12d1:1f01 ), run this:



sudo usb_modeswitch --<mode to apply> --default-vendor <Vendor ID> --default-product <Product ID>


In my case it was:



sudo usb_modeswitch --huawei-new-mode --default-vendor 0x12d1 --default-product 0x1f01 


That is it! fixed :D



Bus 001 Device 012: ID 12d1:14db Huawei Technologies Co., Ltd. E353/E3131





share|improve this answer













I know it is a little late but the problem reemarged in Fedora 24 and 25.
What really worked in my case is using usb_modeswitch-data package to get my Huawei dongle working on Fedora 24 after being recognized in (mass storage mode).
Excerpt of lsusb:



Bus 001 Device 011: ID 12d1:1f01 Huawei Technologies Co., Ltd. E353/E3131 (Mass storage mode)


After running lsusb and locating your usb modem device's details in my case ( 12d1:1f01 ), run this:



sudo usb_modeswitch --<mode to apply> --default-vendor <Vendor ID> --default-product <Product ID>


In my case it was:



sudo usb_modeswitch --huawei-new-mode --default-vendor 0x12d1 --default-product 0x1f01 


That is it! fixed :D



Bus 001 Device 012: ID 12d1:14db Huawei Technologies Co., Ltd. E353/E3131






share|improve this answer












share|improve this answer



share|improve this answer










answered Sep 13 '16 at 10:21









samDevsamDev

1




1












  • Your problem is that the modem is working in Mass Storage mode. usb_modemswitch help you to change its mode.

    – SuB
    Jun 26 '17 at 7:48

















  • Your problem is that the modem is working in Mass Storage mode. usb_modemswitch help you to change its mode.

    – SuB
    Jun 26 '17 at 7:48
















Your problem is that the modem is working in Mass Storage mode. usb_modemswitch help you to change its mode.

– SuB
Jun 26 '17 at 7:48





Your problem is that the modem is working in Mass Storage mode. usb_modemswitch help you to change its mode.

– SuB
Jun 26 '17 at 7:48

















draft saved

draft discarded
















































Thanks for contributing an answer to Unix & Linux Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f183675%2fusb-3g-4g-modem-problem%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown






Popular posts from this blog

How to check contact read email or not when send email to Individual?

Bahrain

Postfix configuration issue with fips on centos 7; mailgun relay