Homepage
     Computer-related issues:
            Program library
                  Programs sdir and sdirstat
                  Programs splitpath and splitenv
                  Program chendl
            System administration:
                  Installation of cdma-modem
     Law:
         Constitution of RF with subject index



CDMA USB Modem with Linux

Approximate Algorithm of Configuration

You have a computer (a notebook), you have installed a Linux operating system in it (such as Scientific Linux, a rebuild of Red Hat Enterprise Linux), you have bought a CDMA EVDO Modem with USB interface (such as AnyDATA ADU-300A) and have a contract with Internet provider, and you dream to link the modem to computer and to connect the computer through the modem to Internet, but you do not have in your modem box or at provider's Internet sites any driver disks or instructions devoted to Linux. You do not want to receive SMS-messages through modem. You need only ordinary Internet connecton. The last thing: you have to have also a Windows-computer or your Linux box must have two systems which ar choosen at installation: Windows or Linux. If you have this all, then try this manual.

Be informed about the following. This manual represents how I myself have memorized and how I imagine the process of Linux configuration for this types of modems. It is written after the actual configuration was done. I would not bother myself by repeating this process step by step in order to check whether this manual is complete. I did not bother myself by checking all possible cobimbations of adjuctment. So there might be some different possibilities as well. But beleave me, it is not so easy to find at least one working variant.

In addition I should remark that different Linux distributions might be very different and require different processes. Finally, after some time Linux might be changed and this manual might become completely obsolete.

So the recommended procedure is the following.

1. Switch on the computer, load Windows, insert modem, follow modem producer's and Internet provider's instructions to check if it is working and if you have Internet account.
2. Staying under Windows configure modem so that it would not ask you any PIN codes at switching on.

3. Exit from Internet, remove the modem cable from USB socket.

3. Re-boot the computer under Linux.

4. Open a root window, change to "/dev" and run "ls". Look if you have there any devices like ttyUSB0.

5. Open a root window and open the file /var/log/messages in a text editor or text viewer.

6. Open another root window and run command "dmesg" in it.

7. Insert modem in one of USB slots, wait a couple of minuts, while it possibly gets initialized.

8. Open another root window, change to /dev and run "ls". Compare its output with that of the previous "ls" in this directory.

9. Make your editor re-read the file /var/log/messages and see if there are any new lines possibly with the notation PPP, names of modem provider and with the notation of device like /dev/ttyUSB0.

10. Open another root window and run command dmesg again. Compare its output with the output of the previously run command and try to determine the same as in previous item.

Note: old Linux kernels can be compiled without support of PPP. In this case you will have a lot of problems with re-compilation of linux kernel. New (in 2008) kernels possibly all have PPP compiled in and all are generally silent, not outputing any messages about PPP to any of the message streams. If you do not see any lines with PPP, you can at your own risk try to follow further along this manual, or to consult with your Linux manuals or with support team of your Linux distributive.

Some Linux versions/distributions reportedly create device for your USB modem automatically. Once you found its notation, you can adjust your system relatively easily. But other systems would not create any device and you will have some troubles making the system to create it for you.

Some internet sites suggest that "wvdialconf newconffile" command can detect modem and create a prototype of configuration scripts. In my case this command did not detect the modem and hence did not create useful scripts. I do not know why.

If you found messages about the name of device as described above, you can check whether the corresponding device file exist in "/dev" subdirectory, and then go to item 18. Otherwise proceed to the next item.

11. Run command

cat /proc/bus/usb/devices

Search for the name of modem proider in the output. For example, For my AnyData modem I have the following lines:

...
T: Bus=05 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=16d5 ProdID=6501 Rev= 0.00
S: Manufacturer=AnyDATA Corporation
S: Product=AnyDATA CDMA Products
...

12. Run command (after its edition, see below)

modprobe usbserial vendor=0x16d5 product=0x6501

where instead of numbers after "0x" you should insert numbers which you see in the output of your "cat /proc/bus/usb/devices". You will see them without "0x", but you have to itsert them with "0x".

13. Repeat items 8,9,10. If you do not see wanted ttyUSB0 or similar, remove you modem cable from the socket, wait a minute, insert your modem cable in socket, wait a couple of a minutes and try items 8,9,10 again.

At my computer ttyUSB0 appears only if I insert modem cable after executing modprobe!



14. Hopefully you now obtain one of these devices. If you do not see them, I do now know what to do.

In the Internet there are also recommendations to use cdc-acm module. But in my computer this module did not work.

15. Check if you have /dev/modem. Hopefully you do not have it since I do not know what you should do if you have.

16. From /dev directory run

ln -s ttyUSB0 modem

(If the following do not work, and you have also other dev files like ttyUSB1, you should try them as well.)

17. Aassume that you use KDE environment. I do not know what you should do otherwise, but performing something similar to the following should be relatively simple in any other environment.

18. Enter to "K"->"System settings"->"Network". You will see a window "Network Configurations". Push "Hardware", "New", "Modem". Leave the modem device "/dev/modem", maximum baud rate, none of the flow control, push OK. In the window "Network Configurations" push "Devices", "New", "Modem connection", "Forward". Enter the phone number that your provider recommends to use, enter provider's name (conveniently choosen, without blanks), login name and password. Be sure that all your previously created internet connections (devices), as well as the new one, are marked by ticks (otherwise you will lost them at saving). Push "File" and "Save". Choose the new connection and push "Activate".

If it looks like activated, run command "ifconfig". It should show whether the conection is working. The final checks can be done with the command "ping any_working_internet_site". There may also be problems with DNS services. If your provider proposes you to enter some addresses for DNS services, edit the file "/etc/resolv.conf". You can also edit files "/etc/hosts", "/etc/hosts.allow" and "/etc/hosts.deny" for the ordinary for Linux net adjustment.

To deactivate the connection, push "Deactivate".

You can also use Linux commands "ifup providername" and "ifdown providername" to activate and deactivate the connections.

You can check that in the directory /etc/sisconfig/network-scripts (this is so at least for RehHat linux systems) there is a file ifcfg-providername with your adjustments. You can edit this file if you wish.

19. After each new boot you enter root, run modprobe with parameters which you should determine as described above, insert modem into socket, wait a couple of minutes, change to /dev/, run "ln -s ttyUSB0 modem" (or first change to /dev/, run "ln -s ttyUSB0 modem" and than wait a couple of minutes), then activate your connection by window menus or by ordinary "ifup" command.

Obviously you can put "modprobe" and "ln" in scripts in order not to type them each time.

In it possible that after a day of connection you will find that the connection is lost. Windows users report this effect too. There is possibly some bug in contemporary modems or in providers' technique. To connect the modem again, you could something like deactivation and activation of your connection, possibly with removing modem cable and inserting it again.



Other internet sites on this topic (some of them where used by me for developing useful for my case procedure.)

Perhaps the most useful prescription at the time of writting.

One more description (non-working in my case)

Description of the Linux USB sub-system for those who wants more than just connect modem and forget about everything as about nightmare.

Linux forums with search engines. I personally did not found there any useful recommendations for this topic.

A prescription based on cdc-acm module which failed to create tty-like device in my case, so it appeared useless.

Prescription in Russian failed in my case (or I failed to use it?).

The page created 04.11.2008.

Last modified 21.12.2008.

Copyright (C) 2008, I. B. Smirnov.

Сайт управляется системой uCoz