1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542
|
<!--startcut ======================================================= -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head>
<META NAME="generator" CONTENT="lgazmail v1.1preB">
<TITLE>The Answer Guy 32:
Fwd: ANOTHER MODEM PROB
</TITLE>
<!-- ORIGINAL SUBJECT:
Fwd: ANOTHER MODEM PROB
JTD SUBTITLE:
-->
</head>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#A000A0"
ALINK="#FF0000">
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<H1 align="center"><A NAME="answer">
<img src="../gx/dennis/qbubble.gif" alt="" border="0" align="middle">
<a href="./lg_toc32.html">The Answer Guy</a>
<img src="../gx/dennis/bbubble.gif" alt="" border="0" align="middle">
</A></H1>
<BR>
<H4 align="center">By James T. Dennis,
<a href="mailto:answerguy@ssc.com">answerguy@ssc.com</a>
<BR>Starshine Technical Services, <A HREF="http://www.starshine.org/">http://www.starshine.org/</A>
</H4>
<p><hr><p>
<!--endcut ========================================================= -->
<p><em>[We seem to be coming in at the middle of this thread, but I don't see
where the previous might be found. We'll have to make do with
what's been quoted here, Sorry, readers! -- Heather]</em></p>
<P> <hr width="40%" align="center"> <P>
<!-- ............................. -->
<H3><img src="../gx/dennis/qbub.gif" alt="(?)"width="50" height="28"
align="left" border="0">ANOTHER MODEM PROB </H3>
<p><strong>From CodeWaRi0r on 18 Aug 1998 </strong></p>
<!-- begin body -->
<em><font color="navy"
><p><strong
>> It sounds like a "winmodem." (These are devices which don't
<br>> support the standard AT command set and which require proprietary
<br>> drivers in order to function. Currently those drivers are only
<br>> available for Windows --- I gather that some of them don't even
<br>> work under Windows NT).
</strong></p>
<p><strong>> The acid test for this is to try to use the modem under DOS (boot
<br>> from DOS and try run a program like Telix). If that also can't
<br>> "see" the modem --- then it's not a real modem; it's a "winmodem."
</strong></p>
<p><strong>> Although I've read rumors about an effort to reverse engineer the
<br>> "Rockwell chipset" (RPI) --- which is the one commonly used in
<br>> these "winmodems" --- I believe that you're only reliable recourse
<br>> for now is to exchange this piece of junk with a real modem.
</strong></p>
</font></em>
<p><strong>nope.. im sure i dont have a winmodem. actually, I have to modems on
my computer .. one winmodem on COM1 and a regular modem by BOCA on
COM3.. ok.. just help me out with one more thing and ill be out of
your hair <IMG SRC="../gx/dennis/smily.gif" ALT=":)" height="24" width="20" align="middle"> ok.. ive established that i dont have a winmodem.. i
start up X. run the modem configurer (this program makes a link
between <tt>/dev/modem</tt> and <tt>cua2</tt>.. or so it says... i just select the COM
port and press ok and thats it. Am i missing a step here?)
</strong></p>
<blockquote><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
>It could also be an IRQ conflict --- on a conventional
PC COM1 and COM3 share IRQ's with COM4 and COM2
respectively.
</blockquote>
<blockquote>I don't know how you're sure that you don't have a winmodem
--- unless it's external, or you've been able to connect
to it under DOS or Linux with standard AT commands.
</blockquote>
<blockquote>However, I'll assume for the moment that this is the case.
</blockquote>
<blockquote>I would leave X completely out of this for now. I wouldn't
use any "modem configurator" (that's just one more piece
of junk between me and the troubleshooting).
</blockquote>
<blockquote>One way to do this testing is to run minicom or C-Kermit
to connect to the modem, Then you should be able to
type AT commands directly to the modem and get responses
back. Before you do this, look at the nodes under the
<tt>/dev/</tt> directory with the '<tt>ls -l</tt>' command. Make sure that
they look something like:
</blockquote>
<pre>lrwxrwxrwx 1 root uucp 5 Jul 13 16:52 /dev/modem -> ttyS2
crw-rw---- 1 root uucp 4, 64 Aug 18 15:17 /dev/ttyS0
crw-rw---- 1 root uucp 4, 65 Aug 18 15:17 /dev/ttyS1
crw-rw---- 1 root uucp 4, 66 Nov 30 1997 /dev/ttyS2
crw-rw---- 1 root uucp 4, 67 Nov 30 1997 /dev/ttyS3
</pre>
<blockquote>.... where the "modem" entry is a symlink to the appropriate
serial port (<tt>ttyS2</tt> for a normal PC's COM3).
</blockquote>
<blockquote>You should also make sure that the permissions on most
of your communications software are such that it is
run by '<tt>root</tt>' (such as <tt>pppd</tt>) or is at least SGID
'<tt>uucp</tt>' (you could chgrp all these to '<tt>modem</tt>',
create a '<tt>modem</tt>' group, etc --- I use '<tt>uucp</tt>' since
that is an older Unix convention).
</blockquote>
<blockquote>So, an '<tt>ls -l</tt>' of your <tt>minicom</tt>,
<tt>kermit</tt>, <tt>uucico</tt>, <tt>pppd</tt>, <tt>chat</tt>,
should look something like this:
</blockquote>
<pre>-rwxr-sr-x 1 root uucp 119280 Nov 30 1997 /usr/bin/minicom
-r-sr-sr-x 1 uucp uucp 395148 Nov 30 1997 /usr/lib/uucp/uucico
-r-xr-sr-x 1 root uucp 632609 Feb 10 1997 /usr/local/bin/kermit
-rwsr-x--- 1 root dialout 83856 Nov 30 1997 /usr/sbin/pppd
-rwxr-xr-x 1 root bin 12224 Nov 30 1997 /usr/sbin/chat
</pre>
<blockquote>Note that <tt>minicom</tt>, <tt>uucico</tt> and <tt>kermit</tt>
are SGID <tt>uucp</tt> --- they don't need higher privileges.
<tt>uucico</tt> is the actual communications engine for the
<tt>uucp</tt> suite --- it's normally only called by the <tt>uucp</tt>
command, but it needs access to some directories (usually
<tt>/var/spool/uucp*</tt> or <tt>/usr/spool/uucp*</tt>) to work properly.
So we make it SUID to the <tt>uucp</tt> user as well as SGID to the
<tt>uucp</tt> group.
</blockquote>
<blockquote>You can ignore all of those details for <tt>pppd</tt> since
it must be run as root (in order to set IP addresses and add routing
entries). Here I've set it to be in the 'dialout' group
--- so that I can restrict who can execute this (thus
limiting who could try to use exploits on <tt>pppd</tt> to gain
'<tt>root</tt>' privileges). This is a simple and far too uncommon
way to narrow the security holes on a system.
</blockquote>
<blockquote>Note that the '<tt>chat</tt>' program gets no special
permissions. It is invoked by pppd which is already running as
'<tt>root</tt>' --- and thus, it needs no "extra" privileges.
</blockquote>
<strong><p><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
>so i do that, and quit X. I run chat with the following script
</p></strong>
<pre>TIMEOUT 5
"" ATZ
OK ATDT6161038
ABORT "NO CARRIER"
ABORT BUSY
ABORT "NO DIALTONE"
ABORT WAITING
TIMEOUT 45
CONNECT ""
TIMEOUT 5
"ogin:" blah
"assword:" blah
</pre>
<strong><p>i run chat
</p></strong>
<strong><p>$<tt>chat -f /etc/ppp/chatscript</tt> (where i store the above script)
i see linux go:
</p></strong>
<strong><p><code>AT</code></p></strong>
<blockquote><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
>Aha! That's your problem. You aren't supposed to run '<tt>chat</tt>'
directly. You are supposed to run <tt>pppd</tt>, and let <EM>it</EM>
invoke the '<tt>chat</tt>'. This is due to some technical internals
about how file descriptors are inherited.
</blockquote>
<blockquote>The '<tt>chat</tt>' program writes to its '<tt>stdout</tt>'
file descriptor and expects input (modem responses) from it's '<tt>stdin</tt>'
For that to work you have to provide it with suitable
open standard files. One way to do that would be to type:
</blockquote>
<blockquote><blockquote><code
>chat -V "" "ATZ" "OK" < /dev/modem > /dev/modem
</code></blockquote></blockquote>
<blockquote>... which engages in the simplest meaningful dialog that
I know of with a Hayes compatible modem. It simply
"waits for an empty string" (nothing), sends an <tt>ATZ</tt>, and
waits for an "<tt>OK</tt>"
</blockquote>
<blockquote>The <tt>-V</tt> switch here tells '<tt>chat</tt>' to
"be versbose to '<tt>stderr</tt>' which will, in this case, by our
console/terminal.
</blockquote>
<blockquote>On my system that command returns:
</blockquote>
<blockquote><blockquote><code>AT&FS2=255
</code></blockquote></blockquote>
<blockquote>... and an exit value (errorlevel) of <tt>0</tt> (no-error).
This isn't exactly the output I would expect from my interpretation
of the <tt>man</tt> page. But it's close enough (it suggests that my
modem returns this string when it recieves an <tt>ATZ</tt> comment
--- which suggests that this modem is translated <tt>ATZ</tt> into
"AT&F" (return to factory zettings), and setting the <rr>S2</tt>
register to 255).
</blockquote>
<blockquote>If I issue the command:
</blockquote>
<blockquote><blockquote><code
>chat -V "" "ATZ" "OK" < /dev/ttyS3 > /dev/ttyS3
</code></blockquote></blockquote>
<blockquote>... (a serial line with no modem attached) I get no output
and a return error of <tt>3</tt>.
</blockquote>
<blockquote>In any event you need to let pppd start your '<tt>chat</tt>'
command. The way to do that is to provide <tt>pppd</tt> with a
suitable "options" file.
</blockquote>
<blockquote>In my case I have multiple PPP accounts (some with
customers, some with ISP's). So I create an <tt>/etc/ppp/options</tt>
file that just consists of one line:
</blockquote>
<blockquote><blockquote><code>lock
</code></blockquote></blockquote>
<blockquote>... and I create different supplemental options files
that contain the details specific to a given provider.
</blockquote>
<blockquote>For example one looks pretty much like:
</blockquote>
<pre>asyncmap 0
crtscts
defaultroute
mtu 296 mru 296
modem /dev/modem 57600
connect "/usr/sbin/chat -f /etc/ppp/options.myisp"
</pre>
<blockquote>I'll skip the first several lines (you can read the PPP-HOWTO
and/or the <tt>pppd</tt> man pages for details about those) and focus
on the last couple of lines.
</blockquote>
<blockquote>The modem directive tells pppd to use serial line settings
(ioctls?, stty) that's appropriate for a modem. The other
option would be "local" (use a null modem cable or some
sort of network connection). This has purely to do with
how the line is "conditioned" and how the handshaking
lines are handled.
</blockquote>
<blockquote>The <tt>/dev/modem</tt> parameter tells it which device
to open (and thus what file descriptors to pass to the command
that will be invoked via the "<tt>connect</tt>" directive.
</blockquote>
<blockquote>The 57600 is simply the speed to which pppd should should
set the serial line (I presume this is also used at part
of an '<tt>stty</tt>' like function call).
</blockquote>
<blockquote>The last line is the "<tt>connect</tt>" directive. It
tells pppd what command to invoke to deal with the modem.
</blockquote>
<blockquote>So, you then invoke pppd with a command like the
following:
</blockquote>
<blockquote><blockquote><code>pppd file /etc/ppp/options.myisp
</code></blockquote></blockquote>
<blockquote>... this processes the "global" options in /etc/ppp/options
and then the options that you've specifed with the file
directive.
</blockquote>
<blockquote>Many examples I've see specify many of the options one
the command line. For example it's pretty common to
see a command like:
</blockquote>
<blockquote>
<blockquote>
<code>pppd modem /dev/modem 57600 file /usr/local/etc/ppprc
</code></blockquote></blockquote>
<blockquote>... which should be reasonably comprehensible once you
understand that pppd basically interprets all its command line
in the same way as it processes directives in it's options
files. Carefully reading the '<tt>man</tt>' page should clarify
what order and precedence affect the processing of all of
these directives and options. For example, you have to be
sure to avoid any conflicting options <tt>~/.ppprc</tt> (just
get rid of any such file unless you know what you're doing
with it).
</blockquote>
<blockquote>Another simple testing trick is to use 'minicom' to
dial the phone and establish your connection (log in).
Then use the "Quit without Resetting the Line" option
(using the [Ctrl]+[A], [Q] key sequence). This should
dump you out of minicom and back to a shell prompt
<EM>without</EM> disconnecting your modem. (It is then possible
to invoke pppd on that line --- using an alternative version
of the ISP options file without any "connect" directive).
</blockquote>
<blockquote>That trick doesn't work with kermit --- it won't exit
without resetting the communications line. From what
Frank de la Cruz tells me you can't use C-Kermit as a
replacement for 'chat' because of this. Basically he
says it violates some programming standards to do this.
(I still don't understand that --- but it's not currently
a priority to me. If someone understands it and wants
to explain --- write an article and send me a copy).
</blockquote>
<blockquote>but the modem doesnt respond... i know its weird.. but i just dont
think linux knows its there.. is the "linking" i do in X all that's
necessary? or am i missing something?
</blockquote>
<blockquote>The problem is that you haven't understood the PPP-HOWTO.
I can sympathize with that --- I spent quite a few hours
banging my head on it (at least an earlier version of it).
</blockquote>
<blockquote>However, try reading it again.
</blockquote>
<blockquote>There are several GUI and dialog driven frontends to
configure your PPP connection for you. I've never used
any of them (they didn't exist back when I was doing my
head banging). In any event a search of the Linux Software
Map using Boutell's search page
(<A HREF="http://www.boutell.com/lsm">http://www.boutell.com/lsm</A>)
on the term PPP will give a list of several of these and
a couple dozen related samples and utilities. There are
<A HREF="http://www.kde.org/">KDE</A>, Motif, and Tk interfaces
(among others).
</blockquote>
<blockquote>You could try a few of those to see if any of them
works for you. You should also be able to get your ISP
to help. If they refuse to help with Linux/Unix ppp
technical support --- consider getting a new ISP.
</blockquote>
<strong><p><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
>again sorry to bother u.
</p></strong>
<blockquote><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
>The question doesn't bother me. No apologies are necessary
for that. If I seemed grumpy, it's because I don't like
to see this sort of "hakkerboyz" text. I don't think it's
cool and I do find it difficult to read. It is only a bit
less offensive than GETTING MESSAGES IN ALL CAPS.
</blockquote>
<blockquote>People who won't take the time to use reasonable punctuation
and spelling in their questions cause me to wonder why I should
take the time to answer them. I'm sure that many don't even
pause to wonder; they just hit the delete key and move on.
</blockquote>
<blockquote>I have no idea how old you are, or why you choose to write
this way. Perhaps you have some very good reasons --- and
perhaps you think I'm some sort of pedantic curmudgeon.
You're welcome to hold and share that opinion (and I'll even
agree with part of it).
</blockquote>
<blockquote>However, one of the few liberties I take in this column is
the opportunity to occasional jump up on my soapbox and
express my opinion. The evidence is that some of my readers
find at least some of my tirades amusing, even (according
to some reports) "inspiring."
</blockquote>
<blockquote>For those that don't like it --- I can only say "Well, I did
at least attempt to answer the question." (I don't remember
of any occasion where I just flamed someone without answering
their question. I just won't say "RTFM" --- I'll at least
say which "FM" to "R").
</blockquote>
<blockquote>Anyway, I hope that the hint about how to invoke '<tt>chat</tt>'
helps. If that doesn't work (and direct invocations
with the redirection as shown, and '<tt>minicom</tt>' tests) all
don't work,
</blockquote>
<!-- end body -->
<P> <hr width="40%" align="center"> <P>
<!-- ............................. -->
<H3><img src="../gx/dennis/qbub.gif" alt="(?)"
width="50" height="28" align="left" border="0"
>More on Grammar</H3>
<p><strong>From CodeWaRi0r on 18 Aug 1998 </strong></p>
<!-- begin body -->
<strong><p>BTW: I apologize for my sloppy spelling and grammer... it's just the
internet talk that does that to you <IMG SRC="../gx/dennis/smily.gif" ALT=":)" height="24" width="20" align="middle"> Despite my erronious writing
(I'm sure I spelled that wrong.. LoL), I'm an accompilshed
programmer in C\C++ (including Window's MFC and UNIX), Visual Basic,
Perl, and Assembly languages
</p></strong>
<blockquote><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
>Thanks. I knew you <EM>could</EM> do it. I do recognize that
particular style of writing as a symptom of too much time
in "chat lounges" (or in IRC depending on your preferences).
</blockquote>
<blockquote>However, it is still difficult to read --- and it still
does say something about the relative importance you
place on a given communication. (Certainly you wouldn't
expect a resume' to be taken seriously if it was written
in this style).
</blockquote>
<blockquote>Incidentally the word is normally rendered as "erroneously."
</blockquote>
<blockquote>If you are an emacs user you can "quick check" a word using
the <tt>M-$</tt> key binding. Since I use '<tt>viper</tt>' mode, which
makes it irritating to get at the <tt>[Esc]</tt> for use as <tt>[Meta]</tt>
I add the following binding to my <tt>.emacs</tt> file:
</blockquote>
<blockquote><blockquote><code>(global-set-key '[f3 ?$] 'ispell-word)
<br>(global-set-key '[f3 ?%] 'ispell-buffer)
</code></blockquote></blockquote>
<blockquote>... which means that the two key sequence: <tt>[F3], [$]</tt>
will check the word at point and <tt>[F3], [%]</tt> will check
the whole buffer.
</blockquote>
<blockquote>(I suspect that vim also has some features for running
<tt>ispell</tt> --- though I've never used any of the IMprovements
of that editor).
</blockquote>
<blockquote>The fact that using emacs (<tt>xemacs</tt>, actually)
gives me '<tt>ispell</tt>' in all of my editing (including in my
favorite mail reader, <tt>mh-e</tt>, and my preferred newsreader,
<tt>Gnus</tt>) is one of the reasons why I use it.
</blockquote>
<blockquote>I personally despise the default emacs key bindings (which I
think are designed to torture the pinky until you're ready to
chop it off). So, I use <tt>viper-mode</tt> (a '<tt>vi</tt>'
emulation package) for the majority of my editing --- and I
supplement it with a fairly long list of custom binding, most of
which start with <tt>[F3]</tt> (the first available function key
that had nothing assigned to it --- <tt>[F1]</tt> was used as a
"Help" prefix and [F2] had some weird two column mode function
bound to it).
</blockquote>
<blockquote>So, I switch buffers with <tt>[F3] [b]</tt> and bring up a
"buffer menu" with <tt>[F3] [B]</tt> (capitalized). I bring up
the '<tt>emacs</tt>' calendar package with <tt>[F3] [C]</tt> (capitalized)
and a "shell-mode" buffer with <tt>[F3] [c]</tt> (lower case ---
for "command"). I check my diary (appointment list) with
<tt>[F3] [D]</tt> (capitalized), and bring up "dired" (file-manager
buffers) with <tt>[F3] [d]</tt> (uncapitalized). I "unsplit" my
display with <tt>[F3] [1]</tt> and split it vertically with
<tt>[F3] [2]</tt> or horizontally with <tt>[F3] [4]</tt>. (The experienced
'<tt>emacs</tt>' buff may note that most of these are functions
that are normally accessed via <tt>C-x</tt> keybindings; a prefix
that I find truly abominable).
</blockquote>
<blockquote>But ... I'm rambling. Some day maybe I'll write an
article on how I use '<tt>xemacs</tt>' --- it may be amusing
to some.
</blockquote>
<!-- end body -->
<!--startcut ======================================================= -->
<P> <hr> <P>
<H5 align="center"><a href="http://www.linuxgazette.com/ssc.copying.html"
>Copyright ©</a> 1998, James T. Dennis <BR>
Published in <I>Linux Gazette</I> Issue 32 September 1998</H5>
<P> <hr> <P>
<!--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-->
<table width="98%"><tr valign="center" align="center">
<td rowspan="3"><A HREF="../lg_answer32.html"><IMG
SRC="../gx/dennis/answernew.gif"
ALT="[ Answer Guy Index ]"></A></td>
<td><A HREF="tag_phreak.html">phreak</A>
<td><A HREF="tag_abandon.html">abandon</A>
<td><A HREF="tag_javaterm.html">javaterm</A>
<td><A HREF="tag_BBS.html">BBS</A>
<td><A HREF="tag_flaws.html">flaws</A>
<td><A HREF="tag_doslinux.html">doslinux</A>
<td><A HREF="tag_resume.html">resume</A>
</tr><tr valign="center" align="center">
<td><A HREF="tag_softwindows.html">softwindows</A>
<td><A HREF="tag_convert.html">convert</A>
<td><A HREF="tag_apache.html">apache</A>
<td><A HREF="tag_emulate.html">emulate</A>
<td><A HREF="tag_database.html">database</A>
<td><A HREF="tag_distrib.html">distrib</A>
<td><A HREF="tag_proxy.html">proxy</A>
</tr><tr valign="center" align="center">
<td><A HREF="tag_disable.html">disable</A>
<td><A HREF="tag_DVI.html">DVI</A>
<td><A HREF="tag_superblock.html">superblock</A>
<td><A HREF="tag_serial.html">serial</A>
<td><A HREF="tag_permission.html">permission</A>
<td><A HREF="tag_detach.html">detach</A>
<td><A HREF="tag_cdr.html">cdr</A>
</tr><tr valign="center" align="center">
<td><A HREF="tag_rs422.html">rs422</A>
<td><A HREF="tag_modem.html">modem</A>
<td><A HREF="tag_notfound.html">notfound</A>
<td><A HREF="tag_tuning.html">tuning</A>
<td><A HREF="tag_libc5.html">libc5</A>
<td><A HREF="tag_startup.html">startup</A>
<td><A HREF="tag_clock.html">clock</A>
<td><A HREF="tag_ping.html">ping</A>
</tr><tr valign="center" align="center">
<td><A HREF="tag_accounts.html">accounts</A>
<td><A HREF="tag_lilo.html">lilo</A>
<td><A HREF="tag_NDS.html">NDS</A>
<td><A HREF="tag_95slow.html">95slow</A>
<td><A HREF="tag_nonlinux.html">nonlinux</A>
<td><A HREF="tag_progenv.html">progenv</A>
<td><A HREF="tag_cluster.html">cluster</A>
<td><A HREF="tag_ftpd.html">ftpd</A>
</tr></table>
<P> <hr> <P>
<!--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-->
<A HREF="./lg_toc32.html"><IMG SRC="../gx/indexnew.gif"
ALT="[ Table Of Contents ]"></A>
<A HREF="../index.html"><IMG SRC="../gx/homenew.gif"
ALT="[ Front Page ]"></A>
<A HREF="lg_bytes32.html"><IMG SRC="../gx/back2.gif"
ALT="[ Previous Section ]"></A>
<A HREF="./stemen.html"><IMG SRC="../gx/fwd.gif"
ALT="[ Next Section ]"></A>
<!--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-->
</body>
</html>
<!--endcut ========================================================= -->
|