This file is indexed.

/usr/share/doc/HOWTO/pl-html/AX25-HOWTO.pl.html is in doc-linux-pl-html 2002.06.14-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
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
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<META HTTP-EQUIV="content-type" content="text/html; charset=iso-8859-2">
<TITLE>Linux AX25-HOWTO, Radio Amatorskie.</TITLE>


</HEAD>
<BODY>
<H1>Linux AX25-HOWTO, Radio Amatorskie.<BR></H1>

<H2>Terry Dawson, VK2KTJ, 
<A HREF="mailto:terry@perf.no.itg.telecom.com.au">terry@perf.no.itg.telecom.com.au</A>.<BR>
v1.4, 2 Marca 1997.<BR>
<B>Wersja polska: Benedict P. Barszcz, KB2QZV 
<A HREF="mailto:poseidon@ziplink.net">poseidon@ziplink.net</A><BR></B>
v1.4, 28 kwietnia 1997</H2>
<P><HR>
<EM>System Operacyjny Linux jest chyba jedynym na ¶wiecie systemem operacyjnym, który szczyci siê standardow± i rodzim± obs³ug± protoko³u AX.25 dla packet radio u¿ywanego przez operatorów Radia Amatorskiego po ca³ym ¶wiecie. Dokument ten jest po¶wiêcony temu jak zainstalowaæ i skonfigurowaæ tê obslugê.</EM>
<HR>
<H2><A NAME="s1">1. Wstêp</A></H2>

<P>Dokument ten by³ pocz±tkowo za³±cznikiem do HAM-HOWTO ale urós³ za bardzo, aby mo¿na go by³o w ten sposób nadal pisaæ. Dokument ten opisuje w jaki sposób zainstalowaæ i skonfigurowaæ rodzim± obs³ugê protoko³ów AX25, NetRom oraz Rose na Linuxie. Podano tutaj kilka typowych konfiguracji, które mog± pos³u¿yæ jako model do dalszej pracy. 
<P>Wersje protoko³ów radia amatorskiego pod Linuxem s± bardzo elastyczne. Dla ludzi, którzy nie s± zbytnio zapoznani z systemem operacyjnym Linux proces konfiguracji wydawaæ siê mo¿e uci±¿liwy i skomplikowany. Zajmie ci to trochê czasu zanim zrozumiesz w jaki sposób wszystko ze sob± pasuje. Konfiguracja jest bardzo trudna je¶li wpierw nie zapoznasz siê z Linuxem ogólnie. Nie oczekuj, ¿e uda ci siê przej¶æ z jakiego¶ ¶rodowiska do Linuxa bez zapoznania siê uprzednio z samym Linuxem.
<P>
<H2>1.1 Zmiany w stosunku do poprzednich wersji</H2>

<P>
<DL>
<DT><B>Dodatki.</B><DD><P>do³±czy³em informacje o ³atce dla modu³ów. Doda³em parê ogólnych informacji o strukturze j±dra.
<P>
<DT><B>Poprawki.</B><DD><P>Poprawi³em konfiguracje ax25d - podziêkowania dla John Tanner, VK2ZXQ. Poprzestawia³em mnóstwo rzeczy, powinno teraz byæ bardziej logicznie.
<P>
<DT><B>Do zrobienia.</B><DD><P>Poprawiæ sekcjê o SCC, obecna jest chyba z³a. Rozwin±æ sekcjê programowania. Dodaæ odno¶niki do dokumentacji ¼róde³ AX25 i NetRom.
</DL>
<P>
<P>
<H2>1.2 Inne dokumentacje na ten temat</H2>

<P>Jest wiele zwi±zanych z tym tematem dokumentów. Jest sporo dokumentów traktuj±cych o sprawach sieciowych pod Linuxem w sposób bardziej ogólny, które bardzo polecam poniewa¿ pomog± ci one w twoich wysi³kach i dadz± ci g³ebszy wgl±d w inne mo¿liwe konfiguracje.
<P>Oto one:
<P>
<A HREF="http://sunsite.unc.edu/LDP/HOWTO/HAM-HOWTO.html">HAM-HOWTO</A><P>
<A HREF="http://sunsite.unc.edu/LDP/HOWTO/Ethernet-HOWTO.html">Ethernet-HOWTO</A><P>
<A HREF="http://www.jtz.org.pl/Html/NET-3-HOWTO.pl.html">NET-3-HOWTO</A><P>
<H2><A NAME="s2">2. Gdzie znale¼æ najnowsz± wersjê tego dokumentu</A></H2>

<P>Najlepszym miejscem do znalezienia ostatniej wersji tego dokumentu jest Archiwum Linux Documentation Project. Linux Documentation Project prowadzi Web Server i dokument niniejszy pojawia siê tam jako 
<A HREF="http://sunsite.unc.edu/LDP/HOWTO/AX25-HOWTO.html">The AX25-HOWTO</A>. Mo¿esz te¿ skontaktowaæ siê ze mn± ale zwykle przekazujê ostatnie wersje tego dokumentu koordynatorowi projektu LDP, wiêc je¶li go tam nie ma to s± du¿e szanse, ¿e jeszcze go nie skoñczy³em.
<P>
<H2><A NAME="s3">3. Protoko³y dla Packet Radio a Linux</A></H2>

<P>Protokó³ <I>AX.25</I> oferuje dwa tryby operacji: connected i connectionless. U¿ywany jest albo do po³±czeñ typu stacja-do-stacji albo jako medium dla innych protoko³ow takich jak TCP/IP lub NetRom.
<P>Podobny jest w swej strukturze do X.25 level 2 z pewnymi modyfikacjami, które czyni± go bardziej u¿ytecznym do pracy w ¶rodowisku radia amatorskiego.
<P>Protokó³ <I>NetRom</I> jest prób± pe³nego protoko³u sieciowego i w swej najni¿szej warstwie u¿ywa AX.25 jako protoko³u typu datalink. Dostarcza on sieciowej warstwy, która jest adaptowan± form± AX.25. Protokó³ NetRom cechuje siê dynamicznym routingiem, posiada te¿ funkcjê pseudonimów dla wêz³ów. 
<P>Protokó³ <I>Rose</I> zosta³ wynaleziony i po raz pierwszy zastosowany przez Tom'a Moulton, W2VY, i jest wariacj± protoko³u X.25 w warstwie packet. Pomy¶lany jest tak, ¿e AX.25 jest jego warstw± typu datalink. Sam równie¿ dostarcza warstwê sieciow±. Adresy Rose przyjmuj± formê 10 cyfrowych numerków. Pierwsze cztery cyfry stanowi± Data Network
Identification Code (DNIC) i wziête zosta³y z za³±cznika B z zaleceñ CCITT X.121. Wiêcej informacji na temat protoko³u Rose mo¿na uzyskaæ z 
<A HREF="http://www.rats.org/">Serwera RATS</A>.
<P>Pocz±tkowo, wczesne oprogramowanie AX.25 wspó³pracuj±ce z j±drem Linuxa wypracowa³ Alan Cox. Nastêpnie 
<A HREF="mailto:g4klx@g4klx.demon.co.uk">Jonathon Naylor</A> przej±³ rozwijaj±cy siê projekt dodaj±c ob³ugê NetRomu i Rose; obecnie on w³a¶nie zajmuje siê opracowywaniem ¼róde³ AX.25 wspó³pracujego z j±drem Linuxa. DAMA zosta³o napisane przez 
<A HREF="mailto:jreuter@lykos.tng.oche.de">Joerg Reuter</A>. Obs³ugê karty d¼wiêkowej jako modemu oraz modem Baycom doda³ 
<A HREF="mailto:sailer@ife.ee.ethz.ch">Thomas Sailor</A>. Programy narzêdziowe AX.25 s± obecnie prowadzone przeze mnie.
<P>Linux obs³uguje TNC w trybie KISS (Terminal Node Controllers), kartê Ottawa PI, kartê Gracillis PacketTwin oraz inne oparte na scalaku SCC Z8530, modem Baycom zarówno seryjny jak i równoleg³y. Nowy, od Tomasza, sterownik D¼wiêkoModemu obs³uguje karty d¼wiêkowe SoundBlaser oraz te zbudowane w oparciu o Crystal chipset.
<P>Programy u¿ytkownika zawieraj± prosty PMS (Personal Message System), program latarnie, liniowy program 'call' do po³aczeñ, 'listen' przyk³adowy program do uchwycenia surowych ramek AX.25 na poziomie interfejsu, oraz programy do konfiguracji NetRomu. Za³±czono równie¿ program, ktory jest jakby serwerem AX.25 przechwytuj±cym i rozprowadzaj±cym wchodz±ce po³±czenia; jest te¿ demonik dla NetRomu, który wykonuje ca³± czarn± robotê dla obs³ugi protoko³u NetRom.
<P>
<H2>3.1 Jak to wszystko dzia³a?</H2>

<P>AX.25 pod Linuxem jest zupe³nie now± implementacj±. Choæ na pozór wygl±da podobnie do NOS, BPQ lub innych implementacji AX.25 to jednak nie przypomina ¿adnej z nich ani nie jest identyczn± z ¿adn± z nich. AX.25 pod Linuxem mo¿na skonfigurowaæ tak, ¿e bêdzie zachowywaæ siê niemal¿e tak jak inne implementacje AX.25 ale proces konfiguracyjny jest bardzo odmienny.
<P>Aby dopomóc ci w sposobie my¶lenia przy konfigurowaniu, sekcja ta stara siê wyja¶niæ niektóre strukturalne cechy AX.25 oraz umieszcza je w ogólnej strukturze Linuxa.
<P><B>Uproszczony schemat warstw protoko³ów sieciowych</B>.
<PRE>
       -----------------------------------------------
       | AF_AX25 | AF_NETROM |  AF_INET    | AF_ROSE |
       |=========|===========|=============|=========|
       |         |           |             |         |
       |         |           |    TCP/IP   |         |
       |         |           ----------    |         |
       |         |   NetRom           |    | Rose    |
       |         -------------------------------------
       |            AX.25                            |
       -----------------------------------------------
</PRE>

Schemat ten ilustruje poprostu, ¿e NetRom, TCP/IP i Rose wszystkie razem rezyduj± na protokole AX.25 ale ¿e ka¿dy z nich traktowany jest osobno u poziomu programowania na interfejsie. Nazwy 'AF' to nazwy nadawane dla <I>Address Family</I> ka¿dego z tych protoko³ów podczas pisania dla nich programów. Wa¿ne tutaj jest to, ¿e konfiguracja urz±dzenia AX.25 kluczowo wp³ywa na to jak bêd± konfigurowane NetRom, Rose oraz TCP/IP.
<P><B>Schemat modu³ów w implementacji sieciowej Linuxa</B>
<PRE>
  ----------------------------------------------------------------------------
   User    | Programs  |   call        node    ||  Daemons | ax25d  mheardd
           |           |   pms         mheard  ||          | inetd  netromd
  ----------------------------------------------------------------------------
           | Sockets   | open(), close(), listen(), read(), write(), connect()
           |           |------------------------------------------------------
           |           |    AF_AX25   |  AF_NETROM  |   AF_ROSE   |  AF_INET
           |------------------------------------------------------------------
  Kernel   | Protocols |    AX.25     |   NetRom    |     Rose    | IP/TCP/UDP
           |------------------------------------------------------------------
           | Devices   |    ax0,ax1   |  nr0,nr1    | rose0,rose1 | eth0,ppp0
           |------------------------------------------------------------------
           | Drivers   |  Kiss   PI2   PacketTwin   SCC   BPQ     | slip ppp
           |           |      Soundmodem      Baycom              | ethernet
  ----------------------------------------------------------------------------
  Hardware | PI2 Card, PacketTwin Card, SCC card, Serial port, Ethernet Card
  ----------------------------------------------------------------------------
</PRE>

Ten schemat jest troszeczkê bardziej ogólny od pierwszego. Stara siê on ukazaæ zale¿no¶æ pomiêdzy programami narzêdziowymi, j±drem oraz sprzêtem. Pokazuje te¿ zale¿no¶æ pomiêdzy interfejsem programowania <CODE>gniazd</CODE> dla aplikacji, w³a¶ciwymi modu³ami protoko³ów, interfejsami sieciowymi j±dra, oraz sterownikami urz±dzeñ. Ka¿dy element schematu polega na tym elemencie, który jest poni¿ej niego samego i konfiguracjê trzeba rozpoczynaæ od samego do³u w górê. Wiêc dla przyk³adu, je¶li chesz odpalaæ program <I>call</I> to musisz równie¿ skonfigurowaæ sprzêt, nastêpnie upewniæ siê, ¿e j±dro posiada odpowiedni sterownik urz±dzenia, dalej musisz stworzyæ w³a¶ciwy interfejs sieciowy oraz, ¿e j±dro zawiera w³a¶ciwy protokó³, który oferuje odpowiedni dla programu <I>call</I> interfejs programowania. W takiej hierarchii stara³em siê te¿ roz³ozyæ ten dokument.
<P>
<H2><A NAME="s4">4. Sk³adniki oprogramowania AX.25/NetRom.</A></H2>

<P>Oprogramowanie AX.25 sk³ada siê z trzech czê¶ci: ¼rode³ j±dra, narzêdzi do konfiguracji sieci oraz programów narzêdziowych.
<P>Wersje j±dra Linuxa 2.0.xx zawieraj± w sobie pierwotnie sterowniki dla AX.25, NetRom, dla kart Z8530 SCC, PacketTwin i Gracillis. Zosta³y one znacz±co udoskonalone w j±drach 2.1.xx. Niestety, pozosta³a czê¶æ j±dra 2.1.* czyni je bardz± chwiejnymi i nie nadaj± sie w takim stanie do za³±czenia w stabilnych wersjach j±der. Aby zaradziæ temu problemowi, Jonathon Naylor przygotowa³ zespó³ ³atek, które oblugê protoko³ów radia amatorskiego w j±drach 2.0.xx wynosz± do poziomu standardu j±der 2.1.*. Jest to bardz± ³atwe w zaaplikowaniu i wprowadza wachlarz us³ug, które s± nieobecne w standardowych j±drach, np. ob³ugê Rose.
<P>
<H2>4.1 Gdzie znale¼æ j±dro, narzêdzia i zespó³ programów narzêdziowych?</H2>

<H3>¬ród³a j±dra</H3>

<P>¬ród³a j±dra nale¿y szukaæ w jego zwyczajnym miejscu:
<P>
<A HREF="ftp://ftp.funet.fi//pub/Linux/PEOPLE/Linus/v2.0/linux-2.0.29.tar.gz">ftp://ftp.funet.fi//pub/Linux/PEOPLE/Linus/v2.0/linux-2.0.29.tar.gz</A><P>Obecna kopia zespo³u ³atek wed³ug Jonathon'a znajduje siê na:
<P>
<A HREF="ftp://ftp.cs.nott.ac.uk/jsn/ax25-module-12.tar.gz">ftp://ftp.cs.nott.ac.uk/jsn/ax25-module-12.tar.gz</A><P>
<H3>Narzêdzia sieciowe</H3>

<P>Ostatnia wersja <I>alpha</I> standardowych narzêdzi sieciowych Linuxa obs³uguje AX.25 i NetRom i mo¿na j± znale¿æ tutaj:
<P>
<A HREF="ftp://ftp.inka.de/pub/comp/Linux/networking/net-tools/net-tools-1.32-alpha.tar.gz">ftp://ftp.inka.de/pub/comp/Linux/networking/net-tools/net-tools-1.32-alpha.tar.gz</A><P>lub
<P>
<A HREF="ftp://ftp.linux.org.uk/pub/linux/Networking/base/net-tools-1.32-alpha.tar.gz">ftp://ftp.linux.org.uk/pub/linux/Networking/base/net-tools-1.32-alpha.tar.gz</A><P>Ostani pakiet ipfwadm mo¿na znale¼æ tu:
<P>
<A HREF="ftp://ftp.xos.nl/pub/linux/ipfwadm/">ftp://ftp.xos.nl/pub/linux/ipfwadm/</A><P>
<H3>Programy narzêdziowe AX.25</H3>

<P>Istniej± dwie odmienne ¿y³y programów narzêdziowych AX.25. Jedna przeznaczona jest do pracy z j±drami 2.0.* a druga albo do j±der 2.1.* lub do kombinacji: j±dro 2.0.28+³atka module10. Numer wersji pakietu ax25-utils wskazuje na najstarsz± wersjê j±dra, z któr± mog± pracowaæ. Wybierz sobie tak± wersjê pakietu ax25-utils, która bêdzie pracowaæ z j±drem twojego systemu.
<P>Programy narzêdziowe dla 2.1.22 i pó¼niejszych, oraz ax25-utils+module mo¿na znale¼æ na domowej stronie Jonathon'a Naylor:
<P>
<A HREF="ftp://ftp.cs.nott.ac.uk/jsn/">ftp://ftp.cs.nott.ac.uk/jsn/ax25-utils-2.1.22b.tar.gz</A><P>lub na:
<P>
<A HREF="ftp://sunsite.unc.edu/pub/Linux/apps/ham/ax25/ax25-utils-2.1.22b.tar.gz">ftp://sunsite.unc.edu/pub/Linux/apps/ham/ax25/ax25-utils-2.1.22b.tar.gz</A><P>Starsze narzêdzia, zdolne do pracy z niepo³atanym j±drem 2.0.29 nazywaj± siê ax25-utils-2.0.12c.tar.gz w tym samym miejscu.
<P>
<H2><A NAME="s5">5. Instalacja oprogramowania AX.25/NetRom.</A></H2>

<P>Aby w sposób udany zainstalowaæ obs³ugê AX.25/NetRom na systemie Linux nale¿y skonfigurowaæ i zainstalaowaæ w³a¶ciwe j±dro a nastêpnie programy narzêdziowe AX.25.
<P>
<H2>5.1 Kompilacja j±dra.</H2>

<P>Je¶li jeste¶ ju¿ zaznajomiony z kompilowaniem j±dra na Linuxie to mo¿esz pomin±æ tê sekcjê, upewnij siê tylko, ¿e wybra³e¶ w³a¶ciwe opcje dla j±dra. Je¶li nie, to czytaj dalej.
<P>Normalnie, ¼ród³a j±dra nale¿y rozpakowywaæ bêd±c w katalogu <CODE>/usr/src</CODE> do podkatalogu zwanego linux. Aby to uczyniæ nale¿y siê zalogowaæ jako root a nastêpnie wykonaæ takie czynno¶ci:
<PRE>
       # cd /usr/src
       # mv linux linux.old
       # tar xvfz linux-2.0.29.tar.gz
       # tar xvfz ax25-module-12.tar.gz
       # patch -p0 &lt; /usr/src/ax25-module-12/ax25-2.0.29-2.1.22.diff
       # cd linux
</PRE>
<P>Po tym jak rozpakowa³e¶ i po³ata³e¶ j±dro, musisz odpaliæ skrypt konfiguracyjny i zaznaczyæ opcje, które odpowiadaj± uk³adowi twojego sprzêtu oraz te, które chcesz, aby by³y obecne w j±drze. Wystarczy napisaæ:
<PRE>
# make config
</PRE>
<P>Je¶li wolisz metodê opart± o menu to mo¿na te¿ spróbowaæ:
<PRE>
# make menuconfig
</PRE>
<P>Opiszê tutaj metodê zasadnicz±, a ty wybierz tak± jaka ci najbardziej odpowiada.
W obu przypadkach zostaniesz postawiony wobec pytañ, na które trzeba odpowiedzieæ "tak" lub "nie". (Zauwa¿, ¿e mo¿na te¿ odpowiedzieæ naci¶niêciem "M" je¶li u¿ywa¿ modu³ów w Linuxie. Dla uproszczenia jednak przyjmujê, ¿e ich nie u¿ywasz, wiêc dokonaj w³a¶ciwych poprawek je¶li jest przeciwnie.)
<P>Najbardziej zasadniczymi opcjami dla skonfigurowania AX.25 s±:
<PRE>
  Code maturity level options  --->
      ...
      [*] Prompt for development and/or incomplete code/drivers
      ...
  General setup  --->
      ...
      [*] Networking support
      ...
  Networking options  --->
      ...
      [*] TCP/IP networking
      [?] IP: forwarding/gatewaying
      ...
      [?] IP: tunneling
      ...
      [?] IP: Allow large windows (not recommended if &lt;16Mb of memory)
      ...
      [*] Amateur Radio AX.25 Level 2
      [?] Amateur Radio NET/ROM
      [?] Amateur Radio X.25 PLP (Rose)
      ...
  Network device support  --->
      [*] Network device support
      ...
      [*] Radio network interfaces
      [?] BAYCOM ser12 and par96 driver for AX.25
      [?] Soundcard modem driver for AX.25
      [?] Soundmodem support for Soundblaster and compatible cards
      [?] Soundmodem support for WSS and Crystal cards
      [?] Soundmodem support for 1200 baud AFSK modulation
      [?] Soundmodem support for 4800 baud HAPN-1 modulation
      [?] Soundmodem support for 9600 baud FSK G3RUH modulation
      [?] Serial port KISS driver for AX.25
      [?] BPQ Ethernet driver for AX.25
      [?] Gracilis PackeTwin support for AX.25
      [?] Ottawa PI and PI/2 support for AX.25
      [?] Z8530 SCC KISS emulation driver for AX.25
      ...
</PRE>

