Sunday, November 08, 2009  
Google
Web pcquest.com

CIOL Network sites

Search by Issue | Sitemap | Advanced Search

• For most updated version of DQ TOP 20 issue, visit dqindia.com • Ad : Play and Plug ERP by IBM
 Home > Linux > Linux Hands On

Winmodems and Linux

Read on if you have an internal modem for Windows but not for Linux 

Wednesday, August 21, 2002

Do you have an internal modem that works perfectly with Windows but for some strange reasons, refuses to work with Linux? In that case, chances are that you have a winmodem—one of the most troublesome pieces of hardware in the Tux-world. Millions of people worldwide buy these modems as they are extremely cheap and quite troublefree as far as Windows is concerned. But running it in Linux is a different game altogether. However, with a little hacking, and some of these modems may be made “Linux compatible,” or rather be turned into a linmodem. 

Problems with Winmodems
The main problem with winmodems is that they are ‘stupider’ than normal hardware modems. They make your CPU emulate some of their functions, and for this work, they make use of some proprietary software (Windows only). Thus, in Linux, they are reduced to worthless pieces of junk. However, as the penguin flew far and wide, some of the winmodem manufacturers “saw light” and developed binary only (non-open source) drivers for their products. Moreover, some developers also managed to hack together drivers for some winmodems, but as modem manufacturers refused to disclose their specifications, they were not much of a success. The main problem with the manufacturer provided drivers is that they work only in a few distributions. For example, the Linux drivers of the Motorola SM56 winmodem only work in Red Hat Linux 7.1. 

Types 
Winmodems can be classified in a number of ways. The simplest way is to label as “working” or “not working” in Linux. The former group has been named as linmodems or winmodems that work in Linux also. The modems are also often classified as PCI modems (these go into the PCI slots) and ISA modems (these are for the older ISA slots). Recently, another type of modems have become common—AMR modems. These modems go into the Audio Modem Riser slot (very common in the modern motherboards, especially those of laptops). However, Linux support for AMR modems is still comparatively new, and hence, a little buggy. 

However, the most important way to classify winmodems is in terms of the chipsets they have (the method for identifying chipset is described in the next section). To make your winmodem work in Linux, you must know the chipset your modem has. The maker of the chipset need not be the manufacturer of the modem and vice-versa. 

Identifying the chipset
There are a number of ways in which a particular chipset can be identified. 

Opening up: The best method is to open up the computer cabinet and look for the name that is etched on the black chip on the modem. However, this is not possible in most cases, especially when you have a laptop or a machine under warranty. 

Using lspci command: The lspci command in Linux can be of great help. For example in my machine the lspci command gives the output 00:09.0

Communication controller: PCTel Inc HSP MicroModem 56 (rev 01). This shows that I have a PCTel winmodem. Moreover, the output of the lspci -n command gives the numeric id of a particular PCI device. This output can be compared with that of lspci and can be submitted at www.yourvote.com/pci to get the manufacturer’s name. 

For example, a part of the output of the lspci -n command in my system reads 00:09.0 Class 0780: 134d:7897 (rev 01). By comparing this with the output of lspci I can easily understand that the numeric id of my modem chipset is 134d:7897

The /proc directory: The /proc directory in your Linux machine can be a useful source of information. You can see the contents of /proc/pci, /proc/ioports /proc/interrupts, etc. to get information on your modem. 

From Windows: The Windows Control Panel can be a good source of information. Have a look at the Device Manager section of the Control Panel and see if you get any information regarding the chipset. Please note that in this case there is a high chance of the name of the modem manufacturer being displayed instead of the chipset manufacturer. 

Other general resources
www.linmodems.org: The mother site of all linmodem projects. However, this is not updated very often - and the information contained here may be outdated.
http://linmodems.technion.ac.il: This is a great site and is updated regularly by it’s Webmaster—Jacques Goldberg . 
The linmodems mailing list: The medium volume mailing list—discuss@linmodems.org is a great place to ask questions. If you have problems with a particular modem, send in the details to this list for an answer. You can subscribe to it by sending a blank mail to discuss-subscribe@linmodems.org .
www.idir.net/~gromitkc/winmodem.html: A really huge list of modems in Linux with their status reports.

