This file is indexed.

/usr/share/doc/HOWTO/fr-html/Serial-HOWTO.html is in doc-linux-fr-html 2013.01-3ubuntu1.

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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for HTML5 for Linux version 5.2.0">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.72">
<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 à&nbsp;:<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&nbsp;: 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&nbsp;:</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&nbsp;:</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&nbsp;:-)</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&nbsp;: 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&nbsp;: <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&nbsp;: supporté par
Comtrol<br>
emplacement&nbsp;: <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&nbsp;: 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&nbsp;: 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&nbsp;: <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&nbsp;: supporté par
Cyclades<br>
emplacement&nbsp;: <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&nbsp;: <code><a href=
"mailto:pccom8@signum.se">pccom8@signum.se</a></code><br>
emplacement&nbsp;: <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&nbsp;: <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&nbsp;: supporté par Digi<br>
emplacement&nbsp;: <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&nbsp;: 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&nbsp;: ALPHA<br>
Remarque&nbsp;: 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&nbsp;: <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&nbsp;: supporté par
Equinox<br>
emplacement&nbsp;: <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&nbsp;: <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&nbsp;: supporté par GTEK<br>
emplacement&nbsp;: <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&nbsp;: 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&nbsp;: supporté par
l'auteur<br>
emplacement&nbsp;: <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&nbsp;: <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&nbsp;: supporté par
Maxpeed<br>
emplacement&nbsp;: <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&nbsp;: <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&nbsp;: supporté par Moxa<br>
emplacement&nbsp;: <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&nbsp;: <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&nbsp;: supporté par SDL<br>
emplacement&nbsp;: <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&nbsp;: BETA<br>
emplacement&nbsp;: <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&nbsp;: <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&nbsp;: supporté par
Stallion<br>
emplacement&nbsp;: <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&nbsp;?</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&nbsp;?</a>.
<p>Sur certaines installations, deux périphériques supplémentaires
vont être créés&nbsp;: <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&nbsp;: 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&nbsp;:
<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>&nbsp;:</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>&nbsp;:
<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>&nbsp;:</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&nbsp;:
<blockquote>
<pre><code>
linux# cd /dev
linux# ./MAKEDEV ttyS17
</code></pre></blockquote>
<p>Remarque&nbsp;: 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&nbsp;: le registre d'état d'interruption (<em>Interrupt
Status Register</em>) de la carte Digi PC/8 se trouve en 0x140.</p>
<p>Remarque&nbsp;: 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&nbsp;: <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&nbsp;:
<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>&nbsp;?</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&nbsp;?</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&nbsp;?</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&nbsp;:</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&gt;set line /dev/ttyS3
C-Kermit&gt;set carrier-watch off
C-Kermit&gt;set speed 115200
/dev/ttyS3, 115200 bps
C-Kermit&gt;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&nbsp;:</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&nbsp;:</p>
<blockquote>
<pre><code>
Ctrl-\-C
(Retour a linux)
C-Kermit&gt;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)&nbsp;:</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&gt;set modem type usr        ; Selection du type de modem
C-Kermit&gt;set line /dev/ttyS3       ; Choix du peripherique
C-Kermit&gt;set speed 115200          ; Vitesse de communication
C-Kermit&gt;dial 7654321              ; Numerotation
 Number: 7654321
 Device=/dev/ttyS3, modem=usr, speed=115200
 Call completed.&lt;BEEP&gt;
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&nbsp;?</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&nbsp;:</p>
<blockquote>
<pre><code>
stty crtscts &lt; /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>&nbsp;?</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&nbsp;?</a>,
<em>lisez-la maintenant</em>&nbsp;! 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é&nbsp;:</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>
&amp;C1 le signal DCD est haut seulement apres la connexion
&amp;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&nbsp;: pour que mon modem USR Courier V.34 se
réinitialise correctement à l'ouverture du signal DTR, je suis
obligé de forcer <code>&amp;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&nbsp;: certains modems Supra traitent le signal DCD
différement. Dans ce cas, essayez avec <code>&amp;C0</code> et
<em>non</em> <code>&amp;C1</code>. <code>&amp;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)&nbsp;:</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&nbsp;:</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&nbsp;:</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&nbsp;:</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 &lt;TT&gt;/dev&lt;/TT&gt;</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&nbsp;:</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 à&nbsp;:</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 : &lt;expect&gt; &lt;send&gt; ... (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)&nbsp;:</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>&nbsp;:
<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&nbsp;?</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>&nbsp;! 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&nbsp;:</p>
<pre>
 
        DB25 male du PC                         DB25 du terminal
        TxD   Donnees emises        2 --&gt; 3     RxD   Donnees recues
        RxD   Donnees recues        3 &lt;-- 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&nbsp;:</p>