Opcje, które oznakowa³em jako '*' to te, na które musisz odpowiedzieæ 'Y' - tak. Reszta jest zale¿na od sprzêtu, jaki posiadasz oraz od opcji, które sobie ¿yczysz. Niektóre z tych opcji s± opisane trochê po¼niej, wiêc je¶li nie wiesz jeszcze czego chcesz to czytaj dalej a potem tutaj wróæ.
<P>Po skoñczeniu konfiguracji j±dra powiniene¶ teraz g³adko skompilowaæ j±dro:
<P>
<PRE>
       # make dep
       # make clean
       # make zImage
</PRE>

Upewnij siê, aby skopiowaæ plik arch/i386/boot/zImage tam gdzie byæ powinien oraz zrób edycje /etc/lilo oraz restartuj lilo, aby¶ faktycznie odpali³ system z nowego j±dra.
<P>
<H3>Co jest nowego w j±drach 2.0.*+ModuleXX i 2.1.* ?</H3>

<P>J±dra 2.1.* zawieraj± udoskonalone wersjê niemal¿e wszyskich protoko³ów oraz sterowników. Najbardziej znacz±ce nowinki to:
<P>
<BLOCKQUOTE><CODE>
modularyzacja
<BLOCKQUOTE><CODE>
protoko³y i sterowniki zosta³y zmodularyzowane tak, ¿e mo¿na nimi do woli ¿±glowaæ poleceniami insmod, rmmod. Redukuje to wymogi pamiêciowe dla j±dra przy sporadycznie u¿ywanych modu³ach oraz sprawia, ¿e polowanie na pluskwy i pielêgancja s± ³atwiejsze.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>

<BLOCKQUOTE><CODE>
wszystkie sterowniki s± teraz sterownikami sieciowymi
<BLOCKQUOTE><CODE>
wszelkie urz±dzenia jak Baycom, SCC, PacketTwin, Gracillis itp. oferuj± teraz normalny interfejs sieciowy, tzn. wygl±daj± teraz tak jak sterownik Ethernetu; nie wygl±daj± ju¿ tak jak TNC w trybie KISS. Na ¿yczenie, mo¿na zbudowaæ interfejs kiss do tych urz±dzeñ przy pomocy programiku 'net2kiss'.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>

<BLOCKQUOTE><CODE>
usuniêto pluskwy
<BLOCKQUOTE><CODE>
wiele pluskw zosta³o wykrytych i zniszczonych dodano te¿ do sterowników i protoko³ów sporo nowych cech i funkcji.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<H2>5.2 Narzêdzia do ustawiania sieci</H2>

<P>Teraz, po wykompilowaniu j±dra, powiniene¶ równie¿ skompilowaæ nowe narzêdzia do konfiguracji sieci. Przy ich pomocy bêdziesz móg³ manipulowaæ interfejsami sieciowymi oraz dodawaæ routing do tablic routingowych.
<P>Nowa wersja <I>alpha</I> standardowego pakietu net-tools zawiera obs³ugê AX.25 i NetRom. Sprawdza³em to i wydaje siê, ¿e u mnie dzia³a to ¶wietnie.
<P>
<H3>Budowa standardowej wersji net-tools.</H3>

<P>Nie zapomnij przeczytaæ pliku Readme i zastosowaæ siê to wszelkich tam podanych wskazówek. Czynno¶ci jakie ja wykona³em, by skompilowaæ net-tools to:
<P>
<PRE>
       # cd /usr/src
       # tar xvfz net-tools-1.32-alpha.tar.gz
       # cd net-tools-1.32-alpha
       # make config
</PRE>

W tym stadium zaoferowane ci zostan± pytania podobnie jak przy kompilacji j±dra. Upewnij siê, aby zaznaczyæ obs³ugê jakichkolwiek  protoków, które zamierzasz u¿ywaæ.W razie, gdyby¶ nie wiedzia³ co odpowiedzieæ, zaznacz "Y".
<P>Net-tools powinny skompilowaæ siê g³adko ze ¼ród³ami j±dra bez ¿adnych ostrze¿eñ.
gdy kompilacja ustanie, wówczas wydaj polecenie:
<PRE>
# make install
</PRE>

to zainstaluje programy w ich w³a¶ciwe miejsca.
<P>Je¶li planujesz u¿ywaæ us³ugê IP firewall to potrzebujesz ostatnich narzêdzi ipfwadm do administracji <CODE>¶ciany ogniowej</CODE>. Narzêdzie to podmienia starsze <CODE>ipfw</CODE>, które nie pracuje ju¿ z nowszymi j±drami.
<P>Programik ipfwadm skompilowa³em w taki sposób:
<PRE>
       # cd /usr/src
       # tar xvfz ipfwadm-2.0beta2.tar.gz
       # cd ipfwadm-2.0beta2
       # make install
       # cp ipfwadm.8 /usr/man/man8
       # cp ipfw.4 /usr/man/man4
</PRE>
<P>
<H2>5.3 Pogramy narzêdziowe AX.25</H2>

<P>Po skompilowaniu i restarcie nowego j±dra, potrzebujesz jeszcze skompilowaæ programy narzêdziowe. Aby skompilowaæ programy narzêdziowe nale¿y wykonaæ takie czynno¶ci:
<PRE>
       # cd /usr/src
       # tax xvfz ax25-utils-2.1.22b.tar.gz
       # cd ax25-utils-2.1.22b
       # make config
       # make
       # make install
</PRE>

Pliki zostan± zainstalowane pierwotnie do katalogu /usr w podkatalogi takie jak:
bin, sbin, etc and man.
<P>Je¶li poka¿± ci siê ostrze¿enia podobnej tre¶ci:
<PRE>
  gcc -Wall -Wstrict-prototypes -O2 -I../lib -c call.c
  call.c: In function `statline':
  call.c:268: warning: implicit declaration of function `attron'
  call.c:268: `A_REVERSE' undeclared (first use this function)
  call.c:268: (Each undeclared identifier is reported only once
  call.c:268: for each function it appears in.)
</PRE>

zatem powiniene¶ pozprawdzaæ czy masz na swoim systemie zainstalowany poprawnie pakiet <CODE>ncurses</CODE>. Skrypt konfiguracyjny stara siê zlokalizowaæ pakiet ncurses na twoim systemie w znanych katalogach. Niektóre jednak instalacje ¼le wpisuj± ncurses i skryp nie potrafi ich znale¼æ.
<P>
<H2><A NAME="s6">6. Najpierw o znakach radioamatorkich , adresach,  itp.</A></H2>

<P>Ka¿dy port AX.25 lub NetRom na twoim systemie musi mieæ przydzielony znak i przypiêty do niego numeryczny identyfikator stacji. Rzeczy te konfigurujemy w plikach, które zosta³y opisane dalej. Niektóre implementacje AX.25, np. BPQ lub NOS, pozwalaj± na przypisanie tego samego <CODE>znaku/indentyfikatora</CODE> na obu portach AX.25 i NetRom. Linux na to nie pozwala z pewnych technicznych, skomplikowanych powodów. W praktyce, nie jest to taki wielki problem. 
<P>Oznacza to, ¿e przy konfigurowaniu trzeba byæ ¶wiadomy tych rzeczy i wzi±æ je pod uwagê:
<OL>
<LI>Ka¿dy port ax.25 lub NetRom musi byæ konfigurowany z unikalnym znakiem/identyfikatorem.</LI>
<LI>TCP/IP u¿ywaæ bêdzie tego znaku/identyfikatora, na którego porcie odbywa siê odbiór i transmisja AX.25, tj. ten, który skonfigurowa³e¶ w punkcie 1.</LI>
<LI>NetRom u¿ywaæ bêdzie tego znaku/identyfikatora, który zosta³ mu przydzielony w jego w³asnym pliku konfiguracyjnym. Znak ten u¿ywany bêdzie tylko wówczas, gdy twój NetRom rozmawia z innym NetRomem. Nie jest to znak, ktory u¿ytkownicy AX.25 maj± u¿ywaæ przy wchodzeniu do twojego wêz³a. Wiêcej na ten temat powiemy dalej.</LI>
<LI>Rose, pierwotnie, bêdzie u¿ywa³ znaku/identyfikatora nale¿±cego do portu AX.25 chyba, ¿e wyra¼nie zostanie przekonfigurowany poleceniem 'rsparms' na inny. Je¶li przydzielisz znak/identyfikator dla Rose poleceniem 'rsparms' wówczas Rose u¿ywaæ bêdzie tego znaku na wszystkich swych portach.</LI>
<LI>Inne programy, takie jak 'ax25d' mog± s³uchaæ na jakichkolwiek <CODE>znakach/identyfikatorach</CODE> i w dodatku mo¿na te znaki duplikowaæ po wszelakich portach.</LI>
<LI>Bêd±c ostro¿ny przy routingu, mo¿esz nawet przyznac wszystkim portom ten sam adres IP.</LI>
</OL>
<H2>6.1 Czym s± owe T1, T2, T3 i inne rzeczy?</H2>

<P>Analogicznie, tak jak nie ka¿dy radiooperator jest in¿ynierem, tak samo nie ka¿da implementacja AX.25 jest zgodna ze standardem TNC2. Linux stosuje nomenklaturê, która ró¿ni siê w pewnym wzglêdzie od tej, jakiej u¿ywa³by¶,je¶li jedynym twoim do¶wiadczeniem w packet radio by³by TNC. Podana ni¿ej tablica powinna byæ pomocna w interpretacji czym s± poszczególne elementy, które daje siê konfigurowaæ, zatem je¶li napotkasz je pó¼niej w tym tek¶cie pomo¿e ci to w ich zrozumieniu.
<PRE>
  -------------------------------------------------------------------
  Linux  | TAPR TNC | Description
  -------------------------------------------------------------------
  T1     | FRACK    | czas wyczekiwania przed retransmisj±
         |          | niepotwierdzonej ramki
  -------------------------------------------------------------------
  T2     | RESPTIME | minimalny czas wyczekiwania na inn± ramkê
         |          | przed transmisj± potwierdzenia
         |          | 
  -------------------------------------------------------------------
  T3     | CHECK    | czas wyczekiwania pomiêdzy sprawdzeniami czy
         |          | l±cze jest nadal aktywne
  -------------------------------------------------------------------
  N2     | RETRY    | ilo¶æ retransmisji zanim za³o¿ymy, ¿e l±cze
         |          | pad³o
  -------------------------------------------------------------------
  Idle   |          | okres czasu, który ³±cze mo¿e staæ bezczynnie
         |          | zanim zostanie zamkniête
  -------------------------------------------------------------------
  Window | MAXFRAME | maksymalna liczba niepotwierdzonych,
         |          | wytransmitowanych ramek
  -------------------------------------------------------------------
</PRE>
<P>
<H2>6.2 Parametry, które daj± siê konfigurowaæ w trakcie pracy.</H2>

<P>J±dra 2.1.* oraz 2.0.29+module maj± now± cechê, która pozwala na zmianê uprzednio niemo¿liwych do manipulacji warto¶ci w trakcie pracy. Je¶li uwa¿nie przyjrzysz siê strukturze katalogu /proc/sys/net/ to zauwa¿ysz parê plików o sugestywnych nazwach, które wskazuj± na ró¿ne parametry do konfigurowania sieci. Ka¿dy plik w katalogu /proc/sys/net/ax25 reprezentuje jeden ustawiony port AX.25. Nazwa pliku odnosi siê do nazwy portu. Struktura plików wygl±da nastêpuj±co:
<PRE>
  No.     Nazwa                   Znaczenie                       Warto¶æ domy¶lna
  1       IP Default Mode         0=DG 1=VC                       0
  2       AX.25 Default Mode      0=Normal 1=Extended             0
  3       Allow Vanilla Connects  0=No 1=Yes                      1
  4       Backoff                 0=Linear 1=Exponential          1
  5       Connected Mode          0=No 1=Yes                      1
  6       Standard Window         1  &lt;= N &lt;= 7                    2
  7       Extended Window         1  &lt;= N &lt;= 63                   32
  8       T1 Timeout              1s &lt;= N &lt;= 30s                  10s
  9       T2 Timeout              1s &lt;= N &lt;= 20s                  3s
  10      T3 Timeout              0s &lt;= N &lt;= 3600s                300s
  11      Idle Timeout            0m &lt;= N                         20m
  12      N2                      1  &lt;= N &lt;= 31                   10
  13      AX.25 Frame Length      1  &lt;= N &lt;= 512                  256
  14      Max Queue               1  &lt;= N &lt;= 20                   2
  15      Digipeater Mode         0=None 1=Inband 2=XBand 3=Both  3
</PRE>
<P>W powy¿szej tablicy T1, T2, T3 zosta³y podane w sekundach a Idle Timout podano w minutach. Zauwa¿ jednak, ¿e warto¶ci u¿ywane przez interfejs <CODE>sysctl</CODE> mierzone s± warto¶ciami wewnêtrznymi, gdzie czas w sekundach mno¿ony jest przez 10, co pozwala na rozdrobnienie na 1/10 sekundy. Tam, gdzie liczniki pozwalaj± na warto¶æ zero, np. T3 lub Idle, zero oznacza, ¿e licznik jest wy³±czony.
<P>
<H2><A NAME="s7">7. Konfigurowanie portu AX.25.</A></H2>

<P>Ka¿dy program AX.25 wpierw czyta plik konfiguracyjny, aby uzyskaæ potrzebne parametry poszczególnego portu AX.25, obecnego na twoim systemie Linux. Dla portów AX.25 jest to plik /etc/ax25/axports. Ka¿dy port AX.25, który chcesz mieæ na swoim systemie, musi byæ w tym pliku opisany.
<H2>7.1 Jak utworzyæ plik /etc/ax25/axports?</H2>

<P>Plik /etc/ax25/axports to prosty tekstowy plik, który tworzymy zwyk³ym edytorem. Format pliku /etc/ax25/axports jest nastêpuj±cy:
<BLOCKQUOTE><CODE>
portname  callsign  baudrate  paclen  window  description
</CODE></BLOCKQUOTE>

Gdzie:
<BLOCKQUOTE><CODE>
portname
<BLOCKQUOTE><CODE>
to wolna nazwa, krór± nale¿y ochrzciæ port, u¿ywana do nazewnictwa tego portu
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>

<BLOCKQUOTE><CODE>
callsign
<BLOCKQUOTE><CODE>
znak/identyfikator, który przypisujesz dla portu AX.25
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>

<BLOCKQUOTE><CODE>
paclen
<BLOCKQUOTE><CODE>
to maksymalna d³ugo¶æ pakietów, które bêd± mo¿liwe na tym porcie przy transmisjch AX.25 w trybie 'connected'.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>

<BLOCKQUOTE><CODE>
window
<BLOCKQUOTE><CODE>
to parametr (K) AX.25 window. To samo co MAXFRAME w wielu urz±dzeniach TNC.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>

<BLOCKQUOTE><CODE>
description
<BLOCKQUOTE><CODE>
to dowolny opis tego portu
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>W moim przypadku wygl±da to tak:
<PRE>
       radio    VK2KTJ-15       4800        256     2       4800bps 144.800 MHz
       ether    VK2KTJ-14       10000000    256     2       BPQ/ethernet device
</PRE>
<P>Pamiêtaj, ¿e nale¿y przypisaæ unikalny znak/identyfikator dla ka¿dego portu AX.25, który utworzysz. Wprowad¼ jeden wpis dla ka¿dego urz±dzenia AX.25, które chcesz u¿ywaæ. Odnosi siê to do portów: KISS, Baycom, SCC, PI, PT,  D¼wiêkoModem. W tym miejscu ka¿dy wpis ma odnosiæ siê do ka¿dego z osobna urz±dzenia AX.25. Wpisy w tym pliku powi±zane s± z interfejsami sieciowymi poprzez ich znak/identyfikator.
<P>Plik ten u¿ywany bêdzie przez programy opisane dalej.
<P>
<H2>7.2 Jak utworzyæ interfejsy sieciowe AX.25?</H2>

<P>Interfejs sieciowy jest tym, co widaæ na ekranie po wydaniu polecenia 'ifconfig'. Jest to objekt, poprzez który j±dro Linuxa odbiera i wysy³a dane sieciowe. Prawie zawsze interfejs sieciowy zwi±zany jest z fizycznym portem, s± jednak wypadki, kiedy nie jest to konieczne. Interfejs sieciowy odnosi siê wówczas bezpo¶rednio do sterownika urz±dzenia fizycznego. W oprogramowaniu AX.25 pod Linuxem istnieje wiele sterowników urz±dzeñ fizycznych. Najpopularniejszym jest zapewne sterownik KISS, lecz s± te¿ inne jak np. sterownik SCC, Baycom czy SoundModem (D¼wiêkoModem).
<P>Ka¿dy z tych sterowników, przy uruchomianiu go, spowoduje równie¿ otworzenie interfejsu sieciowego.
<P>
<H3>Jak do³±czyæ urz±dzenie KISS?</H3>

<P>Najczê¶ciej spotykan± konfiguracj± bedziê chyba KISS TNC na porcie seryjnym. Nale¿y uprzednio skonfigurowaæ sam TNC i doczepiæ go do portu seryjnego. Aby wprowadziæ swój TNC w tryb KISS mo¿na u¿yæ programu terminala, jak np. minicom lub seyon. Z kolei, aby utworzyæ urz±dzenie KISS nale¿y u¿yæ polecenia 'kissattach', które to polecenie w swej najprostszej formie mo¿e wygl±daæ tak:
<PRE>
       # /usr/sbin/kissattach /dev/ttyS0 radio
       # kissparms -p radio -t 100 -s 100 -r 25
</PRE>
<P>Polecenie kissattach utworzy te¿ sieciowy interfejs KISS. Interfejsy te nosz± wtedy nazwê od 'ax[0-9]'. Przy pierwszym wydaniu polecenia 'kissattach' powstaje 'ax0', przy nastêpnym 'ax1', itd. Ka¿dy interfejs KISS powi±zany jest ze swoim portem seryjnym.
<P>Polecenie 'kissparms' pozwala na manipulowanie ró¿nymi parametrami interfejsu KISS. 
<P>W podanym wy¿ej przyk³adzie do³±czony zosta³by sieciowy interfejs KISS do seryjnego urz±dzenia w Linuxie '/dev/ttyS0' i do portu oznaczonego w pliku /etc/ax25/axports jako 'radio'. Nastêpnie konfigurowany on jest z warto¶ciami 100 milisekund dla txdelay oraz slottime i warto¶ci± 25 dla ppersist.
<P>Wiêcej informacji mo¿na znale¼æ w man pages w Linuxie.
<P>
<H3>Konfigurowanie urz±dzeñ TNC o dwóch portach.</H3>

<P>Programik 'mkiss', zawarty w programach narzêdziowych ax25-utils, pozwala na wykorzystanie obydwu modemów w ur±dzeniach TNC o dwóch portach. Ustawienie jest do¶æ proste. Programik ten dzia³a tak, ¿e bior±c pojedyncze urz±dzenie do³aczone do wieloportowego TNC przedstawia je tak, i¿ wygl±da ono, jakby to by³y dwa urz±dzenia, ka¿de z w³asnym TNC. Czynno¶æ tê trzeba wykonaæ zanim zaczniesz jak±kolwiek konfiguracjê AX.25. Powsta³e na skutek tego interfejsy pseudo-TTY, (/dev/ttypf*), które nie s± rzeczywistymi urz±dzeniami seryjnymi, wykorzystywane s± z kolei do konfiguracji AX.25. Interfejsy Pseudo-TTY wyprowadzaj± swego rodzaju fajkê, poprzez któr± programy umiej±ce nadawaæ do urz±dzeñ <CODE>/dev/tty</CODE> mog± sie porozumiewaæ miêdzy sob±. Ka¿da fajka posiada koñcówkê master i slave. Koñcówki master s± ogólnie oznaczane jako /dev/ptyp*, koñcówki slave maj± emblem /dev/ttyp*. Pomiêdzy master a slave istnieje intymna zale¿no¶c, zatem /dev/ptyp0 stanowi koncówkê master dla przewodu, ktory ma /dev/ttyp0 na koñcówce slave. Zanim otworzysz koñcówkê slave, musisz najpierw otworzyæ koñcówkê master. 'mkiss' wykorzystuje ten w³a¶nie mechanizm do rozczepienia pojedynczego urz±dzenia seryjnego, na osobne.
<P>Przyk³ad: je¶li posiadasz TNC o dwóch portach i jest ono doczepione do seryjnego urz±dzenia /dev/ttyS0 o prêdko¶ci 9600 bps, to polecenie:
<PRE>
       # /usr/sbin/mkiss -s 9600 /dev/ttyS0 /dev/ptyp0 /dev/ptyp1
       # /usr/sbin/kissattach /dev/ttyp0 port1
       # /usr/sbin/kissattach /dev/ttyp1 port2
</PRE>

utworzy dwa interfejsy pseudo-tty, a ka¿de z nich wygl±daæ bêdzie tak, jakby by³o pojedynczym seryjnym portem, ka¿de z w³asnym TNC. Wowczas interfejsy /dev/ttyp0 i /dev/ttyp1 mo¿esz potraktowaæ tak jak inne konwencjonalne seryjne porty z doczepionymi do nich urz±dzeniami TNC. W praktyce oznacza to, ze odpali³by¶ dla obydwu polecenie 'kissattach' przy zachowaniu wpisów o portach AX.25 jako port1 i port2. Nie nale¿y odpalaæ polecenia 'kissattach' dla rzeczywistego urz±dzenia /dev/ttyS0 poniewa¿ zajête zosta³o ono przez program 'mkiss'.
<P>Polecenie 'mkiss' przyjmuje szereg dodatkowych argumentów, które s± do twojej dyspozycji. Oto ich streszczenie:
<PRE>
     -c pozwala na dodanie checksum o jednym byte.
        Wiêkszo¶æ implementacji KISS tego nie obsluguje, jest to
        mo¿liwe przy u¿yciu Rom'u G8BPG KISS.

     -s &lt;speed>
        ustawia prêdko¶æ portu urz±dzenia seryjnego.

     -h omo¿liwia hardware handshaking na porcie seryjnym, pierwotnie
        jest wy³±czone. Wiêksz¶æ implementacji KISS tego nie obs³uguje.
        Niektóre jednak to maj±.

     -l umo¿liwia prowadzenie log'u do plików typu syslog.
</PRE>
<P>
<H3>Jak doczepiæ urz±dzenie Baycom</H3>

<P>Wbrew powszechnemu przekonaniu, ¿e nie bêdzie to zbyt dobrze dzia³aæ, 
<A HREF="mailto:sailer@ife.ee.ethz.ch">Thomas Sailor</A> podj±³ siê rozbudowy obs³ugi modemów Baycom pod Linuxem. Jego sterowniki obs³uguj± modemy Ser12 na port seryjny, oraz Par96 i udoskonalony PicPar na porty równoleg³e. Wiêcej informacji o samych modemach mo¿na uzyskaæ na 
<A HREF="http://www.baycome.de/">Web Serverze Baycoma</A><P>Najpierw musisz sprawdziæ adres wej¶cia/wy¶cia oraz adresy bazowe portu seryjnego lub równoleg³ego, do którego masz doczepiony modem Baycom. Z t± informacj± mo¿esz dopiero konfigurowaæ sterownik samego Baycom'a.
<P>Programik <CODE>sethdlc</CODE> pozwala na u¿ycie tych parametrów ze sterownikiem, lub, je¶li masz tylko jeden modem Baycom i u¿ywasz modu³ów w Linuxie to mo¿na te parametry podaæ rêcznie jako opcje dla programu 'insmod' ³aduj±cego modu³ Baycom'a.
<P>Dla przykladu, prosty uk³ad. Wy³±czenie sterownika urz±dzenia seryjnego COM1:, a nastêpnie ustawienie tam sterownika modemu Baycom Ser12 na COM1: z u¿yciem detekcji typu software DCD:
<PRE>
  # setserial /dev/ttyS0 uart none
  # insmod baycom mode="ser12*" iobase=0x3f8 irq=4
</PRE>
<P>Albo modem Par96 na porcie równoleg³ym LPT1: z u¿yciem detekcji hardware DCD:
<PRE>
   # insmod baycom mode="par96" iobase=0x378 irq=7 options=0
</PRE>

Nie jest to jednak najlepszy sposób. Programik <CODE>sethdlc</CODE> dzia³a dobrze zarówno z jednym jak i z wieloma urz±dzeniami.
<P>Podrêcznik systemowy 'man' programiku <CODE>sethdlc</CODE> opisuje szczegó³y na ten temat, jednak kilka przyk³adów pozwoli zilustrowaæ wa¿niejsze aspekty tej¿e konfiguracji. Poni¿szy przyk³ad zak³ada, ¿e za³adowa³e¶ ju¿ modu³ Baycom'a poleceniem:
<PRE>
# insmod baycom
</PRE>

Ustawienie sterownika dla interfejsu bc0 stusuj±c równoleg³y modem Baycom  na LPT1: detekcja typu software DCD:
<PRE>
     # sethdlc -p -i bc0 mode par96 io 0x378 irq 7
</PRE>

Ustawienie sterownika dla interfejsu bc1 stosuj±c seryjny modem Baycom na COM1::
<PRE>
    # sethdlc -p -i bc1 mode "ser12*" io 0x3f8 irq 4
</PRE>
<P>
<H3>Jak ustawiæ parametry dostêpu do kana³u AX.25?</H3>

<P>Parametry dostêpu do kana³ów AX.25 s± analogiczne do parametrów KISS, takich jak ppersist, txdelay, slottime. Tutaj te¿ u¿ywamy programiku <CODE>sethdlc</CODE>.
<P>I znów podrêcznik systemowy 'man' jest g³ównym ¼ród³em informacji na temat sethdlc, ale jak zwyk³e jeden czy drugi przyk³ad nie zaszkodzi:
<P>Ustawienie interfejsu bc0 z warto¶ci± 200ms dla TxDelay, 100ms dla Slottime, warto¶æ 40 dla ppersist oraz half-duplex:
<PRE>
   # sethdlc -i bc0 -a txd 20 slot 10 ppersist 40 half
</PRE>
<P>Zauwa¿, ¿e warto¶ci licznika s± tutaj podane w 10-tkach milisekund.
<P>
<H3>Jak doczepiæ urz±dzenie D¼wiêkoModem?</H3>

<P>Thomas Sailor napisa³ nowy sterownik dla j±dra Linuxa pozwalaj±cy na u¿ycie karty d¼wiêkowej komputera jako modemu do packet radio. Mo¿na teraz pod³±czyæ radio bezpo¶rednio do karty d¼wiêkowej i zabawiæ siê w packet!! Thomas poleca przynajmniej procesor 486DX/66 poniewa¿ ca³y ciê¿ar obliczeniowy sygna³u cyfrowego spada w tym wypadku na CPU.
<P>Obecnie sterownik emuluje takie typy modemów: 1200 bps AFSK, 4800 HAPN and 9600 FSK (G3RUH compatible). Jedyne karty, które s± ob³ugiwane tym sterownikiem to te, zgodne z SoundBlaster oraz WindowsSoundSystem. Karty d¼wiêkowe potrzebuj± dodatkowego uk³adu wspomagaj±cego uk³ad PTT a informacjê na ten tema mo¿na zasiêgn±æ na domowej stronie Thomas'a Sailora, 
<A HREF="http://www.ife.ee.ethz.ch/~sailer/pcf/ptt_circ/ptt.html">tutaj</A>. Istnieje szereg mo¿liwo¶ci: detekcja sygan³u z karty d¼wiêkowej, lub przez port równoleg³y, seryjny, port midi. Przyk³ady schematów s± na stronie Thomas'a.
<P>Przy za³±czeniu sterownik D¼wiêkoModemu do³±cza interfejsy sieciowe: sm0, sm1, sm2, itp.
<P>Uwaga: Sterownik D¼wiêkoModemu wspó³zawodniczy w zagarnianiu zasobów komputera ze sterownikiem karty d¼wiêkowej. Je¶li wiêc planujesz u¿ywaæ sterownik D¼wiêkoModemu to upewnij siê, czy sterownik karty d¼wiêkowej jest wyinstalowany. Jak zwyk³e mo¿esz obydwa skompilowaæ jako modu³y i u¿ywaæ je wtedy, gdy jest to wygodne.
<P>
<H3>Konfigurowanie karty d¼wiêkowej.</H3>

<P>Sterownik D¼wiêkoModemu nie wzbudza karty d¼wiêkowej przy ³adowniu siê systemu. Pakiet ax25-utils zawiera programik 'setcrystal', który obluguje karty oparte o Crystal Chipset. je¶li posiadasz inn± kartê to potrzebujesz innego oprogramowania, aby j± pobudziæ. Sk³adnia programiku jest oczywista:
<PRE>
     setcrystal [-w wssio] [-s sbio] [-f synthio] [-i irq] [-d dma] [-c dma2]
</PRE>

Je¶li, zatem ¿yczysz sobie doczepiæ kartê soundblaster na adresie 0x388, irq 10 i DMA 1, to dj tak:
<PRE>
       # setcrystal -s 0x388 -i 10 -d 1
</PRE>

Je¶li ustawiasz kartê WinSoundSystem na adresie 0x534, irq 5, DMA 3, to daj tak:
<PRE>
       # setcrystal -w 0x534 -i 5 -d 3
</PRE>

Parametr [-f synthio] s³u¿y do zdeklarowania adresu syntezatora, a [-c dma2] do podania drugiej warto¶ci dla DMA, ktora pozwala na operacjê full-duplex.
<P>
<H3>Jak ustawiæ interfejs D¼wiêkoModemu?</H3>

<P>Po skonfigurowaniu karty d¼wiêkowej musisz teraz powiedzieæ strownikowi D¼wiêkoModemu gdzie mo¿e jej szukaæ oraz jakiego rodzaju modem ma emulowaæ.
<P>Parametry te mog± zostaæ zdeklarowane programikiem 'sethdlc', lub, je¶li u¿ywaæ bêdziesz tylko jednej karty mo¿na je podaæ rêcznie programowi 'insmod', który ³aduje sterownik D¼wiêkomodemu.
Dla przyk³adu, prosta konfiguracja: jedna karta d¼wiêkowa SoundBlaster ustawiona wed³ug powy¿szego przyk³adu i emuluj±ca modem 1200 pbs:
<PRE>
       # insmod soundmodem mode="sbc:afsk1200" iobase=0x220 irq=5 dma=1
</PRE>

Nie jest to jednak najlepszy sposób. Programik <CODE>sethdlc</CODE> dzia³a dobrze zarówno z jednym jak i z wieloma urz±dzeniami.
<P>Man pages programiku <CODE>sethdlc</CODE> pisz± w szczegó³ach na ten temat, jednak kilka przyk³adów pozwoli zilustrowaæ wa¿niejsze aspekty tej¿e konfiguracji. Poni¿szy przyk³ad zak³ada, ze za³adowa³e¶ ju¿ modu³ sterownika D¼wiêkoModemu poleceniem:
<PRE>
       # insmod soundmodem
</PRE>

Ustawienie sterownika do ob³ugi uprzednio skonfigurowanej karty WinSoundSystem, aby emulowa³ modem  G3RUH 9600 jako interfejs sieciowy sm0, na porcie równoleg³ym z uk³adem PTT o adresie 0x378:
<PRE>
       # sethdlc -p -i sm0 mode wss:fsk9600 io 0x534 irq 5 dma 3 pario 0x378
       # ifconfig sm0 up
</PRE>

Ustawienie sterownika uprzednio skonfigurowanej karty SoundBlaster, aby emulowa³ modem HAPN 4800 bps jako interfejs sieciowy sm1 z ukladem PTT na porcie seryjnym o adresie 0x2f8:
<PRE>
       # sethdlc -p -i sm1 mode sbc:hapn4800 io 0x388 irq 10 dma 1 serio 0x2f8
       # ifconfig sm1 up
</PRE>

Ustawienie sterownika uprzednio skonfigurowanej karty SoundBlaster, aby emulowa³ modem AFSK 1200 bps jako interfejs sieciowy sm1, na seryjnym porcie z uk³adem PTT o adresie 0x2f8:
<PRE>
       # sethdlc -p -i sm1 mode sbc:afsk1200 io 0x388 irq 10 dma 1 serio 0x2f8
       # ifconfig sm1 up
</PRE>
<H3>Jak ustawiæ parametry dostêpu do kana³u AX.25?</H3>

<P>Parametry dostêpu do kana³ów AX.25 s± analogiczne do parametrów KISS, takich jak ppersist, txdelay, slottime. Tutaj te¿ u¿ywamy programiku <CODE>sethdlc</CODE>.
<P>I znów man pages s± g³ównym ¼ród³em informacji na temat sethdlc, ale jak zwykle jeden czy drugi przyk³ad nie zaszkodzi:
<P>
<P>Ustawienie interfejsu sm0 z warto¶ci± 100ms dla TxDelay, 50ms dla Slottime, warto¶æ 128 dla ppersist oraz half-duplex:
<PRE>
       # sethdlc -i sm0 -a txd 10 slot 5 ppersist 128 full
</PRE>

Zauwa¿, ¿e warto¶ci licznika s± tutaj podane w 10-tkach milisekund.
<P>
<H3>Ustalenie poziomu audio i dostrojenie sterownika</H3>

<P>Ka¿dy modem radiowy domaga siê do poprawnej pracy w³a¶ciwej regulacji poziomu audio. Dotyczy to równie¿ D¼wiêkoModem'u. Thomas napisa³ programy narzêdziowe, które u³atwiaj± to zadanie. S± to: 'smdiag' i 'smmixer'.
<BLOCKQUOTE><CODE>
smdiag
<BLOCKQUOTE><CODE>
dostarcza dwóch typów wy¶wietlacza, typu oscyloskopowego i typu "eye pattern"
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>

<BLOCKQUOTE><CODE>
smmixer
<BLOCKQUOTE><CODE>
pozwa³a na w³a¶ciwe wyregulowanie poziomu nadawania i odbioru.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>To polecenie odpala programik 'smdiag' w trybie "eye" dla interfejsu sm0:
<PRE>
       # smdiag -i sm0 -e
</PRE>

To polecenie odpala programik 'smmixer' dla interfejsu sm0:
<PRE>
       # smmixer -i sm0
</PRE>
<P>
<P>
<H3>Przygotowanie czê¶ci AX.25 j±dra do wykorzystania D¼wiêkoModemu.</H3>

<P>Sterownik D¼wiêkoModemu powoduje do³±czenie standardowego interfejsu sieciowego, gotowego do wykorzystania przez j±dro. Konfiguracja przypomina tê, jak± stosujemu przy kartach PacketTwin oraz PI.
<P>Najpierw, interfejsowi trzeba przypisaæ znak/identyfikator. U¿ywamy programu 'ifconfig'. Polecenie:
<PRE>
  # /sbin/ifconfig sm0 hw ax25 VK2KTJ-15 up
</PRE>

przypisze interfejsowi sm0, nale¿±cemu do D¼wiêkoModemu, znak/identyfikator VK2KTJ-15 w protokole AX.25.
<P>Nastêpny krok to dokonanie wpisu do pliku /etc/ax25/axports podobnie jak dla innych urz±dzeñ fizycznych. Ten¿e wpis w pliku ax25ports jest powi±zany z interfejsem sieciowym, który powy¿ej skonfigurowa³e¶ na tym¿e znaku/identyfikatorze. Wpis w pliku axports nosz±cy znak/identyfikator, ktorego u¿y³e¶ przy D¼wiêkoModemie bêdzie u¿ywany jako odno¶nik do tego modemu.
<P>Tak ustawione urz±dzenie AX.25 mo¿esz teraz spo¿ytkowaæ jak ka¿de inne. Skonfiguruj je do pracy w TCP/IP, dodaj je do demona ax25d, u¿yj do NetRom lub Rose, jak tylko chcesz.
<P>
<H3>Jak do³aczyæ urz±dzenie z kart± PI?</H3>

<P>Sterownik karty PI generuje powstanie interfejsów sieciowych typu  `pi[0-9][ab]. Pierwszej wykrytej karcie PI zostanie przypisany interfejs pi0, kolejnej pi1, itd. Literki 'a' i 'b' odnosz± sie do fizycznych portów znajduj±cych siê na karcie PI. Je¶li zbudowa³e¶ j±dro z obs³ug± karty PI, oraz je¶li zosta³a ona poprawnie wykryta to mo¿esz skonfigurowaæ sobie interfejs sieciowy w taki sposób:
<PRE>
       # /sbin/ifconfig pi0a hw ax25 VK2KTJ-15 up
