SDB:Modem Test
Version: 6.3
Request:
Modem tests to get exactly the information that must be included in a support request regarding modem and wvdial problems. Because of the complexity of the (error) messages, it is much easier to handle such support requests via e-mail than via phone.
As it is possible to save the (error) messages on floppy disk, you can use any desired method to send the e-mail.
Procedure:
Prerequisite:
First, make sure the modem is supported by Linux.
Any modem and any ISDN terminal adapter to use in the usual manner with Linux must be able to "understand" the AT commands directly, not through a driver emulation.
See the support database article "SDB:WinModems and Linux and select "View the entire table".
Internal PCI modems should be shown as "Serial Controller" in the output of the command lspci
. If it is shown as "Communication Controller", the PCI modem normally does not understand the AT commands. In case of doubt, ask the manufacturer whether the modem hardware understands AT commands.
- USB modems and USB ISDN terminal adapters additionally need to comply with the USB CDC ACM (Universal Serial Bus Communication Device Class Abstract Control Model) specification. In case of doubt, ask the manufacturer whether the modem hardware matches the ACM specification.
For any ISDN terminal adapter, a special AT command is additionally needed for initialization (the init string). Normally, ask the manufacturer for the correct init string.
Also needed is information like
- Exact model and manufacturer name and which type of modem it is (external modem using the serial port, USB modem, internal ISA, ISAPnP, or PCI modem)
- The type of the connection (which serial port, USB directly connected to the computer or via USB hub)
- The SuSE Linux version and the type of installation (completely new install, update, standard system or manually selected packages, kernel version)
wvdial messages and the proper messages out of /var/log/messages are essential.
Test to get the wvdial messages and the proper messages out of /var/log/messages:
Do the following (as user root)
1. Set a tag in /var/log/messages using echo "MODEM-TEST" | logger
2. Test whether the connection will be established using wvdial 2>&1 | tee /tmp/info.txt respectively wvdial Providers_name 2>&1 | tee /tmp/info.txt
3. If the connection was not closed automatically because of an error, wait at least 10 seconds then close the connection by pressing [Ctrl]+[C]
4. Get the messages out of /var/log/messages using tail -n 100 /var/log/messages | grep -A 100 "MODEM-TEST" >>/tmp/info.txt (enter all in one single line with a space in between)
5. Insert the contents of the file /tmp/info.txt (it is ASCII text) directly into the mail. If you do not use Linux to send the mail do as follows: 5a) Recode the file for DOS/Windows using recode lat1..ibmpc /tmp/info.txt or recode the file for MAC using recode lat1..mac /tmp/info.txt1 5b) Save it to floppy disk using mount /floppy cp /tmp/info.txt /floppy/ umount /floppy 5c) Insert the content of the file info.txt from the floppy disk directly into the mail.
A fundamental modem test:
If it is an internal modem, make the modem known to the kernel using an appropriate setserial
command. Otherwise, the kernel cannot access the modem.
Try the following modem test. /dev/ttyS0 is the device for the first serial port /dev/ttyS1 is the device for the second serial port /dev/ttyACM0 is the device for an USB modem /dev/ttyS2 is normally used for internal modems via a setserial command Use the device to which your modem is connected. Here, for example, /dev/ttyS0 is used.
1. As user root, open two terminal windows under the graphical user interface using xterm & and xterm &
2. In the first terminal window, enter cat /dev/ttyS0 so everything that comes from /dev/ttyS0 (from the modem) is printed here
3. In the second terminal window, enter echo "AT" >/dev/ttyS0 or echo -e "AT\r" >/dev/ttyS0 or echo -en "AT\r" >/dev/ttyS0 so you send "AT" to /dev/ttyS0 (to the modem) and, if the modem is accessible and understands AT commands, it will respond by sending one "OK" or by sending "OK" continuously.
4. In the first terminal window, you should see OK which indicates that your modem works.
An alternative fundamental modem test: Using wvdialconf /dev/null 2>&1 | tee /tmp/info2.txt all normally used modem devices will be tested and the output is saved to the file modem2.out which you can additionally insert directly into your mail according to step 5. above.
Special information:
1. Use echo "ATZ" >/dev/ttyS0 to reset the modem to default and use echo "AT&F" >/dev/ttyS0 to reset the modem to factory settings. Sometimes you may need this to get a modem working that has totally mixed up settings.
2. A USB modem must be shown in the output of cat /proc/bus/usb/devices Otherwise the kernel does not recognize a modem connected to the USB and the modem is not accessible. If it is not shown, use lsmod to display the kernel modules actually loaded. If there is no kernel module "acm" listed, use modprobe acm to load this kernel module. If the kernel module "acm" is loaded but the USB modem is not shown in /proc/bus/usb/devices it may help to disconnect the modem from the USB and reconnect it. If it is still not shown in /proc/bus/usb/devices the modem probably does not comply with the ACM specification.
3. If the modem is accessible (it responds to "AT" or "ATZ" by sending "OK") after the above-mentioned test to get the wvdial messages but there are no sections in /var/log/messages with "pppd"-messages containing the words "LCP", "PAP" or "CHAP", "CCP" and "IPCP" your modem cable is probably not connected correctly. In contrast to the "fundamental modem test" wvdial or pppd needs a fully featured modem cable. If it works using another operating system this does not prove that the modem cable is fully featured. In case of doubt, ask the manufacturer whether the modem cable is fully featured.
<keyword>modem,wvdial,test,workflow</keyword>