1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980
|
Linux Serial HOWTO
di Greg Hankins
versione 1.12, Luglio 1998
Questo documento descrive le funzionalit delle porte seriali non
descritte dal Text-Terminal-HOWTO o dal Serial-Programming-HOWTO.
Riguarda principalmente getty, schede seriali multiporta e i modem.
Aggiornato da David S.Lawyer bf347@lafn.org. Traduzione italiana a
cura di Christopher Gabriel, cgabriel@pluto.linux.it
1. Introduzione
Questo il Linux Serial HOWTO. Descrive in modo dettagliato aspetti
sulle porte seriali che non sono trattati in altri HOWTO. Include
anche come impostare un modem in ambiente linux, qualche trucchetto e
una sezione per la risoluzione dei problemi. Esistono altri HOWTO per
i terminali ( rif. ``HOWTO correlati''). Questo documento
indirizzato a Linux per macchine con hardware x86, ma potrebbe essere
di aiuto per altre architetture.
1.1. Copyright
Copyright (c) 1993 - 1997 di Greg Hankins, 1998 di David Lawyer.
Questo documento pu essere distribuito entro i termini descritti
dalla licenza LDP a http://sunsite.unc.edu/LDP/COPYRIGHT.html. Questo
documento non pu essere distribuito in forma modificata senza il
consenso dell'autore.
1.2. HOWTO correlati sulle porte seriali
Serial-Programming-HOWTO vi pu aiutare a scrivere programmi in
linguaggio C ( o parte di questi ) che possono gestire una porta
seriale, e altro ancora.
Text-Terminal-HOWTO contiene tutto ci che riguarda i terminali
seriali (FIXME: dumb terminals? ).
1.3. Note
Io, David Lawyer, sono il nuovo mantenitore (Greg Hawkins l'autore
del documento originale ). Questa una piccola revisione e non ho
controllato se tutte le nozioni qui esposte sono aggiornate. Questo
comporta tanto lavoro. Per cortesia informatemi se c' qualcosa di
sbagliato e/o mancante. In futuro divider questo HOWTO in tre parti:
Informazioni sui terminali da aggiungere al Text-Terminal-HOWTO
Informazioni sui modem in un nuovo Modem HOWTO
Ulteriori informazioni sulle porte seriali aggiunte a questo
documento.
Tutto questo avverr (spero) nell'agosto o nel Settembre 1998.
1.4. Nuove versioni di questo documento
Nuove versioni del Linux Serial HOWTO saranno disponibili a
ftp://sunsite.unc.edu:/pub/Linux/docs/HOWTO/Serial-HOWTO e nei siti
mirror. Esistono anche altri formati, come il PostScript e DVI,
reperibili nella cartella other-formats . Il Serial-HOWTO anche
disponibile a http://sunsite.unc.edu/LDP/HOWTO/Serial-HOWTO.html e
sar inviato al newsgroup comp.os.linux.answers mensilmente.
1.5. Datemi un aiuto!
Per favore inviatemi qualunque domanda, commento, suggerimento, o
materiale addizionale. Sono sempre curioso di sapere cosa ne pensate
di questo HOWTO. E sono spesso allora ricerca di miglioramenti!
Chiedetemi esattamente cosa non capite, o cosa potrebbe essere
descritto in maniera pi chiara. Potete contattarmi via email a
bf347@lafn.org (David Lawyer).
2. Hardware Seriale Supportato
Linux pu lavorare sicuramente con il seguente hardware seriale.
2.1. Schede Seriali Standard per PC
Le schede seriali standard per PC (COM1 - COM4), alle quali possono
essere collegate periferiche esterne ( modem, mouse seriali, ecc.
). Da quando queste non vengono pi inserite nei PC, dato che sono
integrate alla scheda madre, sono piuttosto difficili da trovare
nei negozi specializzati.
Modem interni standard per PC (COM1 - COM4)
Quickpath Systems Port-Folio 550e (consentono di utilizzare gli IRQ
3, 4, 5, 9, 10, 11, 12, e 15)
Nota: a causa di un conflitto di indirizzo, non potete usare la porta
COM4 e la scheda video IBM8514 simultaneamente. dovuto ad un errore
presente nella scheda IBM8514.
2.2. Modem Plug And Play (PnP)
La maggior parte dei modem attualmente sono PnP e molti di questi (
con qualche accorgimento ) possono operare con Linux. La miglior
scelta prendere un modem che abbia dei jumper per disattivare la
funzionalit PnP. In molti casi, se impostate i jumper per un
determinato numero di porta COM e IRQ, la funzionalit PnP verr
disattivata. Potete anche disattivare il PnP dal BIOS del vostro
computer. Se non potete fare tutto questo, allora provate cos:
Avviate Win95/98, configurate il modem, e controllate che queste
impostazioni siano mantenute anche quando avviate Linux. Se non
cos, allora:
Avviate Win95/98, configurate il modem, e quindi fate un warm boot
di Linux in modo che le impostazioni restino inalterate. Potete
eseguire questo con il boot loader loadlin.
Prendetevi i PnP Tools da http://www.redhat.com/linux-info/pnp.
2.3. Schede Seriali Multiporta "Non-Intelligenti" (con UART
8250/16450/16550A)
Sono dette anche "Adattatori seriali".
* => "setserial" mostra maggiori dettagli sulla configurazione.
AST FourPort e cloni (4 porte) *
Accent Async-4 (4 porte) *
Arnet Multiport-8 (8 porte)
Bell Technologies HUB6 (6 porte)
Boca BB-1004 (4 porte), BB-1008 (8 porte), BB-2016 (16 porte) *
Boca IOAT66 (6 porte)
Boca 2by4 (4 porte seriali, 2 porte parallele)
Byterunner (basso costo)
Computone ValuePort V4-ISA (compatibile con AST FourPort) *
Digi PC/8 (8 porte)
GTEK BBS-550 (8 porte) Guardatevi anche il mini-howto su questa
scheda.
HUB-6 See Bell Technologies.
Longshine LCS-8880, Longshine LCS-8880+ (compatibile AST FourPort)
Moxa C104, Moxa C104+ (compatibile AST FourPort)
PC-COMM (4 porte)
Sealevel Systems <http://www.sealevel.com> COMM-2 (2 porte), COMM-4
(4 porte) e COMM-8 (8 porte)
SIIG I/O Expander 2S IO1812 (4 porte)
STB-4COM (4 porte)
Twincom ACI/550
Usenet Serial Board II (4 porte) *
In generale, Linux supporta qualsiasi scheda che utilizza un UART
8250, 16450, 16550, 16550A, 16650 (o compatibili), o un modem interno
che emuli una delle suddette UART.
Nota: la BB-1004 e BB-1008 non supportano linee DCD e RI, e quindi non
sono utilizzabili dai modem in entrata. Lavorano molto bene in altri
ambiti.
2.4. Schede Seriali Multiporta "Intelligenti"
Assicuratevi che sia disponibile un driver per Linux funzionante.
Questa lista da aggiornare.
Comtrol RocketPort (36MHz ASIC; 4, 8, 16 o 32 porte)
Contatti: info@comtrol.com oppure http://www.comtrol.com
stato del driver: assistenza tecnica di Comtrol
locazione del driver:
ftp://tsx-11.mit.edu/pub/linux/packages/comtrol
Computone IntelliPort II (16MHz 80186; 4, 8, o 16 porte),
IntelliPort II EXpandable (20MHz 80186; 16 - 64 ports)
contatto: Michael H. Warfield, mhw@wittsend.atl.ga.us
stato del driver: pre-ALPHA
Cyclades Cyclom-Y (Cirrus Logic CD1400 UARTs; 8 - 32 porte),
Cyclom-Z (25MHz MIPS R3000; 8 - 128 porte)
contatto: sales@cyclades.com oppure http://www.cyclades.com
stato del driver: assistenza tecnica di Cyclades
locazione del driver: ftp://ftp.cyclades.com/pub/cyclades e incluso
nel Kernel Linux sin dalla versione 1.1.75
Decision PCCOM8 (8 porte)
contatto: pccom8@signum.se
locazione del driver: ftp://ftp.signum.se/pub/pccom8
Digi PC/Xi (12.5MHz 80186; 4, 8, o 16 porte),
PC/Xe (12.5/16MHz 80186; 2, 4, o 8 porte),
PC/Xr (16MHz IDT3041; 4 o 8 porte),
PC/Xem (20MHz IDT3051; 8 - 64 porte)
contatto: sales@dgii.com oppure http://www.dgii.com
stato del driver: ssistenza tecnica di Digi
locazione del driver: ftp://ftp.dgii.com/drivers/linux e incluso
nel Kernel Linux sin dalla versione 2.0
Digi COM/Xi (10MHz 80188; 4 o 8 porte)
contatto: Simon Park, si@wimpol.demon.co.uk
stato del driver: ALPHA
nota: Simon spesso assente per mesi per motivi di lavoro e non
pu rispondere alle email. Mark Hatle,
fray@krypton.mankato.msus.edu si gentilmente reso disponibile per
farvi avere i driver, se ne avete bisogno. Mark non mantiene il
driver e non fa assistenza.
Equinox SuperSerial Technology (30MHz ASIC; 2 - 128 porte)
contatto: sales@equinox.com oppure http://www.equinox.com
stato del driver: assistenza tecnica di Equinox
locazione del driver: ftp://ftp.equinox.com/library/sst
GTEK Cyclone (16C654 UARTs; 6, 16 e 32 porte),
SmartCard (24MHz Dallas DS80C320; 8 porte),
BlackBoard-8A (16C654 UARTs; 8 porte),
PCSS (15/24MHz 8032; 8 porte)
contatto: spot@gtek.com oppure http://www.gtek.com
stato del driver: assistenza tecnica di GTEK
locazione del driver: ftp://ftp.gtek.com/pub
Hayes ESP (COM-bic; 1 - 8 porte)
contatto: Andrew J. Robinson, arobinso@nyx.net oppure
http://www.nyx.net/~arobinso
stato del driver: assistenza dell'autore
locazionde del driver: http://www.nyx.net/~arobinso e incluso nel
Kernel Linux dalla versione 2.1.15
Maxpeed SS (Toshiba; 4, 8 e 16 porte)
contatto: info@maxpeed.com oppure http://www.maxpeed.com
stato del driver: assistenza tecnica di Maxpeed
locazione del driver: ftp://maxpeed.com/pub/ss
Moxa C218 (12MHz 80286; 8 porte),
Moxa C320 (40MHz TMS320; 8 - 32 porte)
contatto: info@moxa.com.tw oppure http://www.moxa.com.tw
stato del driver: assistenza di Moxa
locazione del driver: ftp://ftp.moxa.com.tw/drivers/c218-320/linux
SDL RISCom/8 (Cirrus Logic CD180; 8 porte)
contatto: sales@sdlcomm.com oppure http://www.sdlcomm.com
stato del driver: assistenza di SDL
locazione del driver: ftp://ftp.sdlcomm.com/pub/drivers
Specialix SIO (20MHz Zilog Z280; 4 - 32 porte),
XIO (25MHz Zilog Z280; 4 - 32 porte)
contatto: Simon Allen, simonallen@cix.compulink.co.uk
stato del driver: BETA
locazione del driver:
ftp://sunsite.unc.edu/pub/Linux/kernel/patches/serial
Stallion EasyIO-4 (4 ports), EasyIO-8 (8 porte), e
EasyConnection (8 - 32 porte) - ognuna con Cirrus Logic CD1400
UARTs,
Stallion (8MHz 80186 CPU; 8 o 16 porte),
Brumby (10/12 MHz 80186 CPU; 4, 8 o 16 porte),
ONboard (16MHz 80186 CPU; 4, 8, 12, 16 o 32 porte),
EasyConnection 8/64 (25MHz 80186 CPU; 8 - 64 porte)
contatto: sales@stallion.com oppure http://www.stallion.com
stato del driver: assistenza di Stallion
locazione del driver: ftp://ftp.stallion.com/drivers/ata5/Linux e
incluso nel Kernel di Linux dalla versione 1.3.27
Una relazione sui prodotti di Comtrol, Cyclades, Digi e Stallion
stata inserita nel numero di Giugno 1995 del Linux Journal. L'articolo
disponibile a http://www.ssc.com/lj/issue14.
2.5. Hardware seriale non supportato
2.5.1. I Winmodem non funzionano
I modem che vengono definiti "Winmodem", ad esempio il USR Sportster
Winmodem e l'IBM Aptiva MWAVE, non sono supportati da Linux. Questi
modem hanno un design proprietario che richiede speciali driver per
Windows. Evitate questo tipo di modem.
2.5.2. I driver per Rockwell (RPI) possono funzionare.
I modem che richiedono i driver Rockwell RPI non sono completamente
funzionanti dato che i driver software non funzionano con Linux. La
RPI comprime la trasmissione e ne corregge gli errori usando software
MS attraverso la CPU del vostro computer. Se desiderate utilizzare
questi modem senza l'uso dell'RPI ( quindi senza compressione n
correzione di errore ) allora potete facilmente disabilitare la RPI
inviando al modem ( attraverso una string di inizializzazione ) il
comando appropriato: +HO
3. Che cosa rappresentano i nomi delle porte seriali?
Una porta di I/O un mezzo che permette l'ingresso e l'uscita di dati
da un computer. Esistono svariati tipi di porte I/O come, ad esempio,
le porte seriali, parallele, controller per disk drive, schede
ethernet, ecc. Qua tratteremo le porte seriali, dato che i modem e i
terminali sono periferiche seriali. Ogni porta seriale deve avere un
indirizzo di I/O, e un interrupt (IRQ). Esistono quattro porte seriali
corrispondenti a COM1 - COM4:
ttyS0 (COM1) indirizzo 0x3f8 IRQ 4
ttyS1 (COM2) indirizzo 0x2f8 IRQ 3
ttyS2 (COM3) indirizzo 0x3e8 IRQ 4
ttyS3 (COM4) indirizzo 0x2e8 IRQ 3
Se Linux non riconosce nessuna porta seriale quando si avvia, allora
assicuratevi che il supporto seriali sia attivato e compilato nel ker
nel. In questo documento, mi riferisco a COM1 come ttyS0, COM2 come
ttyS1, COM3 come ttyS2, e COM4 come ttyS3. Da notare il fatto che per
default Linux utilizza gli stessi indirizzi IRQ per pi porte. Non
potete usare tutte le porte con questa configurazione, e dovete re-
assegnare le porte con differenti indirizzi IRQ. Potete fare riferi
mento alla sezione ``Posso usare pi di due porte seriali?'' per
impostare gli IRQ.
3.1. Periferiche: Modem, Mouse.
In qualche installazione vengono create due periferiche addizionali:
/dev/modem per il vostro modem e /dev/mouse per il mouse. Tutte e due
sono link simbolici alla periferica appropriata in /dev che avete
specificato durante l'installazione.
Ci sono state discussioni sul merito di /dev/mouse e /dev/modem. Io
scoraggio apertamente l'utilizzo di questi link. Ad esempio, se
desiderate utilizzare il vostro modem per chiamare all'esterno potrete
avere problemi poich il lock file pu non funziona correttamente con
/dev/modem. Utilizzateli se li trovate comodi, ma assicuratevi che
puntino alla periferica corretta. In ogni caso, se cambiate o
rimuovete questi link, qualche applicazione (minicomper esempio )
andranno configurate nuovamente.
3.2. La periferica cua
Ogni periferica tty ha una corrispondere periferica cua. Si discusso
a lungo circa la rimozione delle cua poich forse meglio utilizzare
le ttyS. La principale differenza tra cua e ttyS che per un comune
comando "open" ( senza argomenti ) all'interno di una applicazione, la
cua aprir ugualmente la porta anche se i segnali di controllo del
modem ( come il DCD ) non lo permettono ( stty deve essere impostato
per controllare i segnali del modem ). In una situazione del genere
una porta ttyS si rifiuterebbe di aprire la porta, ma pu essere
forzata a farlo con parametri specifici ai comandi.
3.3. Le porte seriali e la numerazione in /dev
/dev/ttyS0 major 4, minor 64 /dev/cua0 major 5, minor 64
/dev/ttyS1 major 4, minor 65 /dev/cua1 major 5, minor 65
/dev/ttyS2 major 4, minor 66 /dev/cua2 major 5, minor 66
/dev/ttyS3 major 4, minor 67 /dev/cua3 major 5, minor 67
Da notare che tutte le distribuzioni devono avere queste periferiche
gi impostate correttamente ( a meno che cua non venga abolita ).
Potete verificare questo con:
linux% ls -l /dev/cua*
linux% ls -l /dev/ttyS*
3.3.1. Creare periferiche in /dev
Se non trovate una periferica allora dovete crearla con il comando
mknod. Se per esempio volete creare una periferica per ttyS0:
linux# mknod -m 666 /dev/cua0 c 5 64
linux# mknod -m 666 /dev/ttyS0 c 4 64
Potete usare anche lo script MAKEDEV, che si trova in /dev. Questo
semplifica la creazione di periferiche. Un altro esempio, sempre per
creare una ttyS0:
linux# cd /dev
linux# ./MAKEDEV ttyS0
Questo script si occupa di creare le periferiche di ingresso e di
uscita, e impostare correttamente i permessi.
3.4. Piccole note per Schede Multiporta Non Intelligenti
La periferica che viene utilizzata dalla vostra scheda multiporta
dipende proprio dal tipo di scheda installata. Alcune di queste sono
dettagliatamente descritte in rc.serial o in 0setserial che si trova
nel pacchetto setserial. Raccomando vivamente di prendere la pi
recente versione di setserial se state provando ad installare una
scheda multiporta. Probabilmente avrete bisogno di creare queste
periferiche. Potete utilizzare sia il comando mknod sia lo script
MAKEDEV. Le periferiche per schede multiporta sono create aggiungendo
``64 + numero porta''. Quindi, se volete creare una periferica del
tipo ttyS17, dovrete digitare:
linux# mknod -m 666 /dev/cua17 c 5 81
linux# mknod -m 666 /dev/ttyS17 c 4 81
Notate che ``64 + 17 = 81''. Usando invece lo script MAKEDEV, dovrete
digitare:
linux# cd /dev
linux# ./MAKEDEV ttyS17
Nota: il manuale SIIG per la IO1812 che descrive la COM5-COM8
errato. Devono essere COM5=0x250, COM6=0x258, COM7=0x260, e
COM8=0x268.
Nota: il registro di stato per l'interrupt della Digi PC/8 e'0x140.
Nota: per una AST Fourport dovrete specificare skip_test in rc.serial.
3.5. Note per Schede Multiporta Intelligenti
Leggete le informazioni che trovate assieme al driver. Queste schede
utilizzano particolari periferiche, non quelle predefinite. Queste
informazioni variano dipendentemente dall'hardware.
4. Programmi interessanti di cui dovete essere al corrente
4.1. Cosa getty ?
getty un applicativo che gestisce i processi di login quando
accedete ad un sistema Unix. Dovrete utilizzare getty se desiderate
accedere al vostro Linux box con un modem. Al tempo stesso, non ne
avete bisogno se chiamate all'esterno dallo stesso box. Esistono
attualmente tre versioni che sono comunemente utilizzate con Linux:
getty_ps, mgetty e agetty. La sintassi per questi programmi
differente, quindi controllate e assicuratevi di utilizzare la
corretta sintassi per qualunque getty decidiate di utilizzare.
4.1.1. getty_ps
Molte distribuzioni hanno il pacchetto getty_ps installato ( Debian
usava agetty, ma adesso passata a mgetty). Questo contiene due
applicativi: getty, il quale utilizzato per le console e i
terminali, e uugetty per i modem. Io uso questa versione di getty,
quindi quella su cui porr maggiore attenzione.
4.1.2. mgetty
mgetty una versione di getty usata per lo pi con i modem. Pu
essere utilizzata per terminali cablati, ma la documentazione al 99%
incentrata sui modem. Oltre a permettere le connessioni esterne,
mgetty fornisce il supporto per i FAX e il riconoscimento automatico
del PPP. La documentazione di mgetty (fornita in formato texinfo)
buona, e non necessita di aggiunte da parte mia. Fate riferimento a
quella documentazione per le istruzioni di installazione. Potete
trovare maggiori informazioni circa mgetty a
http://www.leo.org/~doering/mgetty/.
4.1.3. agetty
agetty la terza variante di getty. una semplice, completamente
funzionale, implementazione di getty creata appositamente per console
virtuali o terminali piuttosto che modem .
4.2. Cosa setserial ?
setserial un applicativo per vi permette di controllare e modificare
i vari attributi di una periferica seriale, inclusi l'indirizzo della
porta, l'interrupt e altre opzioni varie. Potete sapere quale versione
avete, lanciando setserial senza argomenti. Se l'argomento fosse, per
esempio, /dev/ttyS0, allora riceverete informazioni circa questa
periferica.
Quando il vostro sistema Linux viene avviato, sono configurate solo le
periferiche ttyS{0-3}, usando gli IRQ standard 4 e 3. Quindi, se avete
altre periferiche seriali fornite da altre schede o se ttyS{0-3} hanno
un IRQ non-standard, allora dovete usare setserial in modo da
configurare queste porte seriali. Per la lista completa di opzioni
consultate la pagina man.
5. Come posso effettuare una chiamata con il mio modem?
5.1. Requisiti Hardware
Potete utilizzare un modem sia esterno che interno. Quello interno
pi economico e non occupa spazio sulla scrivania o sul tavolo. Quello
esterno invece pi semplice da installare e ha delle luci che
permettono di capire cosa sta succedendo. Devono essere spenti
manualmente quando non vengono usati e continuano a consumare un
piccolo quantitativo di energia elettrica anche una volta spenti.
5.1.1. Modem Esterni
Prima di tutto, assicuratevi di avere il cavo giusto. Il vostro modem
richiede un cavo pin-to-pin senza i file intrecciati. Ogni rivenditore
di computer dovrebbe averli. Assicuratevi inolte che abbia il giusto
connettore. Se state usando una porta seriale DB25, allora sar sempre
un connettore maschio DB25. Non confondetevi con la porta parallela,
che ha un connettore femmina DB25. Collegate a questo punto il vostro
modem ad una delle porte seriali. Consultate il manuale del vostro
modem su come farlo se avete bisogno di aiuto.
5.1.2. Modem Interni
Per un modem interno non avrete bisogno di un cavo. Un modem interno
non necessita di una porta seriale, ne ha una inserita al suo interno.
Tutto ci di cui avete bisogno configurare gli indirizzi della porta
I/O. Consultate il manuale del vostro modem se non sapete cosa fare.
Inoltre, potete leggere la sezione ``Posso usare pi di due porte
seriali?'' se avete bisogno di scegliere un IRQ o un indirizzo.
Su alcune schede madri potete disattivare le porte seriali che il
modem rimpiazza in modo tale da evitare conflitti. Questo pu essere
eseguito utilizzando i vari jumper presenti sulla scheda oppure dalle
impostazioni del BIOS, dipende dal tipo di scheda madre. Consultate il
manuale di questa.
Se siete in possesso di una scheda video IBM8514, allora dovete sapere
che c' un errore. Potrete avere problemi se tentate di utilizzare il
vostro modem interno sul ttyS3. Se Linux non riconosce la vostra
scheda modem interna su ttyS3, potete utilizzare setserial e il modem
funzioner correttamente. I modem interni su ttyS{0-2} non dovrebbero
avere nessuno problema nell'essere riconosciuti. Linux non esegue
nessuna auto-configurazione su ttyS3 per via di questo problema con
questo tipo di scheda video.
5.2. Parlare al vostro modem
Usate kermit, minicom o qualche altro applicativo di comunicazione per
sperimentare la vostra configurazione, prima di passare all'utilizzo
di applicazioni pi complesse, tipo SLIP o PPP. Potete trovare le
versioni pi recenti di kermit a http://www.columbia.edu/kermit/. Per
esempio, se il vostro modem connesso a ttyS3, e la velocit 115200
bps, dovrete fare cos:
linux# kermit
C-Kermit 6.0.192, 6 Sep 96, for Linux
Copyright (C) 1985, 1996,
Trustees of Columbia University in the City of New York.
Default file-transfer mode is BINARY
Type ? or HELP for help.
C-Kermit>set line /dev/ttyS3
C-Kermit>set carrier-watch off
C-Kermit>set speed 115200
/dev/ttyS3, 115200 bps
C-Kermit>c
Connecting to /dev/ttyS3, speed 115200.
The escape character is Ctrl-\ (ASCII 28, FS)
Type the escape character followed by C to get back,
or followed by ? to see other options.
ATE1Q0V1 ; digitate questo e premete INVIO
OK ; il modem dovrebbe rispondere cos
Se il vostro risponde ai comandi AT, allora sicuramente funzioner con
Linux. Adesso provate a chiamare un altro modem digitando:
ATDT123456
dove 123456 il numero telefonico. Usate ATDP invece di ATDT se avete
una linea a impulsi. Se la chiamata viene effettuata, allora il vostro
modem funziona correttamente.
Per tornare al prompt di kermit premete CTRL+\ e poi C:
Ctrl-\-C
(per tornare a linux)
C-Kermit>quit
linux#
Questo solo un piccolo test molto rude su come effettuare una chia
mata manualmente. Il metodo "normale" di utilizzare kermit in modo
che effettui la chiamata automaticamente, utilizzando il suo database
interno di numeri telefonici. Ad esempio, se utilizzate un modem US
Robotics (USR):
linux# kermit
C-Kermit 6.0.192, 6 Sep 1997, for Linux
Copyright (C) 1985, 1996,
Trustees of Columbia University in the City of New York.
Default file-transfer mode is BINARY
Type ? or HELP for help
C-Kermit>set modem type usr ; Selezionare il tipo di modem
C-Kermit>set line /dev/ttyS3 ; Selezionare la porta di comunicazione
C-Kermit>set speed 115200 ; Impostare la velocit di trasmissione
C-Kermit>dial 7654321 ; Chiamare
Number: 7654321
Device=/dev/ttyS3, modem=usr, speed=115200
Call completed.<BEEP>
Connecting to /dev/ttyS3, speed 115200
The escape character is Ctrl-\ (ASCII 28, FS).
Type the escape character followed by C to get back,
or followed by ? to see other options.
Welcome to ...
login:
fate riferimento alla sezione ``Programmi di Comunicazione'' se avete
bisogno di ulteriori informazioni o applicativi da utilizzare.
Quando chiamate con il vostro modem, impostate la velocit della porta
seriale la pi alta possibile, sempre che il vostro modem la supporti
( non oltre i 155200 bps). Questa non la stessa velocit del modem,
come ad esempio 56.000 bps. Alcune versioni di Linux con una versione
libc maggiore di 5.x hanno il supporto per 115.200 bps.
5.3. Configurare il modem per chiamare all'esterno
Se utilizzate il modem unicamente per chiamare, potete configurarlo
come pi vi piace. Se invece siete intenzionati anche a ricevere
chiamate, allora dovete configurare il vostro modem alla stessa
velocit a cui intendete impostare getty. Comunque sia, la maggior
parte dei modem oggigiorno impostano automaticamente la velocit alla
stessa della porta di comunicazione. Chi utilizza getty alla velocit
di 115.200 bps ha automaticamente impostato il modem per quella
velocit, quando getty invia a questo la stringa di inizializzazione
alla porta a cui connesso il modem. In generale, consultate il
manuale del vostro modem per impostare una velocit ottimale.
5.4. Controllo di Flusso Hardware
Se il vostro modem supporta il controllo di flusso hardware (RTS/CTS),
vi raccomando caldamente di utilizzarlo. particolarmente importante
per i modem che supportano la compressione dei dati. In primo luogo
dovete attivare il controllo di flusso RTS/CTS sulla porta seriale
stessa. Il miglior modo di farlo al boot, ad esempio in
/etc/rc.d/rc.local oppure /etc/rc.d/rc.serial. Assicuratevi che questi
file siano eseguiti la file principale, rc.sysinit! Dovete seguire il
seguente procedimento su ogni porta sulla quale desiderate installare
il supporto per il controllo di flusso hardware:
stty crtscts < /dev/ttyS3
Se non impostato per default, dovete impostare il controllo di
flusso RTS/CTS anche sul vostro modem. Il vostro programma di comuni
cazione pu impostarlo per voi. Consultate il manuale del vostro modem
per maggior informazioni.
6. Come posso effettuare chiamate e riceverle con il modem usando
getty_ps ?
Configurate il vostro modem in modo che possa effettuare chiamate
correttamente. Se non avete letto la sezione ``Come posso effettuare
una chiamata con il mio modem?'' allora leggetela adesso! Contiene
informazioni molto importanti sulla configurazione. Non importa che
leggiate questa sezione se desiderate usare il modem esclusivamente
per effettuare chiamate.
6.1. Configurare il modem per chiamare e ricevere
Per effettuare chiamate oppure riceverle dovete impostare il vostro
modem in un modo particolare ( ancora usando i comandi AT sul vostro
modem ) :
E1 command echo ON
Q0 result codes are reported
V1 verbose ON
S0=0 never answer (uugetty interpreta questo come una
opzione WAITFOR )
Se non impostate questi parametri correttamente, la vostra stringa
INIT potrebbe fallire, bloccando tutta la procedura. Ma ecco qualcosa
di pi circa i file di configurazione...
&C1 DCD attivato solo dopo la connessione
&S0 DSR sempre attivato
DTR on/off resetta il modem (dipende dalla casa produttrice - RTFM )
Questi parametri impostano il comportamente del modem quando una chia
mata inizia e/o finisce.
Se il vostro modem non supporta l'inserimento di un profilo, potete
impostare questi parametri attraverso la stringa INIT nel vostro file
di configurazione. Leggete pi sotto. Alcuni modem hanno alcuni DIP
switch per effettuare queste modifiche. Assicuratevi che anche questi,
se il vostro caso, siano impostati correttamente.
Ho iniziato a collezionare configurazioni per svariati tipi di modem.
Al momento per non sono molti.. quindi inviatemeli! aspetto qualcosa
da voi! Potete trovare quelli gi presenti a
ftp://ftp.cc.gatech.edu/pub/people/gregh/modem-configs.
Nota: per far resettare correttamente il mio modem USR Courier V.34
quando cade il DTR, ho dovuto impostare &D2 e S13=1 ( questo assegna
il bit 0 del registro S13). stato confermato che questo funziona
anche sul modem USR Sportster V.34 .
Nota: alcuni modem Supra gestisco il DCD in modo differente da altri
modem. Se state utilizzando un modem Supra, provate a impostare &C0 e
non &C1. Dovete anche settare &D2 per gestire correttamente DTR.
6.2. Installazione di getty_ps
Prendete la versione pi recente da
sunsite.unc.edu:/pub/Linux/system/serial. In particolare, se
desiderate usare alte velocit (57600 e 115200 bps) dovete prendere la
versione 2.0.7j o successive. Inoltre dovete anche avere la libc
versione 5.x o successiva.
Per default, getty_ps configurato per essere compatibile con il
Linux FSSTND ( File System Standard ), il che significa che i file
binari saranno in /sbin/, e i file di configurazione si chiameranno
/etc/conf.{uu}getty.ttySN. Questo non compare nella documentazione!
Inoltre dar per scontato che i lock file andranno in /var/lock.
Assicuratevi di avere la directory /var/lock/.
Se non desiderate la compatibilit con FSSTND, i file binari andranno
in /etc, mentre quelli di configurazione in
/etc/default/{uu}getty.ttySN, e i lock file si andranno in
/usr/spool/uucp. Vi raccomando di effettuare queste procedure come
descritte se state usando UUCP, perch UUCP potr avere problemi se
muovete i lock file dalla posizione predefinita.
getty_ps pu inoltre usare syslogd per registrare tutti i messaggi.
Consultate le pagine man syslogd(1) e syslogd.conf(5) su come
impostare syslogd, se ancora non lo avete installato. I messaggi sono
registrati con priorit LOG_AUTH, gli errori usano LOG_ERR, e quelli
di debugging LOG_DEBUG. Se non desiderate usare syslogd potete editare
tune.h fra i file sorgenti di getty_ps per utilizzare un file per
registrare i messaggi, che per default /var/adm/getty.log.
Decidete se siete interessati ad utilizzare FSSTND e anche syslogd,
potete scegliere di utilizzare una combinazione dei due. Modificate il
Makefile, tune.h e config.h per confermare le vostre decisioni.
Quindi compilate e installate seguendo le istruzioni incluse nel
pacchetto dei sorgenti.
D'ora in avanti, tutti i riferimenti a getty saranno per getty_ps.
Riferimenti invece a uugetty saranno per uugetty incluso nel pacchetto
getty_ps. Queste istruzioni non funzionano con mgetty o agetty.
7. uugetty
7.1. Impostare uugetty
Assicuratevi di avere una periferica di entrata e una di uscita per la
porta seriale alla quale collegato il vostro modem. Se questo si
trova su ttyS3 dovete avere le periferiche /dev/cua3 e /dev/ttyS3. Se
non avete le periferiche corrette, leggete la sezione ``Creare
periferiche in /dev'' circa la creazione di queste periferiche, e
createle. Se desiderate essere in grado di effettuare chiamate
all'esterno mentre uugetty controlla la porta per eventuali chiamate
in arrivo, usate la periferica /dev/cuaN invece di /dev/ttySN.
uugetty effettua importanti controlli sui lock file. Aggiornate
/etc/gettydefs per aggiungere un voce per il vostro modem. Quando
avete modificato /etc/gettydefs, potete verificare la correttezza
della sintassi eseguendo:
linux# getty -c /etc/gettydefs
7.1.1. Modem moderni
Se avete un modem a 9600 bps o pi veloce con compressione dei dati,
potete impostare la velocit della porta seriale. Per esempio:
# 115200 velocit impostata
F115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #F115200
Se volete che il vostro modem effettui il controllo di flusso hardware
RTS/CTS, potete aggiungere CRTSCTS alla voce:
# 115200 velocit impostata con controllo di flusso hardware
F115200# B115200 CS8 CRTSCTS # B115200 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F115200
7.1.2. Modem lenti e vecchiotti
Se siete in possesso di modem non veloci ( inferiori a 9600 bps )
allora, invece un una sola linea per una singola velocit, avrete
bisogno di alcune linee per provare alcune impostazioni. Da notare il
che queste linee sono collegate fra loro con l'ultima parola, ad
esempio #38400. Sono necessarie delle linee vuote fra ciascuna voce
del file di configurazione.
# Impostazioni del 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
7.1.3. Messaggio di benvenuto
Se lo desiderate, potete impostare uugetty in modo tale che visualizzi
messaggi interessanti al momento del login. Nel mio esempio ho
inserito il nome del sistema, la linea seriale, e la velocit
utilizzata. Potete aggiungere molte altre cose:
@B La velocit della linea in bps.
@D La data corrente, espressa in MM/DD/YY.
@L La linea seriale sulla quale si trova getty.
@S Il nome del sistema.
@T L'ora corrente, espressa in HH:MM:SS (24 ore).
@U Il numero di utenti attualmente collegati. in pratica
un conteggio effettuato in base al file /etc/utmp.
@V Il valore di VERSION
Per visualizzare un carattere '@'singolo, utilizzate sia '/@'
che '/@@'.
7.2. Personalizzare uugetty
Esistono molti parametri che potete impostare per ciascuna porta
seriale. Questi sono implementati in file di configurazione separati
per ciascuna porta. Il file /etc/conf.uugetty sar utilizzato da tutte
le sessioni di uugetty, e /etc/etc.uugetty.ttySN sar utilizzato solo
per quella specifica porta. Alcuni esempi di questi file di
configurazione posso essere trovati fra i sorgenti di getty_ps, che si
possono trovare praticamente in ogni distribuzione di Linux. Per
motivi di spazio non sono stati trascritti qui. Nota: se state
utilizzando versioni pi vecchie di getty ( precendenti alla 2.0.7e),
oppure non state utilizzando FSSSTND, allora il file di configurazione
sar /etc/default/uugetty.ttySN. Il /etc/conf.uugetty.ttyS3 cos:
ALTLOCK=cua3
ALTLINE=cua3
# Linea da inizializzare
INITLINE=cua3
# timeout di disconnessione se inattiva
TIMEOUT=60
# stringa di inizializzazione del modem
INIT="" AT\r OK\r\n
WAITFOR=RING
CONNECT="" ATA\r CONNECT\s\A
# questa riga imposta il tempo di ritardo prima di inviare
# il messaggio di benvenuto del login
DELAY=1
#DEBUG=010
Aggiugete le seguenti linee nel vostro /etc/inittab, in modo tale che
uugetty sia in esecuzione sulla vostra porta seriale ( effettuate le
modifiche in modo da adattare questo al vostro specifico caso - file
di configurazione, velocit e tipo di terminale):
S3:456:respawn:/sbin/uugetty -d /etc/default/uugetty.ttyS3 ttyS3 F115200 vt100
Riavviate init:
linux# init q
Per le impostazioni sulla velocit nel vostro /etc/inittab vi con
siglio di utilizzare la velocit pi alta in bps supportata dal vostro
hardware.
Adesso Linux controlla continuamente la porta seriale in attesa di
connessioni. Chiamate da un'altra macchina e collegatevi al vostro
sistema Linux.
uugetty ha molte altre opzioni, leggete il manuale di getty(1m) per
una descrizione pi dettagliata. Fra le tante opzioni c' anche quella
di richiamata.
8. Come posso impostare un terminale connesso al mio PC?
Leggete il Text-Terminal-HOWTO per informazioni pi dettagliate sui
terminali. Le istruzioni in questa sezione descrivono come connettere
un terminale, cos come altri computer al vostro sistema Linux.
8.1. Requisiti Hardware
Assicuratevi di avere il cablaggio corretto. Un cavo null-modem
comprato in un negozio di informatica pu funzionare, ma quasi
sicuramente non funzioner il controllo di flusso hardware. Ma deve
essere un cavo null modem! Molti negozi di computer lo chiamano cavo
per stampanti seriali. Assicuratevi inoltre di stare usando la porta
seriale, una DB25 o DB9 maschio, non la quella parallela ( femmina,
DB25 o Centronics ).
Per il connettore DB25, avete bisogno al minino di questo:
PC maschio DB25 Terminale DB25
TxD Transmit Data 2 --> 3 RxD Receive Data
RxD Receive Data 3 <-- 2 TxD Transmit Data
SG Signal Ground 7 --- 7 SG Signal Ground
Questo cavo null modem funziona fra due computer che utilizzano il
signale di handshake hardware RTS/CTS, ma molti terminali utilizzano
l'handshake DTR che non pu essere impostato con linux tramite "stty".
Una soluzione di impostare stty crtscts e connettere il pin 20 del
terminale (DTR) con il pin 5 del computer (CTS).
PC male DB25 Terminal DB25
TxD Transmit Data 2 --> 3 RxD Receive Data
RxD Receive Data 3 <-- 2 TxD Transmit Data
RTS Request To Send 4 --> 5 CTS Clear To Send
CTS Clear To Send 5 <-- 4 RTS Request To Send
DSR Data Set Ready 6
|
DCD Carrier Detect 8 <-- 20 DTR Data Terminal Ready
SG Signal Ground 7 --- 7 SG Signal Ground
6 DSR Data Set Ready
|
DTR Data Terminal Ready 20 --> 8 DCD Carrier Detect
Se sulla propria porta seriale si ha un connettore DB9, si provi
quanto segue:
PC DB9 Terminal DB25
RxD Receive Data 2 <-- 2 TxD Transmit Data
TxD Transmit Data 3 --> 3 RxD Receive Data
SG Signal Ground 5 --- 7 SG Signal Ground
In alternativa, un cavo null modem DB9-DB25 (come detto non pu
operare con un terminale con handshake hardware):
PC DB9 Terminal DB25
RxD Receive Data 2 <-- 2 TxD Transmit Data
TxD Transmit Data 3 --> 3 RxD Receive Data
6 DSR Data Set Ready
|
DTR Data Terminal Ready 4 --> 8 DCD Carrier Detect
GND Signal Ground 5 --- 7 GND Signal Ground
DCD Carrier Detect 1
DSR Data Set Ready 6 <-- 20 DTR Data Terminal Ready
RTS Request To Send 7 --> 5 CTS Clear To Send
CTS Clear To Send 8 <-- 4 RTS Request To Send
(RI Ring Indicator 9 not needed)
(S, i pin 2 e 4 hanno veramente significati opposti tra i connettori
DB9 e quelli DB25!)
Se non state utilizzando un cavo completamente null modem, forse
potete utilizzare il seguente trucchetto: sul connettore dalla parte
del vostro computer collegate il RTS e il CTS assieme, e collegate
anche DSR, DCD e DTR assieme. In questo modo, quando uno dei due
computer richiede un signal di handshake lo otterr ( da se stesso! ).
Adesso che avete il cavo giusto, collegate il vostro terminale al
vostro computer. Se potete, impostate il terminale in modo da ignorare
i segnali di controllo del modem. Provate ad usare 9600 bps, 8 data
bits, 1 stop bit, no parit nella configurazione del terminale (oppure
attivate la parit se volete essere un po' pi sofisticati).
8.2. Impostare getty (componente di getty_ps )
Consultate il vostro manuale di getty per altre applicazioni come ad
esempio agetty. Aggiungete le impostazioni per il vostro terminale per
getty se non sono gi esistenti in /etc/gettydefs:
# Terminale Stupido a 38400 bps
DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400
# Terminale Stupido a 19200 bps
DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200
# Terminale Stupido a 9600 bps
DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600
Se lo desiderate potete far stampare a video da getty informazioni
interessanti sul login. Nel mio esempio ho inserito il nome del
sistema e la porta seriale. Potete aggiungere molte altre cose:
@B La velocit corrente in bps.
@D La data corrente, nel formato MM/DD/YY.
@L La porta seriale sulla quale in esecuzione getty.
@S Il nome del sistema.
@T l'ora corrente, nel formato HH:MM:SS ( 24 ore ).
@U IL numero degli utenti attualmente collegati.
@V Il valore di VERSION.
Per visualizzare un singolo carattere '@', potete usare
sia '\@' sia '@@'.
Una volta modificato /etc/gettydefs, potete verificare che la sintassi
sia corretta digitando:
linux# getty -c /etc/gettydefs
Assicuratevi che non vi siano file di configurazione di getty oppure
uugetty per la porta seriale alla quale il vostro terminale
collegato (/etc/default/{uu}getty.ttySN oppure
/etc/conf.{uu}getty.ttySN), poich pu molto probabilmente interferire
nell'esecuzione di getty su un terminale. Rimuovere questi file se
esistono.
Editate il vostro file /etc/inittab per lanciare getty sulla porta
seriale ( sostituendo con le corrette informazioni sul vostro sistema
- porta, velocit e tipologia del terminale):
S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100
Riavviate init:
linux# init q
A questo punto dovreste essere in grado di vedere un prompt di login
sul terminale. Probabilmente dovrete premere invio per ottenere
l'attenzione del terminale.
8.3. Suggerimenti per configurare un PC come terminale seriale
Molte persone configurano i loro PC come terminali connessi a un box
linux. Per esempio, dei vecchi PC 8088 o 80286 sono perfetti per
questo scopo. Tutto ci di cui avete bisogno un disco di boot DOS
adatto al vostro tipo di terminale, e un programma di comunicazione da
avviare. kermit ideale a questo scopo. Potete trovare versioni
precompilate di kermit per ogni sistema operativo esistente a
http://www.columbia.edu/kermit/. Altri programmi DOS molto popolari
come procomm funzionano molto bene. Assicuratevi di impostare
corretamente le informazioni sulla porta seriale nelle impostazioni
del programma di comunicazione del vostro terminale.
9. Posso usare pi di due porte seriali?
Non avete bisogno di leggere questa sezione a meno che non intendiate
utilizzare tre o pi periferiche seriali ( assumendo il fatto che non
avete una porta seriale).
Il numero delle porte seriali limitato dal numero di interrupt (IRQ)
e indirizzi di I/O che possiamo utilizzare. Queste non una
limitazione di Linux, ma del bus del PC. Ad ogni porta seriale deve
essere assegnato un proprio indirizzo e dovrebbe avere il proprio
interrupt. Se due periferiche condividono lo stesso interrupt, pu
funzionare correttamente se le due periferiche non operano
contemporaneamente (nella maggior parte dei casi sono i due programmi
che non devono essere in esecuzione assieme). Una periferica seriale
pu essere un porta seriale, un modem interno, oppure una scheda
seriale multiporta.
Una scheda seriale multiporta sono appositamente progettate per avere
porte seriali multiple che condividono lo stesso interrupt per tutte
le porte sulla scheda. Linux riceve i dati da queste usando differenti
indirizzi di I/O per ogni porta sulla scheda.
9.1. Scegliere gli interrupt per le periferiche seriali
Il vostro PC normalmente ha ttyS0 e ttyS2 associate all'IRQ 4, e ttyS1
e ttyS3 all'IRQ 3. Potete visualizzare gli IRQ utilizzati digitando
setserial /dev/ttyS2 ecc ecc. Il contenuto di /proc/interrupts mostra
alcuni di questi. Per usare pi di una periferica seriale dovrete
riassegnare gli interrupt. Una buona scelta solitamente quella di
riutilizzare l'interrupt della porta parallela. Il vostro PC
normalmente ha IRQ 5 e IRQ 7 per la porta parallela, ma poche persone
usano due porte di questo genere. Potete riassegnare uno di questi
interrupt ad una porta seriale e continuare ad usare felicemente la
vostra porta parallela. Avete bisogno dell'applicazione setserial per
eseguire questa operazione. In aggiunta, dovete fare alcuni tentativi
con i jumper della vostra scheda, consultate il manuale di questa per
maggiori informazioni. Impostate i jumper per l'IRQ che desiderate per
ciascuna porta.
Dovete impostare le cose in modo che esista un solo interrupt per
ciascuna periferica seriale. Ecco come Greg ha configurato il suo
sistema in /etc/rc.d/rc.local - dovete eseguire le modifiche in un
file che viene eseguito all'avvio del sistema:
/sbin/setserial /dev/ttyS0 irq 3 # il mio mouse serial
/sbin/setserial /dev/ttyS1 irq 4 # il mio terminale stupido Wyse
/sbin/setserial /dev/ttyS2 irq 5 # il mio modem Zoom
/sbin/setserial /dev/ttyS3 irq 9 # il mio modem USR
Impostazione standard degli IRQ:
IRQ 0 Timer channel 0
IRQ 1 Keyboard
IRQ 2 Cascade for controller 2
IRQ 3 Serial port 2
IRQ 4 Serial port 1
IRQ 5 Parallel port 2
IRQ 6 Floppy diskette
IRQ 7 Parallel port 1
IRQ 8 Real-time clock
IRQ 9 Redirected to IRQ2
IRQ 10 non assegnato
IRQ 11 non assegnato
IRQ 12 non assegnato
IRQ 13 Math coprocessor
IRQ 14 Hard disk controller 1
IRQ 15 Hard disk controller 2
Non esiste una vera a propria regola per le scelte degli interrupt.
Assicuratevi solamente che questo non venga utilizzato dalla scheda
madre o da nessuna altra scheda presente nel Pc. Gli IRQ 2, 3, 4, 5 o
7 sono delle buone scelte. ``non assegnato'' significa che non gli
assegnata nessuna scheda o periferica standard. Da notare inoltre che
gli IRQ 2 e IRQ 9 sono identici. Potete chiamarli 2 o 9, la periferica
seriale fortunatamente funziona bene lo stesso. Se possedete una
scheda seriale con un connettore per un bus a 16-bit, potete anche
usare gli IRQ 10, 11, 12 oppure 15.
NON utilizzate gli IRQ 0, 1, 6, 8, 13 o 14! questi sono riservati alla
scheda madre. Non sar molto felice se gli usate i suoi IRQ
prediletti! :) Quando avete impostato il tutto, controllate pi volte
/proc/interrupts per assicurarsi che non ci siano conflitti hardware.
9.2. Impostare gli indirizzi per le periferiche seriali
Dopo di che, dovete impostare l'indirizzo della porta. Controllate il
manuale della vostra scheda per le impostazioni dei jumper. Come per
gli interrupt, pu esistere una sola periferica seriale per ciascun
indirizzo. Le vostre porte sono usualmente configurate come segue:
ttyS0 indirizzo 0x3f8
ttyS1 indirizzo 0x2f8
ttyS2 indirizzo 0x3e8
ttyS3 indirizzo 0x2e8
Scegliete quale indirizzo desiderate per ogni periferica seriale e
impostate i jumper di conseguenza. Io ho il mio modem sulla porta
ttyS3, il mio mouse su ttyS0 e terminale su ttyS2.
Quando riavviate il sistema, Linux dovrebbe riconoscere le porte
seriali all'indirizzo al quale le avete configurate. Gli IRQ di Linux
possono non corrispondere a quelli che avete impostato con i jumper.
Non preoccupatevi. Linux non esegue nessun riconoscimento automatico
degli IRQ, poich questo pu risultare fallimentare. Usate setserial
per dare a Linux l'IRQ corretto per la vostra scheda, quello che avete
impostato voi. Nel file /proc/ioports troverete quali indirizzi di
porte di I/O sono in uso dopo l'avvio di Linux.
10. Come posso impostare le mie porte seriale ad una velocit mag
giore? A quale velocit devo impostare il modem?
Questa sezione dovrebbe aiutarvi a scegliere la velocit da utilizzare
per il vostro modem, quando lo usate con un programma di
comunicazione, oppure con un programma getty. Normalmente viene
impostata la velocit attraverso un parametro passato a getty oppure
da un menu del vostro programma di comunicazione ( oppure in un file
di configurazione ). Se per qualunque ragione il tutto non funziona
per le alte velocit, esiste un modo per risolvere il problema
utilizzando delle opzioni speciali con setserial: con le opzioni
spd_hi oppure spd_vhi passate a setserial, la velocit 38400
attualmente imposta pu essere modificata a 57600 (spd_hi) oppure a
115200 (spd_vhi).
Assicuratevi di possedere le porte UART 16550A per velocit alte. Ecco
le impostazioni suggerite:
Se avete un modem 28.8K (V.34), 33.6 (v.34), oppure 56K (V.90)
utilizzate 115200 bps.
Se avevete un modem 14400 bps (V.32bis), con la compressione dati
V.42bis, utilizzate 57600 bps.
Se avete un modem a 9600 bps (V.32), con la compressione dati
V.42bis, utilizzate 38400 bps.
Se siete in possesso di un modem pi lento di 9600 bpx (V.32),
impostate la velocit a quella pi alta supportata dal vostro
modem. Per esempio 300 bps (V.21/Bell 103), 1200 bps (V.22/Bell
212A), oppure 2400 bps (V.22bis).
Eseguite un test dalla riga di comando con setserial e quindi, se
funziona, inserite il comando appropriato in /etc/rc.d/rc.serial
oppure /etc/rc.d/rc.local o ancora /etc/rc.boot/0setserial in modo da
essere avviato al boot del sistema. Assicuratevi di utilizzare un path
valido per setserial, e un nome valido di periferica. Controllare le
impostazioni delle porte seriali eseguendo:
setserial -a /dev/ttyS3
11. Programmi e Utilit di comunicazione
Ecco una lista di alcuni programmi di comunicazione dalla quale
potrete scegliere, disponibili via Ftp se non si trovano gi assieme
alla vostra distribuzione.
ecu - comunicazione
C-Kermit <http://www.columbia.edu/kermit/> - comunicazione
portabili, supporto di script, seriale e TCP/IP che include il
trasferimento di file e traduzione automatica del set di caratteri.
minicom - programma di comunicazione simile a telix.
procomm - programma comunicazione con supporto zmodem.
seyon - basato su X-Windows.
xc - pacchetto di comunicazione xcomm.
Altri utili programmi sono term e SLiRP. Offrono funzionalit e
TCP/IP attraverso shell account.
screen un altro programma per la multisessione. Funziona come le
console virtuali.
callback un programma che permette al vostro modem di essere
richiamato.
mgetty+fax gestisce i FAX, e si offre come sostituto alternativo di
ps_getty.
ZyXEL un programma di controllo per i modem ZyXEL U-1496.
Gestisce le chiamate in entrata, in uscita, richiamo, FAX e
funzione di casella vocale.
Il software SLIP e PPP pu essere reperito a:
ftp://sunsite.unc.edu/pub/Linux/system/network/serial.
Altre utilit: ftp://sunsite.unc.edu/pub/Linux/system/serial e
ftp://sunsite.unc.edu/pub/Linux/apps/serialcomm o in uno dei tanti
mirror. Queste sono le directory dove si trovano i programmi per
comunicazioni seriali.
12. Porte Seriali: suggerimenti e miscellanea.
Ecco alcuni trucchetti che vi possono essere utili in svariate
situazioni...
12.1. kermit e zmodem
Per utilizzare lo zmodem con kermit aggiungere le seguenti righe al
vostro .kermrc:
define rz !rz < /dev/ttyS3 > /dev/ttyS3
define sz !sz \%0 > /dev/ttyS3 < /dev/ttyS3
Eventualmente sostituite la porta corretta sulla quale si trova il
vostro modem. Quindi, per utilizzarlo, digitate rz or sz <nome_file>
al prompt di kermit.
12.2. Impostare automaticamente il tipo di terminale
Per impostare automaticamente il tipo di terminale quando eseguite un
login, basta aggiungere il tipo di terminale nel file /etc/inittab. Se
avete un terminale VT100 sulla porta ttyS1, aggiungere ``vt100'' nel
comando gtty:
S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100
Altri gettys hanno opzioni simili. Potete anche utilizzare tset, che
pu stabilire le caratteristiche del terminale al momento del login, e
non dipende da nessuna impostazione standard.
12.3. Usare i colori con ls attraverso connessioni seriali.
Se il comando ls usato con i colori blocca il vostro terminale,
disattivate questa opzione. ls --color, e ls --colour utilizzano le
funzionalit colore di ls. Alcune installazioni hanno queste
impostazioni gi presenti. Controllate che nel file /etc/profile e
/etc/csh.cshrc esista una riga per gli alias di ls. Se non desiderate
modificare questa opzione a livello di sistema, create un alias di ls
con ls --no-color.
12.4. Stampare su un stampare collegata ad un terminale seriale.
Esiste un programma, chiamato vtprint, disponibile a:
ftp://ftp.sdsu.edu/pub/vtprint, e anche a
http://www.sdsu.edu/~garrett.
Ne esiste anche un altro chiamato xprt. Pu essere reperito a
ftp://sunsite.unc.edu/pub/Linux/system/printing.
12.5. Pu Linux configurare le periferiche seriali automaticamente?
S. Se il riconoscimento automatico non viene effettuato normalmente,
attivatelo in modo che riconosca automaticamente le vostre periferiche
seriali all'avvio del sistema. Aggiungete la linea seguente se
necessario:
/sbin/setserial /dev/ttyS3 auto_irq skip_test autoconfig
al vostro file /etc/rc.d/rc.local o /etc/rc.d/rc.serial oppure
/etc/rc.boot/0setserial. Eseguite questa operazione per ogni porta
seriale se desiderate la configurazione automatica. Assicuratevi ti
fornigli una periferiche che esiste veramente sulla vostra macchina.
12.5.1. Note per schede multiporta
Per gli indirizzi sulla scheda e gli IRQ leggete il file rc.serial
oppure /etc/rc.boot/0setserial fornito con programma setserial.
Contiene molte informazioni sulle schede multiporta, inclusi indirizzi
di I/O e i nomi delle periferiche.
12.6. Usare una console seriale.
Esiste un articolo nel numero 36 del Linux Journal,
http://www.ssc.com/lj/issue36/index.html che spiega proprio come
utilizzare una console seriale. Leggete il Text-Terminal-HOWTO.
13. Un piccolo passo avanti...
Non necessario leggere questa sezione, ma pu fornirvi ulteriori
informazioni approfondite su Unix e il mondo delle telecomunicazioni.
13.1. Che cosa sono i lock file?
I lock file sono semplici file che indicano che una particolare
periferica in uso. Si trovano in /usr/spool/uucp oppure /var/lock.
I file lock di linux utilizzano la seguente denominazione LCK..name,
dove name il nome della periferica, oppure il nome UUCP. Alcuni
processi creano questi lock file per assicurarsi un accesso esclusivo
alla periferica. Per esempio, se chiamate all'esterno con un modem,
un file lock apparir indicando che qualcuno sta gi utilizzando
quella periferica modem. I file lock spesso contengono il PID del
processo che ha bloccato la periferica. Molti programmi cercano il
lock, e controllano che sia ancora valido verificando la presenza
dell'applicazione che lo detiene nella tabella dei processi. Se il
lock ancora valido, il programma esce ( o per lo meno dovrebbe farlo
). Se invece non pi valido, allora l'applicazione rimuove questo
lock e utilizza la periferica, creando un nuovo lock file. Altri
programmi invece terminano indicando solo che la periferica in uso.
13.2. ``baud'' Vs. ``bps''
``baud'' e ``bps'' sono probabilmente i due termini usati pi
impropriamente nel mondo informatico e delle telecomunicazioni. Molte
persone utilizzando questi termini indifferentemente, quando invece la
storia non sta cos.
baud
La misura baud indica quante volte al secondo un segnale, per
esempio emesso da un modem (modulatore-demodulatore), cambia.
Per esempio, una baud rate di 1200 indica che un segnale cambia
ogni 833 microsecondi. Baud rate comuni per i modem sono 50, 75,
110, 300, 600, 1200 e 2400. Molti modem ad alta velocit
utilizzano hanno una baud rate a 2400. Per le limitazioni sulle
linee telefoniche per voce una baud rate maggiore di 2400
molto difficile da raggiungere, e forse funziona unicamente su
linee con un segnale molto chiaro, senza interferenze.
Molteplici bit possono essere gestiti per ogni baud, quindi il
bit rate pu superare notevolmente il baud rate. Il Baud prende
il nome da Emile Baudot, l'inventore del telegrafo stampante
asincrono.
bps
La misura in bps indica invece quanti bit per secondo sono
trasmessi. Modem moderni trasmetto a 14.4K , 28.8K, 33.6K e 56K
bps. Usando un modem con la compressione V.42 ( compressione
massima 4:1 ), possibile raggiungere i 115.2K bps. Questo
ci che molte persone confondono con i baud.
Quindi, se un modem ad alta velocit opera a 2400 baud, come pu
inviare dati a 14400 bps ( o superiori )? I modem possono raggiungere
elevato indice di velocit in bps ( superiore a quello in baud ) codi
ficando un maggior numero di bit per ogni baud. Per questo il valore
in bps sar maggiore di quella in baud. Ad esempio se il vostro modem
effettua un collegamento a 14400 bps significa che collegato a 2400
baud ed inserisce in ogni cambiamento di fase 6 bit.
Come iniziata questa confusione? Beh, quando un tempo i vecchi modem
lenti erano considerati veloci, spesso la velocit in baud era
equivalente a quella in bps. Un solo bit era inserito in ogni
cambiamento di fase. I termini baud e bps erano utilizzabili
indifferentemente, poich corrispondevano allo stesso vlore. La
confusione iniziata quando i modem pi moderni, che offrono
prestazioni migliori in termini di velocit, hanno un indice in bps
maggiore a quello in baud.
13.3. Che cosa sono gli UART? Come incidono nelle prestazioni?
Gli UART (Universal Asynchronous Receiver Transmitter) sono dei
circuiti della vostra scheda seriale ( se ne avete una ) o sulla
scheda madre del vostro PC. La funzione di questi UART possono essere
eseguite anche da processori che effetuano anche altri tipi di
operazioni. La finalit dei UART quella di convertire i dati in bit,
inviare questi alla linea seriale, e quindi ricostruire nuovamente i
dati presso l'altra estremit della connessione seriale. Gli UART si
scambiano dati in pacchetti dimensionati in byte, scelto per
convenienza poich corrispondono al numero di caratteri ASCII.
Immaginate di avere un terminale connesso al vostro PC. Quando
digitate un carattere, il terminale passa quel carattere al
trasmettitore ( quindi anche un UART ). Questo invia quel byte sulla
linea seriale, un bit alla volta, ad un valore predefinito. La UART
del PC al quale connesso il terminale riceve questi dati in bit, e
li riconverte in byte e li inserisce in un buffer.
Esistono due tipi diversi di UART. Probabilmente avrete sentito
parlare dei UART `stupidi' ( i modelli 8250 e 16450 ) e di quelli FIFO
( modello 16550A ). Per capire queste differenze, per prima cosa
esamineremo cosa succede quando un UART ha inviato oppure riceve dei
dati.
L'UART di per s non controlla in nessuno modo i dati, li invia e li
riceve solamente. Per l'UART originale la CPU ottiene un interrupt
dalla periferica seriale ogni volta che un byte viene inviato o
ricevuto. La CPU quindi preleva il byte ricevuto dal buffer dell'UART
e lo inserisce da qualche parte nella memoria, oppure assegna all'UART
un altro byte da inviare. Gli UART 8250 e 16450 hanno un buffer di 1
solo byte. Questo significa che ogni volta che 1 byte viene inviato o
ricevuto la CPU viene interrotta. A velocit basse pu andare bene. Ma
ad alta velocit la CPU diventa cos occupata a dialogare con l'UART
che non ha pi tempo di servire gli altri task. In alcuni casi la CPU
non riesce a gestire tutti gli interrupt generati dall'UART e il byte
nel buffer viene sovrascritto, poich i dati arrivano troppo
velocemente.
14. Risoluzione dei Problemi
14.1. Ricevo sempre il messaggio ``line NNN of inittab invalid''
Assicuratevi che state utilizzando la corretta sintassi per la vostra
versione di init. Le differenti versioni di init che sono state
rilasciate utilizzano sintassi differenti per il file /etc/inittab.
Assicuratevi che state anche usando la corretta sintassi per la vostra
versione di getty.
14.2. Quando provo ad effettuare una chiamata all'esterno, ricevo il
messaggio ``/dev/cua N : Device or resource busy''
Questo problema dovuto al fatto che il DCD o il DTR non sono
impostati correttamente. Il DCD deve essere impostato unicamente
quando persiste una connessione ( per esempio quando qualcuno si
collegato a voi chiamando dall'esterno ), e non quando getty sta
monitorando la porta. Controllate che il vostro modem sia configurato
per impostare il DCD solo quando avviene una connessione. Il DTR deve
essere invece usato quando qualunque altra cosa sta monitorando la
porta, come ad esempio getty, kermit, o qualche altro programma.
Un'altra causa dell'errore ``device busy'' che avete impostato la
vostra porta seriale con un interrupt gi in uso da qualche altra
periferica hardware. Quando ogni periferica viene inizializzata
questa richiede al kernel il permesso di usare il suo interrupt
hardware. Il sistema operativo tiene traccia di quali interrupts sono
assegnati e a chi, e se il vostro interrupt gi in uso, la vostra
periferica non verr inizializzata correttamente. In realt essa non
ha la minima idea di cosa stia succedendo, e l'unica cosa che pu fare
rispondere con ``device-busy'' quando tentate di usarla.
Controllate tutti gli interrupt di tutte le vostre periferiche ( porte
seriali, schede ethernet, controller SCSI, ecc. ). Evitate conflitti
di questo genere.
14.3. Continuo a ricevere il messaggio ``Getty respawning too fast:
disabled for 5 minutes''
Assicuratevi che il vostro modem sia configurato correttamente.
Controllate i registri E e Q. Questo errore pu capitare quando il
modem cerca di dialogare con getty.
Assicuratevi anche che avete lanciato getty nel modo corretto dal
vostro /etc/inittab. Usando una sintassi errata oppure una periferica
sbagliata si possono verificare seri problemi.
Verificate che la sintassi del vostro /etc/gettydefs sia corretta
usando questa procedura:
linux# getty -c /etc/gettydefs
Questo errore si verifica anche quando fallisce l'inizializzazione di
uugetty. Fate riferimento alla sezione ``getty o uugetty ancora non
funzionano''.
14.4. Le periferiche seriali sono lente, oppure funzionano in un sola
direzione.
Molto probabilmente avere un conflitto di IRQ. Assicuratevi che non ci
sia qualche IRQ condiviso. Verificate tutte le schede ( porte seriali,
schede ethernet, controller SCSI, ecc. ). Controllate le impostazioni
dei vari jumper e che i parametri per il programma setserial siano
corretti per tutte le vostre periferiche. Inoltre controllate
/proc/ioports e /proc/interrupts per eventuali conflitti.
14.5. Il mio modem bloccato dopo che qualcuno effettua una chiamata
Questo pu accadere quando il vostro modem non effettua il reset
quando il DTR cade. Io vedo i miei LED RD e SD letteralmente impazzire
quando questo accade a me. Avete bisogno di resettare il vostro modem.
Molti modem Hayes-compatibili eseguono questa operazione con &D3, ma
sul mio USR Courier devo impostare &D2 e S13=1. Controllate sul
manuale del vostro modem.
14.6. Ho un terminale connesso al mio PC, ma quando tento di effet
tuare un login tutto si blocca.
Se state usando getty: Molto probabilmente non avete CLOCAL nel
vostro /etc/gettydefs per il vostro terminale, e molto
probabilmente non state usando un cavo pienamente null-modem. Avete
bisogno di CLOCAL, che indica a Linux di ignorare i segnali di
controllo del modem. Ecco come dovrebbe apparire il tutto:
# 38400 bps Dumb Terminal entry
DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400
# 19200 bps Dumb Terminal entry
DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200
# 9600 bps Dumb Terminal entry
DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600
Successivamente terminate il processo getty in modo che uno nuovo
entrer in esecuzione con le nuove impostazioni.
Se state usando agetty: Aggiungete il flag -L alla linea di agetty
nel vostro /etc/inittab. Questo far ignorare i segnali di
controllo del modem. Quindi riavviate init digitando init q. La
configurazione dovrebbe essere pi o meno cos:
s1:345:respawn:/sbin/agetty -L 9600 ttyS1 vt100
14.7. Ad alta velocit il mio modem perde alcuni dati
Se state tentando di utilizzare il vostro modem a una velocit
superiore ai 38400 bps e non avete una UART 16550 allora dovete
aggiornarla. Leggete la sezione ``Cosa sono le UART?''.
14.8. All'avvio del sistema Linux non riporta le periferiche seriali
come le ho in precedenza configurate
Questo vero solo in parte. Linux non effettua nessuna verifica degli
IRQ al momento del boot, effettua solo un rilevamento di periferiche
seriali. Quindi, con una corretta impostazione, io ottengo questo
all'avvio della macchina:
Jan 23 22:25:28 misfits vmunix: tty02 at 0x03e8 (irq = 4) is a 16550A
Dovete usare setserial per comunicare a Linux quale IRQ state usando.
14.9. rz e/o sz non funzionano quando chiamo la mia macchina Linux
con un modem.
Se Linux cerca la periferica /dev/modem quando tentate di trasferire
file, controllate i file /etc profile o /etc csh.cshrc. Probabilmente
esiste una serie di alias definiti qui in alcune distribuzioni, come
ad esempio Slackware. Questi alias confondono l'operato dei programmi
zmodem. Eliminateli, oppure correggeteli.
14.10. Il mio schermo visualizza alcuni buffi caratteri
Questo accade su console virtuali su cui sono inviate informazioni di
tipo binario direttamente allo schermo, oppure anche attraverso
connessioni seriali. Il modo per risolvere questo problema di
digitare echo ^v^[c. Per la serie con tutti i caratteri, ecco qua:
linux% echo <ctrl>v<esc>c
14.11. getty o uugetty ancora non funzionano
Esiste una opzione chiamata DEBUG inclusa in getty_ps. Editate il
vostro file di configurazione /etc/conf.{uu}getty.ttySN e aggiungete
DEBUG=NNN. Dove NNN una delle seguenti combinazioni di numeri a
seconda di cosa state cercando di debuggare:
D_OPT 001 option settings
D_DEF 002 defaults file processing
D_UTMP 004 utmp/wtmp processing
D_INIT 010 line initialization (INIT)
D_GTAB 020 gettytab file processing
D_RUN 040 other runtime diagnostics
D_RB 100 ringback debugging
D_LOCK 200 uugetty lockfile processing
D_SCH 400 schedule processing
D_ALL 777 everything
Impostare DEBUG=010 un buon punto di partenza.
Se state esegueneo syslogd, informazioni di debug appariranno nei
vostro file di log. Se non state eseguendo il syslogd queste
informazioni appariranno in /tmp/getty:ttySN per debuggare getty e
/tmp/uugetty:ttySN per uugetty, e in /var/adm/getty.log. Osservate
attraverso queste informazioni di debug che cosa sta accadendo. Molto
spesso avrete bisogno di perfezionare qualche impostazione o qualche
parametro nella vostra configurazione, oppure di riconfigurare il
vostro modem.
Potete anche provare mgetty. Alcune persone hanno pi fortuna usando
questo software.
15. Altre fonti di informazione
Le pagine man di: agetty(8), getty(1m), gettydefs(5), init(1),
login(1), mgetty(8), setserial(8)
Il manuale del vostro modem o terminale
NET-3 HOWTO: tutto sulle reti di comunicazione, inclusi SLIP, CSLIP
e PPP
PPP HOWTO: un aiuto con il PPP
Printing HOWTO: Come impostare una stampante seriale
Serial-Programming-HOWTO: per alcuni aspetti della programmazione
seriale
Term HOWTO: tutto quello che desiderate sapere sul programma term
Text-Terminal-HOWTO: come funzionano e come installaree configurare
un terminale testuale
UPS HOWTO: configurare un UPS connesso alla vostra porta seriale
UUCP HOWTO: per informazioni su come configurare UUCP
Newsgroups di UseNet:
comp.os.linux.answers
FAQs, How-To's, READMEs, tutti riguardanti Linux.
comp.os.linux.hardware
Compatibilit hardware con il sistema operativo Linux.
comp.os.linux.networking
Reti e comunicazioni con Linux.
comp.os.linux.setup
l'installazione di Linux e l'amministrazione del sistema.
comp.terminals
The Linux serial mailing list. Per iscriversi inviate una email a
majordomo@vger.rutgers.edu, cpn ``subscribe linux-serial'' nel
corpo del messaggio. Se inviate ``help'' nel corpo del messaggio
riceverete un messaggio di aiuto. Il server inoltre gestisce altri
mailing lists su Linux. Inviate il comando ``lists'' per una lista
delle Mailing Lists presenti.
FAQs sui Modem:
Navas 28800 Modem FAQ
<http://web.aimnet.com/~jnavas/modem/faq.html>
Curt's High Speed Modem Page
<http://www.teleport.com/~curt/modems.html>
Programmazione seriale: Serial-Programming-HOWTO
Advanced Programming in the UNIX Environment <http://heg-
school.aw.com/cseng/authors/stevens/advanced/advanced.nclk>, di W.
Richard Stevens (ISBN 0-201-56317-7; Addison-Wesley)
<http://www.ora.com/catalog/posix/> name="POSIX Programmer's
Guide">, di Donald Levine (ISBN 0-937175-73-0; O'Reilly)
16. Contributi
Gran parte dell'HOWTO originale stata scritta da Greg Hankins
greg.hankins@cc.gatech.edu. Ha anche riscritto un gran numero di
contributi inviati da altri collaboratori per mantenere la fluidit e
lo stile del documento. Ecco le sue parole: "Ringrazio tutti coloro
che hanno contribuito o commentato questo documento, la lista di tutte
queste persone troppo grande ( spesso oltre la centinaia di persone
). Ringraziamenti a Ted per aver risposto alle domanda sui driver per
le schede seriali, a Kris Gleason che mantiene getty_ps, e Gert Dring
che mantiene mgetty."
FINE DEL SERIAL HOWTO
|