</PRE>

Polecenie to skonfigurowa³oby pierwszy port pierwszej wykrytej karty PI przypisuj±c jej znak/identyfikator VK2KTJ-15 i uczyni³oby go aktywnym. Zauwa¿, ¿e znak musi mieæ swój odpowiednik w pliku /etc/ax25/axports, aby móc u¿ywaæ tego portu.
<P>Sterownik do karty PI napisany zosta³ przez David'a Perry, 
<A HREF="mailto:dp@hydra.carleton.edu">dp@hydra.carleton.edu</A><P>
<H3>Jak doczepiæ urz±dzenie z kart± PacketTwin.</H3>

<P>Sterownik karty PacketTwin generuje powstanie interfejsów sieciowych typu  `pt[0-9][ab]. Pierwszej wykrytej karcie PacketTwin zostanie przypisany interfejs pt0, kolejnej pt1, itd. Literki 'a' i 'b' odnosz± sie do fizycznych inerfejsów znajduj±cych siê na karcie PacketTwin. Je¶li zbudowa³e¶ j±dro z obs³ug± karty PacketTwin, oraz je¶li zosta³a ona poprawnie wykryta to mo¿esz skonfigurowaæ sobie interfejs sieciowy w taki sposób:
<PRE>
       # /sbin/ifconfig pt0a hw ax25 VK2KTJ-15 up
</PRE>

Polecenie to skonfigurowa³oby pierwszy port pierwszej wykrytej karty PacketTwin przypisuj±c jej znak/identyfikator VK2KTJ-15 i uczyni³oby go aktywnym. Zauwa¿, ¿e znak musi mieæ swój odpowiednik w pliku /etc/ax25/axports, aby móc u¿ywaæ tego portu.
<P>Sterownik karty PacketTwin zosta³ napisany przez Craig Small, VK2XLZ, 
<A HREF="mailto:csmall@triode.apana.org.au">csmall@triode.apana.org.au</A>.
<P>
<H3>Jak doczepiæ generyczne urz±dzenie SCC?</H3>

<P>Joerg Reuter, DL1BKE, 
<A HREF="mailto:jreuter@lykos.tng.oche.de">jreuter@lykos.tng.oche.de</A> wypracowa³ sterownik do generycznej obs³ugi kart opartych o scalak Z8520 SCC. Sterownik ten daje siê konfigurowaæ do obs³ugi wielorakich kart oferuj±c interfejs, który zachowuje siê tak jak TNC w trybie KISS. Traktuj wiêc go tak, jakby to by³ TNC w trybie KISS.
<P>
<H3>Gdzie uzyskaæ i jak zbudowaæ pakiet do narzêdzi konfiguracyjnych?</H3>

<P>Choæ sterownik zawarty jest w standardowym ¿ródle j±dra to jednak Joerg uwalnia wci±¿ nowsze wersje ¼ród³owe razem ze specjalnymi narzêdziami do konfiguracji, które równie¿ potrzebujesz.
<P>Pakiet z narzêdziami do konfiguracji znajdziesz tutaj:
<PRE>
db0bm.automation.fh-aachen.de

       /incoming/dl1bke/

  lub:

  insl1.etec.uni-karlsruhe.de

       /pub/hamradio/linux/z8530/

  lub:

  ftp.ucsd.edu

       /hamradio/packet/tcpip/linux
       /hamradio/packet/tcpip/incoming/
</PRE>

Znajdziesz tam ró¿norakie wersje, wiêc wybierz te, które odpowiadaj± twojej wersji j±dra:
<PRE>
  z8530drv-2.4a.dl1bke.tar.gz   2.0.*
  z8530drv-utils-3.0.tar.gz    2.1.6 lub nowsze
</PRE>

Oto polecenia, które musia³em wykonaæ, aby skompilowaæ i zainstalowaæ ów pakiet z j±drem 2.0.25:
<PRE>
  # cd /usr/src
  # gzip -dc z8530drv-2.4a.dl1bke.tar.gz | tar xvpofz -
  # cd z8530drv
  # make clean
  # make dep
  # make module         # je¶li chcesz aby sterownik by³ modu³em
  # make for_kernel     # Je¶li chcesz, aby sterownik by³ wbudowany w j±dro
  # make install
</PRE>

Po zakoñczonej operacji powiniene¶ mieæ trzy programy w katalogu /sbin: gencfg, sccinit i  sccstat. To w³a¶nie one nadaj± siê do tego, aby skonfigurowaæ sterownik dla twojej karty.
<P>Zostanie rownie¿ utworzona specjalna grupa plików w katalogu /dev/ zwanych scc0 .. scc7. Zostan± one pó¼niej u¿yte jako urz±dzenia KISS i w³a¶nie te bêdziesz stosowa³.
<P>Je¶li zdecydujesz sie na polecenie 'make for_kernel', wówczas bêdziesz musia³ przebudowaæ j±dro. Przy budowaniu j±dra po wydaniu polecenia 'make config' zadbaj o to, aby¶ odpowiedzia³ "Y" na pytanie o obs³ugê `Z8530 SCC kiss emulation driver for AX.25'.
<P>Nie potrzebyjesz przebudowywaæ j±dra je¶li wybierzesz polecenie 'make module', wówczas plik scc.o zostanie umieszczony w odpowiednim katalogu /lib/modules. Nie zapomnij o poleceniu 'insmod' przed prób± u¿ycia i konfiguracji starownika.
<P>
<H3>Jak skonfigurowaæ sterownik do twojej karty?</H3>

<P>Sterownik Z8530 SCC zosta³ pomy¶lany, tak aby da³ siê nagi±æ do niemal¿e ka¿dej karty. Lecz z elastyczno¶ci± idzie w parze trud jej konfiguracji.
Bardziej pouczaj±cej lektury dostarcz± pliki samego pakietu i powiniene¶ tam szukaæ informacji. A w szczególno¶ci nale¿y zajrzeæ tutaj: doc/scc_eng.doc or doc/scc_ger.doc. Zparafrazowa³em poni¿ej parê wa¿niejszych detali, lecz w rezultacie pomin±³em szczegó³y ni¿szego rzêdu.
<P>Program sccinit czyta najpierw plik /etc/z8530drv.conf. Plik dzieli siê na dwa etapy: ustawienie parametrów dla sprzêtu i dla kana³u AX.25. Po tym wystarczy tylko daæ polecenie:
<PRE>
       # sccinit
</PRE>
<P>
<H3>Ustawienie parametrów sprzêtu.</H3>

