Configuration Once the modem hardware has been installed in the computer, it is necessary to determine what device location the operating system assigned to it, so applications like chat be able to know which device to talk to. This configuration process can be realized through the wvdialconf command, distributed with the wvdial package. Another way to configure modems installed in your computer is through the graphical interface provided by system-config-network command. This interface may result specially useful when you need to configure your computer to establish Modem connections to remote Internet Service Providers (ISPs). The interface provided by system-config-network command uses the same configuration file that wvdialconf command does (e.g., /etc/wvdial.conf), however, there are some differences in the way these commands create configuration files that we need to be aware of. This section describes how you could use the wvdialconf and system-config-network commands to configure the modem installed in your computer, as well as possible issues you might face if these two commands are arbitrarily combined one another. The <command>wvdialconf</command> Command The wvdialconf automatically detects the location the operating system assigned to your modem, its maximum baud rate, a good initialization string for it, and generates/updates the wvdial configuration file (/etc/wvdial.conf) the wvdial command needs to work. To set the modem configuration through wvdialconf command, run the command as follows: sudo /usr/bin/wvdialconf /etc/wvdial.conf This command will produce an output like the following: Scanning your serial ports for a modem. ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud ttyS0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud ttyS0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up. Port Scan<*1>: S1 S2 S3 WvModem<*1>: Cannot get information for serial port. ttyACM0<*1>: ATQ0 V1 E1 -- OK ttyACM0<*1>: ATQ0 V1 E1 Z -- OK ttyACM0<*1>: ATQ0 V1 E1 S0=0 -- OK ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK ttyACM0<*1>: Modem Identifier: ATI -- LT V.90 1.0 MT5634ZBA-USB Data/Fax Modem (Dual Config) Version 5.18e ttyACM0<*1>: Speed 4800: AT -- OK ttyACM0<*1>: Speed 9600: AT -- OK ttyACM0<*1>: Speed 19200: AT -- OK ttyACM0<*1>: Speed 38400: AT -- OK ttyACM0<*1>: Speed 57600: AT -- OK ttyACM0<*1>: Speed 115200: AT -- OK ttyACM0<*1>: Speed 230400: AT -- OK ttyACM0<*1>: Speed 460800: AT -- OK ttyACM0<*1>: Max speed is 460800; that should be safe. ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK Found an USB modem on /dev/ttyACM0. Modem configuration written to /etc/wvdial.conf. ttyACM0<Info>: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0" and a wvdial configuration file like the following: [Dialer Defaults] Modem = /dev/ttyACM0 Baud = 460800 Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 ISDN = 0 Modem Type = USB Modem ; Phone = <Target Phone Number> ; Username = <Your Login Name> ; Password = <Your Password> It is possible to configure the same computer to act both as server (i.e., to receive incoming calls from clients) and client (i.e., to realize outgoing calls to servers). However, be aware that only one of these connections can be established at a time. The <command>system-config-network</command> Command The interface provided by system-config-network command doesn't detect the configuration intially created by wvdialconf command. In fact, if you set a new (modem) hardware configuration through it, any configuration previously created by wvdailconf command will be lost. On the other hand, if you firstly generate the configuration file using the interface provided by system-config-network command and later run the wvdialconf command over it, you will end up having two similar configuration settings under different definitions stored in the same configuration file. The wvdial command doesn't understand the configuration file produced by system-config-network command, even both wvdialconf and system-config-network commands use the same configuration syntax to create the configuration file. Inside the /etc/wvdial.conf configuration file, the interface provided by system-config-network identifies default modem configurations through the [Modem0] line, while the wvdialconf command does the same through the [Dialer Defaults] line. Something interesting about the configuration file created by system-config-network is that it is possible to create several ISP configurations that reuse default settings in the [Modem0] section. For example, consider the following example: [Modem0] Modem = /dev/ttyACM0 Baud = 460800 SetVolume = 2 Dial Command = ATDT Init1 = ATZ Init3 = ATM1L2 FlowControl = CRTSCTS [Dialer Vispa_Internet] Username = signup Password = rebel Phone = 08453080125 Stupid Mode = 1 Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Inherits = Modem0 The interface provided by system-config-network command doesn't provide modem detection (as wvdialconf command would do) and uses the /dev/modem as default location. This location doesn't exists by default, so whatever configuration you set from it will not work. To solve this issue, chose one of the following workarounds: Replace the /dev/modem location by that one wvdialconf found when the interface provided by system-config-network ask you to enter the modem device. Create /dev/modem location as a symbolic link to that location found by wvdialconf command. For example: sudo /bin/ln -s /dev/ttyACM0 /dev/modem