It seems I forgot to Cc: this to the list. ---------- Forwarded message ---------- From: <jgcrawford@xxxxxxxxx> Date: 2009/2/14 Subject: Re: AGRSM help for newbies To: Michael NG <mng@xxxxxxxxxxxx> On Feb 14, 2009 3:50am, Michael NG <mng@xxxxxxxxxxxx> wrote: > I have just been through a slow learning process getting my dialler > working. It is fine. The experience of newbies with difficulties > understanding may be harder to capture than the finer points of hardware > and software. > > Therefore I am putting together an explanatory text that might help. > Please feel free to comment or advise corrections. > > ---------------------------------------------------------------------- > > Overview: Using Linux as a base for dialling Internet Service Providers > > Many may want to use their computers this way when travelling away from > their normal home base and its broadband or cable connections. This > write-up is intended to help you to understand what steps you are > completing as you going through the installation and setup procedures. > Then, when something does not work, you may find this a helpful guide as > to what is missing or disconnected. Not everyone has a broadband connection at home. Many of us still use dialup to access the internet from home. > Background > > 1. Modems used with computers are usually proprietary products for > which the manufacturer has inserted some technology that is > considered a trade secret. For this reason, manufacturers are > reluctant to issue copies of the software needed, for fear that > the secrets inherent in the modems are revealed. > > 2. The proprietary nature of the software then means that it cannot > be included in distributions of linux (such as Debian or Ubuntu, > Red Hat or SUSE) since everything in these distributions is > always open and free to be copied by any and all users. To > preserve this fundamental basic rule, indeed foundation, of > linux, users who want to connect through modems have to find and > install certain proprietary programs for themselves. That's not entirely true. Debian (and Ubuntu, which is derivative of Debian) follow that philosophy, but some other distros include non-free code, or have in the past. It's just that there are so many different types of modem, and it is difficult to keep the various drivers working from one kernel version to the next, so most distributions stay away from this quagmire. > 3. Modems are connected through files kept in the /dev directory. > This is a dynamic directory which is generated by the linux > kernel when it is booted and loaded. The reason it is dynamic is > that for the modern Plug and Play connection of units > (particularly modems on USB wires, or modems plugged into > through PCMCIA ports), the operating system has to assemble a > set of device files that suit what is going on. The files in > the /dev directory are lost when the computer is shut down, and > therefore have to be regenerated when the computer is started > up This is true of udev or devfs, but some people still prefer to use traditional /dev, which is not dynamic. > 4. Programs going by the family name of AGRSM have been written to > handle the needs of modems made by Agere corporation. The most > common of these is the 011c11040 model. For it, the program > AGRmodem (hereafter written as "agrmodem") has been prepared and > will be accessed by linux through the file name of /dev/modem. > Rather than use that standard name /dev/modem, however, it is > preferable to use a special name for this manufacture such > as /dev/AGR1, or /dev/AGR3. You've misnamed the devices through most of this tutorial. It is /dev/ttyAGR1. Note the "tty". Also, I wouldn't say that it's preferable to use those device names, they're just the ones that are created by the driver. It is preferable to symlink /dev/modem to that device, so the widest variety of programmes can find and use the modem. > 5. These driver programs are intimately connected into the linux > kernel. They have to be regenerated whenever the kernel is > rebuilt, which needs to be rather frequently. It would therefore > be valuable to have something that does the regeneration > automatically, whenever the kernel is regenerated. That has been > written, too. "dkms" is the program that lives in the kernel and > invites (flags the need for) the regeneration, while dkms-agrsm > is the one that actually will do the regeneration, when so > invited. Most people never recompile their kernel. They will, however, occasionally install a new one when updates are available for their distro. > 6. In addition, all modems work through one of the serial ports in > the computer (in DOS and Windows these are called COM1, COM3 In linux, serial ports are /dev/tty*. > etc.) Therefore Agere Corporation has prepared a matching > program to handle the connection of the 11c11040 modem through > the serial port it will use. Handling this requirement in a > similar way, this program is to be placed in /dev/SAGR – short > for serial port of AGERE modem system. I don't have 11c1:1040, I have 11c1:048c, but at least for older agrsm drivers, /dev/ttySAGR is just a symlink to /dev/ttyAGR3, to make it easier for some diallers to fnd the modem. > 7. At this point, we could dial the internet service provider and > type in our signon code and password when the ISP answers the > phone; then press a button to get the modem program to start > exchanging data through the serial port. However, it is easier > and more consistent to store the signon codes and password in a > dialler program. So we will need to set that up too. The > password has the added requirement that we have to store it in a > secret, hidden place. > > 8. We therefore require the following: > > a. The programs agrmodem and agrserial. These programs are also > called "drivers". Operating versions have the suffix ".ko" They are not programmes, they are kernel modules. A programme is a standalone application, whereas these drivers plug into the existing kernel to provide additional functionality. > b. A program to pick up the master copy of these driver programs > and put them in the /dev directory when the computer is booted. > This is called "agrtools". I don't know about "agrtools" or what it does, since I use an older version of the agrsm drivers, but the devices are created the moment the drivers are loaded, which on a preperly configured modern system is done automatically when attempting to access the device. (On older systems, with non-dynamic /dev, it is done by calling modprobe in the startup scripts). > c. An instruction that the computer is not to use /dev/modem but > the equivalent address of /dev/AGR3. These instructions are "ln" > symbolic links. I wouldn't call a symlink an "instruction", but rather a pointer. > d. For the dialler program we could use "wvdial" directly or Gnome > PPP with is a GUI presentation of the same thing. Or you could also use the older, more widely available, "pppd". > e. "dkms-agrsm" needs to be installed, waiting and connected, for > whenever the kernel is regenerated. I don't know about this, as I don't have dkms. > Now you can proceed into the details > > > (Observations: wvdial.conf is not a very secret > place. /etc/ppp/pap-secrets has root read locks on it. But wvdial.conf > which is without any lock, and holds the ISP access passport in clear. You could make wvdial.conf only readable by root by changing its permissions to 600. > That is why this configuration reference file is put into /etc. So that > it will need root to handle or change it. It doesn't matter where a file is, the ability to modify it is goverened by ownership and permissions. > It is not quite clear to me why wvdial.conf says "Modem = /dev/ttySAGR", > when we are not going to use that. We are putting in the links, why not > use /dev/modem, or even go direct to /dev/ttyAGR3. You can. You may need to set up symlinks to achieve this, if they don't already exist. I use udev rules, so that /dev/modem and /dev/ttySAGR are created as a symlink to /dev/ttyAGR3. > I have not put in anything about the linux headers since I do not quite > follow that part yet. Linux kernel headers are required to compile kernel modules. > I have not explained what HDA stands for HDA is "High Definition Audio". Since the 11c1:1040 modem is built into the audio device. > I also do not follow the ALSA issue, but suppose AGRSM needs to > neutralize the sound card outputs. ALSA is the audio driver. As mentioned above, 11c1:1040 is on the audio device, so an audio driver is needed to access it. > What would be the most useful place to send this?) > > mng 2009/02/13 This is a good place. -- Joshua Crawford ... http://geocities.com/mortarn http://www.rewardscentral.com.au/Join/Default.aspx?refer=mortarn Be rewarded! Join RewardsCentral today!