<P>pierwsza sekcja dzieli siê na strofy, ka¿da strofa reprezentuje scalak 8530. Strofy to poprostu lista 's³ów' i 'argumentów'. Mo¿na w tym pliku zdeklarowaæ do 4 scalaków SCC. Je¶li potrzebujesz wiêcej to da siê to zrobiæ w pliku scc.c ustawiaj±c ¿±dan± wartosæ w #idef MAXSCC 4.
<P>Dozwolone 's³owa' i 'argumenty' to:
<P>
<BLOCKQUOTE><CODE>
chip
<BLOCKQUOTE><CODE>
s³owo chip s³u¿y do oddzielania strof. jego argumentem mo¿e byæ wszystko. Argumenty nie s± u¿ywane.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
data_a
<BLOCKQUOTE><CODE>
u¿ywane do zdeklarowania adresu portu "data" dla kana³u 'A'. Argument  w formie hexadecymalnej, tj. 0x300.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
ctrl_a
<BLOCKQUOTE><CODE>
u¿ywany do zdeklarowania adresu portu "control" dla kana³u 'A'. Argument w formie hexadecymalnej, tj. 0x304
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
data_b
<BLOCKQUOTE><CODE>
u¿ywany do zdeklarowania adresu portu "data" dla kana³u 'B'. Argument w formie hexadecymalnej, tj. 0x301.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
ctrl_b
<BLOCKQUOTE><CODE>
u¿ywany do zdeklarowania adresu portu "control" dla kana³u 'B'. Argument w formie hexadecymalnej, tj. 0x305
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
irq
<BLOCKQUOTE><CODE>
u¿ywany do zdeklarowania IRQ u¿ywanego przez 8530 SCC w be¿±cej strofie. Argument w formie liczby ca³kowitej, tj. 5
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
pclock
<BLOCKQUOTE><CODE>
u¿ywany do zdeklarowania czêstotliwo¶ci zegara na igle PCLK w 8530.. Argument w formie liczby ca³kowitej w Hz. Warto¶æ domy¶lna wynosi  4915200.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
board
<BLOCKQUOTE><CODE>
typ p³yty. Argumentem jest napis. A oto dozwolone warto¶ci:
<PRE>
        PA0HZP
           karta PA0HZP SCC

        EAGLE
           karta Eagle

        PC100
           karta DRSI PC100 SCC

        PRIMUS
           karta PRIMUS-PC (DG9BL)

        BAYCOM
           karta BayCom (U)SCC
</PRE>
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
escc
<BLOCKQUOTE><CODE>
jest nie dobowi±zkowe i do³±cza obs³ugê polepszonych scalaków, takich jak:8580, 85180, lub 85280. Argumentem jest tylko 'yes' lub 'no'.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
vector
<BLOCKQUOTE><CODE>
dla kart  PA0HZP jest to warto¶æ tzw. "intack port". Mo¿e byæ tylko jeden dla wszystkich scalaków. Warto¶æ domy¶lna = 0. Nieobowi±zkowy.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
special
<BLOCKQUOTE><CODE>
okre¶la rejestry funkcyjne na niektórych kartach. Nieobowi±zkowy. Warto¶æ domy¶lna = 0.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
option
<BLOCKQUOTE><CODE>
jest nieobowi±zkowy i przyjmuje waro¶æ domy¶ln± 0.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>Oto przyk³adowe konfiguracje dla najbardziej popularnych kart:
<PRE>
     BayCom USCC

          chip    1
          data_a  0x300
          ctrl_a  0x304
          data_b  0x301
          ctrl_b  0x305
          irq     5
          board   BAYCOM
          #
          # SCC chip 2
          #
          chip    2
          data_a  0x302
          ctrl_a  0x306
          data_b  0x303
          ctrl_b  0x307
          board   BAYCOM

     PA0HZP SCC

          chip 1
          data_a 0x153
          data_b 0x151
          ctrl_a 0x152
          ctrl_b 0x150
          irq 9
          pclock 4915200
          board PA0HZP
          vector 0x168
          escc no
          #
          #
          #
          chip 2
          data_a 0x157
          data_b 0x155
          ctrl_a 0x156
          ctrl_b 0x154
          irq 9
          pclock 4915200
          board PA0HZP
          vector 0x168
          escc no

     DRSI SCC

          chip 1
          data_a 0x303
          data_b 0x301
          ctrl_a 0x302
          ctrl_b 0x300
          irq 7
          pclock 4915200
          board DRSI
          escc no
</PRE>

Je¶li twoja karta pracuje pod NOS'em i masz do niej konfiguracjê, to mo¿esz u¿yæ polecenia 'gencfg' do konwersji poleceñ sterownika  PE1CHL NOS. Powstaje wtedy plik przydatny do za³±czenia w pliku konfiguracyjnym dla sterownika z8530.
<P>Polecenia 'gencfg' odpala siê z tymi samymi paramatrami co sterownik PE1CHL pod NET/NOS, np.:
<PRE>
       # gencfg 2 0x150 4 2 0 1 0x168 9 4915200
</PRE>

Powy¿sze wygeneruje szkic konfiguracyjny dla karty OptoSCC.
<P>
<H3>Konfiguracja kana³u.</H3>

<P>Sekcja Konfiguracji Kana³u zajmuje siê zdeklarowniem tych wszystkich parametrów, które rz±dz± portem , na którym chcesz pracowaæ. Znów mamy tutaj strofy. Ka¿da strofa reprezentuje jeden logiczny port, zatem bêdziemy mieli dwie strofy poniewa¿ ka¿da karta 8530 SCC mo¿e mieæ dwa porty.
<P>Poni¿sze 's³owa' i 'argumenty' s± równie¿ zapisywane do pliku /etc/z8530drv.conf i musz± wystêpowaæ za sekcj± o parametrach sprzêtu.
<P>Kolejno¶æ w tej sekcji jest bardzo istotna, lecz je¶li bêdziesz pod±¿a³ za sugerowan± sekwencj± to powinno dzia³aæ wszystko w porz±dku. Dozwolone 's³owa' i 'argumenty to:
<BLOCKQUOTE><CODE>
device
<BLOCKQUOTE><CODE>
musi staæ w pierszym wierszu deklaracji portu i okre¶la nazwê pliku w katalogu /dev/ stanowi±cego podstawê dalszej konfiguracji, tj. /dev/scc0
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
speed
<BLOCKQUOTE><CODE>
okre¶la prêdko¶æ interfejsu w bitach na sekundê. Argumentem jest liczba calkowita, np. 1200.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
clock
<BLOCKQUOTE><CODE>
okre¶la w parametry dla zegara. Dozwolone warto¶ci to:
<PRE>
dpll
   normalny tryb halfduplex

external
   MODEM dostarcza swój w³asny zegar Rx/Tx

divider
   u¿ycie devidera fullduplex, je¶li jest zainstalowany
</PRE>
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
mode
<BLOCKQUOTE><CODE>
okre¶la czy kodowanie danych ma byæ za³aczone. Argumentami s±: nrzi lub nrz
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
rxbuffers
<BLOCKQUOTE><CODE>
okre¶la liczbê buforów odbioru, dla których nale¿y rezerwowaæ pamiêæ. Argumentem jest liczba ca³kowita, np. 8.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
txbuffers
<BLOCKQUOTE><CODE>
okre¶la liczbê buforów nadawania, dla których nale¿y rezerwowaæ pamiêæ. Argumentem jest liczba ca³kowita, np. 8.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
bufsize
<BLOCKQUOTE><CODE>
okre¶la rozmiary buforów odbioru i transmisji. Argumentem jest liczba bytów i stanowi on od sumê wszystkich 'ramek', zatem trzeba wiêc wzi±æ pod uwagê równie¿ nag³ówki protoko³u AX.25 a nie li tylko pole danych. S³owo to jest nieobowi±zkowe i przyjmuje warto¶æ domy¶ln± 384.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
txdelay
<BLOCKQUOTE><CODE>
to warto¶æ opó¿nienia transmisji dla KISS, argumentem jest liczba ca³kowita.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
persist
<BLOCKQUOTE><CODE>
to warto¶æ parametru persist dla KISS, argumentem jest liczba ca³kowita.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
slot
<BLOCKQUOTE><CODE>
to jest warto¶æ slottime dla KISS. argumentem jest liczba ca³kowita w mS.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
tail
<BLOCKQUOTE><CODE>
to jest warto¶æ tail dla KISS. argumentem jest liczba ca³kowita w mS.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
fulldup
<BLOCKQUOTE><CODE>
to jest oznaczenie fullduplex dla KISS, argumentem jest liczba ca³kowita. 1==Full Duplex, 0==HALF DUPLEX.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
wait
<BLOCKQUOTE><CODE>
to jest warto¶æ wait dla KISS, argumentem jest liczba ca³kowita w mS.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
min
<BLOCKQUOTE><CODE>
to jest warto¶æ min dla KISS, argumentem jest liczba ca³kowita w S.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
maxkey 
<BLOCKQUOTE><CODE>
to jest warto¶æ maximum keyup dla KISS, argumentem jest liczba ca³kowita w S.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
idle
<BLOCKQUOTE><CODE>
to jest warto¶æ licznika idle dla KISS, argumentem jest liczba ca³kowita w S.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
maxdef
<BLOCKQUOTE><CODE>
to jest warto¶æ maxdef dla KISS, argumentem jest liczba ca³kowita.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
group
<BLOCKQUOTE><CODE>
to jest warto¶æ group dla KISS, argumentem jest liczba ca³kowita.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
txoff 
<BLOCKQUOTE><CODE>
to jest warto¶æ txoff dla KISS, argumentem jest liczba ca³kowita w mS.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
softdcd
<BLOCKQUOTE><CODE>
to jest warto¶æ softdcd dla KISS, argumentem jest liczba ca³kowita.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
slip
<BLOCKQUOTE><CODE>
to jest oznaczenie slip dla KISS, argumentem jest liczba ca³kowita.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<H3>U¿ywanie sterownika.</H3>

<P>Przy u¿ywaniu sterownika traktujemy urz±dzenia /dev/scc* tak, jak urz±dzenie seryjne tty z doczepionym TNC w trybie KISS. Na przyk³ad, aby skonfigurowaæ j±dro do ob³ugi sieci pod Linuxem przy u¿yciu swojej karty nale¿y u¿yæ polecenia:
<PRE>
       # kissattach -s 4800 /dev/scc0 VK2KTJ
</PRE>

Mo¿na te¿ doczepiæ NOS'a w dok³adnie taki sam sposób. Z JNOS'a, np. wykonaæ móg³by¶ polecenie:
<PRE>
       attach asy scc0 0 ax25 scc0 256 256 4800
</PRE>
<P>
<H3>Narzêdzia 'sccstat' oraz 'sccparam'.</H3>

<P>Pomocnym przy diagnostyce urz±dzenia SCC jest program 'sccstat'. Wy¶wietla on bie¿±c± konfiguracjê. Spróbuj go tak uruchomiæ:
<PRE>
       # sccstat /dev/scc0
</PRE>

wy¶wietli to szerok± gamê informacji zwi±zanych z ustawieniem i ogóln± kondycj± portu /dev/scc0 SCC.
<P>Polecenie 'sccparam' pozwala na zmianê i modyfikowanie parametrów podczas pracy. Sk³adnia przypomina polecenie 'param' z NOS'a, zatem aby ustawiæ txtail urz±dzenia na 100mS, nale¿a³oby napisaæ:
<PRE>
       # sccparam /dev/scc0 txtail 0x8d
</PRE>
<P>
<H3>Jak utworzyæ urz±dzenie BPQ z ethernetem?</H3>

<P>Linux jest kompatybilny z BPQ Ethernet. Umo¿liwia to na przepust protoko³u AX.25 po Lokalnej Sieci ethernetowej i doczepienie swojej maszyny do innej obs³uguj±cej BPQ na Lokalnej Sieci.
<P>Interfejsy sieciowe typu BPQ nosz± nazwê 'bpq[0-9]'. Interfejs 'bpq0' powi±zane jest z interfejsem 'eth0', a 'bpq1' z interfejsem 'eth1', itd.
<P>Konfiguracja jest trywialna. Najpierw trzeba ustawiæ standardowe urz±dzenie Ethernet. To oznacza, ¿e po wkompilowaniu obs³ugi karty Ethernet do j±dra nale¿y zobaczyæ czy pracuje poprawnie. Zajrzyj do Ethernet-HOWTO jak tego dokonaæ.
<P>Aby ustawiæ obs³ugê BPQ potrzebujesz przypisaæ interfejsowi Ethernet znak/identyfikator AX.25. Oto polecenie, które to spowoduje:
<PRE>
       # /sbin/ifconfig bpq0 hw ax25 vk2ktj-14 up
</PRE>

I znów, nie zapomnij, ¿e znak/identyfikator, który tutaj podajesz musi zgadzaæ siê z wpisem w pliku  /etc/ax25/axports dla portu, którego chcesz u¿ywaæ.
<P>
<H3>Ustawienie wêz³a BPQ do wspó³pracy z obs³ug± AX.25 pod Linuxem.</H3>

<P>W normalnych warunkach BPQ Ethernet stosuje adres multicast. Pod Linuxem tak nie jest, zamiast tego stosowany jest zwyczajny Ethernetowy adres broadcast. Nale¿y zatem zmodyfikowaæ plik NET.CFG dla sterownika BPQ ODI w nasêpuj±cy sposób:
<PRE>
       LINK SUPPORT

               MAX STACKS 1
               MAX BOARDS 1

       LINK DRIVER E2000                    ; lub inne MLID wed³ug w³asnej karty

               INT 10                       ;
               PORT 300                     ; wed³ug w³asnej karty

               FRAME ETHERNET_II

               PROTOCOL BPQ 8FF ETHERNET_II ; wymagane dla BPQ - zmieniæ PID

       BPQPARAMS                            ; nieobowi±zkowe - tylko wtedy,
                                            ; gdy znieniasz docelowy adres

               ETH_ADDR  FF:FF:FF:FF:FF:FF  ; docelowy adres
</PRE>
<P>
<H2>7.3 Ustawienie parametrów operacyjnych dla interfejsu AX.25</H2>

<P>Pakiet ax25-utils zawiera w sobie program narzêdziowy 'axctl', który pozwala na ustawienie ró¿norodnych parametrów interfejsu AX.25.
<P>Polecenie to jest zupe³nie proste w u¿yciu a podrêcznik systemowy 'man' dostarcza kompletnego opisu, przyk³adowym jednak sposobem u¿ycia tego programu mo¿e byæ:
<PRE>
       # /usr/sbin/axctl radio -window 2 -t1 5 -n2 10
</PRE>

Powy¿sze polecenie ustawi³oby warto¶ci takie jak Window, T1 oraz N2 dla portu AX.25 nazwanego tu 'radio'.
<P>
<H2>7.4 Ustawieniu routingu AX.25.</H2>

<P>Je¶li jest potrzeba mo¿na ustawiæ domy¶lne ¶cie¿ki do digipeaterów dla konkretnych wêz³ow. Przydaje siê to przy zarówno czystych ³±czach AX.25 jak i opartych o IP. Robimy to poleceniem 'axparms'. Znowu, podrêcznik systemowy 'man' podaje wszystkie szczegó³y, lecz prosty przyk³ad mo¿e byæ taki:
<PRE>
       # /usr/sbin/axparms -route add radio VK2XLZ VK2SUT
</PRE>

Polecenie to utworzy³oby ¶cie¿kê digipeatera dla stacji VK2XLZ przez stacjê VK2SUT na porcie AX.25 nosz±cego nazwê 'radio'.
<P>
<H2><A NAME="s8">8. Ustawianie interfejsu AX.25 do pracy w TCP/IP.</A></H2>

<P>Ustawienie portu AX.25 do pracy w TCP/IP jest bardzo proste. Je¶li posiadasz interfejs KISS to masz dwie metody do ustawienia adresu IP. Polecenie 'kissattach' posiada opcjê, która pozwala na okre¶lenie adresu IP. Metoda konwencjonalna przy u¿yciu polecenia 'ifconifg' zadzia³a na wszystkich typach interfejsów.
<P>A zatem, zmieniaj±c poprzedni przyk³ad dla KISS:
<PRE>

       # /usr/sbin/kissattach -i 44.136.8.5 -m 512 /dev/ttyS0 radio
       # /sbin/route add -net 44.136.8.0 netmask 255.255.255.0 ax0
       # /sbin/route add default ax0
</PRE>

utworzy to interfejs AX.25 z adresem IP 44.136.8.5 oraz MTU 512 bytów. Je¶li zachodzi potrzeba to nale¿y inne parametry ustawiæ tez poleceniem 'ifconfig' raz jeszcze.
<P>Je¶li posiadasz jakikolwiek inny typ interfejsu to stosujesz polecenie 'ifconfig' do ustawienia adresu ip i netmask dla danego portu i dodajesz routing przez ów port, tak jak zrobi³by¶ to dla ka¿dego jednego interfejsu TCP/IP. Poni¿szy przyk³ad jest dla interfejsu Karty PI, ale zadzia³a równie dobrze dla ka¿dego interfejsu sieciowego AX.25:
<PRE>
       # /sbin/ifconfig pi0a 44.136.8.5 netmask 255.255.255.0 up
       # /sbin/ifconfig pi0a broadcast 44.136.8.255 mtu 512
       # /sbin/route add -net 44.136.8.0 netmask 255.255.255.0 pi0a
       # /sbin/route add default pi0a
</PRE>

Polecenia powy¿sze powinny byæ znane dla tych, którzy u¿ywali NOS lub jego pochodne lub jakiekolwiek inne oprogramowanie TCP/IP. Zauwa¿, ¿e je¶li masz ju¿ ustawione jaki¶ interfejs sieciowy to routing domy¶lny nie jest ci potrzebny.
<P>Aby to wypróbowaæ zpróbuj 'zapingowaæ' lub zrób telnet do lokalnego wêz³a:
<PRE>
  # ping -i 5 44.136.8.58
</PRE>

Zauwa¿ zastosowanie '-i 5', które sprawia, ¿e pingowanie odbywa siê co 5 sekund, a nie jak pierwotnie co 1 sekundê.
<P>
<H2><A NAME="s9">9. Ustawienie portu dla NetRom.</A></H2>

<P>Protokó³ Netrom wykorzystuje i zale¿y od portów AX.25, które utworzy³e¶ uprzednio. Protokó³ NetRom biega po plecach protoko³u AX.25. Nale¿y zrobiæ edycjê dwóch plików, aby ustawiæ sobie NetRom na interfejsie AX.25. Jeden plik okre¶la interfejsy NetRomu, a drugi porty AX.25, po których NetRom bêdzie biega³.
<P>
<H2>9.1 Edycja pliku /etc/ax25/nrports</H2>

<P>Na pocz±tek plik /etc/ax25/nrports. Plik ten okre¶la porty NetRomu podobnie jak plik /etc/ax25/axports okre¶la porty AX.25. Ka¿de urz±dzenie NetRom musi zawieraæ swój wpis w pliku /etc/ax25/nrports. Normalnie, na Linuxie spotykamy tylko jedno urz±dzenie Netrom, które u¿ywa wielu zdeklarowanych portów AX.25. W niektórych tylko wypadkach, jak np. z BBS'em, mo¿na utworzyæ dodatkowy pseudonim dla wêz³a NetRom, wówczas bêdzie wiêcej ni¿ jeden.
<P>Plik ten ma tak± formê:
<PRE>
       name callsign  alias  paclen   description
</PRE>

Gdzie:
<BLOCKQUOTE><CODE>
name
<BLOCKQUOTE><CODE>
to tekst, wed³ug którego chcesz odwo³ywaæ sie do tego portu.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
callsign
<BLOCKQUOTE><CODE>
to jest znak/identyfikator, na którym pracowaæ bêdzie protokó³ NetRom. Uwaga: nie jest to znak, do którego u¿ytkownicy bêd± siê ³±czyæ, aby wej¶æ do twojego wêz³a. (program 'node' opisany jest dalej). Znak ten powinien byæ unikalny i nie powinien powtarzaæ siê  nigdzie w pliku /etc/ax25/axports lub /etc/ax25/nrports.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
alias
<BLOCKQUOTE><CODE>
to jest przypisany pseudonim dla portu NetRom
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
paclen
<BLOCKQUOTE><CODE>
to jest maksymalny rozmiar ramek NetRom transmitowanych przez ten port
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
description
<BLOCKQUOTE><CODE>
dowolna nazwa dla tego portu
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>Oto jak mo¿e to wygl±daæ:
<PRE>
       netrom  VK2KTJ-9        LINUX   236     Linux Switch Port
</PRE>

Plik ten u¿ywany jest m. in. przez program <I>call</I>.
<P>
<H2>9.2 Ustawienie pliku /etc/ax25/nrbroadcast</H2>

<P>Nastêpny plik to /etc/ax25/nrbroadcast. Zawiera on parê wpisów. Normalnie potrzebny jest jeden apis dla ka¿dego portu AX.25 po którym puszczany bêdzie protokó³ NetRom.
<P>Plik przyjmuje taki format:
<PRE>
       axport min_obs def_qual worst_qual verbose
</PRE>

Gdzie:
<P>
<BLOCKQUOTE><CODE>
axport
<BLOCKQUOTE><CODE>
to nazwa portu uzyskana z pliku /etc/ax25/axports. Je¶li w pliku /etc/ax25/axports nie ma wpisu dla danego portu oznacza to, ¿e zabraknie routingu dla NetRom na tym porcie oraz, ¿e broadcasts bêd± ignorowane.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
min_obs
<BLOCKQUOTE><CODE>
jest to warto¶æ dla min obscelecence dla tego portu
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
def_qual
<BLOCKQUOTE><CODE>
okre¶la warto¶æ default quality dla NetRomu na tym porcie
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
worst_qual
<BLOCKQUOTE><CODE>
okre¶la warto¶æ 'worst quality' dla NetRomu na tym porcie, wszystki routingi o tej warto¶ci bêd± ignorowane
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
verbose
<BLOCKQUOTE><CODE>
to jest oznakowanie czy z tego portu wychodziæ bêdzie NetRom broadcast w pe³nej formie czy te¿ jednynie broadcast o tym wê¿le.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>Oto przyk³ad:
<PRE>
       radio    1       200      100         1