Other sources: You may also ask at the local LUG (Linux user’s Group) or at any online related forums. Moreover there is a huge list of modems at www.idir.net/~ gromitkc/winmodem.html. Another database (for PCTel modems only) is being constructed at http://pctelcompdb.sourceforge. net/. You can also ask the support guys for your computer or consult the modem documentation. 

The next step
Now that you have identified the chipset of your modem, it is time for you to log-in to the Internet (from Windows) and search for the right drivers. However, before that, you might want to check for a few things in your system.

  • Before you do anything, find your kernel version. To find the kernel version, use the command uname -r. Remember that some modems have multiple drivers for the same distribution, so double-check the output of uname -r. 
  • Some drivers require the source of the running kernel to be installed in your machine, so check whether that’s installed or not.
  • Also check for the usual tools of a hacker (gcc, make utility, modutils, etc).
  • Make sure that you know what kind of package format your distribution uses—many of the drivers come in RPM packages. 

Winmodem resources
This is a list of commonly used and the latest drivers. 

Lucent (ltmodems): This is one of the most well supported winmodems under Linux. The main website is at www.heby. deltmodem. Also check out www.ge ocities.com/rho_linux_br/lucent.html

IBM MWave: Strictly speaking, these are not winmodems. However, they do not work with the normal serial driver in the Linux kernel. For that, a completely GPL’ed driver has been released, which has been integrated into the newer Linux kernel. If you have a IBM Mwave chipset-based modem, get the latest kernel (2.4x) from www.kernel.org and install it.

PCTel (HSP): Another well supported winmodem. The main driver site is at www.linmod ems.technion.ac.il/pctel-linux. There is also a PCTel HSP Micromodem Configuration miniHowto at www.peacefulaction. org/sayamindu/pctel.html. Installation of the driver involves specifying the exact chipset model, and there is a database for that at http://pctelcompdb.sourceforge.net.

Troubleshooting
Here’s what to do when you run into problems:
Find out error messages: If you face problems during say, driver compilation, then do try to find out the messages reported by the compiler. Again, if you have problems while loading the kernel modules for the modem, you can issue the command tail /var/log/messages to find out the messages issued by your kernel.
Do a little hacking: To do this, search up the related documentations, FAQs etc and see whether your problem is addressed there or not. Moreover, search the archives of the discuss@linmodems.org mailing list.
Ask the gurus: If the problem still remains unsolved, ask the guys at discuss@linmodems.org with all the relevant error messages. Also don’t forget to specify your modems chipset and model number. And try not to post questions directly to the developers—they are a busy lot, and your mails certainly won’t help them decrease their workload.

Motorola SM56: Motorola recently terminated support for its Linux drivers and presently the latest driver can be downloaded from www.motorola.com/collateral/SM56_DRIVERS.html# linux. However, this only seems to work with the kernel provided with Red Hat 7.1 (2.4.2). There is an English Howto regarding this modem at www.sm56linux.hpg. ig.com.br/english/ingles.html.

Conexant/Rockwell (HCF/ HSF): The most informative site regarding this type of modems is www.mbsi.ca/cnxtlindrv. This site contains a number of distribution specific RPMs, covering the latest versions of all most all major distributions. Also, there is a howto at www.tldp.org/ HOWTO/Conexant+Rockwell-modem-HOWTO/index.html. Only the HSF modems work in kernel 2.2x with the drivers from Olitec at www.olitec.com/pci56kv2.html.

ESS: There is a FAQ at andrew.cait.org/ess/. The drivers may also be downloaded from here.

Intel HAM: The official site is at developer.intel.com/design/ modems/support/license/r-333-5.htm. However, the driver here supports only the 2.2x series kernel. The latest drivers can be found at http://linmodems.technion.ac.il/packages/Intel/. There is also a page at the Intel site http://developer.intel.com/design/modems/support/drivers_linux.htm), which is updated a little slowly, and at present, it has a list of all the drivers.

Sayamindu Dasgupta

Page(s)   1  

Print Comment Email DiggDigg DeliciousDel.icio.us RedittReddit TwitterTwitter


Untitled Document



ZTE:Leading CDMA Technology


Extraordinary Networks:Freedom of Choice


   
 

 
 

Magazine Subscription | RQS | Contact Us | Team PCQuest | Advertising - Print | jobs@cybermedia