<pre>
        DB25 male du PC                         DB25 du terminal
        TxD   Donnees emises        2 --&gt; 3     RxD   Donnees recues
        RxD   Donnees recues        3 &lt;-- 2     TxD   Donnees emises
        RTS   Demande pour emettre  4 --&gt; 5     CTS   Pret a emettre
        CTS   Pret a emettre        5 &lt;-- 4     RTS   Demande pour emettre
        DSR   Poste de donnees pret 6
                                    |
        DCD   Detection de porteuse 8 &lt;-- 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 --&gt; 8     DCD   Detection de porteuse
</pre>
<p>Si vous avez un connecteur DB9, vous pouvez essayer&nbsp;:</p>
<pre>
        DB9 du PC                               DB25 du terminal 
        RxD   Donnees recues        2 &lt;-- 2     TxD   Donnees emises
        TxD   Donnees emises        3 --&gt; 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&nbsp;:</p>
<pre>
        DB9 du PC                               DB25 du terminal 
        RxD   Donnees recues        2 &lt;-- 2     TxD   Donnees emises
        TxD   Donnees emises        3 --&gt; 3     RxD   Donnees recues
                                          6     DSR   Poste de donnees pret
                                          |
        DTR   Terminal pret         4 --&gt; 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 &lt;-- 20    DTR   Terminal de donnees pret
        RTS   Demande pour emettre  7 --&gt; 5     CTS   Pret a emettre
        CTS   Pret a emettre        8 &lt;-- 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&nbsp;!)
<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&nbsp;: 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&nbsp;:</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&nbsp;:</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)&nbsp;:</p>
<blockquote>
<pre><code>
S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100
</code></pre></blockquote>
Redémarrez <code>init</code>&nbsp;:
<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&nbsp;?</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&nbsp;! 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)&nbsp;:</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&nbsp;:</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&nbsp;: 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&nbsp;! 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&nbsp;:</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&nbsp;: 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&nbsp;? À quelle
vitesse dois-je fixer mon modem&nbsp;?</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&nbsp;! 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&nbsp;:</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&nbsp;:</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&nbsp;:</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 &lt; /dev/ttyS3 &gt; /dev/ttyS3
define sz !sz \%0 &gt; /dev/ttyS3 &lt; /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
&lt;filename&gt;</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>&nbsp;:</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&nbsp;?</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&nbsp;:</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&nbsp;: 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&nbsp;?</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><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&nbsp;!</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&nbsp;? 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&nbsp;? Comment influent-ils sur les
performances&nbsp;?</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&nbsp;: 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&nbsp;:</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>&amp;D3</code>, mais sur mon USR Courier, je dois positionner
<code>&amp;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&nbsp;:
<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 à&nbsp;:
<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&nbsp;?</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&nbsp;:</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&nbsp;:</p>
<blockquote>
<pre><code>
linux% echo &lt;ctrl&gt;v&lt;esc&gt;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><em>NNN</em>
est une combinaison de valeurs octales définissant les informations
que vous voulez obtenir&nbsp;:</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>&nbsp;:
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&nbsp;: <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&nbsp;: tout sur les réseaux, dont SLIP, CSLIP, et
PPP</li>
<li>PPP HOWTO&nbsp;: aide sur PPP</li>
<li>Printing HOWTO&nbsp;: pour installer une imprimante série</li>
<li>Term HOWTO&nbsp;: tout ce que vous voulez savoir sur le
programme <code>term</code></li>
<li>UPS HOWTO&nbsp;: pour la connexion d'onduleurs sur un port
série</li>
<li>UUCP HOWTO&nbsp;: pour des informations sur le paramétrage de
UUCP</li>
<li>forums de discussion Usenet&nbsp;:
<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&nbsp;: <code><a href=
"http://www.cyclades.com">http://www.cyclades.com</a></code>.</li>
<li>FAQ sur les modems&nbsp;:<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&nbsp;:<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&nbsp;: 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>