</PRE>
<P>
<H2>9.3 Jak utworzyæ interfejs sieciowy dla NetRom.</H2>

<P>Po ustawieniu powy¿szych dwóch plików nale¿y teraz utworzyæ urz±dzenie NetRom w bardzo podobny sposób do tego, w jaki czynili¶my do dla urz±dzeñ AX.25. Tym razem stosujemy polecenie 'nrattach'. Dzia³a ono tak samo jak 'axattach' z t± ró¿nic±, ¿e powoduje doczepienie sieciowych interfejsów zwanych 'nr[0-9]'. I znów, przy pierwszym u¿yciu utworzon zostaje interfejs 'nr0', przy nastêpnym u¿yciu, 'nr1' itd. Zatem, aby doczepiæ sieciowy interfejs do portu NetRom, który zdefiniowali¶my uprzednio, wydaliby¶my polecenie:
<PRE>
       # nrattach netrom
</PRE>

Polecenie to wygenerowa³o by pojawienie siê interfejsu (nr0), z parametrami wed³ug szczegó³ów okre¶lonych w pliku /etc/ax25/nrports dla portu 'netrom'.
<P>
<H2>9.4 Odpalenie demona NetRom.</H2>

<P>J±dro Linuxa obs³uguje wszystkie mechanizmy protoko³u NetRom, nie potrafi tylko wykonaæ niektórych funkcji. Demon NetRomu bierze na siebie tablice routingowe i broadcasty NetRomu. Uruchamiamy go poleceniem:
<PRE>
       # /usr/sbin/netromd -i
</PRE>

Po pewnej chwili powiniene¶ zobaczyæ jak plik  /proc/net/nr_neigh wype³nia siê powoli informacjami o s±siednich stacjach NetRom.
<P>Nie zapomnij umie¶ciæ polecenia /usr/sbin/netromd w jednym z plików *rc, aby zosta³o odpalone przy ³adowaniu systemu operacyjnego.
<P>
<H2>9.5 ustawienie routingu dla NetRom</H2>

<P>Mo¿liwe jest ustawienie statycznych ¶cie¿ek NetRom do poszczególnych wêz³ów. Pozwala na to polecenie 'nrparms'. podrêcznik systemowy 'man' podaje kompletny opis, a tutaj mamy prosty przk³ad:
<PRE>
       # /usr/sbin/nrparms -nodes VK2XLZ-10 + #MINTO 120 5 radio VK2SUT-9
</PRE>

Polecenie to utworzy³oby ¶cie¿kê statyczn± #MINTO:VK2XLZ-10 poprzez s±siada  VK2SUT-9 na porcie AX.25 o nazwie 'radio'.
<P>Mo¿na te¿ rêcznie dokonaæ wpisu dla s±siednich stacji przy u¿yciu polecenia nrparms, Przyklad:
<PRE>
       # /usr/sbin/nrparms -routes radio VK2SUT-9 + 120
</PRE>

polecenie to wpisa³oby  VK2SUT-9 jako s±siada z warto¶ci± 'quality' 120, wpis nie zostanie usuniêty automatycznie lecz jest sta³y.
<P>
<H2><A NAME="s10">10. Ustawienie interfejsu NetRom dla pracy w TCP/IP.</A></H2>

<P>
<P>Ustawianie interfejsu NetRom dla pracy w TCP/IP przypomina zupe³nie konfigurowanie interfejsu AX.25 dla pracy w TCP/IP. Tutaj te¿, mo¿na albo okre¶liæ adres IP i warto¶æ MTU w wierszu poleceñ dla 'nrattach', albo zastosowaæ polecenie 'ifconfig' i 'route'. Nale¿y jednak rêcznie wprowadziæ wpisy ARP dla wêz³ów, do których chcesz mieæ routing poniewa¿ brakuje mechanizmu, dziêki któremu twój komputer móg³by dowiedzieæ siê o adresach NetRom, które powinien u¿yæ aby dotrzeæ do poszczególnego wêz³a IP.
<P>Zatem, doczepimy teraz interfejs nr0 z adresem IP 44.136.8.5 i MTU 512 oraz ustawimy go wed³ug szczegó³ów zawartych w pliku  /etc/ax25/nrports na porcie NetRom o nazwie "netrom":
<PRE>
       # /usr/sbin/nrattach -i 44.136.8.5 -m 512 netrom
       # route add 44.136.8.5 nr0
</PRE>

lub mo¿na zrobiæ to tak, ale rêcznie:
<PRE>
       # /usr/sbin/nrattach netrom
       # ifconfig nr0 44.136.8.5 netmask 255.255.255.0 hw netrom VK2KTJ-9
       # route add 44.136.8.5 nr0
</PRE>

Nastêpnie, dla ka¿dego wêz³a IP, który chesz aby by³ osi±galny, potrzeba dopisaæ recznie warto¶ci dla ARP i route. Dopiszmy zatem wêze³ docelowy z adresem IP 44.136.80.4 o adresie NetRom BBS:VK3BBS osi±galnego przez s±siada  VK2SUT-0:
<PRE>
       # route add 44.136.80.4 nr0
       # arp -t netrom -s 44.136.80.4 vk2sut-0
       # nrparms -nodes vk3bbs + BBS 120 6 sl0 vk2sut-0
</PRE>

Argumenty '120' i '6' podane dla 'nrparms' to 'quality' i 'absolecence' dla NetRomu, który u¿ywa ich dla tej ¶cie¿ki.
<P>
<H2><A NAME="s11">11. Ustawienie portu Rose</A></H2>

<P>Sieciowa warstwa packet protoko³u Rose przypomina trzeci± warstwê specyfikacji protoko³u X.25. Obs³uga Rose w j±drze Linuxa jest odmian± implementacji Rose przyjêtej przez FPAC. 
<A HREF="http://fpac.lmi.ecp.fr/f1oat/f1oat.html">http://fpac.lmi.ecp.fr/f1oat/f1oat.html</A><P>Sieciowa warstwa packet protoko³u Rose u¿ywa i polega na portach AX.25, które uprzednio utworzy³e¶. Protokó³ Rose biega po plecach protoko³u AX.25. Aby ustawiæ Rose potrzeba dopisaæ plik konfiguracyjny dla portów  Rose.
<P>
<H2>11.1 Ustawienie pliku /etc/ax25/rsports.</H2>

<P>Plikiem, gdzie dopisujemy interfejsy dla Rose jest  /etc/ax25/rsports. Okre¶la on porty Rose w podobny sposób jak plik  /etc/ax25/axports robi to dla portów AX.25. Oto jego format:
<P>
<PRE>
       name  addresss  description
</PRE>

Gdzie:
<BLOCKQUOTE><CODE>
name
<BLOCKQUOTE><CODE>
jest tekstem, wed³ug którego chcesz odwo³ywaæ siê do tego portu.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
address
<BLOCKQUOTE><CODE>
jest 10-cio cyfrowym adresem Rose, który przypisujesz temu portowi.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
description
<BLOCKQUOTE><CODE>
jest dowolnym tekstem opisuj±cym port.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>Oto jak mo¿na to wpisaæ:
<PRE>
      rose  5050294760  Rose Port
</PRE>

Zauwa¿, ¿e Rose u¿ywaæ bêdzie domy¶lnie znaku/identyfikatora  podanego dla  portu AX.25 , chyba ¿e specjalnie podasz inny.
Aby podaæ osobny znak/identyfikator dla Rose, który u¿ywany bêdzie na ka¿dym u¿ywanym porcie, trzeba wydaæ polecenie 'rsparms' w taki sposób:
<PRE>
       # /usr/sbin/rsprams -call VK2KTJ-10
</PRE>

Przyk³ad ten spowodowa³by, ¿e Linux s³ucha³by na znaku/identyfikatorze VK2TKJ-10 i u¿ywa³by tego¿ znaku na wszystkich portach AX.25 ustawionych dla ³±czno¶ci drog± Rose.
<P>
<H2>11.2 Jak doczepiæ sieciowy interfejs Rose?</H2>

<P>Po utworzeniu pliku  /etc/ax25/rsports mo¿na doczepiæ urz±dzenie Rose w taki sam spoób jak urz±dzeia AX.25. Tym razem u¿ywa siê polecenia 'rsattach'. Polecenie 'rsattach' doczepia sieciowe interfejse zwane 'rose[0-5]'. Przy pierwszym poleceniu rsattach powstaje interfejs 'rose0', przy drugim, 'rose1', itd. Przyk³ad:
<PRE>
       # rsattach rose
</PRE>

Polecenie to wygeneruje interfejs Rose (rose0) ustawiony wed³ug szczegó³ów podanych w pliku /etc/ax25/rsports dla wpisu nazwanego 'rose'.
<P>
<H2>11.3 Ustawienie routingu dla Rose.</H2>

<P>Obecnie, protokó³ Rose obs³uguje jedynie ¶cie¿ki statyczne. Program 'rsparms' pozwala na zapisanie tablic routingowych dla Rose pod Linuxem.
<P>Na przyk³ad:
<PRE>
      # rsparms -nodes add 5050295502 radio vk2xlz
</PRE>

Powy¿sze doda³oby ¶cie¿kê do wêz³a Rose 5050295502 na porcie AX.25 'radio' znajduj±cego w pliku /etc/ax25/axports przez stacjê s±siedni± o znaku  VK2XLZ.
<P>Mo¿liwe jest ustawienie ¶cie¿ki, która uchwyci wiele docelowych stacji Rose w formacie jednego wpisu. Sk³adnia wygl±da nastêpuj±co:
<PRE>
       # rsparms -nodes add 5050295502/4 radio vk2xlz
</PRE>

co jest jednoznaczne w wy¿ej podanym przyk³adem z t± ró¿nic±, ¿e uchwycone zostaj± tutaj wszystkie stacje docelowe rozpoczynaj±ce siê od 4 cyfr pocz±tkowych, w tym wypadku 5050. Jeszcze inaczej mo¿na zapisaæ to tak:
<PRE>
       # rsparms -nodes add 5050/4 radio vk2xlz
</PRE>

co jest chyba mniej dwuznaczne.
<P>
<H2><A NAME="s12">12. £±czno¶ci AX.25/NetRom/Rose.</A></H2>

<P>Po zaktywizowaniu i ustawieniu wszystkich interfejsów AX.25, NetRom i Rose mo¿na w koñcu popróbowaæ ³aczno¶ci.
<P>Pakiet programów narzêdziowych AX.25 zawiera program zwany 'call', który jest programem terminala z roz³±cznym ekranem dla AX.25, NetRom i Rose.
<P>Prosta ³±czno¶æ wygl±da tak:
<PRE>
       /usr/bin/call radio VK2DAY via VK2SUT
</PRE>

£±czno¶æ z wêz³em NetRom o pseudonimie SUNBBS wygl±da tak:
<PRE>
       /usr/bin/call netrom SUNBBS
</PRE>

£±czno¶æ przez Rose do stacji HEARD o wê¼le 5050882960, w ten sposób:
<PRE>
       /usr/bin/call rose HEARD 5050882960
</PRE>

Uwaga: 'call' musi wiedzieæ na jakim porcie odbywa siê ³±czno¶æ poniewa¿ te same stacje mog± byæ przecie¿ osi±galne przez jakikolwiek port uprzednio skonfigurowany.
<P>'call' pracuje w trybie liniowym w ³±czno¶ciach przez AX.25. Traktuje on wiersze rozpoczynaj±ce siê od '~' jako polecenia. Polecenie '~.' zamyka ³±czno¶æ.
<P>Wiêcej informacji mo¿na znale¼æ w podrêczniku systemowym 'man'.
<P>
<H2><A NAME="s13">13. Ustawienie Linuxa do przyjmowania ³±czno¶ci.</A></H2>

<P>Linux jako system operacyjny posiada ogromne mo¿liwo¶ci i nagina siê do wielu sytuacji, gdy trzeba go konfigurowaæ. Z elastyczno¶ci± przychodzi te¿ trud ustawiena go tak, ¿eby robi³ to czego chcemy. Trzeba zadaæ sobie wiele pytañ przed rozpoczêciem ustawienia Linuxa do przyjmowania ³±czno¶ci z zewn±trz przez Rose, AX.25 i NetRom. Najwa¿niejszym z nich jest:"Co chcê, aby u¿ytkownicy zobaczyli podczas ³±czno¶ci?". Ludzie pisz± rozmaite ciekawe programy, które mog± s³u¿yæ u¿ytkownikom, na przyk³ad 'pms' zawarty w ax25-utils, lub 'node', bardziej rozbudowany' te¿ dostêpny w ax25-utils. Mo¿na te¿ daæ u¿ytkownikom szansê zalogowania sie i u¿ycia pow³oki systemowej lub napisaæ w³asny program, jak±¶ grê lub bazê danych i pozwoliæ u¿ytkownikom zrobiæ do niej ³±czno¶æ. Cokolwiek postanowisz musisz okre¶liæ to oprogramowaniu AX.25, aby wiedzia³o co odpaliæ podczas wchodz±cych ³±czno¶ci.
<P>Program 'ax25d' przypomina 'inetd' stosowany powszechnie do przyjmowania wchodz±cych ³±czno¶ci TCP/IP na unixach. Czuwa on i nas³uchuje na wchodz±ce ³±czno¶ci. Je¶li j± wykryje to sprawdza swój plik systemowy, aby zdecydowaæ jakim programem us³u¿yæ tej konkretnej ³±czno¶ci. Wyt³umaczymy zatem jak ustawiæ ten plik, który jest standardowy, narzêdziem do przyjmowania wchodz±cych ³±czno¶ci.
<P>
<H2>13.1 Edycja pliku  /etc/ax25/ax25d.conf.</H2>

<P>Plik ten ustawia demona 'ax25d' protoko³u AX.25, który to demon zajmuje siê wchodz±cymi ³±czno¶ciami AX.25, NetRom i Rose.
<P>Na perwszy rzut oka jest troche powik³ane ale po chwili przekonasz siê, ¿e "nie taki diabe³ czarny, jak go maluj±". Trzeba byæ tylko ¶wiadomy paru ma³ych pu³apek.
<P>Ogólny format pliku  ax25d.conf jest taki:
<PRE>
 # This is a comment and is ignored by the ax25d program.
  [port_name] || &lt;port_name> || {port_name}
  &lt;peer1>    window T1 T2 T3 idle N2 &lt;mode> &lt;uid> &lt;cmd> &lt;cmd-name> &lt;arguments>
  &lt;peer2>    window T1 T2 T3 idle N2 &lt;mode> &lt;uid> &lt;cmd> &lt;cmd-name> &lt;arguments>
  parameters window T1 T2 T3 idle N2 &lt;mode>
  &lt;peer3>    window T1 T2 T3 idle N2 &lt;mode> &lt;uid> &lt;cmd> &lt;cmd-name> &lt;arguments>
  default    window T1 T2 T3 idle N2 &lt;mode> &lt;uid> &lt;cmd> &lt;cmd-name> &lt;arguments>
</PRE>

Gdzie:
<BLOCKQUOTE><CODE>
#
<BLOCKQUOTE><CODE>
staj±c na pocz±tku wiersza oznacza komentarz i jest ca³kowicie pomijane przez program 'ax25d'.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
&lt;port name&gt;
<BLOCKQUOTE><CODE>
nazwa portu AX.25, NetRom lub Rose koresponduj±ca kolejno do plików /etc/ax25/axports, /etc/ax25/nrports and /etc/ax25/rsports. Nazwa portu objêta jest nawiasem '[]' dla portu AX.25, '&lt;&gt;' dla NetRom, '{}' dla Rose. Mo¿na te¿ inaczej zapisaæ to pole stosuj±c 'znak/identyfikator via'  przed nazw± portu, pokazuj±c w ten sposób, ¿e bêdzie mo¿na ³±czyæ siê do tego interfejsu przez podany tutaj znak. Podamy dalej przyk³ad, który to zilustruje.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
&lt;peer&gt;
<BLOCKQUOTE><CODE>
znak/identyfikator wêz³a wchodz±cego, dla którego te ustawienia bêd± obowi±zywaæ. Je¶li nie podasz tutaj numerycznego identyfikatora to ka¿dy bêdzie pasowa³.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
window
<BLOCKQUOTE><CODE>
parametr Window dla AX.25 (K) lub MAXFRAME dla tego ustawienia
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
T1
<BLOCKQUOTE><CODE>
licznik retransmisji Ramki (T1) w jednoskach pó³sekundowych
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<P>
<BLOCKQUOTE><CODE>
T2
<BLOCKQUOTE><CODE>
czas wyczekiwania oprogramowania AX.25 na nastêpn± ramkê przed przygotowaniem odpowiedzi, w jednostkach jednosekundowych.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
T3
<BLOCKQUOTE><CODE>
czas wyczekiwania zanim oprogramowanie AX.25 zamknie bezczynn± ³±czno¶æ, mierzone w jednostkach 1 sekundy.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
idle
<BLOCKQUOTE><CODE>
warto¶æ licznika braku akrywno¶ci w sekundach
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
N2
<BLOCKQUOTE><CODE>
liczba kolejnych retransmisji, które nast±pi± zanim ³±cze zostanie zamkniête.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
&lt;mode&gt;
<BLOCKQUOTE><CODE>
dostarcza mechanizmu pozwalaj±cego na okre¶lenie pewnego typu zezwoleñ. Podaj±c rozmaite literki, ka¿da reprezentuje jakie¶ zezwolenie, mo¿na manipulowaæ t± funkcj±. Literki musz± byæ albo ma³e albo du¿e i musz± byæ w jednym ci±gu bez spacji. Oto do one:
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>

<PRE>

        u/U
           UTMP                   - nie u¿ywane

        v/V
           Validate call          - nie u¿ywane

        q/Q
           Quiet                  - nie prowadzi log-u dla ³±czno¶ci

        n/N
           check NetRom Neighbour - nie u¿ywane

        d/D
           Disallow Digipeaters   - ³±czno¶æ musi byæ bezpo¶rednia, bez digi
           

        l/L
           Lockout                - odrzuca ³±czno¶æ

        */0
           marker                 - ustawia znaczek, nie zmienia zezwoleñ

     &lt;uid>
        'userid' w Linuxie dla programu, który bêdzie obs³ugiwa³ wchodz±c± ³±czn¶¶æ
       
     &lt;cmd>
        pe³na ¶cie¿ka dostêpu programu, bez ¿adnych argumentów

     &lt;cmd-name>
        tekst, który wyst±pi dla tego programu po wydaniu polecenia systemowego 
        'ps' (Najczêsciej nazwa w³asna programu bez ¶cie¿ki dostêpu).

     &lt;arguments>
        s± to argumenty podawane w wierszu poleceñ dla &lt;cmd&gt;. Argumenty
        te przybieraj± rozmaite znaczenie w zale¿no¶ci od poni¿szych ustawieñ:

        %d Nazwa portu, na którym przyjêto ³±czno¶æ.

        %U znak/identyfikator AX.25 do³±czonej stacji bez numerka SSID, du¿ymi
           literami.

        %u znak/identyfikator AX.25 do³±czonej stacji bez numerka SSID, ma³ymi
           literami.

        %S znak/identyfikator AX.25 do³±czonej stacji z numerkiem SSID, du¿ymi
           literami.

        %s znak/identyfikator AX.25 do³±czonej stacji z numerkiem SSID, ma³ymi
           literami.

        %P znak/identyfikator wêz³a, od którego dokonuje siê
           ³±czno¶æ, bez numerka SSID, du¿ymi literami

        %p znak/identyfikator wêz³a, od którego dokonuje siê
           ³±czno¶æ, bez numerka SSID, ma³ymi literami

        %R znak/identyfikator wêz³a, od którego dokonuje siê
           ³±czno¶æ, z numerkiem SSID, du¿ymi literami

        %r znak/identyfikator wêz³a, od którego dokonuje siê
           ³±czno¶æ, z numerkiem SSID, ma³ymi literami
</PRE>

Potrzebna jest jedna sekcja wed³ug powy¿szego formatu dla ka¿dego interfejsu AX.25, NetRom i Rose, na którym przyjmowane maj± byæ wchodz±ce ³±czno¶ci typu AX.25, NetRom i Rose.
<P>W paragrafie tym s± jeszcze dwa specjalne wiersze, jeden rozpoczyna siê od s³owa 'parameters' a drugi od 'default' (tak, tak, ró¿ni± siê). Wiersze te s³u¿± do specjalnych ce³ów.
<P>Wiersz 'default' s³u¿y jako siatka-na-wszystko. Wchodz±ce ³±czno¶ci, które nie maj± w³asnych zezwoleñ na danym interfejsie &lt;interface_call&gt; dostan± warto¶ci domy¶lne podane w 'default'. Je¶li wpisu 'default' nie ma w ogóle to wszystkie wchodz±ce ³±czno¶ci nie posiadaj±ce w³asnych zezwoleñ bêd± natychmiast odrzucone bez ostrze¿enia.
<P>Wiersz 'parameters' jest trochê bardziej subtelny i to tutaj jest ta pu³apka, o której wspomina³em u pocz±tku. Jakiekolwiek pole, którejkolwiek deklaracji dla wêz³a wchodz±cego mo¿na wype³niæ znaczekiem '*' by uzyskaæ 'warto¶æ domy¶ln±'. Wiersz 'parameters' jest wierszem, który deklaruje wspomniane 'warto¶ci domy¶lne'. Oprogramowanie j±dra z kolei posiada swoje w³asne warto¶ci domy¶lne, których u¿yje je¶li nic nie okre¶lisz w wierszu 'parameters'. Pu³apka polega na tym, ¿e warto¶ciustawione wierszem 'parameters' dzia³aj± tylko w dól, a nie w górê. Mo¿na mieæ wiêcej ni¿ tylko jeden wpis 'parameters' dla poszczególnych interfejsów grupuj±c sobie warto¶ci domy¶lne.
<P>
<P>
<H2>13.2 Prosty przyk³ad pliku  ax25d.conf file.</H2>

