/usr/share/doc/HOWTO/fr-html/Serial-HOWTO.html is in doc-linux-fr-html 2013.01-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.69">
<title>Le Linux HOWTO pour les ports série</title>
</head>
<body>
<h1>Le Linux HOWTO pour les ports série</h1>
<h2>Greg Hankins, <code><a href=
"mailto:greg.hankins@cc.gatech.edu">greg.hankins@cc.gatech.edu</a></code><br>
traduit par Eric Festinger, <code><a href=
"mailto:eric@midix.frmug.org">eric@midix.frmug.org</a></code></h2>
v1.11, 15 Novembre 1997
<hr>
<em>Ce document décrit la configuration sous Linux des ports
série, des programmes associés, et des
périphériques qui y sont connectés.</em>
<hr>
<h2><a name="s1">1. Introduction</a></h2>
<p>Ce document est la traduction française du Linux Serial
HOWTO. Il tente de décrire la configuration des modems et
terminaux sous Linux, de donner quelques conseils, et enfin de
résoudre les problèmes liés aux ports
série. Il est destiné plus particulièrement
aux plateformes Intel x86, même s'il doit être
applicable à d'autres architectures.</p>
<h2><a name="ss1.1">1.1 Copyright</a></h2>
<p>Copyright (c) 1993 - 1997 Greg Hankins. Ce document peut
être redistribué sous les termes de la licence LDP
disponible à <code><a href=
"http://sunsite.unc.edu/LDP/COPYRIGHT.html">http://sunsite.unc.edu/LDP/COPYRIGHT.html</a></code>.
Il ne peut être modifié sans l'accord de son
auteur.</p>
<h2><a name="ss1.2">1.2 Nouvelles versions de ce document</a></h2>
<p>La version originale la plus récente de ce document est
disponible à <code><a href=
"ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/">ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/</a></code>
ainsi que sur les sites miroirs. D'autres formats (PostScript,
DVI...) existent dans le répertoire <code><a href=
"ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/other-formats/">other-formats</a></code>.
Ce HOWTO est également consultable à <code><a href=
"http://sunsite.unc.edu/LDP/HOWTO/Serial-HOWTO.html">http://sunsite.unc.edu/LDP/HOWTO/Serial-HOWTO.html</a></code>
et est posté mensuellement dans le forum de discussions
<code><a href=
"news:comp.os.linux.answers">comp.os.linux.answers</a></code>.</p>
<p>La version française est disponible sur <code><a href=
"http://www.freenix.fr/linux/HOWTO/Serial-HOWTO.html">http://www.freenix.fr/linux/HOWTO/Serial-HOWTO.html</a></code>,
et est postée tous les mois dans <code><a href=
"news:fr.comp.os.linux.annonces">fr.comp.os.linux.annonces</a></code>.</p>
<h2><a name="ss1.3">1.3 Retour d'informations</a></h2>
<p>Merci de me faire parvenir par email à <code><a href=
"mailto:greg.hankins@cc.gatech.edu">greg.hankins@cc.gatech.edu</a></code>
toutes questions, commentaires et suggestions. Je suis
extrêmement intéressé par ce que vous pensez
à propos de ce HOWTO, et par les éventuelles
améliorations. Faites-moi part de ce que vous ne comprenez
pas ou de ce qui nécessite des éclaircissements. Je
répondrais à tous les emails, même si ça
peut me prendre une semaine ou plus. Je reçois beaucoup de
messages de <code>root</code> ou de sites mal configurés.
Assurez-vous de m'envoyer un message électronique en tant
que personne réelle, ainsi que du bon fonctionnement de
votre système de messagerie. Si vous n'avez toujours pas de
réponse de ma part au bout de deux semaines, merci de
m'envoyer à nouveau votre message.</p>
<p>Je peux également être joint à :<br>
Greg Hankins<br>
College of Computing<br>
801 Atlantic Drive<br>
Atlanta, GA 30332-0280<br>
par courrier postal, et à <code><a href=
"http://www.cc.gatech.edu/staff/h/Greg.Hankins/">http://www.cc.gatech.edu/staff/h/Greg.Hankins/</a></code>.</p>
<p>Merci d'inclure le numéro de version de ce HOWTO dans
votre message. Ceci est la version 1.11.</p>
<h2><a name="ss1.4">1.4 Avertissement</a></h2>
<p>Votre système peut varier par rapport aux exemples, et
les solutions présentées dans ce HOWTO peuvent ne pas
fonctionner.</p>
<h2><a name="s2">2. Matériel supporté</a></h2>
<p>Les matériels suivants fonctionnent correctement sous
Linux.</p>
<h2><a name="ss2.1">2.1 Cartes série standards pour
PC</a></h2>
<ul>
<li>cartes série standards pour PC (COM1 - COM4), auxquelles
peuvent être connectés des périphériques
série externes (modems, souris série, etc.)</li>
<li>modems internes standards pour PC (COM1 - COM4)</li>
<li>Quickpath Systems Port-Folio 550e (autorisant les IRQ 3, 4, 5,
9, 10, 11, 12, ou 15)</li>
</ul>
<p>Remarque : en raison de conflits d'adresses, vous ne pouvez
pas utilisez simultanément COM4 et une carte vidéo
IBM8514. Ceci est dû à un bogue de la carte
IBM8514.</p>
<h2><a name="ss2.2">2.2 Modems Plug And Play (PnP)</a></h2>
<p>Même si les modems PnP fonctionnent sous Linux, je ne les
recommande pas. Néanmoins, voici quelques
conseils :</p>
<ul>
<li>Essayez de désactiver les fonctionnalités PnP
dans le BIOS de l'ordinateur et du modem.</li>
<li>Démarrez sous Win95, configurez le modem, et
vérifiez que les paramètres sont sauvegardés
lorsque vous redémarrez sous Linux. Si ce n'est pas le
cas :</li>
<li>Démarrez sous Win95, configurez le modem, et
redémarrez à chaud (<em>warm boot</em>) sous Linux,
de manière à ce que les paramètres soient
préservés. Vous pouvez effectuer cette manipulation
avec <code>loadlin</code>.</li>
<li>Récupérez les outils PnP à <code><a href=
"http://www.redhat.com/linux-info/pnp">http://www.redhat.com/linux-info/pnp</a></code>.</li>
<li>Et, bien sûr, utilisez un <em>vrai</em>
modem :-)</li>
</ul>
<h2><a name="ss2.3">2.3 Cartes série multiports simples
(équipées d'UART 8250/16450/16550A)</a></h2>
<ul>
<li>AST FourPort et compatibles (4 ports)</li>
<li>Accent Async-4 (4 ports)</li>
<li>Arnet Multiport-8 (8 ports)</li>
<li>Bell Technologies HUB6 (6 ports)</li>
<li>Boca BB-1004 (4 ports), BB-1008 (8 ports), BB-2016 (16
ports)</li>
<li>Boca IOAT66 (6 ports)</li>
<li>Boca 2by4 (4 ports série, 2 ports
parallèles)</li>
<li>Computone ValuePort V4-ISA (compatible AST FourPort)</li>
<li>Digi PC/8 (8 ports)</li>
<li>GTEK BBS-550 (8 ports)</li>
<li>Longshine LCS-8880, Longshine LCS-8880+ (compatible AST
FourPort)</li>
<li>Moxa C104, Moxa C104+ (compatible AST FourPort)</li>
<li>PC-COMM (4 ports)</li>
<li><a href="http://www.sealevel.com">Sealevel Systems</a> COMM-2
(2 ports), COMM-4 (4 ports) et COMM-8 (8 ports)</li>
<li>SIIG I/O Expander 2S IO1812 (4 ports)</li>
<li>STB-4COM (4 ports)</li>
<li>Twincom ACI/550</li>
<li>Usenet Serial Board II (4 ports)</li>
</ul>
<p>De manière générale, Linux supporte
n'importe quelle carte équipée d'un UART 8250, 16450,
16550 ou 16550A (ou compatible), et n'importe quel modem
émulant un de ces composants.</p>
<p>Remarque : les BB-1004 et BB-1008 ne supportent pas les
signaux DCD et RI, et ne sont donc pas utilisables pour des modems
répondeurs. Ils fonctionnent néanmoins très
bien dans les autres cas.</p>
<h2><a name="ss2.4">2.4 Cartes série multiports
intelligentes</a></h2>
<ul>
<li>Comtrol RocketPort (ASIC 36MHz ; 4, 8, 16 ou 32 ports)<br>
contact : <code><a href=
"mailto:info@comtrol.com">info@comtrol.com</a></code> ou
<code><a href=
"http://www.comtrol.com">http://www.comtrol.com</a></code><br>
état du gestionnaire de périphérique :
supporté par Comtrol<br>
emplacement : <code><a href=
"ftp://tsx-11.mit.edu/pub/linux/packages/comtrol">ftp://tsx-11.mit.edu/pub/linux/packages/comtrol</a></code></li>
<li>Computone IntelliPort II (80186 16MHz ; 4, 8, ou 16 ports),<br>
IntelliPort II EXpandable (80186 20MHz ; 16 - 64 ports)<br>
contact : Michael H. Warfield, <code><a href=
"mailto:mhw@wittsend.atl.ga.us">mhw@wittsend.atl.ga.us</a></code><br>
état du gestionnaire de périphérique :
pré-ALPHA</li>
<li>Cyclades Cyclom-Y (UART Cirrus Logic CD1400 ; 8 - 32
ports),<br>
Cyclom-Z (MIPS R3000 25MHz ; 8 - 128 ports)<br>
contact : <code><a href=
"mailto:sales@cyclades.com">sales@cyclades.com</a></code> ou
<code><a href=
"http://www.cyclades.com">http://www.cyclades.com</a></code><br>
état du gestionnaire de périphérique :
supporté par Cyclades<br>
emplacement : <code><a href=
"ftp://ftp.cyclades.com/pub/cyclades">ftp://ftp.cyclades.com/pub/cyclades</a></code>
et inclus dans le noyau Linux depuis la version 1.1.75</li>
<li>Decision PCCOM8 (8 ports)<br>
contact : <code><a href=
"mailto:pccom8@signum.se">pccom8@signum.se</a></code><br>
emplacement : <code><a href=
"ftp://ftp.signum.se/pub/pccom8">ftp://ftp.signum.se/pub/pccom8</a></code></li>
<li>Digi PC/Xi (80186 12.5MHz ; 4, 8, ou 16 ports),<br>
PC/Xe (80186 12.5/16MHz ; 2, 4, ou 8 ports),<br>
PC/Xr (IDT3041 16MHz ; 4 ou 8 ports),<br>
PC/Xem (IDT3051 20MHz ; 8 - 64 ports)<br>
contact : <code><a href=
"mailto:sales@dgii.com">sales@dgii.com</a></code> ou <code><a href=
"http://www.dgii.com">http://www.dgii.com</a></code><br>
état du gestionnaire de périphérique :
supporté par Digi<br>
emplacement : <code><a href=
"ftp://ftp.dgii.com/drivers/linux">ftp://ftp.dgii.com/drivers/linux</a></code>
et inclus dans le noyau Linux depuis la version 2.0</li>
<li>Digi COM/Xi (80188 10MHz ; 4 ou 8 ports)<br>
contact : Simon Park, <code><a href=
"mailto:si@wimpol.demon.co.uk">si@wimpol.demon.co.uk</a></code><br>
état du gestionnaire de périphérique :
ALPHA<br>
Remarque : régulièrement, Simon ne peut pas lire
son mail pendant plusieurs mois à cause de son travail. Mark
Hatle, <code><a href=
"mailto:fray@krypton.mankato.msus.edu">fray@krypton.mankato.msus.edu</a></code>
s'est gracieusement porté volontaire pour rendre le
gestionnaire de périphérique disponible si vous en
avez besoin. Néanmoins, Mark ne s'occupe pas de la
maintenance ni du support de ce gestionnaire.</li>
<li>Equinox SuperSerial Technology (ASIC 30MHz ; 2 - 128 ports)<br>
contact : <code><a href=
"mailto:sales@equinox.com">sales@equinox.com</a></code> ou
<code><a href=
"http://www.equinox.com">http://www.equinox.com</a></code><br>
état du gestionnaire de périphérique :
supporté par Equinox<br>
emplacement : <code><a href=
"ftp://ftp.equinox.com/library/sst">ftp://ftp.equinox.com/library/sst</a></code></li>
<li>GTEK Cyclone (UART 16C654 ; 6, 16 et 32 ports),<br>
SmartCard (Dallas DS80C320 24MHz ; 8 ports),<br>
BlackBoard-8A (UART 16C654 ; 8 ports),<br>
PCSS (8032 15/24MHz ; 8 ports)<br>
contact : <code><a href=
"mailto:spot@gtek.com">spot@gtek.com</a></code> ou <code><a href=
"http://www.gtek.com">http://www.gtek.com</a></code><br>
état du gestionnaire de périphérique :
supporté par GTEK<br>
emplacement : <code><a href=
"ftp://ftp.gtek.com/pub">ftp://ftp.gtek.com/pub</a></code></li>
<li>Hayes ESP (COM-bic ; 1 - 8 ports)<br>
contact : Andrew J. Robinson, <code><a href=
"mailto:arobinso@nyx.net">arobinso@nyx.net</a></code> ou
<code><a href=
"http://www.nyx.net/~arobinso">http://www.nyx.net/~arobinso</a></code><br>
état du gestionnaire de périphérique :
supporté par l'auteur<br>
emplacement : <code><a href=
"http://www.nyx.net/~arobinso">http://www.nyx.net/~arobinso</a></code>
et inclus dans le noyau Linux depuis la version 2.1.15</li>
<li>Maxpeed SS (Toshiba ; 4, 8 et 16 ports)<br>
contact : <code><a href=
"mailto:info@maxpeed.com">info@maxpeed.com</a></code> ou
<code><a href=
"http://www.maxpeed.com">http://www.maxpeed.com</a></code><br>
état du gestionnaire de périphérique :
supporté par Maxpeed<br>
emplacement : <code><a href=
"ftp://maxpeed.com/pub/ss">ftp://maxpeed.com/pub/ss</a></code></li>
<li>Moxa C218 (80286 12MHz ; 8 ports),<br>
Moxa C320 (TMS320 40MHz ; 8 - 32 ports)<br>
contact : <code><a href=
"mailto:info@moxa.com.tw">info@moxa.com.tw</a></code> ou
<code><a href=
"http://www.moxa.com.tw">http://www.moxa.com.tw</a></code><br>
état du gestionnaire de périphérique :
supporté par Moxa<br>
emplacement : <code><a href=
"ftp://ftp.moxa.com.tw/drivers/c218-320/linux">ftp://ftp.moxa.com.tw/drivers/c218-320/linux</a></code></li>
<li>SDL RISCom/8 (Cirrus Logic CD180 ; 8 ports)<br>
contact : <code><a href=
"sales@sdlcomm.com">sales@sdlcomm.com</a></code> ou <code><a href=
"http://www.sdlcomm.com">http://www.sdlcomm.com</a></code><br>
état du gestionnaire de périphérique :
supporté par SDL<br>
emplacement : <code><a href=
"ftp://ftp.sdlcomm.com/pub/drivers">ftp://ftp.sdlcomm.com/pub/drivers</a></code></li>
<li>Specialix SIO (Zilog Z280 20MHz ; 4 - 32 ports),<br>
XIO (25MHz Zilog Z280 ; 4 - 32 ports)<br>
contact : Simon Allen, <code><a href=
"mailto:simonallen@cix.compulink.co.uk">simonallen@cix.compulink.co.uk</a></code><br>
état du gestionnaire de périphérique :
BETA<br>
emplacement : <code><a href=
"ftp://sunsite.unc.edu/pub/Linux/kernel/patches/serial">ftp://sunsite.unc.edu/pub/Linux/kernel/patches/serial</a></code></li>
<li>Stallion EasyIO-4 (4 ports), EasyIO-8 (8 ports), et<br>
EasyConnection (8 - 32 ports) - toutes avec des UART,<br>
Stallion (CPU 80186 8MHz ; 8 ou 16 ports),<br>
Brumby (CPU 80186 10/12 MHz ; 4, 8 ou 16 ports),<br>
ONboard (CPU 80186 16MHz ; 4, 8, 12, 16 ou 32 ports),<br>
EasyConnection 8/64 (CPU 80186 25MHz ; 8 - 64 ports)<br>
contact : <code><a href=
"mailto:sales@stallion.com">sales@stallion.com</a></code> ou
<code><a href=
"http://www.stallion.com">http://www.stallion.com</a></code><br>
état du gestionnaire de périphérique :
supporté par Stallion<br>
emplacement : <code><a href=
"ftp://ftp.stallion.com/drivers/ata5/Linux">ftp://ftp.stallion.com/drivers/ata5/Linux</a></code>
et inclus dans le noyau Linux depuis la version 1.3.27</li>
</ul>
<p>Un descriptif des produits Comtrol, Cyclades, Digi, et Stallion
est paru dans le numéro 14 de juin 1995 du <em>Linux
Journal</em>. Il est disponible à <code><a href=
"http://www.ssc.com/lj/issue14">http://www.ssc.com/lj/issue14</a></code>.</p>
<h2><a name="ss2.5">2.5 Matériel non
supporté</a></h2>
<p>Les modems dits ``Winmodems'', par exemple l'USR Sportster
Winmodem et l'IBM Aptiva MWAVE, ne sont <em>pas</em>
supportés sous Linux. Ils utilisent des technologies
propriétaires nécessitant des gestionnaires de
périphériques spéciaux pour Windows. Les
modems nécessitant des gestionnaires Rockwell RPI sont
à éviter pour la même raison.</p>
<p>Les cartes série intelligentes nécessitant des
gestionnaires non disponibles sous Linux, ne pourront pas
fonctionner.</p>
<h2><a name="s3">3. Comment se nomment les ports
série ?</a></h2>
<p>Un port d'E/S permet de recevoir des données depuis, et
d'en envoyer à partir d'un ordinateur. Il existe plusieurs
types de ports d'E/S, comme les ports série, les ports
parallèles, les contrôleurs de disques durs, les
cartes Ethernet, etc. Les modems et les terminaux dont nous allons
traiter n'utilisent que des ports série. Chacun de ces ports
possède une adresse d'E/S, et un vecteur d'interruption
(IRQ). Les quatre ports série suivants correspondent
à COM1 - COM4 :</p>
<blockquote>
<pre>
<code>ttyS0 (COM1) adresse 0x3f8 IRQ 4
ttyS1 (COM2) adresse 0x2f8 IRQ 3
ttyS2 (COM3) adresse 0x3e8 IRQ 4
ttyS3 (COM4) adresse 0x2e8 IRQ 3
</code>
</pre></blockquote>
Si aucun port série n'est détecté lors de
l'amorçage de Linux, assurez-vous que leur support a
été sélectionné et compilé dans
le noyau. Dans ce document, je me réfère à
COM1 pour <code>ttyS0</code>, COM2 pour <code>ttyS1</code>, COM3
pour <code>ttyS2</code>, et à COM4 pour <code>ttyS3</code>.
Par défaut, ces ports ont des IRQ communes, et vous ne
pouvez pas les utiliser simultanément dans cette
configuration. Certaines de ces IRQ doivent être
réassignées. Reportez-vous à la section
<a href="#irqaddr">Puis-je utiliser plus de deux ports
série ?</a>.
<p>Sur certaines installations, deux périphériques
supplémentaires vont être créés :
<code>/dev/modem</code> pour le modem et <code>/dev/mouse</code>
pour la souris. Ce sont des liens symboliques sur le
périphérique approprié (dans le
répertoire <code>/dev</code>) que vous avez
spécifié lors de l'installation. Si vous
possédez une souris de type bus PS/2,
<code>/dev/mouse</code> pointera correctement sur le
périphérique de la souris bus.</p>
<p>Plusieurs discussions ont porté sur les avantages et
inconvénients de ces pseudo-périphériques
<code>/dev/mouse</code> et <code>/dev/modem</code>.
Personnellement, je décourage <em>fortement</em>
l'utilisation de ces liens. En particulier, si vous prévoyez
d'employer plusieurs modems pour les connexions entrantes sur
<code>/dev/modem</code>, des problèmes peuvent
apparaître à cause des fichiers de verrouillage
(<em>lock files</em>). Vous pouvez néanmoins les utiliser si
vous le désirez, mais <em>assurez-vous qu'ils pointent bien
sur les bons périphériques</em>. Cependant, si vous
supprimez ces liens, certaines applications (comme
<code>minicom</code>) peuvent ne plus fonctionner sans
reconfiguration.</p>
<h2><a name="ss3.1">3.1 Périphériques série et
numéros dans <code>/dev</code></a></h2>
<blockquote>
<pre>
<code>/dev/ttyS0 majeur 4, mineur 64 /dev/cua0 majeur 5, mineur 64
/dev/ttyS1 majeur 4, mineur 65 /dev/cua1 majeur 5, mineur 65
/dev/ttyS2 majeur 4, mineur 66 /dev/cua2 majeur 5, mineur 66
/dev/ttyS3 majeur 4, mineur 67 /dev/cua3 majeur 5, mineur 67
</code>
</pre></blockquote>
Remarque : toutes les distributions doivent être
livrées avec ces périphériques
déjà correctement configurés, ce que vous
pouvez vérifier en tapant les commandes :
<blockquote>
<pre>
<code>linux% ls -l /dev/cua*
linux% ls -l /dev/ttyS*
</code>
</pre></blockquote>
<h3><a name="dev"></a> Créer les périphériques
dans <code>/dev</code></h3>
<p>Si un périphérique est absent, vous devez le
créer avec la commande <code>mknod</code>. Par exemple, pour
<code>ttyS0</code> :</p>
<blockquote>
<pre>
<code>linux# mknod -m 666 /dev/cua0 c 5 64
linux# mknod -m 666 /dev/ttyS0 c 4 64
</code>
</pre></blockquote>
Le script <code>MAKEDEV</code>, situé dans le
répertoire <code>/dev</code>, peut être utilisé
pour simplifier leur création. Par exemple, pour
<code>ttyS0</code> :
<blockquote>
<pre>
<code>linux# cd /dev
linux# ./MAKEDEV ttyS0
</code>
</pre></blockquote>
Cette commande crée les périphériques
d'entrée et de sortie correspondants, et positionne
également les bonnes permissions.
<h2><a name="ss3.2">3.2 Remarques pour les cartes multiports
simples</a></h2>
<p>Les périphériques utilisés par les cartes
multiports sont dépendants du type de carte que vous
possédez. Ils sont listés en détail dans le
fichier <code>rc.serial</code> fourni avec le programme
<code>setserial</code>. Je recommande vivement de
récupérer la version la plus récente de
<code>setserial</code> si vous devez utiliser une telle carte. Vous
devrez alors sûrement créer ces
périphériques, soit avec la commande
<code>mknod</code>, soit avec le script <code>MAKEDEV</code>. Ils
doivent être déclarés en ajoutant 64 au
numéro du port. Par exemple, pour
<code>ttyS17</code> :</p>
<blockquote>
<pre>
<code>linux# mknod -m 666 /dev/cua17 c 5 81
linux# mknod -m 666 /dev/ttyS17 c 4 81
</code>
</pre></blockquote>
Car ``64 + 17 = 81''. En utilisant le script <code>MAKEDEV</code>,
il suffit d'entrer :
<blockquote>
<pre>
<code>linux# cd /dev
linux# ./MAKEDEV ttyS17
</code>
</pre></blockquote>
<p>Remarque : le listing des ports COM5-COM8 pour les IO1812
est erroné dans le manuel SIIG. Les valeurs doivent
être remplacées par COM5=0x250, COM6=0x258,
COM7=0x260, et COM8=0x268.</p>
<p>Remarque : le registre d'état d'interruption
(<em>Interrupt Status Register</em>) de la carte Digi PC/8 se
trouve en 0x140.</p>
<p>Remarque : pour la carte AST Fourport, le fichier
<code>rc.serial</code> doit spécifier le paramètre
<code>skip_test</code>.</p>
<h2><a name="ss3.3">3.3 Remarques pour les cartes multiports
intelligentes</a></h2>
<p>Lisez les informations fournies avec le gestionnaire. Ces cartes
utilisent des périphériques non-standards. Ces
informations varient suivant le matériel.</p>
<h2><a name="s4">4. Quelques programmes intéressants
à connaître</a></h2>
<h2><a name="ss4.1">4.1 Qu'est-ce que <code>getty</code> ?</a></h2>
<p><code>getty</code> est un programme qui gère la phase
d'entrée en session (<em>login</em>) sur un système
Unix. Il est indispensable si vous souhaitez vous loguer sur votre
machine Linux avec un modem. Il n'est par contre pas utile pour des
communications sortantes. Il existe trois versions couramment
utilisées avec Linux : <code>getty_ps</code>,
<code>mgetty</code> et <code>agetty</code>. Chacune possède
sa propre syntaxe. Aussi, assurez-vous d'utiliser celle
correspondant à votre version de <code>getty</code>.</p>
<h3>À propos de <code>getty_ps</code></h3>
<p>La plupart des distributions installent directement le paquetage
<code>getty_ps</code>. Il contient deux programmes :
<code>getty</code> pour la console et les terminaux, et
<code>uugetty</code> pour les modems. Je parlerai essentiellement
de cette version, car c'est celle que j'utilise.</p>
<h3>À propos de <code>mgetty</code></h3>
<p><code>mgetty</code> est un <code>getty</code>
spécialisé pour l'utilisation avec des modems. Par
rapport aux autres versions, <code>mgetty</code> gère les
fax, et détecte automatiquement les connexions PPP. La
documentation est excellente et suffisante. Veuillez vous y
reporter pour l'installation. Les informations les plus
récentes sur <code>mgetty</code> peuvent être
trouvées à <code><a href=
"http://www.leo.org/~doering/mgetty/">http://www.leo.org/~doering/mgetty/</a></code>.</p>
<h3>À propos de <code>agetty</code></h3>
<p><code>agetty</code> est la troisième variante de
<code>getty</code>. C'est une version simple complètement
fonctionnelle, et plus particulièrement destinée
à l'utilisation des consoles virtuelles et des terminaux
plutôt que des modems.</p>
<h2><a name="ss4.2">4.2 Qu'est-ce que
<code>setserial</code> ?</a></h2>
<p><code>setserial</code> est un programme autorisant la
consultation et la modification des différents attributs
(adresse de port, interruption, etc.) d'un
périphérique série. Vous pouvez
déterminer le numéro de version installée en
lançant <code>setserial</code> sans argument.</p>
<p>Lorsque votre système Linux démarre, seuls
<code>ttyS{0-3}</code> sont configurés avec les IRQ
positionnées par défault à 4 et 3. Si vous
possédez d'autres ports série sur d'autres cartes, ou
si <code>ttyS{0-3}</code> utilisent des IRQ non standards, vous
<em>devez</em> lancer ce programme pour configurer ces ports.
Consultez le manuel pour une description complète des
options.</p>
<h2><a name="dialout"></a> <a name="s5">5. Comment puis-je appeler
avec mon modem ?</a></h2>
<h2><a name="ss5.1">5.1 Matériel nécessaire</a></h2>
<p>Tout d'abord, assurez-vous d'avoir le bon câble. Votre
modem requiert un câble droit, sans inversion de fils. Vous
devriez pouvoir vous en procurer dans n'importe quel magasin
d'informatique. Vérifiez également le genre des
connecteurs. Pour un port à 25 broches, ce sera toujours un
modèle mâle DB25, à ne pas confondre avec les
ports parallèles à embase femelle DB25. Connectez
votre modem sur un de vos ports série. Consultez si
nécessaire le manuel de votre modem.</p>
<h3>Remarques pour les modems internes</h3>
<p>Pour un modem interne, aucun câble n'est
nécessaire. De même, aucun port série n'est
requis, car la carte modem en possède un interne. Vous devez
seulement configurer votre modem pour qu'il utilise une
interruption (IRQ) et une adresse d'E/S libres. Reportez-vous au
manuel de votre modem, ainsi qu'à la section <a href=
"#irqaddr">Puis-je utiliser plus de deux
périphériques série ?</a> si vous avez
besoin d'aide pour choisir les interruptions et les adresses.</p>
<p>Sur certaines cartes mères, il peut être
nécessaire de désactiver les ports série afin
d'éviter les conflits avec le modem. Cette manipulation peut
être effectuée avec des cavaliers ou les
paramètres du BIOS. Consultez le manuel de votre carte
mère.</p>
<p>Suite à un bogue des cartes vidéo IBM8514, les
modems internes ne peuvent pas fonctionner sur <code>ttyS3</code>.
Si Linux ne détecte pas le modem sur <code>ttyS3</code>, il
suffit alors d'utiliser <code>setserial</code> pour que le modem
fonctionne correctement. Un modem interne <code>ttyS{0-2}</code> ne
devrait pas poser de problème de détection. Linux
n'effectue pas d'autoconfiguration du <code>ttyS3</code> à
cause de ce bogue lié à la carte vidéo.</p>
<h2><a name="ss5.2">5.2 ``Parlez'' à votre modem</a></h2>
<p>Avant de vous lancez dans le paramétrage assez complexe
de SLIP ou PPP, utilisez <code>kermit</code> ou n'importe quel
autre programme de communication pour tester votre configuration.
La version la plus récente de <code>kermit</code> peut
être téléchargée depuis <code><a href=
"http://www.columbia.edu/kermit/">http://www.columbia.edu/kermit/</a></code>.
L'exemple suivant suppose que votre modem est sur
<code>ttyS3</code>, et que sa vitesse est fixée à
115200 bps :</p>
<blockquote>
<pre>
<code>linux# kermit
C-Kermit 6.0.192, 6 Sep 96, for Linux
Copyright (C) 1985, 1996,
Trustees of Columbia University in the City of New York.
Default file-transfer mode is BINARY
Type ? or HELP for help.
C-Kermit>set line /dev/ttyS3
C-Kermit>set carrier-watch off
C-Kermit>set speed 115200
/dev/ttyS3, 115200 bps
C-Kermit>c
Connecting to /dev/ttyS3, speed 115200.
The escape character is Ctrl-\ (ASCII 28, FS)
Type the escape character followed by C to get back,
or followed by ? to see other options.
ATE1Q0V1 ; vous tapez cette chaine puis la touche Entree
OK ; le modem doit repondre comme ca
</code>
</pre></blockquote>
<p>Si votre modem répond aux commandes <code>AT</code>, vous
pouvez supposer qu'il fonctionne correctement du côté
Linux. Il ne reste plus qu'à essayer d'appeler un autre
modem :</p>
<blockquote>
<pre>
<code>ATDT7654321
</code>
</pre></blockquote>
où 7654321 est un numéro de téléphone.
Utilisez ATDP à la place de ATDT si vous n'êtes pas
connecté à un central numérique. Votre modem
fonctionne si l'appel aboutit.
<p>Pour revenir à l'invite <code>kermit</code>, appuyez
simultanément sur les touches Ctrl et backslash, puis sur
C :</p>
<blockquote>
<pre>
<code>Ctrl-\-C
(Retour a linux)
C-Kermit>quit
linux#
</code>
</pre></blockquote>
<p>Il s'agissait juste d'un test de numérotation ``à
la main''. La méthode normale est de laisser
<code>kermit</code> numéroter à votre place à
l'aide de sa base de données interne de modems. Par exemple,
pour un modem US Robotics (USR) :</p>
<blockquote>
<pre>
<code>linux# kermit
C-Kermit 6.0.192, 6 Sep 1997, for Linux
Copyright (C) 1985, 1996,
Trustees of Columbia University in the City of New York.
Default file-transfer mode is BINARY
Type ? or HELP for help
C-Kermit>set modem type usr ; Selection du type de modem
C-Kermit>set line /dev/ttyS3 ; Choix du peripherique
C-Kermit>set speed 115200 ; Vitesse de communication
C-Kermit>dial 7654321 ; Numerotation
Number: 7654321
Device=/dev/ttyS3, modem=usr, speed=115200
Call completed.<BEEP>
Connecting to /dev/ttyS3, speed 115200
The escape character is Ctrl-\ (ASCII 28, FS).
Type the escape character followed by C to get back,
or followed by ? to see other options.
Welcome to ...
login:
</code>
</pre></blockquote>
<p>Reportez-vous à la section <a href="#comms">Programmes de
communication</a> pour plus de liens.</p>
<p>Lorsque vous appelez avec votre modem, paramétrez la
vitesse au débit maximal supporté par votre modem.
Les systèmes Linux avec une version de la <code>libc</code>
supérieure à 5.x supportent des vitesses
jusqu'à 115200 bps. <code>libc</code> est habituellement
située dans <code>/lib</code>. Vérifiez dans ce
répertoire la version que vous avez. Si Linux ne
reconnaît pas des vitesses de 57600 ou 115200 bps, vous devez
alors utiliser le program <code>setserial</code> pour passer votre
port série à une vitesse supérieure.
Reportez-vous à la section <a href="#spdhi">Comment
configurer mes ports série à des vitesses
supérieures ?</a>. Sélectionnez ensuite une
vitesse de 38400 bps dans votre programme de communications.</p>
<h2><a name="ss5.3">5.3 Configuration du modem en mode
appelant</a></h2>
<p>Pour appeler, vous pouvez configurer votre modem comme vous le
voulez. Si vous souhaitez l'utiliser pour des communications
entrantes, vous <em>devez</em> paramétrer votre modem
à la même vitesse que pour <code>getty</code>. Ainsi,
si vous voulez exécuter <code>getty</code> à 38400
bps, fixez également la vitesse à 38400 bps lors du
paramétrage du modem, pour éviter une
incompatibilité de vitesses avec l'ordinateur. En
général, les réglages d'usine avec correction
d'erreurs et contrôle de flux matériel correspondent
au réglage optimal en mode appelant. Consultez le manuel du
modem pour obtenir ces réglages.</p>
<h2><a name="ss5.4">5.4 Contrôle de flux
matériel</a></h2>
<p>Je vous recommande vivement d'utiliser le contrôle de flux
matériel (RTS/CTS) si votre modem le supporte. Cette
fonctionalité est particulièrement importante lorsque
la compression de données est active. Premièrement,
vous devez autoriser le contrôle de flux RTS/CTS sur le port
série. Le mieux est de le faire au démarrage, par
exemple dans <code>/etc/rc.d/rc.local</code> ou
<code>/etc/rc.d/rc.serial</code>. Assurez-vous que ces fichiers
sont bien exécutés par le fichier principal
<code>rc.sysinit</code>. Ensuite, pour chacun des ports
série pour lesquels vous désirez activer le
contrôle de flux matériel, vous devez entrer la
commande suivante :</p>
<blockquote>
<pre>
<code>stty crtscts < /dev/ttyS3
</code>
</pre></blockquote>
Vous devez également activer le contrôle de flux
RTS/CTS sur le modem. Consultez le manuel du modem, car le
paramétrage varie suivant les fabricants. N'oubliez pas de
sauvegarder cette configuration, si votre modem le permet.
<h2><a name="s6">6. Comment puis-je appeler et être
appelé avec mon modem et
<code>getty_ps</code> ?</a></h2>
<p>Faites déjà fonctionner correctement votre modem
en mode appelant. Si vous n'avez pas encore lu la section <a href=
"#dialout">Comment puis-je appeler avec mon modem ?</a>,
<em>lisez-la maintenant</em> ! Elle contient des informations
importantes sur la configuration. Il <em>n'est pas
nécessaire</em> de lire cette section si vous souhaitez
juste <em>appeler</em> avec votre modem.</p>
<h2><a name="ss6.1">6.1 Configuration en modes appelant et
appelé</a></h2>
<p>Encore une fois, le modem <em>doit</em> être
spécialement configuré (avec les commandes
<code>AT</code>) afin de pouvoir être utilisé aussi
bien en appelant qu'en appelé :</p>
<blockquote>
<pre>
<code>E1 echo local active en mode commande
Q0 envoie les codes de retour
V1 envoie les reponses sous la forme de donnees textuelles
S0=0 decrochage automatique desactive (uugetty s'en occupe avec l'option WAITFOR)
</code>
</pre></blockquote>
Si ces options ne sont pas sélectionnées, il se peut
que la chaîne d'initialisation définie dans le fichier
de configuration, ne fonctionne pas.
<blockquote>
<pre>
<code>&C1 le signal DCD est haut seulement apres la connexion
&S0 DSR est toujours haut
un changement d'etat du DTR reinitialise le modem (dependant du fabricant - RTFM)
</code>
</pre></blockquote>
Ces réglages déterminent le comportement du modem au
début et à la fin d'un appel.
<p>Si votre modem ne permet pas la sauvegarde d'un profil, ces
paramètres peuvent être indiqués dans la
chaîne d'initialisation du fichier de configuration. Certains
modems sont pourvus de commutateurs DIP qui affectent les valeurs
des registres. Assurez-vous également qu'ils sont
correctement configurés.</p>
<p>J'ai débuté une compilation de configurations pour
différents modèles de modems. Pour l'instant, j'en ai
seulement quelques uns. Ne vous privez donc pas de m'envoyer vos
paramétrages opérationnels. Cette collection est
récupérable à <code><a href=
"ftp://ftp.cc.gatech.edu/pub/people/gregh/modem-configs">ftp://ftp.cc.gatech.edu/pub/people/gregh/modem-configs</a></code>.</p>
<p>Remarque : pour que mon modem USR Courier V.34 se
réinitialise correctement à l'ouverture du signal
DTR, je suis obligé de forcer <code>&D2</code> et
<code>S13=1</code> (le bit 0 du registre S13 est mis à 1).
On m'a confirmé que ça fonctionnait aussi sur les
modems USR Sportster V.34.</p>
<p>Remarque : certains modems Supra traitent le signal DCD
différement. Dans ce cas, essayez avec <code>&C0</code>
et <em>non</em> <code>&C1</code>. <code>&D2</code> doit
également être positionné afin de gérer
correctement le DTR.</p>
<h2><a name="ss6.2">6.2 Installer <code>getty_ps</code></a></h2>
<p>Récupérez la dernière version à
partir de <code><a href=
"ftp://sunsite.unc.edu:/pub/Linux/system/serial">sunsite.unc.edu:/pub/Linux/system/serial</a></code>.
Les versions 2.0.7j et ultérieures sont indispensables pour
les hauts débits (57600 and 115200 bps). Vous devez aussi
avoir la libc 5.x ou supérieure.</p>
<p>Par défaut, <code>getty_ps</code> est conforme au FSSTND
Linux (<em>File System Standard</em> - norme de système de
fichiers), ce qui implique que les binaires résident dans
<code>/sbin</code>, et les fichiers verrous (<em>lock files</em>)
dans <code>/var/lock</code>. Assurez-vous donc que le
répertoire <code>/var/lock</code> existe bien.</p>
<p>Si vous ne souhaitez pas la conformité FSSTND, les
binaires seront stockés dans <code>/etc</code>, les fichiers
de configuration dans
<code>/etc/default/{uu}getty.ttyS</code><em>N</em>, et les fichiers
verrous dans <code>/usr/spool/uucp</code>. Je recommande cette
méthode en cas d'utilisation conjointe avec UUCP afin que
les fichiers verrous soient bien partagés entre
<code>getty_ps</code> et UUCP.</p>
<p><code>getty_ps</code> peut aussi utiliser <code>syslogd</code>
pour enregistrer les messages. Reportez-vous aux pages de manuel
<code>syslogd(1)</code> et <code>syslog.conf(5)</code> pour
configurer <code>syslogd</code>, s'il ne tourne pas
déjà. Les messages sont enregistrés avec la
priorité LOG_AUTH, les erreurs avec LOG_ERR, et les
informations de débogage avec LOG_DEBUG. Si vous ne
souhaitez pas utiliser <code>syslogd</code>, éditez
<code>tune.h</code> dans le répertoire des fichiers source
de <code>getty_ps</code> pour enregistrer les messages dans un
fichier, <code>/var/adm/getty.log</code> par défaut.</p>
<p>Vous devez donc décider si vous voulez la
conformité FSSTND, les possibilités offertes par
syslog, ou une combinaison des deux. Modifiez en conséquence
les fichiers <code>Makefile</code>, <code>tune.h</code> et
<code>config.h</code>. Il ne reste plus qu'à compiler et
installer le paquetage, en suivant les instructions fournies.</p>
<p>À partir de maintenant, toutes les
références à <code>getty</code> concerneront
<code>getty_ps</code>, et celles à <code>uugetty</code> le
programme <code>uugetty</code> fourni avec le paquetage
<code>getty_ps</code>. Ces instructions ne sont pas applicables
à <code>mgetty</code> ou <code>agetty</code>.</p>
<h2><a name="ss6.3">6.3 Configurer <code>uugetty</code></a></h2>
<p><code>uugetty</code>, qui assure d'importantes
vérifications sur les fichiers verrous, sera utilisé
pour se connecter sur votre modem. Mettez à jour
<code>/etc/gettydefs</code> pour inclure les différentes
entrées pour les modems, si elles ne sont pas
déjà présentes (remarquez que ces
entrées sont rebouclées sur elles-mêmes et
autorisent donc différentes vitesses - une ligne vide est
nécessaire entre deux entrées) :</p>
<blockquote>
<pre>
<code># Entrees modem
115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #57600
57600# B57600 CS8 # B57600 SANE -ISTRIP HUPCL #@S @L @B login: #38400
38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S @L @B login: #19200
19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S @L @B login: #9600
9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B login: #2400
2400# B2400 CS8 # B2400 SANE -ISTRIP HUPCL #@S @L @B login: #115200
</code>
</pre></blockquote>
<p>Si votre modem permet des vitesses de 9600 bps ou plus avec
compression de données, vous pouvez fixer une vitesse
constante pour le port série et laisser le modem choisir la
vitesse de connexion. Le fichier <code>/etc/gettydefs</code> se
simplifie et ne nécessite plus qu'une seule ligne pour le
modem, par exemple :</p>
<blockquote>
<pre>
<code># vitesse fixe 115200
F115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #F115200
</code>
</pre></blockquote>
<p>Si le contrôle de flux RTS/CTS est activé sur votre
modem, le drapeau <code>CRTSCTS</code> peut être
ajouté dans les entrées :</p>
<blockquote>
<pre>
<code># vitesse fixe 115200 avec controle de flux materiel
F115200# B115200 CS8 CRTSCTS # B115200 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F115200
</code>
</pre></blockquote>
<p>Si vous le désirez, <code>uugetty</code> peut imprimer
quelques informations sur le système dans la bannière
de login. Dans mes exemples, j'ai fait figurer le nom du
système, le port série, ainsi que la vitesse courante
en bps. D'autres champs sont disponibles :</p>
<blockquote>
<pre>
<code> @B La vitesse courante en bps (evaluee lorsque le @B est affiche).
@D La date courante (MM/DD/YY).
@L Le port serie auquel getty est attache.
@S Le nom du systeme.
@T L'heure courante (HH:MM:SS / 24-heures).
@U Le nombre d'utilisateurs actuellement connectes. Il s'agit du
nombre d'entrees dans le fichier /etc/utmp qui possedent un
champ ut_name non nul.
@V La valeur de VERSION, telle qu'elle est definie dans le fichier
des valeurs par defaut.
Pour afficher un simple '@', utilisez soit '\@', soit '@@'.
</code>
</pre></blockquote>
<p>Ensuite, assurez-vous de connaître un
périphérique d'entrée et de sortie pour le
port série dédié au modem. Si votre modem est
attaché à <code>ttyS3</code>, aucun
périphérique correct n'existe et vous devez donc le
créer (voir la section <a href="#dev">Créer les
périphériques dans <TT>/dev</TT></a>). Si
vous souhaitez pouvoir appeler avec votre modem alors que
<code>uugetty</code> est en attente de connexion sur le même
port, utilisez le périphérique
<code>/dev/cua</code><em>N</em> à la place de
<code>/dev/ttyS</code><em>N</em>.</p>
<p>Une fois que vous avez terminé l'édition de
<code>/etc/gettydefs</code>, vous pouvez en vérifier la
syntaxe par :</p>
<blockquote>
<pre>
<code>linux# getty -c /etc/gettydefs
</code>
</pre></blockquote>
<h2><a name="ss6.4">6.4 Personnaliser <code>uugetty</code></a></h2>
<p>De nombreuses options peuvent être configurées dans
des fichiers séparés pour chacun des ports
présents. Le fichier <code>/etc/conf.uugetty</code> sert
à <em>toutes</em> les instances de <code>uugetty</code>,
alors que <code>/etc/conf.uugetty.ttyS</code><em>N</em> est
spécifique à un seul port. Des exemples de fichiers
de configuration sont disponibles parmi les fichiers sources de
<code>getty_ps</code> livrés avec la plupart des
distributions Linux. Ces exemples ne sont pas repris dans ce
document pour des problèmes d'espace. Notez que pour les
versions anciennes de <code>getty</code> (avant la 2.0.7e), ou si
vous n'utilisez pas la conformité FSSTND, le fichier par
défaut réside dans
<code>/etc/default/uugetty.ttyS</code><em>N</em>. Mon fichier
<code>/etc/conf.uugetty.ttyS3</code> ressemble à :</p>
<blockquote>
<pre>
<code># exemple de fichier de configuration uugetty pour un modem compatible
# Hayes en mode appele
#
# fichier verrou alternatif... s'il existe, uugetty est relance afin de
# reinitialiser le modem
ALTLOCK=cua3
ALTLINE=cua3
# port serie a initialiser
INITLINE=cua3
# delai de liberation de la ligne en cas d'inactivite...
TIMEOUT=60
# chaine d'initialisation du modem...
# format : <expect> <send> ... (protocole de connexion)
INIT="" AT\r OK\r\n
WAITFOR=RING
CONNECT="" ATA\r CONNECT\s\A
# delai d'attente avant l'envoi de la banniere
DELAY=1
#DEBUG=010
</code>
</pre></blockquote>
<p>Ajoutez la ligne suivante dans <code>/etc/inittab</code>, afin
que <code>uugetty</code> soit automatiquement lancé sur le
port série (en adaptant pour votre configuration la
localisation du fichier de configuration, le port, la vitesse, et
le type de terminal par défaut) :</p>
<blockquote>
<pre>
<code>S3:456:respawn:/sbin/uugetty -d /etc/default/uugetty.ttyS3 ttyS3 F115200 vt100
</code>
</pre></blockquote>
Redémarrez <code>init</code> :
<blockquote>
<pre>
<code>linux# init q
</code>
</pre></blockquote>
La vitesse maximale supportée par le modem a
été sélectionnée dans
<code>/etc/inittab</code>.
<p>À partir de maintenant, Linux est en attente de
connexions sur le port série. Appelez depuis une autre
machine et loguez-vous sur votre système Linux.</p>
<p><code>uugetty</code> possède de nombreuses autres
options, décrites en détail dans la page de manuel
<code>getty(1m)</code>. Entre autres choses, on peut y trouver des
fonctionnalités de programmation horaire
(<em>scheduling</em>), et de rappel (<em>ringback</em>).</p>
<h2><a name="s7">7. Comment configurer un terminal raccordé
à mon PC ?</a></h2>
<p>Ces instructions permettent aussi bien de connecter des
terminaux que d'autres ordinateurs sur le port série de
votre machine Linux.</p>
<h2><a name="ss7.1">7.1 Besoins matériels</a></h2>
<p>Assurez-vous de posséder le bon type de câble. Un
câble <em>null modem</em> acheté dans n'importe quel
magasin informatique fera l'affaire, mais il doit s'agir
effectivement d'un câble <em>null modem</em> ! De
nombreux magasins d'informatique les vendent comme des câbles
pour imprimante série. Vérifiez que vous utilisez
bien le port série (embase mâle DB25 ou DB9), et non
le port parallèle (embase femelle DB25 ou Centronics).</p>
<p>Pour un connecteur DB25, il faut au minimum :</p>
<pre>
DB25 male du PC DB25 du terminal
TxD Donnees emises 2 --> 3 RxD Donnees recues
RxD Donnees recues 3 <-- 2 TxD Donnees emises
SG Masse du signal 7 --- 7 SG Masse du signal
</pre>
<p>Si vous voulez profiter du contrôle de flux
matériel, la connexion null modem doit être
intégralement câblée :</p>
<pre>
DB25 male du PC DB25 du terminal
TxD Donnees emises 2 --> 3 RxD Donnees recues
RxD Donnees recues 3 <-- 2 TxD Donnees emises
RTS Demande pour emettre 4 --> 5 CTS Pret a emettre
CTS Pret a emettre 5 <-- 4 RTS Demande pour emettre
DSR Poste de donnees pret 6
|
DCD Detection de porteuse 8 <-- 20 DTR Terminal de donnees pret
SG Masse du signal 7 --- 7 SG Masse du signal
6 DSR Poste de donnees pret
|
DTR Terminal pret 20 --> 8 DCD Detection de porteuse
</pre>
<p>Si vous avez un connecteur DB9, vous pouvez essayer :</p>
<pre>
DB9 du PC DB25 du terminal
RxD Donnees recues 2 <-- 2 TxD Donnees emises
TxD Donnees emises 3 --> 3 RxD Donnees recues
SG Masse du signal 5 --- 7 SG Masse du signal
</pre>
<p>Pour un câble complet DB9-DB25, on obtient :</p>
<pre>
DB9 du PC DB25 du terminal
RxD Donnees recues 2 <-- 2 TxD Donnees emises
TxD Donnees emises 3 --> 3 RxD Donnees recues
6 DSR Poste de donnees pret
|
DTR Terminal pret 4 --> 8 DCD Detection de porteuse
SG Masse du signal 5 --- 7 SG Masse du signal
DCD Detection de porteuse 1
|
DSR Poste de donnees pret 6 <-- 20 DTR Terminal de donnees pret
RTS Demande pour emettre 7 --> 5 CTS Pret a emettre
CTS Pret a emettre 8 <-- 4 RTS Demande pour emettre
(RI Indicateur sonnerie 9 pas necessaire)
</pre>
(Eh oui, les broches 2 et 3 ont <em>effectivement</em> la
signification opposée entre les connecteurs DB9 et
DB25 !)
<p>Ceux qui ne possèdent pas de câble null modem
complet devront user d'une astuce afin que le PC reçoive (de
lui-même) les acquittements qu'il demande avec le
contrôle de flux matériel : sur le connecteur
côté PC, rebouclez ensemble RTS et CTS, ainsi que DSR,
DCD et DTR.</p>
<p>Maintenant que avez le bon type de câble, il vous reste
à connecter votre terminal sur votre ordinateur. Si
possible, demandez au terminal d'ignorer les signaux de
contrôle pour modems, et essayez de le paramétrer avec
une vitesse de 9600 bps, 8 bits de données, 1 bit de stop,
et pas de parité.</p>
<h2><a name="ss7.2">7.2 Configurer <code>getty</code></a></h2>
<p>Si elles ne sont pas déjà présentes,
ajoutez dans <code>/etc/gettydefs</code> les entrées
destinées à <code>getty</code> pour votre
terminal,</p>
<blockquote>
<pre>
<code># Entree de terminal simple a 38400 bps
DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400
# Entree de terminal simple a 19200 bps
DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200
# Entree de terminal simple a 9600 bps
DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600
</code>
</pre></blockquote>
<p>Si vous le désirez, <code>getty</code> peut imprimer
quelques informations sur le système dans la bannière
de login. Dans mes exemples, j'ai fait figurer le nom du
système ainsi que le port série. D'autres variables
sont disponibles :</p>
<blockquote>
<pre>
<code>@B La vitesse courante en bps (evaluee lorsque le @B est affiche).
@D La date courante (MM/DD/YY).
@L Le port serie auquel getty est attache.
@S Le nom du systeme.
@T L'heure courante (HH:MM:SS / 24-heures).
@U Le nombre d'utilisateurs actuellement connectes. Il s'agit du
nombre d'entrees dans le fichier /etc/utmp qui possedent un
champ ut_name non nul.
@V La valeur de VERSION, telle qu'elle est definie dans le fichier
des valeurs par defaut.
Pour afficher un simple '@', utilisez soit '\@', soit '@@'.
</code>
</pre></blockquote>
<p>Une fois l'édition de <code>/etc/gettydefs</code>
terminée, vous pouvez en vérifier la syntaxe
par :</p>
<blockquote>
<pre>
<code>linux# getty -c /etc/gettydefs
</code>
</pre></blockquote>
<p>Assurez-vous qu'il n'existe pas déjà de fichier de
configuration <code>getty</code> ou <code>uugetty</code> pour le
port série auquel vous avez attaché votre terminal
(<code>/etc/default/{uu}getty.ttyS</code><em>N</em> ou
<code>/etc/conf.{uu}getty.ttyS</code><em>N</em>), car il risque
probablement d'interférer avec l'instance de
<code>getty</code> du terminal. Supprimez le fichier s'il
existe.</p>
<p>Éditez la ligne suivante dans <code>/etc/inittab</code>,
afin que <code>getty</code> soit lancé sur le port
série (en adaptant pour votre configuration le port, la
vitesse, et le type de terminal par défaut) :</p>
<blockquote>
<pre>
<code>S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100
</code>
</pre></blockquote>
Redémarrez <code>init</code> :
<blockquote>
<pre>
<code>linux# init q
</code>
</pre></blockquote>
<p>Vous devez maintenant voir apparaître une invite de
session sur le terminal. Il peut néanmoins être
nécessaire de taper sur la touche <code>Entrée</code>
pour avertir le terminal.</p>
<h2><a name="ss7.3">7.3 Remarques sur la configuration d'un PC en
tant que terminal</a></h2>
<p>Nombreux sont ceux qui se servent d'autres PC comme des
terminaux rattachés à des systèmes Linux. Par
exemple, des vieux PC 8088 ou 80286 sont parfaits pour cet usage.
Vous avez juste besoin d'une disquette de démarrage DOS et
d'un programme de communications pour faire tourner votre
terminal-PC. <code>kermit</code> fonctionne très bien dans
cette configuration. Des versions compilées de
<code>kermit</code> pour n'importe quel système
d'exploitation sont disponibles sur <code><a href=
"http://www.columbia.edu/kermit/">http://www.columbia.edu/kermit/</a></code>.
D'autres programmes populaires de communications sous DOS, comme
<code>telix</code> ou <code>procomm</code> remplissent
également très bien cette fonction. Soyez juste
sûr de fournir des informations correctes lors du
paramétrage des communications de votre terminal-PC.</p>
<h2><a name="irqaddr"></a> <a name="s8">8. Puis-je utiliser plus de
deux ports série ?</a></h2>
<p>Il n'est pas nécessaire que vous lisiez cette section,
à moins que vous utilisiez au moins trois ports
série... (mais pas sur une carte multiports).</p>
<p>N'importe quel port série libre est utilisable. La seule
limitation réside dans le nombre d'interruptions (IRQ) et
d'adresses de port d'entrée/sortie à utiliser. Cette
limitation n'est pas spécifique à Linux, mais est due
au bus du PC. Chaque périphérique série (port
série, modem interne, carte série) doit
posséder ses propres interruption et adresse.</p>
<p>Les cartes série multiports sont spécialement
conçues pour partager la même interruption sur tous
les ports qu'elles possèdent. Linux communique avec elles en
sélectionnant une adresse d'entrée/sortie
différente pour chaque port de ces cartes.</p>
<h2><a name="ss8.1">8.1 Choisir les interruptions des
périphériques série</a></h2>
<p>Par défaut sur un PC, l'IRQ 4 est partagée entre
<code>ttyS0</code> et <code>ttyS2</code>, et l'IRQ 3 entre
<code>ttyS1</code> et <code>ttyS3</code>. Les interruptions en
cours d'utilisation sont regroupées dans
<code>/proc/interrupts</code>. Pour se servir de plus de deux ports
série, leur interruption doit être
réassignée, par exemple en choisissant celle d'un
port parallèle. En effet, les IRQ 5 et 7 sont sur un PC
normalement attribuées aux ports parallèles, mais peu
de personnes en possèdent deux. Vous pouvez donc
réassigner une de ces interruptions à un port
série, et continuer à utiliser joyeusement votre port
parallèle ! Cette manipulation requiert le programme
<code>setserial</code>. De plus, il vous faudra ajuster certains
cavaliers sur vos cartes (à vérifier sur les manuels
des cartes) pour fixer les IRQ.</p>
<p>Vous devez vous arranger pour avoir une IRQ unique pour chacun
des ports série. Voici comment je configure les miens dans
<code>/etc/rc.d/rc.local</code> (cette initialisation doit avoir
lieu lors du démarrage) :</p>
<blockquote>
<pre>
<code> /sbin/setserial /dev/ttyS0 irq 3 # ma souris
/sbin/setserial /dev/ttyS1 irq 4 # mon terminal Wyse
/sbin/setserial /dev/ttyS2 irq 5 # mon modem Zoom
/sbin/setserial /dev/ttyS3 irq 9 # mon modem USR
</code>
</pre></blockquote>
<p>Assignations standards des IRQ :</p>
<pre>
IRQ 0 Base de temps 0
IRQ 1 Clavier
IRQ 2 Cascade pour le deuxieme controleur d'IRQ
IRQ 3 Port serie 2
IRQ 4 Port serie 1
IRQ 5 Port parallele 2
IRQ 6 Disquette
IRQ 7 Port parallele 1
IRQ 8 Horloge temps-reel (RTC)
IRQ 9 Redirige vers l'IRQ2
IRQ 10 Non assignee
IRQ 11 Non assignee
IRQ 12 Non assignee
IRQ 13 Coprocesseur mathematique
IRQ 14 Controleur de disques durs 1
IRQ 15 Controleur de disques durs 2
</pre>
<p>Il n'existe pas vraiment de Bonne Technique pour choisir les
interruptions. Il faut juste s'assurer qu'elles ne sont pas
déjà utilisées par la carte mère, ou
une autre carte. 2, 3, 4, 5, ou 7 est généralement un
bon choix. ``Non assignée'' signifie que rien de standard
n'utilise cette IRQ. Notez également que l'IRQ2 et l'IRQ9
sont identiques : vous pouvez donc spécifier aussi bien
2 que 9, le gestionnaire de périphériques est
très compréhensif. Si vous possédez une carte
série avec un connecteur de bus 16 bits, vous pouvez
également utiliser l'IRQ 10, 11, 12 ou 15.</p>
<p>N'utilisez pas les IRQ 0, 1, 6, 8, 13 et 14 ! Elles sont
réservées par la carte mère. Une fois le
paramétrage effectué, vérifiez l'absence de
conflit avec <code>/proc/interrupts</code>.</p>
<h2><a name="ss8.2">8.2 Choisir les adresses des
périphériques série</a></h2>
<p>Vous devez ensuite fixer les adresses des ports. Vérifiez
le manuel pour la position des cavaliers. Comme pour les
interruptions, chaque périphérique série doit
posséder sa propre adresse. Par défaut, les ports
sont paramétrés de la manière
suivante :</p>
<blockquote>
<pre>
<code> ttyS0 adresse 0x3f8
ttyS1 adresse 0x2f8
ttyS2 adresse 0x3e8
ttyS3 adresse 0x2e8
</code>
</pre></blockquote>
<p>Choisissez les adresses à affecter à chaque port
série, et positionnez les cavaliers sur la carte en
conséquence. Ainsi, j'ai mon modem sur <code>ttyS3</code>,
ma souris sur <code>ttyS0</code>, et mon terminal sur
<code>ttyS2</code>.</p>
<p>Au prochain démarrage, Linux devrait voir vos ports
séries aux adresses que vous avez
sélectionnées. Par contre, les IRQ vues par Linux
peuvent ne pas correspondre avec celles que vous avez
configurées. Ne vous inquiétez pas : Linux ne
sait pas détecter les IRQ au démarrage, car c'est
assez aléatoire et le résultat peut être faux.
Utilisez <code>setserial</code> pour spécifier à
Linux quelles interruptions sont associées aux ports, puis
vérifiez après redémarrage de Linux les
adresses des ports d'entrée/sortie avec
<code>/proc/ioports</code>.</p>
<h2><a name="spdhi"></a> <a name="s9">9. Comment configurer des
vitesses plus importantes pour mes ports série ?
À quelle vitesse dois-je fixer mon modem ?</a></h2>
<p>Cette section a pour but de vous aider à
déterminer la vitesse du modem à utiliser avec un
programme de communications ou <code>getty</code>.</p>
<ul>
<li>Si votre modem ne supporte que des vitesses inférieures
à 9600 bps (V.32), choisissez la vitesse la plus importante,
par exemple 300 bps (V.21/Bell 103), 1200 bps (V.22/Bell 212A), ou
2400 bps (V.22bis).</li>
<li>Si vous possédez un modem 9600 bps (V.32),
intégrant la compression de données V.42bis,
choisissez 38400 bps. Le taux <em>théorique</em> de
compression est de 4:1, soit ``4 * 9600 = 38400''.</li>
<li>Si vous possédez un modem 14400 bps (V.32bis),
intégrant la compression de données V.42bis,
configurer le port à 57600 bps (4 * 14400 = 57600) avec
l'option <code>spd_hi</code> de <code>setserial</code>.
<p>Pour les modems 28800 ou 33600 bps (V.FC ou V.34), utiliser
l'option <code>spd_vhi</code> (4 * 28800 = 115200).</p>
<p>Enfin, fixez la vitesse à 38400 bps dans votre programme
de communications ou <code>/etc/inittab</code>. Vous êtes
maintenant en grande vitesse ! Assurez-vous de posséder
des UART 16550A.</p>
<p>Il existe des vitesses nommées 57600 et 115200 dans les
versions de <code>libc</code> supérieures ou égales
à 5.x (à vérifier dans le répertoire
<code>/lib</code>). Dans ce cas, vous pouvez les
sélectionner directement (sans passer par
<code>setserial</code>) si vos applications ont été
compilées de manière à en tirer avantage. Il
existe tellement de distributions Linux, que le mieux à
faire est d'essayer directement ces vitesses si votre distribution
est assez récente.</p>
</li>
</ul>
<p>Avant de fixer la configuration de <code>setserial</code> dans
<code>/etc/rc.d/rc.serial</code> ou <code>/etc/rc.d/rc.local</code>
afin qu'elle soit prise en compte au démarrage, il est
préférable de l'essayer manuellement. Par exemple,
pour fixer <code>ttyS3</code> à 115200 bps, mon fichier
<code>/etc/rc.d/rc.local</code> contient :</p>
<blockquote>
<pre>
<code>/sbin/setserial /dev/ttyS3 spd_vhi
</code>
</pre></blockquote>
<p>Assurez-vous que le chemin d'accès à
<code>setserial</code> est valide, de même que le nom du
périphérique. Le paramétrage d'un port
série peut être vérifié par :</p>
<blockquote>
<pre>
<code>setserial -a /dev/ttyS3
</code>
</pre></blockquote>
<h2><a name="comms"></a> <a name="s10">10. Programmes et
utilitaires de communications</a></h2>
<p>Voici une liste de logiciels de communications que vous pouvez
télécharger par FTP, s'ils ne sont pas fournis dans
votre distribution :</p>
<ul>
<li><code>ecu</code> - un programme de communications</li>
<li><a href="http://www.columbia.edu/kermit/">C-Kermit</a> -
programme de communications portable et scriptable, par liaison
série ou TCP/IP, incluant le transfert de fichiers et la
traduction des jeux de caractères</li>
<li><code>minicom</code> - un programme de communications du genre
de <code>telix</code></li>
<li><code>pcomm</code> - un programme de communications du genre de
<code>procomm</code> avec protocole zmodem</li>
<li><code>seyon</code> - un programme de communications sous
X11</li>
<li><code>xc</code> - paquetage de communications xcomm</li>
<li>D'autres programmes utiles sont <code>term</code> et
<code>SLiRP</code> qui offrent des fonctionnalités TCP/IP
à partir d'un compte shell.</li>
<li><code>screen</code> est un autre programme multi-sessions qui
se comporte comme les consoles virtuelles.</li>
<li><code>callback</code> est un programme permettant à
votre modem de se faire rappeler.</li>
<li><code>mgetty+fax</code> gère le mode FAX, et offre un
<code>getty</code> alternatif.</li>
<li><code>ZyXEL</code> est un programme de contrôle pour les
modems ZyXEL U-1496. Il gère les appels entrants et
sortants, la sécurité pour le rappel automatique, le
mode FAX, et possède des fonctions de messagerie
vocale.</li>
<li>SLIP et PPP peuvent être téléchargés
depuis <code><a href=
"ftp://sunsite.unc.edu/pub/Linux/system/network/serial">ftp://sunsite.unc.edu/pub/Linux/system/network/serial</a></code>.</li>
<li>On trouve également d'autres programmes pour les
liaisons série sur <code><a href=
"ftp://sunsite.unc.edu/pub/Linux/system/serial">ftp://sunsite.unc.edu/pub/Linux/system/serial</a></code>
et <code><a href=
"ftp://sunsite.unc.edu/pub/Linux/apps/comm">ftp://sunsite.unc.edu/pub/Linux/apps/serialcomm</a></code>
ou sur l'un des nombreux sites miroirs.</li>
</ul>
<h2><a name="s11">11. Trucs et astuces sur les liaisons
série</a></h2>
<p>Je vous présente ici quelques astuces que vous pourrez
trouver utiles...</p>
<h2><a name="ss11.1">11.1 <code>kermit</code> et zmodem</a></h2>
<p>Pour utiliser le protocole zmodem avec <code>kermit</code>,
ajoutez les lignes suivantes dans votre <code>.kermrc</code>:</p>
<blockquote>
<pre>
<code>define rz !rz < /dev/ttyS3 > /dev/ttyS3
define sz !sz \%0 > /dev/ttyS3 < /dev/ttyS3
</code>
</pre></blockquote>
Soyez sûr de positionner le port série auquel votre
modem est rattaché. Il suffit alors de taper <code>rz</code>
ou <code>sz <filename></code> à l'invite de commandes
de <code>kermit</code>.
<h2><a name="ss11.2">11.2 Paramétrer les types de terminaux
automagiquement</a></h2>
<p>Pour sélectionner automagiquement le type de terminal au
début d'une session, ajoutez-le dans l'entrée
correspondante de <code>/etc/inittab</code>. Par exemple, avec un
terminal VT100 sur <code>ttyS1</code>, j'ajouterais ``vt100'' en
paramètre de la commande <code>getty</code> :</p>
<blockquote>
<pre>
<code>S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100
</code>
</pre></blockquote>
<p>Vous pouvez également utiliser <code>tset</code> pour
positionner les caractéristiques du terminal à
l'entrée en session, indépendamment des valeurs par
défaut.</p>
<h2><a name="ss11.3">11.3 <code>ls</code> en couleurs sur les
connexions série</a></h2>
<p>Si l'émulation de votre terminal ne supporte pas
correctement l'option couleur de <code>ls</code>,
désactivez-la. Certaines installations l'utilisent par
défaut (<code>ls --color</code> ou <code>ls
--colour</code>). Vérifiez les alias sur <code>ls</code>
dans <code>/etc/profile</code> et <code>/etc/csh.cshrc</code>. Vous
pouvez également créer un nouvel alias de
<code>ls</code> sur <code>ls --no-color</code>, si vous ne
souhaitez pas modifier les valeurs par défaut.</p>
<h2><a name="ss11.4">11.4 Imprimer sur une imprimante
attachée à un terminal</a></h2>
<p>Il existe pour cela un programme appelé
<code>vtprint</code>, disponible sur <code><a href=
"ftp://ftp.sdsu.edu/pub/vtprint">ftp://ftp.sdsu.edu/pub/vtprint</a></code>,
et sur <code><a href=
"http://www.sdsu.edu/~garrett">http://www.sdsu.edu/~garrett</a></code>.</p>
<p>Un deuxième programme est <code>xprt</code>. Il peut
être téléchargé depuis <code><a href=
"ftp://sunsite.unc.edu/pub/Linux/system/printing">ftp://sunsite.unc.edu/pub/Linux/system/printing</a></code>.</p>
<h2><a name="ss11.5">11.5 Linux peut-il configurer les
périphériques série
automagiquement ?</a></h2>
<p>Effectivement, Linux peut détecter et paramétrer
les périphériques série automatiquement au
démarrage en ajoutant par exemple la ligne :</p>
<blockquote>
<pre>
<code>/sbin/setserial /dev/ttyS3 auto_irq skip_test autoconfig
</code>
</pre></blockquote>
dans votre fichier <code>/etc/rc.d/rc.local</code> ou
<code>/etc/rc.d/rc.serial</code>. Répétez la
manipulation pour chacun des ports série qui doit être
configuré automatiquement. Soyez juste sûr de fournir
un nom de périphérique existant sur votre machine.
<h3>Remarques pour les cartes multiports</h3>
<p>Référez-vous au fichier <code>rc.serial</code>
fourni avec <code>setserial</code> pour les adresses et les IRQ de
ces cartes. Beaucoup de paramètres y sont
détaillés concernant les cartes multiports, y compris
les adresses et les noms des périphériques à
utiliser.</p>
<h2><a name="ss11.6">11.6 Utiliser une console
série</a></h2>
<p>Un article dans le numéro 36 du <em>Linux Journal</em>
(<code><a href=
"http://www.ssc.com/lj/issue36/index.html">http://www.ssc.com/lj/issue36/index.html</a></code>)
explique comment utiliser un terminal comme une console.
Malheureusement, l'adresse électronique de l'auteur ne
semble pas correcte car les messages reviennent. J'espère
que cet article figurera bientôt sur le site WEB du <em>Linux
Journal</em> à l'URL mentionnée ci-dessus.
<em>(NdT : cet article est maintenant disponible en ligne
à <code><a href=
"http://www.ssc.com/lj/issue36/console.html">http://www.ssc.com/lj/issue36/console.html</a></code>)</em></p>
<h2><a name="ss11.7">11.7 Obtenir des débits plus
importants</a></h2>
<p>Si vous jugez le débit de vos ports série lent, ou
si des erreurs d'écrasement de caractères à la
réception (<em>overrun errors</em>) se produisent sur un
système muni de disques durs (E)IDE, utilisez
<code>hdparm</code> pour modifier certains des paramètres de
ces disques, notamment le démasquage des autres IRQ pendant
les interruptions disque. Cette manipulation augmentera le taux de
réponse et aidera à supprimer les écrasements
de caractères. Lisez bien les pages de manuel, car certaines
combinaisons sont plus ou moins bien supportées suivant les
disques et les contrôleurs utilisés, et peuvent
provoquer une corruption du système de fichiers.</p>
<p>Regardez également l'utilitaire <code>irqtune</code> qui
permet de modifier la priorité de l'IRQ d'un
périphérique, par exemple celle du port série
lié au modem. La FAQ d'<code>irqtune</code> est disponible
sur <code><a href=
"http://www.best.com/~cae/irqtune">http://www.best.com/~cae/irqtune</a></code>.</p>
<h2><a name="s12">12. Un pas de plus...</a></h2>
<p>Cette section n'est absolument pas nécessaire à la
compréhension des ports série sous Linux, mais peut
néanmoins vous apporter quelques éclaircissements sur
Unix et le monde des télécommunications.</p>
<h2><a name="ss12.1">12.1 Qu'est-ce que les fichiers
verrous ?</a></h2>
<p>Un fichier verrou est simplement un fichier qui indique qu'un
périphérique particulier est en cours d'utilisation.
Ils sont regroupés dans <code>/usr/spool/uucp</code> ou
<code>/var/lock</code>. Sous Linux, ils se nomment
<code>LCK..</code><em>nom</em> où <em>nom</em> est soit un
nom de périphérique, soit un nom de site UUCP.
Certains processus créent de tels fichiers pour s'assurer
l'accès exclusif aux périphériques. Par
exemple, si vous appelez avec votre modem, un fichier verrou va
être créé pour avertir les autres processus que
le modem est déjà en cours d'utilisation. Les verrous
contiennent principalement le PID du processus qui s'est
attribué le périphérique. La plupart des
programmes regardent dans un premier temps si un fichier verrou
existe, puis s'il est toujours valide en recherchant dans la table
des processus le programme qui a verrouillé le
périphérique. Si le fichier verrou est toujours
valide, alors le nouveau programme doit s'arrêter. Dans le
cas contraire, certains programmes suppriment le fichier verrou
périmé, et utilisent le périphérique en
créant leur propre verrou à l'intérieur du
processus. D'autres programmes s'arrêtent tout simplement et
préviennent l'utilisateur que le périphérique
est déjà utilisé.</p>
<h2><a name="ss12.2">12.2 ``baud'' et ``bps''</a></h2>
<p>``baud'' et ``bps'' font certainement partie des termes les plus
mal utilisés dans le monde de l'informatique et des
télécommunications. Ils sont souvent
considérés à tort comme équivalents,
alors qu'ils ne le sont pas !</p>
<dl>
<dt><b>baud</b></dt>
<dd>
<p>Le baud représente la fréquence de
(dé)modulation d'un signal, par exemple celui envoyé
ou reçu par un modem
(<b>mo</b>dulateur-<b>dém</b>odulateur), c'est-à-dire
le nombre de fois où il change par seconde. Par exemple,
1200 bauds implique que le signal change d'état toutes les
833 microsecondes. Les fréquences de (dé)modulation
les plus courantes pour un modem sont 50, 75, 110, 300, 600, 1200,
et 2400 bauds. La plupart des modems hautes vitesses fonctionnent
à 2400 bauds. Les fréquences plus
élevées sont plus difficiles à atteindre.
Cette limitation est principalement due aux basses performances des
lignes téléphoniques dédiées
essentiellement au transport de la voix. Plusieurs bits sont alors
encodés par baud, ce qui permet d'obtenir des taux de
transfert en bits plus élevés qu'en bauds.
L'étymologie du mot ``baud'' vient de l'inventeur de
l'imprimante télégraphique asynchrone, Émile
Baudot.</p>
</dd>
<dt><b>bps</b></dt>
<dd>
<p>Le taux de transfert en bps représente le nombre de bits
transmis en une seconde. Les vitesses en bps les plus courantes
sont 50, 75, 110, 300, 1200, 2400, 9600, ... 115200. Les modems
avec compression V.42bis (rapport maximal de 4 à 1)
activée sont capables <em>théroriquement</em>
d'atteindre des vitesses de 115200 bps. C'est l'usage mauvais le
plus courant du terme ``baud''.</p>
</dd>
</dl>
<p>Donc, si les modems hautes vitesses fonctionnent à 2400
bauds, comment peuvent-ils émettre à 14400 bps ?
En fait, les modems atteignent des taux de transfert en bps
supérieurs à la fréquence de modulation, en
codant plusieurs bits dans un seul changement d'amplitude ou de
phase du signal. Ainsi, quand 2 bits ou plus sont codés par
baud, la vitesse en bps dépasse la fréquence en
bauds. Quand votre modem se connecte à 14400 bps, il envoie
effectivement 6 bits à chaque changement de phase, à
2400 bauds.</p>
<p>Cette confusion entre bauds et bps date du temps où les
taux de transfert étaient faibles, et où la vitesse
en bps égalait la fréquence de modulation en bauds.
Par exemple, un modem à 300 bps fonctionne à une
fréquence de 300 bauds. Les deux valeurs ont commencé
à diverger avec l'apparition des modems hautes vitesses.</p>
<h2><a name="uart"></a> <a name="ss12.3">12.3 Qu'est-ce que les
UART ? Comment influent-ils sur les
performances ?</a></h2>
<p>Les UART (<em><b>U</b>niversal <b>A</b>syncronous
<b>R</b>eceiver <b>T</b>ransmitter</em> - Émetteur
Récepteur Universel Asynchrone) sont des circuits
électroniques équipant les cartes série des
PC. Ils servent à transformer les données en bits,
à les envoyer sur la ligne série, puis à
reconstruire ces données à l'autre bout. Ils
travaillent sur des octets, qui correspondent justement à la
taille des caractères ASCII.</p>
<p>Supposons qu'un terminal est connecté à votre PC.
Quand vous tapez un caractère, le terminal l'envoie à
un émetteur (qui est aussi un UART). L'émetteur
envoie alors cet octet sur la ligne série, bit par bit, et
à une vitesse spécifique. Du côté PC,
l'UART réceptionne ces bits, reconstruit l'octet, et enfin
le place dans une zone mémoire.</p>
<p>Il existe essentiellement deux types d'UART : les simples
(8250 et 16450), et ceux dotés de FIFO (16550A). Pour
comprendre les différences qui existent entre ces circuits,
il faut examiner ce qui se passe quand un UART envoie ou
reçoit un octet.</p>
<p>L'UART lui-même ne fait rien avec les données ; il
s'occupe juste de les émettre ou les réceptionner. Le
CPU reçoit une interruption du périphérique
série chaque fois qu'un octet part ou arrive. Le CPU
déplace alors l'octet reçu du
périphérique série vers une zone
mémoire, ou alors il redonne à l'UART un nouvel octet
à transmettre. Les UART 8250 et 16450 ne possèdent
qu'une zone tampon d'un octet, ce qui signifie que le CPU est
interrompu à chaque caractère. Ça fonctionne
aux vitesses faibles, mais pour des vitesses élevées,
le CPU est tellement occupé par l'UART, qu'il n'a plus assez
de temps pour les autres tâches. Dans certains cas, le CPU ne
peut pas répondre à l'interruption assez vite, et les
caractères sont alors écrasés (<em>overrun
error</em>).</p>
<p>Les UART 16550 sont alors utiles car ils sont
équipés de tampons FIFO de 16 octets,
c'est-à-dire qu'ils peuvent émettre ou recevoir
jusqu'à 16 octets avant d'interrompre le CPU. Bien que ce
seuil d'interruption soit rarement fixé à 16,
ça représente quand même un avantage
significatif par rapport aux UART dotés d'un tampon d'un
seul octet. Le CPU est alors interrompu moins souvent et peut
consacrer plus de temps aux autres tâches. Les données
ne sont donc plus perdues. (Il existe également un UART
16550, considéré comme un 16450 car il est
défectueux.)</p>
<p>En général, les 8250 et 16450 peuvent suffire pour
des vitesses n'excédant pas 38400 bps. À des vitesses
supérieures, vous pouvez voir apparaître des pertes de
caractères. D'autres systèmes d'exploitation pour PC,
comme DOS (définition approximative dans ce cas), qui ne
sont pas multitâches, peuvent à la rigueur mieux se
débrouiller avec des 8250 ou des 16450. C'est pour cela que
certaines personnes ne constatent aucune perte de données,
jusqu'au moment où elles passent à Linux.</p>
<p>Les cartes multiports intelligentes utilisent des DSP
(<em>Digital Signal Processors</em> - processeurs de signaux
digitaux) pour assurer des fonctions supplémentaires de
contrôle et de mises en mémoire tampon, ce qui permet
de décharger encore plus le CPU. Par exemple, les cartes
Cyclades Cyclom et Stallion EasyIO possèdent un UART RISC
Cirrus Logic CD1400. La plupart des autres cartes sont
dotées de CPU 80186, voire de CPU RISC spécifiques,
pour assurer les entrées/sorties série.</p>
<p>Gardez à l'esprit que ces UART ne sont pas mauvais, mais
qu'ils ne suffisent pas pour des vitesses élevées.
Vous ne devriez pas rencontrer de problème en connectant un
terminal ou une souris sur de tels UART. Par contre, les 16550A
sont définitivement un <em>must</em> pour les modems hautes
vitesses.</p>
<p>Les cartes à base d'UART 16550A sont à peine plus
chères que celles à base de 16450. De même, il
est possible de remplacer les UART 16450 existants sur une carte
par des 16550A. Ces circuits sont compatibles broche à
broche. Certaines cartes sont même équipées
à cet effet d'UART montés sur support. Sinon, il
faudra souder. Remarquez que vous vous éviterez
sûrement pas mal de soucis en achetant directement une
nouvelle carte.</p>
<h2><a name="s13">13. Résoudre les problèmes</a></h2>
<h2><a name="ss13.1">13.1 Le message ``line <em>NNN</em> of inittab
invalid'' s'affiche en permanence</a></h2>
<p>Assurez-vous d'utiliser une syntaxe correcte pour votre version
de <code>init</code>. En effet, chaque programme <code>init</code>
ou presque a une syntaxe spécifique pour son fichier de
configuration <code>/etc/inittab</code>. De même,
vérifiez les paramètres que vous passez à
votre <code>getty</code>.</p>
<h2><a name="ss13.2">13.2 Le message ``/dev/cua<em>N</em>: Device
or resource busy'' apparaît quand j'essaie d'appeler</a></h2>
<p>Ce problème peut survenir quand les signaux DCD ou DTR ne
sont pas positionnés correctement. DCD doit être
levé seulement lors d'une connexion (<em>ie</em> quelqu'un
est déjà connecté), et non pas quand
<code>getty</code> scrute le port. Assurez-vous donc que le modem
est configuré pour lever le signal DCD seulement en
connexion. DTR doit être positionné dès qu'un
processus utilise ou scrute la ligne, par exemple
<code>getty</code>, <code>kermit</code>, ou n'importe quel autre
programme de communications.</p>
<p>Une autre cause possible est que l'IRQ assignée au port
série est déjà prise par un autre
périphérique. En effet, lors de son initialisation,
chaque périphérique demande l'autorisation à
Linux d'utiliser l'IRQ sélectionnée. Linux garde une
trace de l'affectation des interruptions, et si une IRQ est en
cours d'utilisation, votre périphérique ne pourra pas
s'initialiser. Celui-ci n'a aucun moyen de vous prévenir,
excepté par le message ``device-busy'' lorsque vous tentez
de l'utilisez. Vérifiez alors les interruptions de toutes
vos cartes (série, ethernet, SCSI, etc.) et les conflits
éventuels.</p>
<h2><a name="ss13.3">13.3 Le message ``Id S<em>N</em> respawning
too fast: disabled for 5 minutes'' s'affiche
périodiquement</a></h2>
<p>Assurez-vous que votre modem est correctement configuré.
Examinez particulièrement les registres <code>E</code> et
<code>Q</code>. Ce problème peut apparaître lorque
<code>getty</code> discute avec le modem.</p>
<p>Vérifiez également les paramètres que vous
passez à <code>getty</code> dans <code>/etc/inittab</code>.
Une syntaxe ou un nom de périphérique erroné
peut causer de sérieux problèmes.</p>
<p>La syntaxe de <code>/etc/gettydefs</code> peut être
vérifiée par la commande suivante :</p>
<blockquote>
<pre>
<code>linux# getty -c /etc/gettydefs
</code>
</pre></blockquote>
<p>Ce problème arrive quelquefois lors de l'échec de
l'initialisation de <code>uugetty</code>. Reportez-vous à la
section <a href="#nowork">getty ou uugetty ne fonctionne toujours
pas</a>.</p>
<h2><a name="ss13.4">13.4 Mes périphériques
série sont lents ou unidirectionnels</a></h2>
<p>La cause la plus probable est un conflit d'IRQ. Assurez-vous
qu'aucune IRQ n'est partagée. Vérifiez les cavaliers
sur les différentes cartes (série, ethernet, SCSI,
etc.) ainsi que les paramètres passés à
<code>setserial</code> pour tous les périphériques
série. Les conflits peuvent être localisés avec
<code>/proc/ioports</code> et <code>/proc/interrupts</code>.</p>
<h2><a name="ss13.5">13.5 Mon modem ne répond plus
après le raccrochage, ou <code>uugetty</code> ne se relance
plus automatiquement</a></h2>
<p>Cela peut se produire si le modem n'est pas
réinitialisé lorque le signal DTR retombe. J'ai vu
les LED RD et SD devenir folles quand ça m'est
arrivé. Il faut alors réinitialiser le modem. La
plupart des modems compatibles Hayes ont besoin de la commande
<code>&D3</code>, mais sur mon USR Courier, je dois positionner
<code>&D2</code> et <code>S13=1</code>. Vérifiez dans la
documentation de votre modem.</p>
<h2><a name="ss13.6">13.6 Un terminal est connecté à
mon PC, mais il se bloque dès que j'ai entré mon nom
d'utilisateur</a></h2>
<ul>
<li>Si vous utilisez <code>getty</code>, vous devez faire figurer
<code>CLOCAL</code> dans l'entrée correspondante de
<code>/etc/gettydefs</code>, et utiliser un câble null-modem
complet. L'option <code>CLOCAL</code> indique à Linux
d'ignorer les signaux de contrôle spécifiques aux
modems :
<blockquote>
<pre>
<code># Entree de terminal simple a 38400 bps
DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400
# Entree de terminal simple a 19200 bps
DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200
# Entree de terminal simple a 9600 bps
DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600
</code>
</pre></blockquote>
Ensuite, tuez (<code>kill</code>) le processus <code>getty</code>
afin qu'une nouvelle instance soit lancée avec les
entrées mises à jour.</li>
<li>Si vous utilisez <code>agetty</code>, ajoutez l'option
<code>-L</code> à la ligne correspondante de
<code>/etc/inittab</code>, pour indiquer que vous désirez
ignorer les signaux de contrôle spécifiques aux
modems. Redémarrez <code>init</code> en tapant <code>init
q</code>. L'entrée doit ressembler à :
<blockquote>
<pre>
<code>s1:345:respawn:/sbin/agetty -L 9600 ttyS1 vt100
</code>
</pre></blockquote>
</li>
</ul>
<h2><a name="ss13.7">13.7 Mon modem perd des données
à haute vitesse</a></h2>
<p>Si vous essayez de faire fonctionner votre modem à plus
de 38400 bps, vous devez obligatoirement passer en UART 16550A.
Reportez-vous à la section <a href="#uart">Qu'est-ce que les
UART ?</a>.</p>
<h2><a name="ss13.8">13.8 Au démarrage, Linux n'affiche pas
les ports série tels que je les ai
paramétrés</a></h2>
<p>Effectivement, Linux ne cherche pas à détecter les
IRQ au démarrage, mais seulement les ports série. Il
suppose que vous utilisez les interruptions par défaut, car
leur détection est hasardeuse et peut se
révéler inexacte.</p>
<p>Ainsi, même si j'ai forcé <code>ttyS2</code>
à l'IRQ 5, je vois toujours :</p>
<blockquote>
<pre>
<code>Jan 23 22:25:28 misfits vmunix: tty02 at 0x03e8 (irq = 4) is a 16550A
</code>
</pre></blockquote>
quand Linux se lance. Il faut alors utiliser <code>setserial</code>
pour indiquer les IRQ à Linux. Après le
démarrage, vous pouvez vérifier le paramétrage
effectif dans le fichier <code>/proc/interrupts</code>.
<h2><a name="ss13.9">13.9 <code>rz</code> et/ou <code>sz</code> ne
fonctionne pas quand j'appelle mon système Linux avec un
modem</a></h2>
<p>Si Linux recherche le périphérique
<code>/dev/modem</code> quand vous tentez de transférer des
fichiers, regardez les alias définis dans
<code>/etc/profile</code> et <code>/etc/csh.cshrc</code>. Ils
peuvent être nombreux suivant les distributions (notamment
Slackware) et redéfinir les programmes zmodem. Enlevez ces
alias, ou corrigez-les.</p>
<h2><a name="ss13.10">13.10 Mon écran imprime des
caractères bizarres</a></h2>
<p>Ce phénomène se produit sur les consoles
virtuelles, et parfois sur les lignes série, quand elles
reçoivent des données binaires. Il faut alors taper
<code>echo ^v^[c</code>, c'est-à-dire :</p>
<blockquote>
<pre>
<code>linux% echo <ctrl>v<esc>c
</code>
</pre></blockquote>
<h2><a name="nowork"></a> <a name="ss13.11">13.11
<code>getty</code> ou <code>uugetty</code> ne fonctionne toujours
pas</a></h2>
<p><code>getty_ps</code> fournit une option <code>DEBUG</code> que
l'on peut spécifier dans le fichier de configuration
<code>/etc/conf.{uu}getty.ttyS</code><em>N</em>. Éditez-le
pour ajouter la ligne <code>DEBUG=</code><em>NNN</em> où
<em>NNN</em> est une combinaison de valeurs octales
définissant les informations que vous voulez
obtenir :</p>
<blockquote>
<pre>
<code>D_OPT 001 configuration des options
D_DEF 002 traitement du fichier des valeurs par defaut
D_UTMP 004 traitement de utmp/wtmp
D_INIT 010 initialisation de la ligne (INIT)
D_GTAB 020 traitement du fichier gettytab
D_RUN 040 autres diagnostics lors de l'execution
D_RB 100 traitement du mode de rappel (ringback)
D_LOCK 200 traitement des fichiers verrou pour uugetty
D_SCH 400 traitement de la programmation horaire (schedule)
D_ALL 777 tout
</code>
</pre></blockquote>
Positionner <code>DEBUG=010</code> est un bon point de
départ.
<p>Si <code>syslogd</code> tourne, ces informations
apparaîtront dans les fichiers log. Dans le cas contraire,
elles seront enregistrées dans
<code>/tmp/getty:ttyS</code><em>N</em> pour <code>getty</code>,
dans <code>/tmp/uugetty:ttyS</code><em>N</em> pour
<code>uugetty</code>, et dans <code>/var/adm/getty.log</code>.
Consultez ces fichiers pour déterminer ce qui se passe. Vous
devrez très probablement ajuster certains paramètres
dans le fichier de configuration, et reconfigurer votre modem.</p>
<p>Vous pouvez également essayer <code>mgetty</code> :
certaines personnes ont plus de chance avec...</p>
<h2><a name="s14">14. Autres sources d'information</a></h2>
<ul>
<li>les pages de manuel pour : <code>agetty(8)</code>,
<code>getty(1m)</code>, <code>gettydefs(5)</code>,
<code>init(1)</code>, <code>login(1)</code>,
<code>mgetty(8)</code>, <code>setserial(8)</code></li>
<li>la documentation de votre modem</li>
<li>NET-3 HOWTO : tout sur les réseaux, dont SLIP,
CSLIP, et PPP</li>
<li>PPP HOWTO : aide sur PPP</li>
<li>Printing HOWTO : pour installer une imprimante
série</li>
<li>Term HOWTO : tout ce que vous voulez savoir sur le
programme <code>term</code></li>
<li>UPS HOWTO : pour la connexion d'onduleurs sur un port
série</li>
<li>UUCP HOWTO : pour des informations sur le
paramétrage de UUCP</li>
<li>forums de discussion Usenet :
<blockquote>
<pre>
<code>comp.os.linux.answers
FAQ, How-To, README, etc. a propos de Linux.
comp.os.linux.hardware
compatibilite materielle avec le systeme d'exploitation Linux.
comp.os.linux.networking
reseaux et communications sous Linux.
comp.os.linux.setup
installation et administration systeme sous Linux.
fr.comp.os.linux
forum de discussion sur Linux en francais
</code>
</pre></blockquote>
</li>
<li>la liste de diffusion consacrée aux ports série
sous Linux. Pour vous abonnez, envoyez un message
électronique à <code><a href=
"mailto:majordomo@vger.rutgers.edu">majordomo@vger.rutgers.edu</a></code>,
avec ``<code>subscribe linux-serial</code>'' dans le corps du
message. La commande ``<code>help</code>'' dans le corps du message
vous permet de recevoir une message d'aide sur les commandes
supportées. Ce serveur gère également d'autres
listes consacrées à Linux ; pour les connaître,
envoyez la commande ``<code>lists</code>''.</li>
<li>un document traitant des communications série et des
cartes multiports est disponible sur : <code><a href=
"http://www.cyclades.com">http://www.cyclades.com</a></code>.</li>
<li>FAQ sur les modems :<br>
<a href="http://web.aimnet.com/~jnavas/modem/faq.html">Navas 28800
Modem FAQ</a><br>
<a href="http://www.teleport.com/~curt/modems.html">Curt's High
Speed Modem Page</a></li>
<li>programmation série :<br>
<a href=
"http://heg-school.aw.com/cseng/authors/stevens/advanced/advanced.nclk">
Advanced Programming in the UNIX Environment</a>, par W. Richard
Stevens (ISBN 0-201-56317-7; Addison-Wesley)<br>
<a href="http://www.ora.com/catalog/posix/">POSIX Programmer's
Guide</a>, by Donald Lewine (ISBN 0-937175-73-0; O'Reilly)</li>
</ul>
<h2><a name="s15">15. Contributions</a></h2>
<p>Il ne m'aurait pas été possible de rédiger
ce HOWTO tout seul. Même si j'en ai écrit la plus
grande partie, j'ai dû reprendre pas mal d'articles
existants. Merci à tous ceux qui ont contribué
à ce document, ou qui l'ont commenté. La liste de ces
personnes est maintenant trop longue pour figurer ici (plus d'une
centaine). J'adresse plus particulièrement mes remerciements
à Ted T'so pour toutes ses réponses sur les
périphériques série, à Kris Gleason
pour la maintenance de <code>getty_ps</code>, et à Gert
Döring pour <code>mgetty</code>.</p>
<p><em>Note du traducteur : un grand merci à <a href=
"mailto:Olivier.Tharan@int-evry.fr">Olivier Tharan</a> et <a href=
"mailto:florian.salamin@siemens.ch">Florian Salamin</a> pour la
relecture, ainsi qu'à <a href=
"mailto:dumas@Linux.EU.Org">Eric Dumas</a> pour la gestion des
traductions françaises et à <a href=
"mailto:Sebastien.Blondeel@lifl.fr">Sébastien Blondeel</a>
pour la mise en place d'un système centralisé des
relectures.</em></p>
<p>FIN DU LINUX HOWTO POUR LES PORTS SÉRIE</p>
</body>
</html>
|