<P>No dobrze, teraz ilustracja:
<PRE>
       # ax25d.conf for VK2KTJ - 02/03/97
       # This configuration uses the AX.25 port defined earlier.

       # &lt;peer> Win T1  T2  T3  idl N2 &lt;mode> &lt;uid> &lt;exec> &lt;argv[0]>[&lt;args....>]

       [VK2KTJ-0 via radio]
       parameters 1    10  *  *  *   *   *    root  /usr/sbin/axspawn axspawn %u +
       VK2XLZ     *     *  *  *  *   *   *
       VK2DAY     *     *  *  *  *   *   *
       NOCALL     *     *  *  *  *   *   L
       default    1    10  5 100 180 5   *    root  /usr/sbin/pms pms -a -o vk2ktj

       [VK2KTJ-1 via radio]
       default    *     *    *   *   *   0    root /usr/sbin/node node

       &lt;netrom>
       parameters 1    10  *  *  *   *   *
       NOCALL     *     *  *  *  *   *   L
       default    *     *  *  *  *   *   0        root /usr/sbin/node node

       {VK2KTJ-0 via rose}
       parameters 1    10  *  *  *   *   *    root  /usr/sbin/axspawn axspawn %u +
       VK2XLZ     *     *  *  *  *   *   *
       VK2DAY     *     *  *  *  *   *   *
       NOCALL     *     *  *  *  *   *   L
       default    1    10  5 100 180 5   *    root  /usr/sbin/pms pms -a -o vk2ktj

       {VK2KTJ-1 via rose}
       default    *     *    *   *   *   0    root /usr/sbin/node node radio
</PRE>

Powy¿ej ukazane jest, ¿e ktokolwiek usi³uj±cy ³±czno¶ci do znaku `VK2KTJ-0' na porcie AX.25 o nazwie 'radio' otrzyma takie zezwolenia:
<P>Je¶li kto¶ ma ustawione 'NOCALL' zostanie odrzucony, patrz u¿ycie literki 'L'.
<P>Wiersz 'parameters' zmienia  dwie warto¶ci spo¶ród domy¶lnych warto¶ci j±dra (Windows i T1) oraz wyznacza program  /usr/sbin/axspawn program, aby by³ odpalony. Ktorakolwiek instancja programu 'axspawn' uruchomiona w ten sposób bêdzie widoczna po wydaniu polecenia 'ps' w Linuxie jako axspawn. Dwa nastêpne wiersze dostarczaj± definicji dla dwóch stacji, do których powy¿sze regu³y zostan± zastosowane.
<P>Ostatni wiersz w paragrafie jest definicj± typu siatka-na-wszystko i zostanie zastosowana do wszystkich innych stacji (³±cznie z VK2XLZ  i VK2DAY je¶li mieæ bêd± inne numerki SSID ni¿ -1). Definicja ta ustawia wprost wszystkie warto¶ci, dodatkowo odpala wchodz±cym ³±czno¶ciom typu AX.25 program 'pms' informuj±c go, ¿e ³±czno¶æ jest typu AX.25 i ¿e w³a¶cicielem jest znak VK2KTJ. (Patrz 'Ustawianie PMS'a' poni¿ej).
<P>Nastêpna konfiguracja przyjmuje ³±czno¶ci do znaku VK2KTJ-1 przez port 'radio'. Odpala ona program 'node' dla wszystkich, którzy siê do niego ³±cz±.
<P>Kolejna konfiguracja obs³uguje NetRom. Zauwa¿ zastosowanie nawiasów znaku-wiêkszo¶ci i znaku-mniejszo¶ci zamiast nawiasów kwadratowych. One w³a¶nie deklaruj± wej¶cie do NetRom. Ustawienie jest prostsze i mówi tylko tyle, ¿e ktokolwiek wchodzi do stacji przez NetRom na porcie zwanym 'netrom' otrzyma program 'node', chyba ¿e ma znak 'NOCALL' i wtedy zostanie odrzucony.
<P>Dwie ostanie konfiguracje przeznaczone s± dla wchodz±cych ³±czno¶ci Rose. Pierwsza dla ludzi, którzy poprzez adres naszego wêz³a Rose wo³aj± znak 'vk2ktj-0' a druga dal tych, co wo³aj± znak 'VK2KTJ-1'. Dzia³aj± one w dok³adnie ten sam sposób. Zauwa¿ zastosowane nawiasy, które odró¿niaj± port Rose.
<P>Powy¿szy przyk³ad jest zmy¶lony ale my¶lê, ¿e jasno ilustruje wa¿ne cechy sk³adni pliku konfiguracyjnego. Pe³ny opis pliku znajdziesz w podrêczniku systemowym 'man' dla ax25d.conf. Za³±czono bardziej szczegó³owy przyk³ad w pakiecie ax25-utils, który te¿ siê mo¿e przydaæ.
<P>
<H2>13.3 Uruchamianie demona ax25d.</H2>

<P>Po edycji wspomnianych dwóch plików mo¿na odpaliæ program ax25d poleceniem:
<PRE>
       # /usr/sbin/ax25d
</PRE>
<P>Gdy program pracuje, wówczas u¿ytkownicy powinni móc ³±czyæ siê przez AX.25 do twojego Linuxa. Pamiêtaj, aby¶ umie¶ci³ polecenie ax25d w plikach rc, aby startowa³o za ka¿dym razem gdy w³aczasz komputer.
<P>
<P>
<P>
<H2><A NAME="s14">14. Ustawienie wêz³a.</A></H2>

<P>Oprogramowanie wêz³a zosta³o zrobione przez Tomi'ego Manninen 
<A HREF="mailto:tomi.manninen@hut.fi">tomi.manninen@hut.fi</A> i opiera³o siê g³ownie na programie PMS. Dostarcza ono do¶æ elastycznych i kompletnych mo¿liwo¶ci dla wêz³a, które ³atwo ustawiæ. U¿ytkownicy, po ustaleniu ³±czno¶ci, mog± odpaliæ Telnet, wykonaæ dalsze ³±czno¶ci NetRom, Rose lub AX.25 jak równie¿ uzuskiwaæ rozmaite informacje tak jak Finger, lista Wêz³ow i stacji ostanio s³yszanych, itp. Wêze³ mo¿na ustawiæ do¶æ prosto tak, ¿e zaserwuje on jak±kolwiek us³ugê dostêpn± pod Linuxem.
<P>Normalnie, 'node' wywo³ywany mo¿e byæ przez program 'ax25d', odpowie on te¿ na wezwania wchodz±ce drog± TCP/IP dziêki 'inetd', który wpu¶ci u¿ytkownika i odpali go dla niego, lub mo¿na go uruchomiæ z wiersza poleceñ.
<P>
<H2>14.1 Utworzenie pliku /etc/ax25/node.conf.</H2>

<P>Plik node.conf decyduje o g³ównej konfiguracji wêz³a. Jest prostym plikiem tekstowym, a jego sk³adnia jest taka:
<PRE>
  # /etc/ax25/node.conf
  # configuration file for the node(8) program.
  #
  # Linie rozpoczynaj±ce siê od # s± komentarzami i s± ignorowane.

  # Hostname
  # deklaruje nazwê 'hostname'  dla wêz³a
  hostname        radio.gw.vk2ktj.ampr.org

  # Local Network
  # pozwala na okre¶lenie tego co 'local' w celach rewizji zezwoleñ
  # przy u¿yciu node.perms
  localnet        44.136.8.96/29

  # Hide Ports
  # Je¶li wpisane, pozwala na ukrycie portów przed u¿ytkownikami. Podane porty
  # nie bêd± wy¶wietlane poleceniem (P)orts.
  hiddenports     rose netrom

  # Callserver
  # je¶li wpisane, pozwoli u¿ytkownikom na dostêp do callserver'a.
  callserver      zone.oh7rba.ampr.org

  # Node Identification.
  # to pojawi siê w zachêcie systemowej wêz³a
  NodeId          LINUX:VK2KTJ-9

  # NetRom port
  # To jest nazwa portu NetRom, który u¿ywany bêdzie do wychodz±cych ³±czno¶ci
  # z wêz³a 'node'.
  NrPort          netrom

  # Node Idle Timeout
  # Okre¶la w sekundach warto¶æ "idle time" dla ³±czno¶ci z tym wêz³em
  idletimout      1800

  # Connection Idle Timeout
  # okre¶la licznik "idle" dla ³±czno¶ci uczynionych przez ten wêze³, w sekundach
  # seconds.
  conntimeout     1800

  # Reconnect
  # Okre¶la czy ³±czno¶æ z u¿ytkownikami powinna byæ ponowiona gdy ich ³±czno¶æ
  # z innymi stacjami zosta³a przerwana czy te¿ maj± byæ roz³±czeni na dobre.
  # 
  reconnect       on

  # Pseudonimy dla poleceñ
  # pozwala na uproszczenie uwik³anych poleceñ wêz³a
  alias           CONV    "telnet vk1xwt.ampr.org 3600"
  alias           BBS     "connect radio vk2xsb"

  # Pseudonimy dla poleceñ zewnêtrzych
  # Pozwala na odpalanie programów z zewn±trz spod wêz³a 'node'.
  # extcmd &lt;cmdname> &lt;flag> &lt;userid> &lt;command>
  # Flag == 1 to jest jedyna dotychczas stosowana funkcja.
  # &lt;command> jest pisane tak jak dla ax25d.conf
  extcmd          PMS     1       root    /usr/sbin/pms pms -u %U -o VK2KTJ

  # Logging
  # Ustawienie log-u do log-u systemowego. 3 - najbardziej gadatliwe, 
  # 0 - wy³±czone.
  loglevel        3
</PRE>
<P>
<H2>14.2 Utworzenie pliku /etc/ax25/node.perms.</H2>

<P>Wêze³ 'node' pozwala na ustawienie pewnych zezwoleñ dla u¿ytkowników. Zezwolenia te pozwalaj± ci decydowaæ, którzy u¿ytkownicy mog± u¿ywaæ opcji takich jak (T)elnet, i (C)onnect, na przyk³ad, a którzy nie mog±. Plik node.perms zawiera w³a¶nie te informacje i sk³ada siê z piêciu kluczowych pól. Je¶li pole zawiera znaczek '*' to zastêpuje cokolwiek. Przydaje siê to do definicji regu³ domy¶lnych.
<P>
<PRE>
     user
        zawiera znak lub u¿ytkownik do którego kolejne zezwolenia siê tycz±.
        Numerki SSID s± ignorowane, zatem umie¶ciæ tutaj nale¿y go³y znak.

     method
     ka¿dy protokól i metoda dostêpu mo¿e otrzymaæ swoje zezwolenia. Na przyklad
     mo¿esz zezwoliæ u¿ytkownikom do³±czonym protoko³em AX.25 i NetRom u¿ywaæ
     opcji (C)onnect, ale zabroniæ tego innym, którzy weszli telnetem 
     z nie-lokalnego wêz³a. Drugie pole zatem pozwala okre¶lenie regu³
     dla ³±czno¶ci, które wesz³y ró¿nymi metodami. Oto te metody:

          method  description
          ------  -----------------------------------------------------------
          ampr    U¿ytkownik wszed³ telnetem z adresu amprnet (44.0.0.0)
          ax25    U¿ytkownik wszed³ drog± AX.25
          host    U¿ytkownik wszed³ odpalaj±c 'node' z wiersza poleceñ
          inet    U¿ytkownik wszed³ telnetem z adresu 'non-local'i z poza amprnet
          local   U¿ytkownik wszed³ telnetem z komputera typu 'local'
          netrom  U¿ytkownik wszed³ drog± NetRom
          rose    U¿ytkownik wszed³ drog± Rose
          *       U¿ytkownik wszed³ jakkolwiek.
    

     port
        Dla u¿ytkowników wchodz±cych przez AX.25 mo¿na udzielaæ zezwoleñ osobno
        ka¿dy port Ax.25. Pozwala to decydowaæ co u¿ytkownicy AX.25 mog± robiæ
        zale¿nie od tego do jakiego portu siê pod³±czyli. Trzecie pole zawiera
        nazwê owych portów, je¶li u¿ywasz tej funkcji. Dzia³a to tylko dla
        ³±czno¶ci przez AX.25.

     password
        nieobowi±zkowo, mo¿na ustawiæ wêze³ tak, ¿e przedstawi on u¿ytkownikom
        zachêtê systemow±, aby wprowadzili has³o zanim siê do³±cz±. Przydaje siê
        to do ochrony tych u¿ytkowników, którzy ustawiony maj± wysoki stopieñ
        zezwoleñ. Je¶li czwarte pole ma byæ wype³nione to jego warto¶æ jest 
        has³em, które bêdzie przyjête.

     permissions
        to pole stoi jako ostanie dla ka¿dego wpisu w pliku. Jest ono kodowane
        bitowo tak, ¿e ka¿da us³uga posiada swoj± warto¶æ bitow±, której wpisanie
        powoduje, ¿e zezwolenie na us³ugê jest udzielone lub zabronione. Oto 
        lista us³ug i im koresponduj±cych waro¶ci bitowych:

     value   description
     -----   -------------------------------------------------
      1      Zezwolenie na Login
      2      Zezwolenie na (C)onnect drog± AX.25
      4      Zezwolenie na (C)onnect drog± NetRom
      8      Zezwolenie na (T)elnet do 'lokalnych' wêz³ów
      16     Zezwolenie na (T)elnet do wêz³ów z sieci amprnet (44.0.0.0)
      32     Zezwolenie na (T)elnet do 'nie-lokalnych', wêz³ów z poza amprnet
      64     Zezwolenie na (C)onnect drog± AX.25 przez ukryte porty
      128    Zezwolenie na (C)onnect drog± Rose
</PRE>

Aby zakodowaæ warto¶æ zezwoleñ dla danej regu³y poprostu wybierz te zezwolenia, które chcesz, aby u¿ytkownik mia³ i dodaj ich warto¶ci bitowe. Otrzyman± w ten sposób cyfrê nale¿y umie¶ciæ w polu nr. 5.
<P>Oto jak mo¿na ustawiæ plik node.perms:
<PRE>
       # /etc/ax25/node.perms
       #
       # Operatorem wêz³a jest VK2KTJ, posiada has³o 'secret' i wolno mu szystko
       # jak±kolwiek metod± wszed³
       vk2ktj  *       *       secret  255

       # Ci u¿ytkownicy s± nie wejd± w ogóle
       NOCALL  *       *       *       0
       PK232   *       *       *       0
       PMS     *       *       *       0

       # U¿ytkownicy INET te¿ nie wejd± w ogóle  
       *       inet    *       *       0

       # Ci, którzy weszli drog± AX.25,NetRom, Local, Host i AMPR maj± zezwolenie
       # na (C)onnect i (T)elnet do wêz³ów 'lokalnych' i amprnet, ale nie innych
       # adresów IP.
       *       ax25    *       *       159
       *       netrom  *       *       159
       *       local   *       *       159
       *       host    *       *       159
       *       ampr    *       *       159
</PRE>
<P>
<H2>14.3 Ustawienie wêz³a, aby by³ uruchamiany z ax25d.</H2>

<P>Program 'node' powinien normalnie byæ uruchamiany przez program 'ax25d'. Dokonujemy tego wpisuj±c odpowiednie regu³y w pliku  /etc/ax25/ax25d.conf. Na mojej maszynie chcialem, aby u¿ytkownicy mieli wybór ³±czno¶ci do wêz³a lub innych programów us³ugowych. 'ax25d' pozwala w³a¶nie na to je¶li sprytnie powpisujesz pseudonimy portów. Dla przyk³adu, stosuj±c powy¿sz± konfiguracjê ax25d chcê ustawiæ 'node' tak, aby u¿ytkownicy ³±cz±cy siê do VK2KTJ-1 dostali siê do wêz³a 'node'. Wpisa³em zatem takie wiersze do pliku /etc/ax25/ax25d.conf:
<PRE>
       [vk2ktj-1 via radio]
       default    *     *    *   *   *   0    root /usr/sbin/node node
</PRE>

To oznacza, ¿e oprogramowanie j±dra Linuxa odpowie na pro¶bê o ³±czno¶æ dla znaku 'VK2KTJ-1' na porcie AX.25 nazwanego 'radio', i odpali potem program node.
<P>
<H2>14.4 Ustawienie wêz³a, aby by³ uruchamiany z 'inetd'.</H2>

<P>Je¶li chcesz, aby u¿ytkownicy mogli wej¶æ telnetem do twojej maszyny i uzyskaæ dostêp do wêz³a 'node' to nie ma nic prostszego. Najpierw zdecyduj na jaki port u¿ytkownicy powinni siê ³aczyæ. W tym wypadku wybra³em arbitralny numer 4000, choæ Tomi podaje w swojej dokumentacji szczegó³y na temat jak podmieniæ zwyczajnego demona telnetu na demona wêz³a 'node'.
<P>Potrzebujesz zmodyfikowaæ dwa pliki.
<P>Do pliku /etc/services powiniene¶ dodaæ:
<PRE>
      node    4000/tcp        #OH2BNS's node software
</PRE>

a do pliku  /etc/inetd.conf dodaj:
<PRE>
       node    stream  tcp     nowait  root    /usr/sbin/node node
</PRE>

Po wykonaniu tego i po restarcie programu 'inetd' u¿ytkownicy, którzy wchodz± telnetem na port 4000 w twojej maszynie dostan± zachêtê systemow±, aby siê zalogowaæ, i je¶li zosta³o to dla nich skonfigurowane to has³o, po podaniu którego pod³±czeni zostan± do wêz³a 'node'.
<P>
<H2><A NAME="s15">15. Ustawienie programu axspawn.</A></H2>

<P>Program axspawn pozwala wchodz±cym drog± AX.25 stacjom na zalogowanie siê do twojego komputera. Mo¿e on zostaæ wywo³any programem ax25d w taki sam sposób jak program 'node'. Nale¿y dodaæ tego typu zapis do pliku  /etc/ax25/ax25d.conf, je¶li pragniesz, aby u¿ytkownicy mogli logowaæ siê do twojego komputera:
<PRE>
       default * * * * * 1 root /usr/sbin/axspawn axspawn %u
</PRE>

Je¶li wiersz zakoñczony zostanie znaczniek '+' to u¿ytkownicy, przed zalogowaniem, bêd± musieli uderzyæ przycisk 'Return'. Warto¶æ domy¶lna ma to wy³±czone. Poszczególne zapisy dla stacji, które wystêpuj± pod tym wierszem spowoduj± uruchomienie programu 'axspawn' podczas wchodz±cej ³±czno¶ci. Po uruchomieniu, 'axspawn' najpierw sprawdza czy na wierszu poleceñ ukaza³ siê legalny znak/edentyfikator, pozbawia go numerka SSID, a potem sprawdza plik  /etc/passwd czy u¿ytkownik posiada za³o¿one konto. Je¶li tak, i has³o jest ""(puste) lub '+', wtedy wpuszcza u¿ytkownika. Je¶li w polu has³a jest cokolwiek innego to u¿ytkownik jest odpytywany o swoje has³o. Przy nieistaniej±cych kontach w pliku  /etc/passwd 'axspawn' mo¿na ustawiæ tak, ¿e utworzy je sam.
<H2>15.1 Utworzenie pliku  /etc/ax25/axspawn.conf.</H2>

<P>Zachowanie programu axspawn mo¿na zmieniaæ plikiem  /etc/ax25/axspawn.conf. Plik ten ma formê:
<PRE>
       # /etc/ax25/axspawn.conf
       #
       # pozwala na automatyczne zak³adanie kont dla u¿ytkowników
       create    yes
       #
       # wpuszcza u¿ytkownika 'go¶æ' je¶li wy¿ej jest 'no' lub niepowiod³y sie
       # inne rzeczy. Wy³acza sie 'no'.
       guest     no
       #
       #  ID dla groupy lub nazwa konta dla samozak³adania konta
       group     ax25
       #
       # first user id to use
       first_uid 2001
       #
       # maximum user id
       max_uid   3000
       #
       # gdzie umieszczaæ katalog domowy dla nowych u¿ytkowników
       home      /home/ax25
       #
       # pow³oka systemowa dla u¿ytkownika
       shell     /bin/bash
       #
       # kojarzenie znaków z u¿ytkownikami dla ³±czno¶ci wychodz±cych.
       associate yes
</PRE>
<P>Powy¿sze osiem ustawialnych prze³aczników maj± takie znaczenie:
<PRE>
     #  wskazuje, ze to komentarz

     create
        je¶li ustawione na 'yes' to 'axspawn usi³uje sam za³o¿yæ konto dla 
        u¿ytkownika, który jeszcze nie ma wpisu w pliku  /etc/passwd.

     guest
        pole to okre¶la nazwê login-u konta dla ludzi w³±czaj±cych siê ale
        nie maj±cych jeszcze konta przy 'create' ustawionym na 'no'. Zwykle
        jest to ax25 lub guest

     group
        to pole okre¶la nazwê grupy, jaka zostanie u¿yta dla w³±czaj±cych siê
        u¿ytkowników nie maj±cych jeszcze wpisu w pliku  /etc/passwd.

     first_uid
        jest to cyfra pierwszego userid wybieranego automatycznie dla nowych 
        u¿ytkowników.
     
     max_uid
        jest to najwy¿szy numer, jaki bêdzie u¿yty dla userid nowych u¿ytkowników

     home
        to jest katalog domowy (login) dla nowych uzytkowników

     shell 
        to okre¶la pow³okê systemow± dla nowych u¿ytkowników
     
     associate
        to oznaczenie wskazuje czy u¿ytkownik, po zalogowaniu siê, wykonuj±cy
        ³±czno¶æ wychodz±c± bêdzie mia³ swój w³asny znak, czy te¿ znak twojej
        stacji.
</PRE>
<P>
<P>
<H2><A NAME="s16">16. Ustawienie PMS.</A></H2>

<P>Program pms to implementacja prostego 'personal message system' napisanego pocz±tkowo przez Alan'a Cox. Dalszy rozwój podjêty zosta³ przez David'a Brown, N2RGT, 
<A HREF="mailto:dcb@vectorbd.com">dcb@vectorbd.com</A>. Obecnie jest nadal bardzo prosty maj±cy mozliwo¶æ wys³ania e-mail'a do w³a¶ciciela systemu i uzyskaæ ograniczone informacje maszynie lecz David pracuje nad tym, jak poszerzyæ jego mo¿liwo¶ci i uczyniæ go bardziej u¿ytecznym.
<P>Pozosta³o wiêc teraz parê prostych plików do stworzenia, które udziel± u¿ytkownikom pewnych informacji o samym systemie, a potem dodaæ odpowiedni zapis do pliku  ax25d.conf, aby do³±czaj±cy siê u¿ytkownicy dostali siê do PMS.
<P>
<H2>16.1 Utworzenie pliku  /etc/ax25/pms.motd.</H2>

<P>Plik /etc/ax25/pms.motd zawiera 'wiadomo¶æ dnia', któr± u¿ytkownicy ujrz± po ustaleniu ³±czno¶ci i zwyk³ym nag³óku BBS. Ten prosty plik jest tekstowy i wiadomo¶æ w nim zawarta bêdzie wys³ana do u¿ytkowników.
<P>
<H2>16.2 Utworzenie pliku /etc/ax25/pms.info.</H2>

<P>Plik /etc/ax25/pms.info równie¿ ma zawieraæ tekstowe, bardziej szczegó³owe informacje na tremat twojej stacji. Informacja w nim zawarta przedstawiana jest u¿ytkownikom w odpowiedzi na ich polecenie 'Info' z zachêty PMS>.
<P>
<H2>16.3 Kojarzenie znaków AX.25 z kontami u¿ytkowników</H2>

<P>Gdy jaki¶ u¿ytkownik wysy³a pocztê do znaku AX.25 to 'pms' spodziewa siê, ¿e znak ten jest w³asno¶ci± prawdziwego u¿ytkownika z kontem na twojej maszynie. Opisane jest to w osobnej sekcji.
<P>
<H2>16.4 Dodanie PMS do pliku /etc/ax25/ax25d.conf.</H2>

<P>Dodanaie programu 'pms' do pliku /etc/ax25/ax25d.conf jest bardzo proste. Trzeba jednak pamiêtaæ o jednej malutkiej rzeczy. Dave doda³ mo¿liwo¶æ podania argumentów dla PMS na wierszu poleceñ, które kontroluj± kilkana¶cie konwencji zwi±zanych z koñcem wiersza. Konwencje AX.25 i NetRom oczekuj±, ¿e 'end-of-line' to 'carriage return', 'linefeed' podczas gdy w unixach to jest poprostu 'newline'.Wiêc, dla przyk³adu, je¶li checia³by¶ dodaæ zapis, który oznacza³by, ¿e nale¿y odpaliæ PMS dla wchodz±cej ³±czno¶ci przez port AX.25, to dadaj taki wiersz:
<PRE>
       default  1  10 5 100 5   0    root  /usr/sbin/pms pms -a -o vk2ktj
</PRE>

To poprostu odpala program pms mówi±c mu, ¿e jest to ³±czno¶æ wchodz±ca drog± AX.25 i ¿e w³a¶cicielem PMS'a jest vk2ktj. Popatrz na podrêcznik systemowy 'man' w sprawie innych argumentów dla innych metod dostêpu.
<P>
<H2>16.5 Sprawdzenie PMS'a</H2>

<P>Aby sprawdziæ czy PMS dzia³a sprubuj tak± komendê z wiersza poleceñ:
<PRE>
  # /usr/sbin/pms -u vk2ktj -o vk2ktj
</PRE>

Podstaw swój w³asny znak w miejsce mojego. Polecenie to odpali PMS mówi±c mu, ¿e ma u¿ywaæ uniksowych konwencji end-of-line, i ¿e u¿ytkownikiem loguj±cym siê jest vk2ktj. Mo¿esz zrobiæ teraz wszystko to, co u¿ytkownicy ³±cz±cy siê z zewn±trz.
<P>Dodatkowo móg³by¶ poprosiæ jak±¶ inn± stacjê, aby siê do ciebie do³±czy³a, aby potwierdziæ, ¿e ustawienie pliku ax25d.conf dzia³a poprawnie.
<P>
<H2><A NAME="s17">17. Ustawienie programów user_call.</A></H2>

<P>Programy 'user_call' to w rzeczywisto¶ci s± 'ax25_call' i 'netrom_call'. Pomu¶lane s± one tak, ¿e mog± byæ wezwane z 'ax25d', w celu zautomatyzowania ³±czno¶ci z odleg³ymi komputerami. Naturalnie mo¿na je wywo³aæ z wielu innych miejsc, np. z pow³oki systemowej, lub innych demonów, jak np. programu 'node'.
<P>Przupominaj± w swej prostocie program 'call'. Nie zajmuj± siê obróbk± ¿adnych danych, zatem sam musisz zadbaæ o to jak traktowane bêdzie end-of-line.
<P>Rozpocznijmy od tego jak mo¿na ich u¿ywaæ. Wyobra¼ sobie, ¿e posiadasz ma³± sieæ w domu i ¿e jednym komputerem jest Linux spelniaj±cy rolê bramki radiowej, oraz drugi komputer, który jest wêz³em BPQ. Komputery z³±czone s± razem ethernetem.
<P>Noramlnie, u¿ytkownicy radiowi, aby móc ³±czyæ siê z wêz³em BPQ musieliby robiæ to przez digipeating poprzez twojego linuxa, lub po³±czyæ siê wpierw z programem 'node' na twoim linuxie, a stamt±d wykonaæ nastêpne po³±czenie do wêz³a BPQ.
<P>Wyobra¼ sobie, ¿e wêze³ BPQ ma znak VK2KTJ-9 a linux ma port o nazwie 'bpq' obs³uguj±cy AX.25/ethernet. Równie¿ dodajmy, ¿e bramka radiowa Linux posiada port radiowy 'radio'.
<P>Zapis do pliku /etc/ax25/ax25d.conf wygl±da³by w ten deseñ:
<PRE>
       [VK2KTJ-1 via radio]
       default    * * * *   *   *  *
                       root /usr/sbin/ax25_call ax25_call bpq %u vk2ktj-9
</PRE>

i umo¿liwi³by u¿ytkownikom po³±czenie wprost do `VK2KTJ-1' co w gruncie rzeczy jest demonem ax25d pod Linuxem a nastêpnie prze³oczy³oby ich na ³±czno¶æ AX.25 do `VK2KTJ-9' przez interfejs 'bpq'.
<P>Jest ca³y asortyment innych mo¿liwych kombinacji, które s± do wypróbowania. Programy 'netrom_call' oraz 'rose_call' pracuj± w podobny sposób. Jeden z radioamatorów wykorzysta³ tê funkcjê, aby u³atwiæ ³±czno¶æ do odleg³ego BBS-u. Noramalnie u¿ytkownik musia³by wprowadziæ dlug± strunê poleceñ, aby wykonaæ tê ³±czno¶æ wiêc on dokona³ wpisu, który sprawia³, ¿e wspomniany BBS wygl±da³ tak, jakby dostêpny on by³ na sieci lokalnej; demon ax25d po¶redniczy³ w ³±czno¶ci do odleg³ego BBS-u.
<P>
<H2><A NAME="s18">18. Kojarzenie znaków AX.25 z kontami u¿ytkowników Linuxa.</A></H2>

<P>Istnieje wiele sutuacji, w których po¿±dane jest, aby powi±zaæ znak z kontem u¿ytkownika Linuxa. Jedn± z takich sutuacji by³aby, gdy wielu radioamatorów dziel± ze sob± tê sam± maszynê a chc± u¿ywaæ swoich znaków dla wychodz±cych ³±czno¶ci. Innym przyk³adem jest PMS, którego u¿ytkownicy chcieliby rozmawiaæ z jakim¶ u¿ytkownikiem na twoim komputerze. 
<P>Oprogramowanie AX.25 dostarcza sposobu pozwalaj±cego na skojarzenie znaku z kontem u¿ytkownika. Wspominali¶my to ju¿ wcze¶niej w sekcji o PMS, ale podkre¶lam to raz jeszcze, ¿eby nie umknê³o to twej uwadze.
<P>Kojarzenia dokonujemy poleceniem 'axparms'. Ota jak wygl±da przyk³ad:
<PRE>
       # axparms -assoc vk2ktj terry
</PRE>

Polecenie to kojarzy powy¿szy znak AX.25 vk2ktj z kontem 'terry' na tym komputerze. Wiêc przyk³adowo, ka¿da poczta dla vk2ktj z pms-u bêdzie dostarczona do konta 'terry' pod Linuxem.
<P>Zapamiêtaj, aby wpisaæ te kojarzenia do plików rc, aby dostêpne by³y za ka¿dym razem, gdy odpalasz komputer.
<P>Zauwa¿, ¿e nigdy nie powiniene¶ kojarzyæ znaku z kontem 'root' poniewa¿ spowoduje to du¿o problemów konfiguracyjnych w innych programach.
<P>
<H2><A NAME="s19">19. Jak po³±czyæ sieciowe oprogramowanie NOS z j±drem linuxa?</A></H2>

<P>Wielu ludzi preferuje któr±¶ z wersji NOS uruchamian± w Linuxie poniewa¿ oferuj± one wiele cech funkcji, do któtych przywykli. Wiêkszo¶æ tych ludzi chcia³oby równie¿ mieæ tak± mozliwo¶æ, aby NOS móg³ mówiæ do j±dra Linuxa po to, by móc zaoferowaæ jego niektóre us³ugi dla u¿ytkowników radiowych.
<P>
<H2>19.1 £±czenie NOS-a i Linuxa za pomoc± 'fajki'.</H2>

<P>Nastêpuj±ca informacja jest wk³adem Brandon'a S. Albery, KF8NH, który wyt³umaczy³ jak wzajemnie po³±czyæ NOS'a uruchomionego pod Linuxem z samym j±drem Linuxa przy u¿yciu urz±dzenia 'fajka'.
<P>Poniewa¿ zarówno Linux jak NOS obs³uguj± protokó³ 'slip' mo¿liwe jest po³±czenie nich obu ustawiaj±c ³±cze slip. Kosztownym sposobem mo¿naby to zrobiæ za pomoc± pêtli kablowej i dwóch portów seryjnych; by³oby to  powolne ³±cze. Linux dostarcza funkcji, która dostêpna jest na wielu innych Unixo-podobnych systemach operacyjnych, zwanej 'fajk±'. S± to specjalne pseudo interfejsy, które przedstawiaj± siê dla oprogramowania jako standardowe urz±dzenia tty, lecz faktycznie s± tylko pêtlami do nastêpnej 'fajki'. Urz±dzenia te mog± byæ u¿ywane je¶li program pierwszy otworzy je ze strony 'master', a nastêpnie program drugi ze strony 'slave'. Gdy oba koñce zostan± otworzone, wówczas programy mog± siê komunikowaæ ze sob± pisz±c poprostu literki przez 'fajkê' jakby to by³o normalne urz±dzenie terminalowe.
<P>Zanim po³±czysz jak±¶ wersjê NOS-a lub innego programu z jadrem Linuxa, wpierw musisz wybraæ jak±¶ 'fajkê'. Znajdziesz j± szukaj±c w katalogu '/dev'. Koñcówki 'master' nazywaj± siê ptyp[1-f] a koñcówki 'slave' znane s± jako: ttyp[1-f]. Pamiêtaj, ¿e wystêpuj± parami. Je¶li we¼miesz 'fajkê' /dev/ptypf jako koñcówkê 'master' to musisz dobraæ 'fajkê' /dev/ttypf jako 'slave'.
<P>Po wybraniu pary urz±dzeñ 'fajka', nale¿y przypisaæ koñcówkê 'master' dla j±dra a koñcówkê 'slave' dla programu NOS poniewa¿ j±dro Linuxa rozpoczyna jako pierwsze, a 'master' musi byæ otworzone na pocz±tku. Linux, warto wiedzieæ, powinien mieæ odmienny IP adres od adresu NOS-a, zatem musisz mu przypisaæ unikalny adres, je¶li jeszcze tego nie uczyni³e¶.
<P>'Fajkê' ustawiamy tak samo jak urz±dzenie seryjne, wiêc aby utworzyæ ³±cze slip na j±drze Linuxa móg³by¶ u¿yæ co¶ takiego:
<PRE>
       # /sbin/slattach -s 38400 -p slip /dev/ptypf &amp;
       # /sbin/ifconfig sl0 broadcast 44.255.255.255 pointopoint 44.70.248.67 /
               mtu 1536 44.70.4.88
       # /sbin/route add 44.70.248.67 sl0
       # /sbin/route add -net 44.0.0.0 netmask 255.0.0.0 gw 44.70.248.67
</PRE>

W tym przyk³adzie j±dro linuxa otrzyna³o adres IP 44.70.4.88 a program NOS adres IP 44.70.248.67. Polecenie 'route' w ostatnim wierszu instruuje j±dro linuxa, ¿e wszelkie datagramy z przeznaczeniem dla amprnet-u maj± i¶æ poprzez ³±cze slip utworzone poleceniem slattach. Zwykle polecenia powy¿sze umie¶ciæ nale¿a³oby w w plikach /etc/rc.d/rc.inet2 po tym jak wszystkie inne ustawienia siciowe zostan± wykonane, po to, aby ³±cze slip by³o dostêpne po prze³adowaniu komputera. Uwaga: nie ma powodów, aby u¿ywaæ cslip zamiast slip gdy¿ to w³a¶ciwe redukuje osi±gi poniewa¿ ³±cze to jest virtualne i zachodzi wystarczaj±co szybko, a uprzenia kompresja nag³ówków zabiera wiêcej czasu ani¿eli przesy³ nieskompresowanych datagramów.
<P>Ustawienie ³±cza po stronie NOS-a mo¿na pokusiæ siê i zrobiæ tak:
<PRE>
       # interfejs mo¿na nazwaæ jak ci siê podoba. ja nazwa³em go dla wygody
       # 'linux'
       #
       attach asy ttypf - slip linux 1024 1024 38400
       route addprivate 44.70.4.88 linux
</PRE>

Polecenia te utworz± port slip zwany 'linux' na 'fajce' z koñcówk± 'slave' i do³±cz± go do jadra linuxa, dodadz± '¶cie¿kê', aby ³±cze pracowa³o. Po wystartowaniu NOS-a pod Linuxem powiniene¶ móc 'zapingowaæ' Linuxa i odwrotnie. Je¶li nie, posprawdzaj, ¿e nie pope³ni³e¶ ¿adnych b³êdów, szczególnie przy adresach i na koñcówkach 'fajek'.
<P>
<H2><A NAME="s20">20. Zapisy w pliku /proc.</A></H2>

<P>System plików /proc zawiera pewn± liczbê plików zwi±zanych bezpo¶rednio z oprogramowaniem j±dra dla AX.25 i NetRom. U¿ywane s± one g³ownie przez programy z pakietu ax25-utils ale maj± taki format,¿e byæ mo¿e chcia³by¶ je przeczytaæ. Foramt jest naprawdê ³atwy i nie s±dzê, ¿e trzeba wiele t³umaczyæ.
<PRE>
     /proc/net/arp
         zawiera mapê dla protoko³u Address Resolution pomiêdzy adresami IP
         a adresami protoko³u warstwy MAC. Te obejmuj± AX.25, ethernet i niektóre
         protoko³y wartstwy MAC
  
     /proc/net/ax25
         zawiera listê otwartych gniazd AX.25. Mog± one albo sluchaæ na
         nadchodz±ce ³±czno¶ci lub s± aktywne.

     /proc/net/ax25_bpqether
         zawiera mapê dla AX.25 a BPQ o znakach

     /proc/net/ax25_calls
         zawiera mapê o userid i znakach ustawion± przez polecenie
         axparms -assoc command.

     /proc/net/ax25_route
         zawiera informacjê na temat ¶cie¿ki digipeaterów

     /proc/net/nr
         zawiera listê gniazd NetRom, które s± otwarte na skutek tego, ¿e 
         sluchaj± lub, ¿e s± aktywne.

     /proc/net/nr_neigh
         zawiera informacje o s±siadach, o których NetRom jest ¶wiadome.

     /proc/net/nt_nodes
         zawiera informacje o wêz³ach znanych dla oprogramowania NetRom

     /proc/net/rose
         zawiera listê otwartych gniazd Rose na skutek tego, ¿e albo s³uchaj±
         albo s± aktywne
      
     /proc/net/Rose_nodes
         zawiera mapê o docelowych stacjach Rose przez s±siadów Rose

     /proc/net/rose_neigh
         zawiera listê wêz³ów, które Rose zna

     /proc/net/rose_routes
         zawiera listê wszystkich aktywnych ³±czy Rose
</PRE>
<H2><A NAME="s21">21. Przyk³adowe konfiguracje.</A></H2>

<P>Podane s± poni¿ej przyk³ady niektórych typowych konfiguracji. S± to tylko rady poniewa¿ jest tyle sposobów ustawienia swojej sieci ile istnieje sieci do skonfigurawania, ale te mog± przydaæ ci siê na pocz±tek.
<P>
<H2>21.1 Ma³a sieæ z linuxem jako routerem dla lokalnej sieci radiowej</H2>

<P>Wielu z was posiada ma³e, lokalne sieci w domu i chcecie pod³aczyæ te komputery do swojej lokalnej sieci radiowej. W³a¶nie takiego uk³adu u¿ywam sam w domu. Zadba³em o to, aby dostaæ odpowiedni± liczbê w³a¶ciwych adresów, tak, aby mo¿na by³o je uchwyciæ jednym routingiem dla wygody i u¿ywam ich na swojej lokalnej sieci ethernet. Wasz koordynator adresów IP pomo¿e wam w tym równie¿ je¶li chcecie tego sprobowaæ. Adresy mojej lokalne sieci Ethernet tworz± podsekcjê adresów sieci radiowej. Nastêpuj±ce ustawienie jest rzeczywistê dla linuxa jako routera na mojej sieci w domu:
<PRE>
         ---                                .
          | Network       /---------\     .    Network
          | 44.136.8.96/29|         |    .     44.136.8/24        \ | /
          |               | Linux   |   .                          \|/
          |               |         |  .                            |
          |          eth0 | Router  |  .  /-----\    /----------\   |
          |---------------|         |-----| TNC |----| Radio    |---/
          |   44.136.8.97 |  and    |  .  \-----/    \----------/
          |               |         | sl0
          |               | Server  | 44.136.8.5
          |               |         |    .
          |               |         |     .
          |               \_________/       .
         ---                                     .      .   .    .    . .
</PRE>

<PRE>
  #!/bin/sh
  # /etc/rc.net
  # To ustawienie dostarcza jednego portu AX.25 w KISS i jednego interfejsu
  # Ethernet.

  echo "/etc/rc.net"
  echo "  Configuring:"

  echo -n "    loopback:"
  /sbin/ifconfig lo 127.0.0.1
  /sbin/route add 127.0.0.1
  echo " done."

  echo -n "    ethernet:"
  /sbin/ifconfig eth0 44.136.8.97 netmask 255.255.255.248 \
                  broadcast 44.136.8.103 up
  /sbin/route add 44.136.8.97 eth0
  /sbin/route add -net 44.136.8.96 netmask 255.255.255.248 eth0
  echo " done."

  echo -n "    AX.25: "
  kissattach -i 44.136.8.5 -m 512 /dev/ttyS1 4800
  ifconfig sl0 netmask 255.255.255.0 broadcast 44.136.8.255
  route add -host 44.136.8.5 sl0
  route add -net 44.136.8.0 window 1024 sl0

  echo -n "    Netrom: "
  nrattach -i 44.136.8.5 netrom

  echo "  Routing:"
  /sbin/route add default gw 44.136.8.68 window 1024 sl0
  echo "    default route."
  echo done.

  # end

  /etc/ax25/axports

       # name  callsign        speed   paclen  window  description
       4800    VK2KTJ-0        4800    256     2       144.800 MHz

  /etc/ax25/nrports

       # name  callsign        alias   paclen  description
       netrom  VK2KTJ-9        LINUX   235     Linux Switch Port

  /etc/ax25/nrbroadcast

       # ax25_name     min_obs def_qual        worst_qual      verbose
       4800            1       120             10              1
</PRE>

W j±drze trzeba uaktywniæ IP_FARWARDING.
<P>Pliki konfiguracyjne AX.25 s± mniej wiêcej takie same ja przyk³ady we wcze¶niejszych sekcjach, wiêc zajrzyj do nich gdy trzeba.
<P>Zdecydowa³em siê przypisaæ adres IP dla portu radiowego, który nie na³e¿y do bloku mojej domowej sieci. Nie musia³em tak robiæ, mo¿na by³o ¶mia³o u¿yæ 44.136.8.97 na tym porcie.
<P>44.136.8.68 to moja lokalna bramka do enkapsulacji IPIP, zatem tutaj kierujê ¶cie¿kê domy¶ln±.
<P>Ka¿dy komputer na sieci Ethernet ma ¶cie¿kê:
<PRE>
       route add -net 44.0.0.0 netmask 255.0.0.0 \
               gw 44.136.8.97 window 512 mss 512 eth0
</PRE>

Stosowanie parametrów mss i window oznacza, ¿e uzyskujê maksymalne osi±gi zarówno na p³±czeniach Ethernet jak i radiowych.
<P>
<PRE>
 - na routerze mam odpalone rzownie¿ ftp, http, smail i inne demony wiêc jest on
   jedynym komputerem, który innym serwuje us³ugi

 - mój router to pokorne 386DX20 z 20 Mb twardego dysku i bardzo minimaln± wersj±
   linuxa.
</PRE>
<P>
<H2>21.2 Konfiguracja przyk³adowa dla bramki z enkapsulacj± IPIP.</H2>

<P>Linux jest obecnie pospolicie u¿ywany jako bramka dla enkapsulacji TCP/IP po ca³ym ¶wiecie. Nowy sterownik 'tunnel' obs³uguje wielokrotne ¶cie¿ki enkapsulacji i sprawia, ¿e demon ipip jest przestarza³y.
<P>Typowa konfiguracja wyg³±da³aby w takowy sposób:
<PRE>
         ---                                .
          | Network       /---------\     .    Network
          | 154.27.3/24   |         |    .     44.136.16/24       \ | /
          |               | Linux   |   .                          \|/
          |               |         |  .                            |
          |          eth0 | IPIP    |  .  /-----\    /----------\   |
       ---|---------------|         |-----| TNC |----| Radio    |---/
          |   154.27.3.20 | Gateway |  .  \-----/    \----------/
          |               |         | sl0
          |               |         | 44.136.16.1
          |               |         |    .
          |               |         |     .
          |               \_________/       .
         ---                                     .      .   .    .    . .

 Pliki którymi trzeba siê zaj±æ to:

  # /etc/rc.net
  # ustawiamy tutaj jeden port radiowy AX.25 w trybie KISS, jeden Ethernet,
  # u¿ywamy sterownika 'tunnel' do IPIP encap/decapsulation
  # 
  #
  echo "/etc/rc.net"
  echo "  Configuring:"
  #
  echo -n "    loopback:"
  /sbin/ifconfig lo 127.0.0.1
  /sbin/route add 127.0.0.1
  echo " done."
  #
  echo -n "    ethernet:"
  /sbin/ifconfig eth0 154.27.3.20 netmask 255.255.255.0 \
                  broadcast 154.27.3.255 up
  /sbin/route add 154.27.3.20 eth0
  /sbin/route add -net 154.27.3.0 netmask 255.255.255.0 eth0
  echo " done."
  #
  echo -n "    AX.25: "
  kissattach -i 44.136.16.1 -m 512 /dev/ttyS1 4800
  /sbin/ifconfig sl0 netmask 255.255.255.0 broadcast 44.136.16.255
  /sbin/route add -host 44.136.16.1 sl0
  /sbin/route add -net 44.136.16.0 netmask 255.255.255.0 window 1024 sl0
  #
  echo -n "    tunnel:"
  /sbin/ifconfig tunl0 44.136.16.1 mtu 512 up
  #
  echo done.
  #
  echo -n "Routing ... "
  source /etc/ipip.routes
  echo done.
  #
  # end.

  and:

       # /etc/ipip.routes
       # This file is generated using the munge script
       #
       /sbin/route add -net 44.134.8.0 netmask 255.255.255.0 tunl0 gw 134.43.26.1
       /sbin/route add -net 44.34.9.0 netmask 255.255.255.0 tunl0 gw 174.84.6.17
       /sbin/route add -net 44.13.28.0 netmask 255.255.255.0 tunl0 gw 212.37.126.3
          ...
          ...
          ...

  /etc/ax25/axports

       # name  callsign        speed   paclen  window  description
       4800    VK2KTJ-0        4800    256     2       144.800 MHz
</PRE>
<P>Niektóre uwagi do zanotowania:
<PRE>
 - Nowy sterownik 'tunnel' u¿ywa pola gw w tablicach routingowych w miejsce
   parametru 'pointopoint' do okre¶lenia adresu odleg³ej bramki IPIP. Oto 
   dlaczego obecnie obs³uguje wielokrotne ¶cie¿ki na ka¿dym interfejsie.

 - Mo¿na ustawiæ dwa interfejsy sieciowe z tym samym adresem. W tym przyk³adzie 
   zarówno interfejs sl0 jak i tunl0 przyjê³y adres IP portu radiowego. Czyni 
   siê tak w tym celu, aby odleg³a bramka widzia³a poprawne adresy na enkapsulo-
   wanych datagramach wysy³anych do niej z twojej bramki.

 - polecenia 'route' do okre¶lania enkapsulowanych ¶cie¿ek mo¿na wygenerowaæ
   u¿ywaj±c modyfikowanej wersji "skryptu munge". Podane jest to ni¿ej. Polecenia
   route wpisane by³yby potem do osobnego pliku i czytane przez bash
   z /etc/ipip.routes (za³o¿ywszy, ¿e nazwa³e¶ plik z poleceniami routingu nazw±
   /etc/ipip.routes) tak jak na ilustracji. Plik ¼ród³owy musi mieæ format 
   w stylu poleceñ 'route' pod NOS-em. 

 - Zauwa¿ stosowanie argumentu 'window' dla polecenia 'route'. Ustawienie tego
   parametru na w³a¶ciw± warto¶æ polepsza osi±gi na ³±czu radiowym
</PRE>
<P>Oto nowy skrypt 'tunnel-munge':
<PRE>
  #!/bin/sh
  #
  # From: Ron Atkinson &lt;n8fow@hamgate.cc.wayne.edu>
  #
  #  This script is basically the 'munge' script written by Bdale N3EUA
  #  for the IPIP daemon and is modified by Ron Atkinson N8FOW. It's
  #  purpose is to convert a KA9Q NOS format gateways route file
  #  (usually called 'encap.txt') into a Linux routing table format
  #  for the IP tunnel driver.
  #
  #        Usage: Gateway file on stdin, Linux route format file on stdout.
  #               eg.  tunnel-munge &lt; encap.txt > ampr-routes
  #
  # NOTE: Before you use this script be sure to check or change the
  #       following items:
  #
  #     1) Change the 'Local routes' and 'Misc user routes' sections
  #        to routes that apply to your own area (remove mine please!)
  #     2) On the fgrep line be sure to change the IP address to YOUR
  #        gateway Internet address. Failure to do so will cause serious
  #        routing loops.
  #     3) The default interface name is 'tunl0'. Make sure this is
  #        correct for your system.

  echo "#"
  echo "# IP tunnel route table built by $LOGNAME on `date`"
  echo "# by tunnel-munge script v960307."
  echo "#"
  echo "# Local routes"
  echo "route add -net 44.xxx.xxx.xxx netmask 255.mmm.mmm.mmm dev sl0"
  echo "#"
  echo "# Misc user routes"
  echo "#"
  echo "# remote routes"

  fgrep encap | grep "^route" | grep -v " XXX.XXX.XXX.XXX" | \
  awk '{
          split($3, s, "/")
          split(s[1], n,".")
          if      (n[1] == "")    n[1]="0"
          if      (n[2] == "")    n[2]="0"
          if      (n[3] == "")    n[3]="0"
          if      (n[4] == "")    n[4]="0"
          if      (s[2] == "1")   mask="128.0.0.0"
          else if (s[2] == "2")   mask="192.0.0.0"
          else if (s[2] == "3")   mask="224.0.0.0"
          else if (s[2] == "4")   mask="240.0.0.0"
          else if (s[2] == "5")   mask="248.0.0.0"
          else if (s[2] == "6")   mask="252.0.0.0"
          else if (s[2] == "7")   mask="254.0.0.0"
          else if (s[2] == "8")   mask="255.0.0.0"
          else if (s[2] == "9")   mask="255.128.0.0"
          else if (s[2] == "10")  mask="255.192.0.0"
          else if (s[2] == "11")  mask="255.224.0.0"
          else if (s[2] == "12")  mask="255.240.0.0"
          else if (s[2] == "13")  mask="255.248.0.0"
          else if (s[2] == "14")  mask="255.252.0.0"
          else if (s[2] == "15")  mask="255.254.0.0"
          else if (s[2] == "16")  mask="255.255.0.0"
          else if (s[2] == "17")  mask="255.255.128.0"
          else if (s[2] == "18")  mask="255.255.192.0"
          else if (s[2] == "19")  mask="255.255.224.0"
          else if (s[2] == "20")  mask="255.255.240.0"
          else if (s[2] == "21")  mask="255.255.248.0"
          else if (s[2] == "22")  mask="255.255.252.0"
          else if (s[2] == "23")  mask="255.255.254.0"
          else if (s[2] == "24")  mask="255.255.255.0"
          else if (s[2] == "25")  mask="255.255.255.128"
          else if (s[2] == "26")  mask="255.255.255.192"
          else if (s[2] == "27")  mask="255.255.255.224"
          else if (s[2] == "28")  mask="255.255.255.240"
          else if (s[2] == "29")  mask="255.255.255.248"
          else if (s[2] == "30")  mask="255.255.255.252"
          else if (s[2] == "31")  mask="255.255.255.254"
          else                    mask="255.255.255.255"

  if (mask == "255.255.255.255")
          printf "route add -host %s.%s.%s.%s gw %s dev tunl0\n"\
                  ,n[1],n[2],n[3],n[4],$5
  else
          printf "route add -net %s.%s.%s.%s gw %s netmask %s dev tunl0\n"\
                  ,n[1],n[2],n[3],n[4],$5,mask
   }'

  echo "#"
  echo "# default the rest of amprnet via mirrorshades.ucsd.edu"
  echo "route add -net 44.0.0.0 gw 128.54.16.18 netmask 255.0.0.0 dev tunl0"
  echo "#"
  echo "# the end"
</PRE>
<P>
<H2><A NAME="s22">22. Programowanie warstwy sieciowej AX.25, NetRom i Rose.</A></H2>

<P>Najwiêksz± bodaj¿e zalet± stosowania protoko³ów radioamatorskiego radia packet opartego o j±dro linuxa jest ³atwo¶æ, z jak± mo¿esz pisaæ aplikacje i programy i je na nim u¿ywaæ.
<P>Choæ temat Programowania Sieci pod Unixem przekracza ramy tego¿ dokumentu, to jednak opiszê tutaj elementarne szczegó³y dotycz±ce jak wykorzystaæ protoko³y AX.25, NetRom i Rose wewn±trz swojego oprogramowania.
<P>
<H2>22.1 Rodziny adresów.</H2>

<P>Programowanie sieciowe pod Linuxem dla AX.25, NetRom i Rose przypomina programowanie dla TCP/IP. Najwiêsz± ró¿nic± jest stosowana rodzina adresu i jego struktura, któr± nale¿y poprzekrêcaæ w odpowiednie miejsce.
<P>Nazwy rodziny adresów dla AX.25, NetRom i Rose to kolejno AF_AX25, AF_NETROM oraz AF_ROSE.
<P>
<H2><A NAME="s23">23. Pliki nag³ówkowe.</A></H2>

<P>Zawsze nale¿y do³±czyæ plik 'ax25.h', 'netrom.h' i rose.h' je¶li masz do czynienia z tymi protoko³ami. Prosty szkielet górnej czê¶ci wygl±da³by tak:
<P>Dla AX.25:
<PRE>
       #include &lt;ax25.h>
       int s, addrlen = sizeof(struct full_sockaddr_ax25);
       struct full_sockaddr_ax25 sockaddr;
       sockaddr.fsa_ax25.sax25_family = AF_AX25
</PRE>

Dla NetRom:
<PRE>

       #include &lt;ax25.h>
       #include &lt;netrom.h>
       int s, addrlen = sizeof(struct full_sockaddr_ax25);
       struct full_sockaddr_ax25 sockaddr;
       sockaddr.fsa_ax25.sax25_family = AF_NETROM;
</PRE>

Dla Rose:
<PRE>
       #include &lt;ax25.h>
       #include &lt;rose.h>
       int s, addrlen = sizeof(struct sockaddr_rose);
       struct sockaddr_rose sockaddr;
       sockaddr.srose_family = AF_ROSE;
</PRE>
<H2>23.1 Kwestia znaków i przyk³ady.</H2>

<P>W bibliotekach /lib/ax25.a zawartych w pakiecie progamów narzêdziowych ax25-utils znajduj± siê wbudowane rutyny konweruj±ce znaki wywo³awcze. Je¶li chcesz mo¿esz napisaæ swoje w³asne.
<P>Program narzêdziowy user_call jest wy¶mienitym przyk³adem na pocz±tek. ¬ród³a dla tych rutyn zawarte s± w pakiecie programów narzêdziowych AX.25-utils. Po spêdzeniu paru chwil pracuj±c nad nimi zauwa¿ysz, ¿e 90 procent roboty to przygotowanie otworzenia 'socket-u'. Wykonanie ³±czno¶ci jest ³atwe podczas gdy przygotowanie zajmuje trochê czasu.
<P>Przyk³ady s± na tyle proste, ¿e nie wprowadzaj± zamieszania. Je¶li masz jakie¶ pytanie to kieruj je na listê linux-hams, gdzie znajd± siê ludzie gotowi udzielæ ci odpowiedzi. 
<P>
<H2><A NAME="s24">24. Dyskusja zwi±zana z Radiem Amatorskim i Linuxem.</A></H2>

<P>Jest wiele miejsc, gdzie dyskutuje siê na temat Radio Amatorskiego i Linuxa, na przyk³ad na comp.os.linux.* lub na li¶cie pocztowej vger.rutgers.edu. Inne miejsca, gdzie siê to czyni, to listy pocztowe tcp-group na ucsd.edu (ojczyzna dyskusji na temat TCP/IP i radia amatorskiego), jak równie¿ kana³ #linpeople w sieci linuxnet na IRC.
<P>Aby zapisaæ siê na listê dyskusyjn± linux-hams, wy¶lij pocztê do:
<PRE>
       Majordomo@vger.rutgers.edu
</PRE>

z tekstem:
<PRE>
subscribe linux-hams
</PRE>

w czêsci listu. Wiersz 'subject:' jest pomijany.
<P>Archiwum listy linux-hams znajduje siê na:
<A HREF="http://zone.pspt.fi/archive/linux-hams/">http://zone.pspt.fi/archive/linux-hams/</A> oraz na 
<A HREF="http://zone.oh7rba.ampr.org/archive/linux-hams/">http://zone.oh7rba.ampr.org/archive/linux-hams/</A>. Staraj siê zajrzeæ tam zanim rozpoczniesz dyskusjê poniewa¿ odpowiedziano tam na wiele powszechnych pytañ.
<P>Aby zapisaæ siê na listê tcp-group, wy¶lij list do:
<PRE>
       listserver@ucsd.edu
</PRE>

z tekstem:
<PRE>
       subscribe tcp-group
</PRE>

w czêsci listu.
<P>Zauwa¿, ¿e lista tcp-group jest przeznaczona g³ównie do dyskusji o zaawansowanych protoko³ach, których TCP/IP jest przyk³adem, w Radiu Amatorskim. Nie zadaje siê tam pytañ dotycz±cych Linuxa.
<P>
<H2><A NAME="s25">25. Podziêkowania.</A></H2>

<P>Nastêpuj±ce osoby przyczyni³y siê do stworzenia tego dokumentu na przeró¿ne sposoby, w sposób ¶wiadomy lub nie¶wiadomy. Podajê ich bez szczególnego uszeregowania (tak jak pamiêtam): Jonathon Naylor, Thomas Sailer, Joerg Reuter, Rot Atkinson, Alan Cox, Craig Small, John Tanner, Brandon Allbery.
<P>
<H2><A NAME="s26">26. Prawa autorskie.</A></H2>

<P><CODE>AX25-HOWTO, informacja na temat jak zainstalowaæ i ustawiæ niektóre z wa¿niejszych pakietów obs³uguj±cych AX.25 pod Linuxem.<BR>
Copyright &copy; 1996 Terry Dawson.</CODE>
Jest to oproramowanie darmowe; mo¿e byæ modyfikowane i rozprowadzane na warunkach Ogólnej Licencji Publicznej GNU opublikowanej przez <CODE>Free Software Foundation</CODE>; licencja o wersji numer 2, lub dowolnie, jakakolwiek pó¼niejsza.
<P>Program ten rozprowadzany jest z nadziej±, ¿e bêdzie u¿yteczny, lecz BEZ JAKIEJKOLWIEK GWARANCJI; nawet bez gwarancji, ¿e moze byæ SPRZEDAWANY lub U¯YTECZNY DLA JAKIEGOKOLWIEK CELU. Wiêcej szczegó³ów znajdzesz w Ogólnej Licencji Publicznej GNU.
<P>Powiniene¶ by³ otrzymaæ egzemplarz Ogólnej Licencji Publicznej z tym programem; je¶li nie to napisz do:
<P><CODE>Free Software Foundation, Inc., 657 Mass Ave, Cambridge, MA 02139, USA</CODE>.
<P>
<H2><A NAME="s27">27. Od t³umacza.</A></H2>

<P>
<P>AX25-HOWTO - t³umaczenie na jêzyk polski. Informacja jak zainstalowaæ i ustawiæ niektóre z najwa¿niejszym pakietów do obs³ugi protoko³u AX.25 pod Linuxem.<BR>
Copyright &copy; 1997 Benedict P. Barszcz.
<P>Wiele terminów, które w tym dokumencie zastosowa³em mo¿e brzmieæ dziwnie w uszach polskiego czytelnika. Przepraszam, wynika to z tego, ¿e polska terminologia radia packet jest mi zupe³nie nie znana. Radioamatorem zosta³em tutaj w USA i polskie nazewnictwo nie by³o wymogiem do egzaminu. To jest b³±d.
<P>Niektórych zwrotów nie t³umaczy³em ze wzg³êdow na ich ewidentno¶æ, ale na pewno w tym miejscu siê grubo mylê. Inne zwroty s± niezgrabne i w tym miejscu masz szerokie pole do popisu, czytelniku. ¦lij poprawki do poseidon@ziplink.net. Zwroty idiomatyczne stara³em siê zastêpowaæ naszymi, polskimi odpowiednikami. Czasem przesadzi³em, albo zupe³nie min±³em siê z celem:-)
<P>Mam wra¿enie, ¿e pope³ni³em te¿ b³êdy merytoryczne. Nie poprawi³em ich bo nie wiem gdzie:-).
<P>S± te¿ neologizmy, które nie zosta³y konsekwentnie u¿ywane w dokumencie, np. D¼wiêkoModem.
<P>Fragmenty w skrypcie 'munge' nie s± tlumaczone poniewa¿ nale¿± do pliku i s± komentarzem autora pliku.
<P>
<DL>
<P>Zmiany w stosunku do orygina³u:
<P>
<DT><B>port 4000.</B><DD><P>Port 4000 i port 3694/tcp dla node przez inetd; autor nie by³ konsekwentny. Wybra³em port 4000.
<P>
<DT><B>odwo³ania.</B><DD><P>Odwa³anie do Net-2-HOWTO zamieni³em na NET-3-HOWTO wskazuj±c jednocze¶nie na jego polskie t³umaczenie. Zdaje siê, ¿e Net-2-howto ju¿ nie istnieje.
<P>
<DT><B>nazwisko Pana Reuger.</B><DD><P>W jednym z odwo³añ, Terry poda³ tylko imiê, a na innym miejscu równie¿ nawisko. Dla czytelno¶ci w pierwszym wypadku poda³em zarówno imiê jak i nazwisko.
<P>
<DT><B>budowa j±dra.</B><DD><P>kolejno¶æ komend budowy j±dra poprawiona, aby faktycznie dzia³alo tak, jak autor zamierzy³. cd /usr/src postawione przed mv linux linux.old. Odci±³em te¿ ¶cie¿kê od nazwy pliku ax25-utils-12.tar.gz tak, aby zadzia³a³o zgodnie z zamierzeniem autora.
</DL>
<P>
<P>
<H2>27.1 Podziêkowania.</H2>

<P>Bardzo serdecznie chcia³bym podziêkowaæ Terry'emu Dawson, ¿e napisa³ ten dokument. Dopiero przy t³umaczeniu go, zrozumia³em jaki kawa³ roboty odwali³!
<P>Chcia³bym podziêkowaæ Bartkowi Maruszewskiemu, Piotrowi Têczyñskiemu oraz Piotrowi Pogorzelskiemu za (¶wiadom± i nie ¶wiadom±) pomoc i natchnienie, aby ten dokument powsta³.
<P>Jednocze¶nie chcia³bym przypomnieæ Waldkowi Ogonowskiemu, SP2ONG, ¿e to on jest wszystkiemu winiem - zarazi³ mnie Linuxem i nie wskaza³ kliniki, gdzie sie to paskuctwo leczy:-).
<P>Oraz dziêkuje wszystkim, którzy nade¶l± poprawki, które na pewno udoskonal± to t³umaczenie.
<P>
<P>
<P>
</BODY>
</HTML>