/usr/share/doc/HOWTO/fr-html/Ethernet-HOWTO.html is in doc-linux-fr-html 2013.01-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 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.71">
<title>Linux Ethernet-Howto</title>
</head>
<body>
<h1>Linux Ethernet-Howto</h1>
<h2>par Paul Gortmaker Version française : Mathieu
Arnold</h2>
Version anglaise : v2.7, 5 mai 1999
<hr>
<em>Ceci est l'<i>Ethernet-Howto</i>, une compilation
d'informations sur les périphériques Ethernet qui
peuvent être utilisés avec Linux, et la façon
de les mettre en oeuvre. Notez que ce <i>Howto</i> se limite
à l'aspect matériel et pilotes de bas niveau des
cartes Ethernet, et ne couvre pas la partie logicielle de choses
comme <code>ifconfig</code> et <code>route</code>. Consultez le
<i>Network Howto</i> pour ce type d'informations.</em>
<hr>
<h2><a name="main-intro"></a> <a name="s1">1. Introduction</a></h2>
<p>L'<i>Ethernet-Howto</i> indique quelles cartes vous devriez ou
ne devriez pas acheter; comment les configurer, comment en utiliser
plusieurs en même temps et d'autres problèmes et
questions classiques. Il contient des informations
détaillées sur le niveau actuel du support pour
toutes les cartes Ethernet parmi les plus courantes
disponibles.</p>
<p>Il <em>ne</em> couvre <em>pas</em> l'aspect logiciel des choses,
tel qu'il est décrit dans le <i>NET-3-Howto</i>. Notez aussi
que les questions générales sur Ethernet, non
liées spécifiquement à Linux, ne sont pas
traitées dans ce document (ou du moins ne le devraient pas
l'être). Pour ce genre de questions, consultez l'excellent
ensemble d'informations de la FAQ du groupe
<code>comp.dcom.lans.ethernet</code>. Vous pouvez l'obtenir par FTP
depuis <code>rtfm.mit.edu</code> de la même manière
que vous obtenez les FAQs des autres forums.</p>
<p>La présente version couvre les noyaux de distribution
jusqu'à la version 2.2.7 incluse.</p>
<p>L'<i>Ethernet-Howto</i> est de :</p>
<blockquote>Paul Gortmaker,
<code>p_gortmaker@yahoo.com</code></blockquote>
<p>La principale source d'information pour la première
version, en ASCII pur de l'<i>Ethernet-Howto</i>
était :</p>
<blockquote>Donald J. Becker,
<code>becker@cesdis.gsfc.nasa.gov</code></blockquote>
que nous devons aussi remercier pour l'écriture de la vaste
majorité des pilotes de cartes Ethernet qui sont aujourd'hui
disponibles pour Linux. Il est aussi l'auteur du serveur NFS
originel. Merci Donald !
<p>Ce document est Copyright (c) 1993-1999 Paul Gortmaker, et
1998-1999 Mathieu Arnold pour la version française.
Consultez le désistement de responsabilité
(section <a href="#copyright">Désistement de
responsabilité et Copyright</a>) et les informations sur la
copie à la fin de ce document pour avoir plus d'informations
sur la redistribution de ce document ainsi que tout le tremblement
habituel sur 'nous ne sommes pas responsables de ce que vous pouvez
réussir a casser...'.</p>
<p>La version française est de :</p>
<blockquote>Mathieu Arnold,
<code>arn_mat@club-internet.fr</code>.</blockquote>
<h2><a name="new-doc"></a> <a name="ss1.1">1.1 Nouvelles versions
de ce document</a></h2>
<p>Les nouvelles versions de ce document peuvent être
rapatriées depuis :</p>
<blockquote><a href=
"ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/">Sunsite HOWTO
Archive</a></blockquote>
Ceci est l'emplacement officiel de ce document, il peut aussi
être récupéré depuis divers sites
miroirs WWW/FTP de Linux.
<p>(NDT : En France, vous préférerez utiliser le
site suivant pour le document originel :</p>
<p><a href="ftp://ftp.lip6.fr/pub/linux/sunsite/docs/HOWTO/">Miroir
de Sunsite</a></p>
<p>ou, mieux, la version française :</p>
<p><a href="ftp://ftp.lip6.fr/pub/linux/french/HOWTO/">Archive des
HOWTO français sur LIP6</a></p>
<p><a href=
"http://www.freenix.org/unix/linux/french/HOWTO/">Archive des HOWTO
français chez Freenix</a>)</p>
<p>Des mises à jour seront réalisées au fur et
à mesure de l'arrivée de nouvelles informations et/ou
de nouveaux pilotes. Si la copie que vous êtes en train de
lire date de plus de 6 mois, alors, vous devriez aller
vérifier qu'une nouvelle version n'est pas disponible.</p>
<p>Ce document est consultable sous divers formats (postscript,
dvi, ASCII, HTML...). Je recommanderai de consulter ce document
sous sa forme HTML (à l'aide d'un navigateur WWW) ou sa
forme Postscript/DVI. Ces deux formats contiennent des
références croisées qui ne sont pas incluses
dans le format texte ASCII.</p>
<h2><a name="using"></a> <a name="ss1.2">1.2 Ethernet-Howto, mode
d'emploi</a></h2>
<p>Comme ce guide devient de plus en plus gros, vous n'avez
certainement pas l'intention de passer la fin de votre
après-midi à le lire en entier. Et la bonne nouvelle
est que vous n'êtes pas <em>obligé(e)</em> de le lire
du tout. Les versions HTML, postscript et dvi possèdent une
table des matières qui vous permettra de trouver plus vite
l'information que vous cherchez.</p>
<p>Il y a des chances pour que vous lisiez ce document parce que
vous n'arrivez pas à faire marcher le tout, et que vous ne
savez pas quoi faire ou quoi vérifier. La prochaine
section ( <a href="#help">Au secours - Ca ne marche pas~!</a>)
est destinée aux néophytes de Linux et vous indiquera
la bonne direction.</p>
<p>Typiquement, les mêmes problèmes et les mêmes
questions sont posés <em>sans arrêt</em> par des
personnes différentes. Il y a des chances que votre
problème ou votre question spécifique soit l'une de
ces questions fréquemment posées, et qu'elle trouve
sa réponse dans la partie FAQ (NDT : Foire Aux
Questions) de ce document. (Voir <a href="#faq">La Foire Aux
Questions</a>). Tout le monde devrait y jeter un coup d'oeil avant
d'envoyer un message demandant de l'aide.</p>
<p>Si vous n'avez pas encore de carte Ethernet, vous devriez
commencer par en choisir une. (Voir <a href=
"#what-card">Quelle carte dois-je acheter...</a>)</p>
<p>Si vous avez déjà une carte Ethernet mais que vous
n'êtes pas sûr(e) de pouvoir l'utiliser avec Linux,
lisez donc la section qui contient les informations
spécifiques à chaque constructeur, et à ses
cartes. (Voir <a href="#card-intro">Informations
Spécifiques...</a>)</p>
<p>Si vous êtes intéressé(e) par l'un des
aspects techniques des pilotes de périphériques de
Linux, allez donc consulter la section <a href=
"#tech-intro">Informations Techniques</a> qui contient ces
informations.</p>
<h2><a name="help"></a> <a name="ss1.3">1.3 Au secours ! - Ca
ne marche pas !</a></h2>
<p>Bon, ne paniquez pas. Cette section va vous indiquer le chemin
à suivre pour que les choses fonctionnent, même si
vous n'avez pas de connaissances préalables sur Linux ou le
matériel Ethernet.</p>
<p>La première chose à faire est de trouver quel est
le modèle de votre carte, afin de pouvoir déterminer
si Linux dispose d'un pilote pour cette carte-là. Des cartes
différentes sont typiquement contrôlées de
façon différente par l'ordinateur qui les accueille,
et le pilote de périphérique de Linux (s'il en existe
un) contient ces informations de contrôle qui permettent
à Linux d'utiliser la carte.</p>
<p>Si vous n'avez pas de manuel ou de document de ce genre pour
vous indiquer quel est le modèle de la carte, vous pouvez
alors essayer la méthode décrite dans la
section <a href="#mystery">Identifier une carte inconnue</a>,
qui vous aidera sur les cartes mystérieuses.</p>
<p>Maintenant que vous savez quel type de carte vous avez, lisez
les détails concernant celle-ci dans la section
destinée aux cartes (section <a href=
"#card-intro">Informations Spécifiques...</a>), qui liste
par ordre alphabétique les constructeurs de carte, les
numéros de chaque carte, et précise s'il existe un
pilote pour Linux ou non. Si votre carte est indiquée comme
`Non-supportée', vous pouvez pratiquement vous arrêter
dès maintenant. Si vous ne pouvez pas trouver votre carte
dans la liste, vérifiez alors si le manuel de celle-ci ne
l'indique pas comme `compatible' avec un autre type de carte connu.
Par exemple, il existe des centaines, si ce n'est des milliers de
cartes différentes qui ont été conçues
pour être compatible avec le modèle d'origine NE2000
de Novell.</p>
<p>Supposons que vous avez trouvé un pilote sous Linux pour
votre carte, vous n'avez plus qu'à le
récupérer et à l'utiliser. Ce <em>n'est
pas</em> parce que Linux possède un pilote pour votre carte
que celui-ci est pour autant installé dans tous les noyaux.
(Le noyau est le coeur du système d'exploitation qui est
chargé en premier au démarrage et qui contient entre
autres choses, les drivers de divers périphériques).
Selon la distribution de Linux que vous utilisez, il peut n'y avoir
que très peu de noyaux tout prêts, et tout un tas de
pilotes sous la forme de modules séparés, ou il peut
y avoir tout un tas de noyaux, qui couvrent un grand nombre de
combinaisons de pilotes précompilés.</p>
<p>La majorité des distributions actuelles de linux sont
livrées avec beaucoup de petits modules qui sont les divers
pilotes. Les modules requis sont généralements
chargés lors du démarrage, ou à la demande
pour pouvoir accéder à un péripherique
particulier. Vous aurez besoin d'attacher ce module au noyau
après qu'il ait démarré. Consultez les
informations de votre distribution sur l'installation et
l'utilisation des modules, ainsi que la section sur les modules du
présent document (section <a href=
"#modules">Utilisation des pilotes Ethernet comme modules</a>).</p>
<p>Si vous n'avez pas trouvé de noyau
précompilé avec votre pilote, ni de pilote sous la
forme d'un module, il y a des chances pour que vous ayez une carte
particulièrement peu banale, et vous allez être
obligé(e) de construire votre propre noyau en incluant ce
pilote. Une fois que Linux est installé, construire un noyau
personnalisé n'est pas difficile du tout. Vous
répondez essentiellement oui ou non à ce que vous
souhaitez que le noyau comprenne, et ensuite vous lui dites de le
construire. Il existe un <i>Kernel-HowTo</i> qui vous aidera dans
cette opération.</p>
<p>(NDT : et sa version française, accessible sur</p>
<p><a href=
"ftp://ftp.lip6.fr/pub/linux/french/HOWTO/Kernel-HOWTO">Traduction
du Kernel-Howto</a>)</p>
<p>Arrivé à ce point, vous devriez être parvenu
d'une façon ou d'une autre à démarrer un noyau
avec votre pilote intégré, ou à charger ce
pilote comme un module. A peu près la moitié des
problèmes que les gens rencontrent est liée au fait
que le pilote n'a pas été chargé d'une
manière ou de l'autre, donc vous devriez constater que tout
fonctionne, maintenant.</p>
<p>Si cela ne fonctionne toujours pas, il vous faut alors
vérifier si le noyau a bel et bien détecté la
carte. Pour ce faire, vous devez taper <code>dmesg | more</code>
une fois loggé, après que le système a
démarré et que tous les modules ont été
chargés. Cela vous permettra de consulter les messages que
le noyau a fait défiler sur l'écran durant le
processus de démarrage. Si la carte a été
détectée, vous devriez voir quelque part dans cette
liste un message du pilote de votre carte commençant par
<code>eth0</code>, et indiquant le nom du pilote et les
paramètres matériels (réglage d'interruption
(IRQ), de ports d'entrée-sorties (E/S), etc.) pour lesquels
la carte est réglée. (Note : lors du boot, le
noyau de Linux donne la liste de toutes les cartes PCI, qu'il ait
le pilote ou non - ne le confondez pas avec la détection des
pilotes qui intervient après !)</p>
<p>Si vous ne voyez pas de message d'identification de ce type,
alors le pilote n'a pas détecté votre carte, et c'est
pour cela que cela ne fonctionne pas. Consultez la FAQ
(section <a href="#faq">La Foire Aux Questions</a>) pour
savoir quoi faire si votre carte n'est pas détectée.
Si vous avez une carte compatible NE2000, vous y trouverez aussi
des astuces spécifiques pour faire détecter une
NE2000.</p>
<p>Si la carte a été détectée, mais que
le message de détection indique une quelconque erreur, telle
qu'un conflit de ressources, alors le pilote ne s'est probablement
pas correctement initialisé et la carte n'est toujours pas
utilisable. La plupart des messages d'erreur de ce type sont eux
aussi listés dans la FAQ, ainsi que leur solution.</p>
<p>Si le message de détection paraît correct,
vérifiez de nouveau les ressources indiquées par le
pilote en les comparant avec celles pour lesquelles la carte est
physiquement configurée (soit à l'aide de petits
`cavaliers' noirs sur la carte, soit par un logiciel utilitaire
fourni avec la carte par son constructeur). Les ressources doivent
correspondre exactement. Par exemple, si votre carte est
configurée (physiquement ou par logiciel) pour utiliser
l'IRQ 15 et que le pilote indique IRQ 10 dans les
messages de démarrage, quelque chose ne va pas. La FAQ
évoque les cas les plus courants où un pilote ne
détecte pas correctement les informations de configuration
de diverses cartes.</p>
<p>A ce stade, vous êtes arrivé(e) à faire
détecter votre carte avec tous les paramètres
corrects, et l'on peut espérer que tout fonctionne. Si ce
n'est pas le cas, vous avez alors soit une erreur de configuration
logicielle, soit une erreur de configuration matérielle. Une
erreur de configuration logicielle serait de ne pas avoir
configuré la bonne adresse de réseau pour l'une des
commandes <code>ifconfig</code> ou <code>route</code> (ou les
deux !); la manière de procéder est
décrite en détail dans le <i>Network HowTo</i>
et le `Guide de l'Administrateur Réseau' (`<i>Network
Administrator's Guide</i>' (NAG) en anglais) qui se trouvent
certainement tous les deux sur le CD-ROM d'installation.</p>
<p>Une erreur de configuration matérielle se produit quand
un type de conflit de ressources ou une mauvaise configuration (que
le pilote n'a pas détecté au démarrage)
empêche la carte de fonctionner correctement. Vous pouvez
typiquement observer cela sous plusieurs formes différentes.
(1) Vous obtenez un message d'erreur lorsque
<code>ifconfig</code> essaie d'ouvrir le périphérique
pour l'utiliser, du genre ``<code>SIOCSFFLAGS: Try again</code>''.
(2) Le pilote indique des messages d'erreur sur
<code>eth0</code> (que vous pouvez voir avec <code>dmesg |
more</code>) ou des incohérences étranges à
chaque fois qu'il essaie d'envoyer ou de recevoir des
données. (3) Le fait de taper <code>cat
/proc/net/dev</code> donne un nombre non nul dans l'une des
colonnes <code>errs</code>, <code>drop</code>, <code>fifo</code>,
<code>frame</code> ou <code>carrier</code> pour <code>eth0</code>.
(4) Taper <code>cat /proc/interrupts</code> donne un nombre
d'interruptions égal à zéro pour la carte. La
plupart des erreurs de configuration matérielle typiques
sont elles aussi abordées dans la FAQ.</p>
<p>Eh bien, si vous êtes parvenu à ce point et que
cela ne marche toujours pas, lisez la section FAQ de ce document,
voyez le paragraphe spécifique à votre carte dans la
section ``Informations Spécifiques..'', <em>et si cela ne
fonctionne toujours pas</em> alors vous pourrez recourir à
un envoi de message dans un groupe de <i>news</i> approprié
pour demander de l'aide. Si vous devez poster un message, veuillez
détailler toute information intéressante dans ce
message, comme la marque de la carte, la version du noyau, les
messages du pilote au démarrage, le résultat de
<code>cat /proc/net/dev</code>, une description claire du
problème, et bien entendu ce que vous avez
déjà essayé en vue de faire fonctionner
l'ensemble.</p>
<p>Vous serez surpris de voir le nombre de personnes qui envoient
des choses totalement inutiles comme ``Est-ce que quelqu'un peut
m'aider ? Mon Ethernet ne fonctionne pas.'' et rien d'autre.
Les lecteurs des groupes de news ont tendance à ignorer des
messages aussi idiots, alors qu'une description
détaillée et instructive du problème pourra
permettre à un `gourou-Linux' de résoudre tout de
suite votre problème.</p>
<h2><a name="what-card"></a> <a name="s2">2. Quelle carte dois-je
acheter pour Linux ?</a></h2>
<p>La réponse à cette question dépend
fortement de ce que vous comptez faire avec votre connexion
réseau, et du volume du trafic qui va y passer.</p>
<p>Si vous vous attendez à ce qu'un seul utilisateur
effectue occasionnellement une session FTP ou une connexion WWW,
alors même une vieille carte ISA 8 bits vous contentera
probablement.</p>
<p>Si vous avez l'intention de mettre en place un serveur, et que
vous exigez que la charge processeur liée à la
réception et à la transmission des données sur
le réseau reste la plus basse possible, vous devrez
certainement choisir une des cartes PCI, qui utilisent le
bus-mastering, telles celles comportant la puce tulip (21xxx) de
DEC, ou la puce PCnet-PCI d'AMD.</p>
<p>Si vous vous trouvez au milieu de ces deux extrêmes, alors
n'importe quelle carte PCI bon marché ou une carte ISA
16 bits possédant un pilote stable vous conviendra.</p>
<h2><a name="ss2.1">2.1 Quels sont les pilotes stables,
alors ?</a></h2>
<p>Parmi les cartes ISA 16 bits, les pilotes suivants sont
très au point, et vous ne devriez pas avoir de
problèmes si vous achetez une carte qui utilise ces
pilotes :</p>
<blockquote>SMC-Ultra/EtherEZ, SMC-Elite (WD80x3), 3c509, Lance,
NE2000.</blockquote>
<p>Cela ne signifie pas que tous les autres pilotes sont instables.
Il se trouve juste que ceux-ci sont les plus anciens et les plus
utilisés des pilotes Linux, ce qui en fait le choix le plus
sûr.</p>
<p>Notez que certaines cartes-mères pas chères
peuvent avoir des problèmes avec le bus-mastering que les
cartes ISA Lance utilisent, et que certains clones NE2000 bon
marché ont des difficultés à être
détectés au démarrage.</p>
<p>Les pilotes PCI les plus couramment utilisés sous Linux
sont probablement le 3Com Vortex/Boomerang (3c59x/3c9xx), le DEC
tulip (21xxx), et l'EtherExpressPro 100 d'Intel. Les divers clones
PCI-NE2000 sont également très courants, mais l'achat
d'une telle carte ne peut se justifier que si le critère du
prix est plus important que celui des performances.</p>
<h2><a name="8-vs-16"></a> <a name="ss2.2">2.2 Cartes 8 bits
contre cartes 16 bits</a></h2>
<p>Vous ne pourrez certainement plus acheter une carte Ethernet ISA
8 bits de nos jours, mais vous en trouverez encore beaucoup
dans les années à venir sur les marchés aux
puces informatiques ou autres braderies, et ce à des prix
vraiment très bas. Cela les rend idéales pour les
systèmes ``Ethernet-à-la-maison''. cette constatation
est d'ailleurs aussi valable pour les cartes ISA 16 bits car
les cartes PCI deviennent de plus en plus communes.</p>
<p>La wd8003, la 3c503 et la ne1000 sont des cartes 8 bits qui
donneront de bonnes performances pour une utilisation faible
à modérée. La 3c501 donnera des
résultats faibles, et ces reliques antédiluviennes
(12 ans !) des beaux jours du XT sont à
éviter. (Envoyez les a Alan, il les collectionne...)</p>
<p>Le canal de données 8 bits n'atténue pas trop
les performances, puisque vous pouvez encore espérer obtenir
500 à 800 Ko/s en vitesse de transfert FTP pour une
carte 8 bits wd8003 (sur un bus ISA rapide) à partir
d'un serveur rapide. Et si la plupart de votre trafic réseau
est à destination de sites éloignés, le goulot
d'étranglement se situera ailleurs sur le chemin, la seule
différence de vitesse que vous noterez se produisant
lorsqu'il y a de l'activité sur votre réseau
local.</p>
<h2><a name="ss2.3">2.3 Cartes 32 bits (VLB/EISA/PCI)</a></h2>
<p>Notez qu'un réseau à 10 Mbps ne justifie pas
l'utilisation d'une interface 32 bits. Consultez
<a href="#data-xfer">E/S programmées contre...</a>, qui
explique pourquoi avoir une carte Ethernet 10 Mbit/s sur un
bus ISA à 8 MHz ne constitue vraiment pas un goulot
d'étranglement. Même si le fait que la carte Ethernet
se trouve sur un bus rapide ne signifie pas que les transferts sont
plus rapides, cela entraînera souvent une charge processeur
supplémentaire moins importante, ce qui est bon pour les
systèmes multi-utilisateurs.</p>
<p>Bien sûr, avec la démocratisation des
réseaux 100 Mbps, les cartes 32 bits deviennent
une obligation pour pouvoir tirer avantage de toute la bande
passante. AMD propose les puces 32 bits PCnet-VLB et
PCnet-PCI. Consultez <a href="#pcnet-32">AMD PCnet-32</a>
pour plus d'informations sur la version 32 bits de la puce
LANCE / PCnet-ISA.</p>
<p>La puce tulip (21xxx) PCI de DEC est une autre option
(voir <a href="#dec-21040">DEC 21040</a>) pour les
utilisateurs de puissance. De nombreux fabricants proposent des
cartes basées sur cette puce, et les prix de ces cartes
``sans-nom'' sont généralement bas.</p>
<p>Les cartes PCI `Vortex' et `Boomerang' de 3Com constituent aussi
une autre option, et le prix reste correct si vous pouvez en
obtenir une tant que leur proposition d'évaluation dure.
(voir <a href="#vortex">3c590/3c595</a>)</p>
<p>Les cartes EtherExpress Pro 10/100 PCI d'Intel sont aussi
connues pour marcher plutôt bien avec Linux. (voir <a href=
"#eepro100">EtherExpress</a>).</p>
<p>Des fabricants de clones ont commencé à produire
des clones PCI de NE2000, basés sur une puce RealTek ou une
puce Winbond. Le pilote Linux NE2000 des noyaux 2.0.31 et
supérieurs accepte ces cartes. Cependant vous ne
bénéficierez que de la vitesse plus
élevée du bus, puisque ces cartes utiliseront encore
l'interface du pilote de la NE2000, qui commence à dater.
Depuis la version 2.0.34 du noyau, un pilote specifique à
ces cartes <code>ne2k-pci.c</code> est aussi disponible. Il devrait
être légerement plus efficace que le pilote ISA
<code>ne.c</code></p>
<h2><a name="ss2.4">2.4 Cartes et pilotes 100 M
disponibles</a></h2>
<p>La liste des matériels 100 M reconnus par Linux
à l'heure actuelle est la suivante : les cartes
basées sur la puce DEC 21140; les cartes
3c595/3c90x Vortex; la EtherExpressPro10/100B; la PCnet-FAST;
la SMC 83c170 (epic100) et la HP 100VG ANY-LAN.</p>
<p>Allez aussi jeter un coup d'oeil sur les pages des constructeurs
des cartes, vous pouvez aussi aller sur l'une des adresse
suivantes :</p>
<blockquote><a href=
"http://cesdis.gsfc.nasa.gov/linux/misc/100mbs.html">Ethernet
100M</a></blockquote>
<blockquote><a href=
"http://cesdis.gsfc.nasa.gov/linux/drivers/100vg.html">La page
100VG de Donald</a></blockquote>
<blockquote><a href="http://alumni.caltech.edu/~dank/fe/">La page
Fast Ethernet de Dan Kegel</a></blockquote>
<h2><a name="ss2.5">2.5 100VG contre 100BaseT</a></h2>
<p>Le 100BaseT est beaucoup plus répandu que le 100VG et la
plaquette publicitaire suivante est extraite d'un vieux message
désespérement bourré d'informations
posté par Donald dans <code>comp.os.linux</code>; elle
résume bien la situation:</p>
<p>``Pour ceux qui ne seraient pas au courant, il y a deux normes
Ethernet en compétition, le 100VG (aussi connu sous le nom
de 100baseVG ou encore 100VG-AnyLAN) et le 100baseT (qui, selon le
type du câble, s'appelle 100bastTx, 100baseT4 ou
100baseFx).</p>
<p>Le 100VG est arrivé sur le marché le premier, et
je sentais qu'il était mieux pensé que le 100baseTx.
J'étais persuadé qu'il allait gagner, mais
visiblement ce ne sera pas le cas. HP et al. ont fait plusieurs
mauvais choix :</p>
<p>1) Retarder la norme de manière à ce qu'ils
puissent être compatibles avec IBM et accepter les trames
Token Ring. Cela `semblait une bonne idée à
l'époque', puisque cela aurait permis aux installations
Token Ring de se mettre à jour sans devoir faire admettre
aux décideurs qu'ils avaient fait une énorme bourde
en s'alliant avec la mauvaise technologie. Mais il n'y avait rien
à gagner, parce que les deux types de trames ne peuvent pas
coexister sur un réseau, parce que Token Ring est un monstre
de complexité , et que IBM a quand même adopté
100baseT pour finir.</p>
<p>2) Ne produire que des cartes ISA et EISA. (Un modèle PCI
n'a été annoncé que récemment.) Le bus
ISA est trop lent pour 100 M, et relativement peu de machines
EISA existent. A l'époque VLB était classique,
rapide, et économique, PCI restant un choix viable. Mais la
sagesse des ``anciens'' disait que les serveurs continueraient
d'utiliser le bus EISA hors de prix.</p>
<p>3) Ne pas m'envoyer une documentation. Oui, cela a
été la raison réelle du déclin du 100VG
:-). J'ai appelé partout pour obtenir des infos de
programmation, et tout ce que j'ai pu obtenir a été
une brochure de quelques pages sur papier glacé de AT&T
décrivant combien le jeu de puce Regatta était
merveilleux.''</p>
<p>(NDT : ``La norme 100 BAS VG - any LAN
proposée par HP (...) ne reprend pas le principe du
protocole Ethernet mais utilise le principe du <i>polling</i>.
L'utilisation du mot Ethernet a donc ici plutôt une vocation
commerciale. Il faut changer les coupleurs dans les stations de
travail. Toutefois, on conserve les principaux systèmes de
câblage.'' (Pierre Rolin, <i>in</i> ``Réseaux haut
débit'', Hermès, 1995). Fin 1997 plus personne
ne parle de 100VG.</p>
<p>La norme 100baseT4 utilise un câblage catégorie
3 et 4, 100baseTx un câblage
catégorie 5, 100baseFx de la fibre optique.)</p>
<h2><a name="cable-intro"></a> <a name="ss2.6">2.6 Les types de
câbles que votre carte peut accepter</a></h2>
<p>Si vous mettez en place un petit réseau ``personnel'',
vous préférerez certainement utiliser le ``thinnet''
ou câble Ethernet fin. C'est le modèle avec les
connecteurs BNC standards. Le câblage `thinnet', ou
Ethernet fin (câble coaxial RG-58) avec les connecteur
BNC (en métal, à enfoncer puis tourner pour
verrouiller) est appelé techniquement 10Base2.</p>
<p>La plupart des cartes Ethernet possèdent aussi une
version `Combo' qui ne coûte que 60 à 150
francs de plus. (NDT : Amusant comme les écarts de prix
en dollars se convertissent en écarts de prix en
francs ! La version anglaise dit ``10 à 20 dollars de
plus''. Ces écarts de prix sont vrais fin 97.)</p>
<p>Ces versions `Combo' possèdent les deux interfaces paire
torsadée et Ethernet fin intégrées, ce qui
vous permet de changer d'avis plus tard.(NDT : `Combo'
signigie même souvent : interface RJ-45 (10baseT, paire
torsadée) + interface BNC (10base2, thinnet) + interface AUI
(pour <i>transceiver</i> ou câble de descente (drop-cable)
gros Ethernet).)</p>
<p>Les câbles à paires torsadées, avec les
connecteurs RJ-45 (rectangulaires un peu plus grande que les
prises `téléphone') sont appelés techniquement
10BaseT. Vous pourrez aussi entendre parler de UTP (Unshielded
Twisted Pair, paire torsadée non-écrantée ou
non-blindée, NDT).</p>
<p>Le vieil Ethernet `épais' (Thick Ethernet, sur
câble coaxial de 10 mm) ne se trouve plus que dans les
installations anciennes et est appelé 10Base5. La prise
en forme de D avec 15 broches présente sur quelques cartes
Ethernet (connecteur AUI) est utilisée pour connecter de
l'ethernet épais et des transceivers externes.</p>
<p>Les grandes installations professionnelles utiliseront le plus
souvent du 10BaseT au lieu de 10Base2. 10Base2 n'offre
pas de moyen pour passer au 100 Mbit/s, quel que soit le nom
qu'on leur donne.</p>
<p>(NDT : Professionnellement parlant, en dehors de la fibre
optique qui est encore hors de prix jusqu'à la machine de
l'utilisateur, les nouveaux câblages devraient être
réalisés en ``Catégorie 5, classe D''. Ce type
de câblage supporte non seulement 10BaseT, mais aussi
100BaseT et les nouveaux débits qui apparaissent.</p>
<p>Pour la maison, vous choisirez entre Ethernet fin (simple et pas
cher) et une connectique style RJ-45 (un peu moins simple, un
peu plus cher, mais plus `propre' électriquement parlant)
selon vos envies et votre budget !</p>
<p>Référez vous a <a href="#cable">Cables,
Coax...</a> pour plus de détails sur les différents
types de cables.</p>
<h2><a name="faq"></a> <a name="s3">3. Foire Aux Questions (FAQ) -
Les questions fréquemment posées</a></h2>
<p>Voici quelques unes des questions les plus fréquemment
posées à propos de l'utilisation de Linux avec une
connexion Ethernet. Certaines des questions les plus
spécifiques sont triées `par ordre de constructeur'.
Il y a de fortes chances pour que la question que vous voulez poser
l'ai déjà été, et aie
déjà une réponse. Donc, si jamais vous ne
trouvez pas la réponse ici, vous le trouverez certainement
sur une archive de newsgroups comme : <a href=
"http://www.deja.com">Dejanews</a>.</p>
<h2><a name="alfa"></a> <a name="ss3.1">3.1 Les pilotes `Alpha' --
Comment les obtenir et comment s'en servir</a></h2>
<p>J'ai entendu dire qu'il y avait une version mise-à-jour
ou un pilote préliminaire/alpha disponible pour ma carte.
Où puis-je l'obtenir ?</p>
<p>Les plus récents des `nouveaux' pilotes peuvent
être trouvés sur le site FTP de Donald :
<code>cesdis.gsfc.nasa.gov</code> dans la partie
<code>/pub/linux/</code>. Les choses y changent fréquemment,
donc jetez-y un coup d'oeil de temps à autre. Vous pourrez
préférer utiliser un navigateur WWW sur :</p>
<blockquote><a href="http://cesdis.gsfc.nasa.gov/linux/">La page
Linux de Don</a></blockquote>
pour localiser le pilote que vous cherchez. (Prenez garde aux
navigateurs WWW qui modifient le source sans rien dire en
remplaçant les tabulations par des espaces, etc. - si vous
n'êtes pas sûr(e), utilisez ftp, ou au moins une URL
FTP, pour le chargement.)
<p>Maintenant, s'il s'agit réellement d'un pilote alpha,
voire pré-alpha, s'il vous plaît considérez-le
comme tel ! En d'autres termes, ne vous plaignez pas parce que
vous n'arrivez pas à comprendre ce que vous devez en faire.
Si vous ne savez pas comment l'installer, alors vous ne devriez
certainement pas être en train de le tester. De même,
s'il plante votre machine, ne vous plaignez pas. Au lieu de cela,
envoyez-nous un rapport détaillé sur le
problème, ou même mieux, un patch !</p>
<p>Notez que certains des pilotes expérimentaux ou alpha
`utilisables' sont inclus dans l'arborescence standard du noyau.
Lorsque vous exécutez <code>make config</code>, l'une des
premières choses qui vous sera demandée est si vous
souhaitez être interrogé(e) sur les pilotes en cours
de développement (``Prompt for development and/or incomplete
code/drivers''). Vous devrez répondre ``Y'' (pour
`<i>Yes</i>', `Oui') à cette question si vous souhaitez
être interrogé(e) sur l'inclusion d'un pilote alpha ou
expérimental.</p>
<h2><a name="two-card"></a> <a name="ss3.2">3.2 Utiliser plus d'une
carte Ethernet par machine</a></h2>
<p>Que faut-il faire pour que Linux puisse gérer deux cartes
Ethernet ?</p>
<p>La réponse à cette question est différente
selon que les pilotes ont été compilés
directement dans le noyau ou en tant que modules. De nos jours, la
majorité des distributions utilisent des pilotes sous forme
de modules. Ceci permet de ne pas avoir à fournir une tonne
de noyaux chacun ayant un jeu de pilotes spécifique. A la
place, un petit noyau de base est utilisé et les pilotes
sont tous compilés en modules, ces modules étant
chargés à la demande dès que le système
est allé assez loin dans son démarrage pour
accéder aux modules (habituellement dans
<code>/lib/modules/</code>).</p>
<p><em>Avec le pilote chargé en module :</em> Dans le
cas de pilotes PCI, le module détectera normalement toutes
les cartes de même type d'un seul coup. Cependant, pour les
cartes ISA, la détection automatique n'est pas une
opération qui marche à coup sûr, et vous aurez
très certainement à fournir les adresses
d'entrée/sortie de base de la carte pour que le module sache
où regarder. Ces informations sont placées dans le
fichier <code>/etc/conf.modules</code>.</p>
<p>Par exemple, supposez qu'un utilisateur ait deux cartes ISA
NE2000, une à <code>Ox300</code> et l'autre à
<code>0x240</code>, il aura les lignes suivantes dans son
<code>/etc/conf.modules</code> :</p>
<pre>
alias eth0 ne
alias eth1 ne
options ne io=0x240,0x300
</pre>
<p>Explication : cela dit que si l'administrateur (ou le
noyau) fait un <code>modprobe eth0</code> ou un <code>modprobe
eth1</code>, alors le pilote <code>ne.o</code> devra être
chargé pour <code>eth0</code> et <code>eth1</code>. De plus,
quand le module se chargera, il le sera avec comme options
<code>io=0x240,0x300</code>. Ainsi, le pilote saura où aller
chercher les cartes. Notez que le <code>0x</code> est important,
des trucs comme <code>300h</code> couramment utilisés dans
le monde DOS ne marcheront pas. Le fait d'inverser
<code>0x240</code> et <code>0x300</code> aura pour effet d'inverser
physiquement <code>eth0</code> et <code>eth1</code>.</p>
<p>La majorité des pilotes ISA peuvent prendre plusieurs
valeurs d'entrée/sortie séparées par des
virgules comme dans cet exemple pour prendre en charge plusieurs
cartes. Cependant, certains pilotes (plus anciens ?), tels que
le module <code>3c501.o</code> sont pour l'instant incapables de
gérer plus d'une carte par chargement du module. Dans ce
cas, vous pouvez charger le module deux fois pour avoir les deux
cartes détectées. Votre
<code>/etc/conf.modules</code> ressemblerait alors
à :</p>
<pre>
alias eth0 3c501
alias eth1 3c501
options eth0 -o 3c501-0 io=0x280 irq=5
options eth1 -o 3c501-1 io=0x300 irq=7
</pre>
<p>Dans cet exemple, l'option <code>-o</code> a été
utilisée pour donner à chaque instance du module un
nom unique, puisqu'il n'est pas possible d'avoir deux modules ayant
le même nom. L'option <code>irq=</code> a également
été utilisée, pour indiquer l'interruption
materielle de la carte. (Cette méthode peut aussi être
utilisée pour les modules qui gèrent les listes
d'adresses d'entrée/sortie, bien qu'elle soit moins
efficace, car on se retrouve avec le module chargé deux fois
alors que cela n'est pas nécessaire.)</p>
<p>Pour finir, voici un exemple avec une carte 3c503 à
<code>0x350</code> et une SMC Elite16 (wd8013) à
<code>0x280</code>. Vous auriez :</p>
<pre>
alias eth0 wd
alias eth1 3c503
options wd io=0x280
options 3c503 io=0x350
</pre>
<p>Pour les cartes PCI, vous avez juste besoin des lignes
<code>alias</code> pour associer les interface <code>ethN</code>
aux pilotes correspondants, puisque les adresses
d'entrée/sortie des cartes PCI sont automatiquement
détectées.</p>
<p>Les modules disponibles sont généralements
situés dans le répertoire <code>/lib/modules/`uname
-r`/net</code> où la commande <code>uname -r</code> retourne
la version du noyau (ex : 2.0.34). Vous pouvez aller y faire
un tour pour voir ceux qui sont faits pour votre carte. Puis,
lorsque vous aurez les bons paramètres dans votre
<code>/etc/conf.modules</code>, il ne vous reste plus qu'à
tester avec la commande :</p>
<pre>
modprobe ethN
dmesg | tail
</pre>
<p>Où N est le numéro de l'interface que vous
testez.</p>
<p><em>Avec le pilote compilé dans le noyau :</em> Si
vous avez le pilote compilé dans le noyau, alors, voici tout
ce qu'il faut savoir pour utiliser plusieurs cartes Ethernet.
Toutefois, notez que pour le moment, seulement <em>une</em> carte
Ethernet est détectée automatiquement par
défaut. Cela contribue à éviter des blocages
possibles au moment du démarrage, causés par la
détection de cartes `sensibles'.</p>
<p>(Note : Depuis les derniers noyaux 2.1, la détection
des périphériques a été
découpée en deux parties, celle qui est sûre,
et celle qui ne l'est pas . Par conséquent, tout ce qui est
sûr (ex : PCI et EISA) sera détecté de
manière automatique. Les systèmes avec plus d'une
carte dont une sur un port ISA nécessiteront toujours la
procédure suivante.)</p>
<p>Vous pouvez activer la détection automatique de la
deuxième (et de la troisième, et de...) carte de deux
façons différentes.</p>
<p>La méthode la plus simple consiste à passer des
arguments au noyau au moment du démarrage, ce qui est
généralement fait par LILO. La détection de la
deuxième carte peut être obtenue en utilisant un
argument de démarrage aussi simple que
<code>ether=0,0,eth1</code>. Dans ce cas, <code>eth0</code> et
<code>eth1</code> seront affectés dans l'ordre dans lequel
les cartes seront trouvées dans cet ordre au
démarrage. Par contre, si vous souhaitez que la carte sur le
port <code>0x300</code> soit <code>eth0</code> et que la
carte sur le port <code>0x280</code>
soit <code>eth1</code>, vous pourrez utiliser</p>
<blockquote><code>LILO: linux ether=5,0x300,eth0
ether=15,0x280,eth1</code></blockquote>
<p>La commande <code>ether=</code> accepte plus d'informations
que le numéro d'IRQ + le port d'E/S + le nom
qui sont montrés ci-dessus. Veuillez consulter
<a href="#lilo">Passage des arguments Ethernet...</a> pour la
syntaxe complète, les paramètres spécifiques
à chaque carte, et des astuces pour LILO.</p>
<p>Ces arguments de démarrage peuvent être rendus
permanents afin de ne pas devoir les ré-entrer à
chaque fois. Consultez la documentation sur l'option de
configuration `<code>append</code>' de LILO.</p>
<p>La seconde méthode (non recommandée) est
d'éditer le fichier <code>Space.c</code> et de remplacer la
valeur <code>0xffe0</code> pour l'adresse d'entrée-sortie
par un zéro. La valeur <code>0xffe0</code> indique au noyau
qu'il ne doit pas essayer de détecter ce
périphérique -- la remplacer par un zéro
autorisera l'auto-détection du
périphérique.</p>
<p>Notez que si vous avez l'intention d'utiliser Linux sur une
machine qui servira de passerelle entre deux réseaux, vous
devrez recompiler un noyau avec l'option ``IP forwarding''.
Mais généralement un vieil AT/286 avec quelque chose
comme le logiciel `kbridge' est une meilleure solution.</p>
<p>Si vous consultez ce document tout en <i>surfant</i> sur le
réseau, vous pourrez jeter un coup d'oeil à un
<i>mini-HOWTO</i> que Donald a sur son site WWW.
Consultez :</p>
<blockquote><a href=
"http://cesdis.gsfc.nasa.gov/linux/misc/multicard.html">Plusieurs
Cartes Ethernet</a>.</blockquote>
<h2><a name="ss3.3">3.3 le <code>ether=</code> n'a rien
changé. Pourquoi ?</a></h2>
<p>Comme il a été dit précédemment, la
commande <code>ether=</code> ne marche <em>que</em> pour les
pilotes qui ont été compilés dans le noyau.
Maintenant, la majorité des distributions utilisent les
pilotes dans leur forme modulaire, ce qui fait que la commande
<code>ether=</code> n'est plus guère utilisée.
(Certaines vieilles documentations ont peut-être encore
à être mises à jour pour refléter ce
changement.) Si vous voulez passer des options à un pilote
modulaire vous <em>devez</em> faire les changements dans le fichier
<code>/etc/conf.modules</code>.</p>
<p>Si vous utilisez un pilote compilé dans le noyau et avez
ajouté la ligne <code>ether=</code> à votre fichier
de configuration LILO, notez qu'il ne sera pris en compte que
lorsque vous relancerez <code>lilo</code> pour mettre à jour
les informations.</p>
<h2><a name="ne2k-probs"></a> <a name="ss3.4">3.4 Problèmes
avec les cartes NE1000 / NE2000 (et leurs clones)</a></h2>
<p><b>Problème :</b> Une carte PCI clone NE2000 n'est
pas détectée au démarrage avec un noyau
2.0.x.</p>
<p><b>Raison :</b> Le pilote <code>ne.c</code> jusqu'à
la version 2.0.30 ne connaît que le numéro
d'identification PCI des cartes clones basées sur la puce
8029 de RealTek. Comme depuis beaucoup d'autres ont eux aussi fait
des cartes PCI clones NE2000, avec des numéro
d'identification PCI différents, le pilote ne les
détecte pas.</p>
<p><b>Solution :</b> La solution la plus simple est de mettre
à jour votre noyau pour une version 2.0.31 (ou plus
récente). Cette dernière connaît les
identificateurs de près de cinq puces NE2000 PCI
différentes, et les détectera automatiquement au
démarrage ou lors du chargement en module. Si vous passez
à la version 2.0.34 (ou plus récente) du noyau, vous
aurez un pilote spécifique aux cartes NE2000 PCI, qui est un
peu plus léger et plus rapide que le pilote ISA/PCI.</p>
<p><b>Problème :</b> Ma carte PCI clone NE2000 est
indiquée comme étant une NE1000 (une carte
8 bits !) au démarrage ou lorsque je charge le
module <code>ne.o</code> sous 2.0.x, et par conséquent la
carte ne fonctionne pas.</p>
<p><b>Raison :</b> Certains clones PCI n'implémentent
pas l'accès de largeur un octet (et par conséquent ne
sont donc pas réellement compatibles NE2000 à 100%).
Cela entraîne que la procédure de détection
pense qu'il s'agit de cartes NE1000.</p>
<p><b>Solution :</b> Vous devez passer à la version
2.0.31 (ou une version plus récente) comme dit ci-dessus. Le
pilote vérifie maintenant si ce bug matériel est
là.</p>
<p><b>Problème :</b> Ma carte NE2000 PCI a des
performances affreuses, même en réduisant la taille de
la fenêtre comme il est décrit dans la section sur les
trucs pour les performances.</p>
<p><b>Raison :</b> Les spécifications de la
puce 8390 originelle, conçue et vendue il y a plus de
dix ans, notaient qu'une opération de lecture (depuis la
puce) était nécessaire avant chaque opération
d'écriture pour avoir une sécurité maximale.
Le pilote possède la fonctionnalité pour le faire
mais cela a été désactivé par
défaut depuis l'époque des versions 1.2 du noyau. Un
utilisateur a indiqué que le fait de réactiver cette
`contre-fonctionnalité' avait aidé à
améliorer les performances sur une carte PCI clone de NE2000
bon marché.</p>
<p><b>Solution :</b> Puisque cela n'a été
rapporté comme solution que par une seule personne, ne vous
échauffez pas trop. Pour ré-activer le correctif de
`lecture avant écriture', il suffit d'éditer le
fichier du pilote dans <code>linux/drivers/net/</code>, d'enlever
les commentaires qui entourent la ligne contenant
<code>NE_RW_BUGFIX</code> puis de reconstruire le noyau ou le
module selon le cas. Merci d'envoyer un courrier décrivant
la différence de performance et le type de carte / de
puce que vous avez, si cela vous a aidé. (la même
chose peut être effectuée sur le fichier
<code>ne2k-pci.c</code> également).</p>
<p><b>Problème :</b> Le pilote <code>ne2k-pci.c</code>
donne un message d'erreur ressemblant a <code>timeout waiting for
Tx RDC</code> avec une carte NE2000 PCI et ne marche pas.</p>
<p><b>Raison :</b> Votre carte et/ou le lien vers le bus PCI
ne sait pas gérer les optimisations d'E/S du pilote.</p>
<p><b>Solution :</b> Tout d'abord, vérifiez les
réglages de votre BIOS pour voir si vous avez un
réglage de timing du bus PCI trop agressif pour des
opérations stables. Sinon, vous pouvez utiliser le pilote
ISA/PCI <code>ne.c</code> (ou commenter la ligne <code>#define
USE_LONGIO</code> du <code>ne2k-pci.c</code>), ce qui vous
permettrait d'utiliser la carte.</p>
<p><b>Problème :</b> Ma carte ISA Plug and Play NE2000
(telle que la RealTek 8019) n'est pas détectée.</p>
<p><b>Raison :</b> A l'origine, les spécifications de
NE2000 (et par conséquent le pilote linux NE2000) ne
supportent pas le PnP.</p>
<p><b>Solution :</b> Utilisez la disquette de configuration
DOS qui est fournie avec la carte pour désactiver le PnP, et
pour régler les adresses d'entrée/sortie et l'IRQ.
Ajoutez une ligne au <code>/etc/conf.modules</code> telle
<code>options ne io=0xNNN</code> ou <code>0xNNN</code> est
l'adresse d'entrée/sortie en hexadecimal. (Ceci suppose
l'utilisation des modules, si tel n'est pas le cas, utilisez une
commande telle <code>ether=0,0xNNN,eth0</code> lors du boot). Vous
aurez peut être aussi a configurer cette irq dans le BIOS
pour qu'elle ne soit pas affectée à une carte PnP.
D'un autre côté, si vous devez laisser le PnP pour
rester compatible avec un autre système d'exploitation,
allez regarder le paquetage <em>isapnptools</em>. Essayez <code>man
isapnp</code> pour voir si il n'est pas déjà
installé sur votre système. S'il ne l'est pas, allez
jeter un coup d'oeil à l'URL :</p>
<p><a href="http://www.roestock.demon.co.uk/isapnptools/">ISA PNP
Tools</a></p>
<p><b>Problème :</b> Le pilote NE*000 indique
`<code>not found (no reset ack)</code>' (carte non trouvée,
pas d'acquittement de la réinitialisation) pendant la
procédure de détection au démarrage.</p>
<p><b>Raison :</b> Cela est lié au changement
précédent. Après la vérification
initiale qu'une 8390 se trouve à l'adresse d'E/S
testée, la réinitialisation est effectuée.
Quand la carte a terminé sa réinitialisation, elle
est supposée envoyer un acquittement indiquant que la
réinitialisation s'est achevée. Votre carte ne l'a
pas fait, et le pilote estime donc qu'aucune carte NE n'est
présente.</p>
<p><b>Solution :</b> Vous pouvez indiquer au pilote que vous
possédez une <em>mauvaise carte</em> (<i>bad card</i>) en
utilisant une valeur héxadécimale <code>0xbad</code>
au moment du démarrage pour le paramètre
<code>mem_end</code> (qui n'est normalement pas utilisé).
Vous <em>devez</em> aussi fournir une adresse de base non nulle
pour les ports d'E/S de la carte quand vous utilisez la valeur
<code>0xbad</code>. Par exemple, une carte qui se trouve à
<code>0x340</code> et qui n'acquitte pas la réinitialisation
utilisera quelque chose comme :</p>
<blockquote><code>LILO: linux
ether=0,0x340,0,0xbad,eth0</code></blockquote>
<p>Cela permettra à la procédure de détection
de la carte de continuer, même si votre carte n'acquitte pas
la réinitialisation. Si vous utilisez le pilote comme un
module, vous pouvez alors fournir l'option <code>bad=0xbad</code>
exactement comme vous indiquez l'adresse d'E/S</p>
<p><b>Problème :</b> Ma carte NE*000 bloque la machine
au premier accès réseau.</p>
<p><b>Raison :</b> Ce problème a été
rapporté pour des noyaux aussi vieux que le 1.1.57 jusqu'aux
noyaux actuels. Il apparaît être confiné
à un petit nombre de cartes clones configurables par
logiciel. Il apparaît que ces cartes s'attendent à
être initialisées d'une manière
spéciale.</p>
<p><b>Solution :</b> De nombreuses personnes ont
indiqué que le fait d'exécuter le programme DOS de
configuration fourni avec la carte et/ou le pilote DOS fourni avec
la carte avant de redémarrer à chaud (i.e. en
utilisant <code>loadlin</code> ou le `salut-aux-trois-doigts'
(<code>Ctrl-Alt-Suppr</code>, NDT)) pour lancer Linux permet
à la carte de fonctionner. Ceci indiquerait que ces cartes
doivent être initialisées d'une façon
particulière, légèrement différente de
ce que le pilote Linux actuel réalise.</p>
<p><b>Problème :</b> Ma carte Ethernet NE*000 à
l'adresse <code>0x360</code> n'est pas détectée.</p>
<p><b>Raison :</b> Votre carte NE2000 a une largeur d'espace
d'adressage d'E/S de <code>0x20</code>, ce qui lui fait atteindre
la zone utilisée par le port parallèle à
l'adresse <code>0x378</code>. D'autres
périphériques pourraient se trouver à cet
endroit-là, comme le contrôleur du deuxième
lecteur de disquette (s'il y en a un) à l'adresse
<code>0x370</code> et le contrôleur IDE secondaire aux
adresses <code>0x376--0x377</code>. Si le(s) port(s) sont
déjà enregistrés par un autre pilote, le noyau
ne laissera pas s'exécuter la détection.</p>
<p><b>Solution :</b> Vous pouvez soit déplacer votre
carte vers une adresse d'E/S comme <code>0x280, 0x340,
0x320</code>, ou compiler votre noyau sans l'option pour
l'imprimante parallèle.</p>
<p><b>Problème :</b> Le réseau `disparaît'
à chaque fois que j'imprime quelque chose (NE2000).</p>
<p><b>Raison :</b> Même problème que
précédemment, mais vous avez un vieux noyau qui ne
vérifie pas les chevauchements de zones d'adressage d'E/S.
Utilisez la même solution que ci-dessus, et profitez-en pour
récupérer un nouveau noyau, tant qu'à
faire.</p>
<p><b>Problème :</b> <code>NE*000 ethercard probe at
0xNNN: 00 00 C5 ... not found. (invalid signature yy zz)</code>
(carte Ethernet NE*000 testée à l'adresse 0xNNN: 00
00 C5 ... non trouvée, signature yy zz non valide)</p>
<p><b>Raison :</b> Avant tout, avez-vous une carte NE1000 ou
NE2000 à l'adresse 0xNNN ? Si oui, est-ce que l'adresse
matérielle indiquée ressemble à une adresse
valide ? Si oui, alors vous avez un clone NE*000 bas de gamme.
Tous les clones NE*000 sont supposés avoir la valeur
<code>0x57</code> dans les octets 14 et 15 de leur SA (Station
Address) PROM. La vôtre n'a pas ces valeurs -- elle a `yy zz'
à la place.</p>
<p><b>Solution :</b> Il existe deux moyens de contourner ce
problème.</p>
<p>Le plus simple est d'utiliser une valeur <code>0xbad</code> pour
le paramètre <code>mem_end</code> comme indiqué
ci-dessus pour le problème du non-acquittement de la
réinitialisation. Cela évitera la vérification
de la signature, pour autant qu'un port d'E/S non nul soit fourni
en même temps. De cette façon, aucune recompilation du
noyau n'est nécessaire.</p>
<p>La seconde méthode (pour les hackers) nécessite de
changer le pilote lui-même, puis de recompiler votre noyau
(ou le module). Le pilote
(<code>/usr/src/linux/drivers/net/ne.c</code>) comporte une petite
"Galerie des horreurs" aux environs de la ligne 42. Cette liste est
utilisée pour détecter les clones bas de gamme. Par
exemple, la carte DFS utilise `DFI' dans les trois premiers octets
de la PROM, au lieu d'utiliser <code>0x57</code> aux octets 14 et
15, tels qu'ils sont supposés être.</p>
<p><b>Problème :</b> La machine se bloque pendant le
démarrage après le
message `<code>8390...</code>' ou le
message `<code>WD....</code>'. Le fait d'enlever la carte
NE2000 résoud le problème.</p>
<p><b>Solution :</b> Changez votre adresse d'E/S de base pour
une valeur comme <code>0x340</code>. Autre solution, vous pouvez
utiliser l'argument de démarrage ``<code>reserve=</code>''
en conjonction avec l'argument ``<code>ether=</code>'' pour
protéger la carte des procédures de détection
des autres pilotes de périphériques.</p>
<p><b>Raison :</b> Votre clone NE2000 n'est pas un assez bon
clone. Une carte NE2000 est un puits sans fond qui attirera tout
pilote qui tenterait une détection dans son espace
d'adressage. Le fait de changer la carte NE2000 vers une adresse
moins populaire l'écartera du chemin des autres
procédures de détection automatique, permettant
à votre machine de démarrer.</p>
<p><b>Problème :</b> La machine se bloque pendant la
détection du SCSI au démarrage.</p>
<p><b>Raison :</b> C'est le même problème que
précédemment; changez l'adresse d'E/S de la carte
Ethernet, ou utilisez les arguments de démarrage
<code>reserve</code> et <code>ether</code>.</p>
<p><b>Problème :</b> La machine se bloque pendant la
détection de la carte son au démarrage.</p>
<p><b>Raison :</b> Non, en fait c'est pendant la
détection silencieuse du SCSI, et c'est le même
problème que ci-dessus.</p>
<p><b>Problème :</b> Ma carte NE2000 n'est pas
détectée au démarrage. Il n'y a aucun message
pendant le démarrage.</p>
<p><b>Solution :</b> Il n'existe pas de `solution magique'
parce qu'il existe tout un tas de raisons pour qu'elle ne soit pas
détectée. La liste suivante devrait vous aider
à parcourir les problèmes possibles.</p>
<p>1) Construisez un nouveau noyau ne contenant que les pilotes de
périphérique dont vous avez besoin. Vérifiez
que vous êtes réellement en train de démarrer
le noyau tout frais. Oublier de lancer <code>lilo</code>, etc. peut
amener à démarrer l'ancien. (Regardez de près
la date et l'heure de compilation indiquée au
démarrage.) Cela peut paraître idiot, mais nous
l'avons tous fait un jour. Assurez-vous que le pilote est bien
inclus dans le nouveau noyau, en consultant le fichier
<code>System.map</code> à la recherche de noms comme
<code>ne_probe</code>.</p>
<p>2) Consultez attentivement les messages au démarrage.
Est-ce qu'ils mentionnent une tentative de détection d'une
NE2000 comme `<code>NE*000 probe at 0xNNN: not found (bla
bla)</code>' ou est-ce que la détection se contente
d'échouer sans rien dire ? Cela fait une grosse
différence. Utilisez <code>dmesg|more</code> pour relire les
messages de démarrage après vous être
loggé, ou tapez Majuscule+PageUp (page
précédente) pour faire défiler l'écran
vers le haut après que le démarrage soit
terminé et que le prompt de login soit apparu.</p>
<p>3) Après le démarrage, faites un <code>cat
/proc/ioports</code> et vérifiez que tout l'espace d'E/S que
la carte demandera est vacant. Si vous avez <code>0x300</code>
comme adresse de base, alors le pilote NE2000 demandera la plage
d'adresse <code>0x300-0x31f</code>. Si un autre pilote de
périphérique a enregistré ne serait-ce qu'un
port à n'importe quel endroit dans cet intervalle, la
procédure de détection ne pourra pas s'effectuer
à cette adresse et continuera sans rien dire jusqu'à
la prochaine adresse testée. Un cas classique est que le
pilote <code>lp</code> (imprimante) réserve
<code>0x378</code> ou que le second canal IDE réserve
<code>0x376</code> ce qui empêche le pilote <code>ne</code>
de tester la plage <code>0x360-0x380</code>.</p>
<p>4) Même chose que précédemment avec
<code>cat /proc/interrupts</code>. Assurez-vous qu'aucun autre
périphérique n'a enregistré l'interruption que
vous avez fixée pour la carte Ethernet. Dans ce cas, la
détection s'effectuera, et le pilote Ethernet se plaindra
vigoureusement au démarrage de ne pas être capable
d'obtenir la ligne d'IRQ désirée.</p>
<p>5) Si vous séchez encore sur l'échec silencieux du
pilote, éditez-le et ajoutez quelques <code>printk()</code>
à la procédure de détection. Par exemple, avec
une NE2000 vous pouvez ajouter/enlever des lignes (marquées
respectivement par un '+' ou un '-')
dans <code>linux/drivers/net/ne.c</code> comme :</p>
<hr>
<pre>
int reg0 = inb_p(ioaddr);
+ printk("NE2k probe - now checking %x\n",ioaddr);
- if (reg0 == 0xFF)
+ if (reg0 == 0xFF) {
+ printk("NE2k probe - got 0xFF (vacant I/O port)\n");
return ENODEV;
+ }
</pre>
<hr>
<p>Le noyau émettra alors des messages pour chaque port
qu'il vérifie, et vous verrez alors si l'adresse de votre
carte a été testée ou non.</p>
<p>6) Vous pouvez aussi récupérer le programme de
diagnostic pour NE2000 sur le site FTP de Don (indiqué dans
le <i>Howto</i>) et regarder s'il est capable de détecter
votre carte après que vous avez démarré Linux.
Utilisez l'option `<code>-p 0xNNN</code>' pour lui dire où
regarder pour la carte. (La valeur par défaut est
<code>0x300</code> et il ne va pas regarder ailleurs, à la
différence de la procédure de détection au
démarrage.)</p>
<p>Le résultat, s'il trouve une carte, ressemblera
à :</p>
<hr>
<pre>
Checking the ethercard at 0x300.
Register 0x0d (0x30d) is 00
Passed initial NE2000 probe, value 00.
8390 registers: 0a 00 00 00 63 00 00 00 01 00 30 01 00 00 00 00
SA PROM 0: 00 00 00 00 c0 c0 b0 b0 05 05 65 65 05 05 20 20
SA PROM 0x10: 00 00 07 07 0d 0d 01 01 14 14 02 02 57 57 57 57
NE2000 found at 0x300, using start page 0x40 and end page 0x80.
</pre>
<hr>
<p>Vos valeurs de registres et de PROM seront probablement
différentes. Notez que toutes les valeurs de la PROM sont
doublées pour une carte 16 bits, et que l'adresse
Ethernet (<code>00:00:c0:b0:05:65</code>) apparaît dans la
première ligne, et que la signature avec le double
<code>0x57</code> apparaît à la fin de
la PROM.</p>
<p>Le résultat, s'il n'y a aucune carte installée
en <code>0x300</code>, ressemblera à :</p>
<hr>
<pre>
Checking the ethercard at 0x300.
Register 0x0d (0x30d) is ff
Failed initial NE2000 probe, value ff.
8390 registers: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
SA PROM 0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
SA PROM 0x10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Invalid signature found, wordlength 2.
</pre>
<hr>
<p>Les valeurs <code>0xff</code> apparaissent parce que c'est la
valeur qui est retournée lorsque l'on lit un port d'E/S
vacant. Si vous avez un autre matériel dans la zone qui est
testée, vous pourrez voir des valeurs différentes de
<code>0xff</code> aussi.</p>
<p>7) Essayez de démarrer Linux à chaud depuis une
disquette de démarrage DOS (via <code>loadlin</code>)
après avoir exécuté le pilote DOS fourni ou le
programme de configuration de la carte. Il se peut qu'il
exécute quelques tours de passe-passe supplémentaires
(c'est-à-dire non standards) pour initialiser la
carte.</p>
<p>8) Essayez le pilote en mode paquet (packet driver)
<code>ne2000.com</code> de Russ Nelson pour voir s'il peut au moins
voir votre carte -- si ce n'est pas le cas, alors les choses vont
vraiment mal.</p>
<p>Exemple :</p>
<blockquote><code>A:> ne2000 0x60 10 0x300</code></blockquote>
<p>Les arguments sont : le vecteur d'interruption logiciel,
l'IRQ matérielle, et le port d'E/S. Vous pouvez obtenir ce
programme de n'importe quelle archive msdos dans le fichier
<code>pktdrv11.zip</code> -- la version actuelle peut avoir un
numéro plus récent que 11.</p>
<h2><a name="8013-probs"></a> <a name="ss3.5">3.5 Problèmes
avec les cartes SMC Ultra/EtherEZ et WD80*3</a></h2>
<p><b>Problème :</b> Vous obtenez des messages
semblables à :</p>
<pre>
eth0: bogus packet size: 65531, status=0xff, nxpg=0xff
</pre>
<p><b>Raison :</b> Il y a un problème de mémoire
partagée.</p>
<p><b>Solution :</b> Les machines PCI qui n'ont pas
été configurées pour traduire les
périphériques ISA en mémoire constituent la
source la plus courante pour ce problème. De fait vous lisez
la mémoire vive du PC (toutes les
valeurs <code>0xff</code> que donne le message) au lieu de la
mémoire vive de la carte, qui elle contient les
données du paquet reçu.</p>
<p>D'autres problèmes courants qui eux sont faciles à
régler sont des conflits de carte, le fait d'avoir
activé le cache ou la mémoire morte 'shadow ROM'
pour cette zone, ou encore de faire fonctionner le bus ISA plus
vite que 8 MHz. Il existe aussi un nombre étonnant de
pannes de la mémoire sur les cartes Ethernet, donc utilisez
le programme de diagnostic si vous en avez un pour votre carte
Ethernet.</p>
<p><b>Problème :</b> Une carte EtherEZ de SMC ne
fonctionne pas en mode de mémoire
non-partagée (PIO).</p>
<p><b>Raison :</b> Les versions les plus anciennes du pilote
Ultra ne pouvaient utiliser la carte que dans le mode de travail
à mémoire partagée.</p>
<p><b>Solution :</b> Le pilote de la version 2.0 (et
supérieures) sait aussi utiliser le mode d'E/S
programmées (PIO). Mettez votre noyau à jour
vers une version 2.0 ou plus récente.</p>
<p><b>Problème :</b> Une vieille wd8003 et/ou
une wd8013 configurable par cavaliers ont toujours la
mauvaise IRQ.</p>
<p><b>Raison :</b> Les vieilles cartes wd8003 et les clones
wd8013 configurables par cavaliers ne possèdent pas l'EEPROM
que le pilote sait lire pour y trouver le paramétrage de
l'IRQ. Si le pilote ne sait pas lire l'IRQ, il essaie de
déterminer automatiquement l'IRQ. Et si la procédure
de détection automatique retourne zéro, le pilote se
contente d'affecter l'IRQ 5 pour une carte 8 bits ou
l'IRQ 10 pour une carte 16 bits.</p>
<p><b>Solution :</b> Evitez le code de détection
automatique de l'IRQ, et indiquez au noyau la valeur d'IRQ que vous
avez configurée sur la carte avec les cavaliers en la lui
passant comme argument dans votre fichier de configuration de
modules (ou au démarrage si vous l'avez compilé dans
le noyau).</p>
<p><b>Problème :</b> Une carte SMC Ultra est
détectée comme étant une wd8013, mais l'IRQ et
l'adresse de base de la mémoire partagée sont
fausses.</p>
<p><b>Raison :</b> La carte Ultra ressemble beaucoup
à une wd8013, et si le pilote Ultra n'est pas
présent dans le noyau, le pilote wd peut identifier
l'Ultra comme étant une wd8013. Le test de détection
de l'Ultra vient avant celui de la wd, donc ceci ne devrait
normalement pas se produire. L'Ultra stocke l'IRQ et l'adresse de
base dans son EEPROM de façon différente à
celle d'une wd8013, d'où les valeurs erronées
indiquées par le pilote.</p>
<p><b>Solution :</b> Recompilez le noyau en n'intégrant
que les pilotes dont vous avez besoin. Si vous avez un
mélange de cartes wd et Ultra dans une machine, et
que vous utilisez les modules, chargez le module ultra en
premier.</p>
<h2><a name="3com-probs"></a> <a name="ss3.6">3.6 Problèmes
avec des cartes 3Com</a></h2>
<p><b>Problème :</b> La 3c503 prend l'IRQ N, mais
celle-ci est requise par un autre périphérique qui a
besoin de l'IRQ N (par exemple un pilote de CD-ROM, un modem,
etc.). Est-ce que cela peut être réparé sans
devoir le compiler dans le noyau ?</p>
<p><b>Solution :</b> Le pilote 3c503 recherche une ligne d'IRQ
libre dans l'ordre {5, 9/2, 3, 4}, et il
devrait prendre une ligne qui n'a pas été
utilisée. Le pilote effectue ce choix lorsque la carte est
configurée (<code>ifconfig</code>).</p>
<p>Si vous utilisez un pilote en module, vous pouvez vous servir
des paramètres du module afin de choisir diverses choses, y
compris la valeur d'IRQ.</p>
<p>Ce qui suit sélectionne l'IRQ 9, adresse de
base <code>0x300</code>, <une valeur ignorée>, et
le port <code>if_port</code> numéro 1 (le
transceiver externe).</p>
<blockquote><code>io=0x300 irq=9 xcvr=1</code></blockquote>
<p>Autrement, si le pilote est compilé dans le noyau, vous
pouvez choisir les mêmes valeurs en passant des
paramètres <i>via</i> LILO.</p>
<blockquote><code>LILO: linux
ether=9,0x300,0,1,eth0</code></blockquote>
<p>Ce qui suit sélectionne l'IRQ 3, détecte
l'adresse de base, <une valeur ignorée>, et le port
par défaut (<code>if_port</code>) numéro 0
(le transceiver interne).</p>
<blockquote><code>LILO: linux
ether=3,0,0,0,eth0</code></blockquote>
<p><b>Problème :</b> <code>3c503: configured interrupt
X invalid, will use autoIRQ.</code> (3c503: l'interruption X
configurée est invalide, détection automatique de
l'IRQ)</p>
<p><b>Raison :</b> La 3c503 ne peut utiliser que l'une des
IRQ 5, 2/9, 3 ou 4 (ce sont les seules lignes d'IRQ
qui sont connectées à la carte). Si vous passez en
argument au noyau une valeur d'IRQ qui n'est pas dans cet ensemble,
vous obtiendrez le message ci-dessus. Normalement, il n'est pas
nécessaire de spécifier une valeur d'interruption
pour la 3c503. Elle passera en détection automatique
lorsqu'elle sera configurée (par <code>ifconfig</code>), et
elle prendra l'une des IRQ 5, 2/9, 3 ou 4.</p>
<p><b>Solution :</b> Utilisez l'une des IRQ valides
données ci-dessus, ou autorisez la détection
automatique en ne précisant aucune ligne d'IRQ.</p>
<p><b>Problème :</b> Le pilote 3c503 fourni n'utilise
pas le port AUI (gros Ethernet). Comment faire pour le choisir
au lieu du port Ethernet fin par défaut ?</p>
<p><b>Solution :</b> Le port AUI peut être
sélectionné au démarrage pour les pilotes
compilés dans le noyau, et lors de l'insertion du module
pour les pilotes modulaires. La sélection est
réalisée par le bit de poids le plus faible de la
variable <code>dev->rmem_start</code> qui n'est actuellement pas
utilisée, donc un paramètre de démarrage
comme :</p>
<blockquote><code>LILO: linux
ether=0,0,0,1,eth0</code></blockquote>
devrait fonctionner pour les pilotes compilés dans le noyau.
<p>Pour spécifier le port AUI lorsque vous chargez un
module, ajoutez simplement <code>xcvr=1</code> à la ligne
d'options du module avec vos valeurs de port d'E/S et d'IRQ.</p>
<h2><a name="ss3.7">3.7 Les questions qui ne sont pas
spécifiques à une carte.</a></h2>
<h3>Linux et les cartes Ethernet ISA Plug and Play</h3>
<p>Pour de meilleurs résultats (et au moins, rien qui
empire) il est recommandé que vous utilisiez le petit
programme qui a été livré avec la carte pour
désactiver le mécanisme PnP, et régler la
carte pour utiliser une IRQ et une adresse d'E/S fixe. Assurez-vous
que l'adresse d'E/S que vous allez utiliser est testée lors
du boot, ou si vous utilisez des modules, donnez les adresses avec
une option <code>io=</code> dans votre
<code>/etc/conf.modules</code>. Vous aurez certainement aussi
à entrer dans le BIOS et à marquer l'IRQ en question
comme utilisée par une carte ISA, et non disponible pour le
PnP (si votre ordinateur à cette option).</p>
<p>Notez que vous n'avez pas besoin d'installer le DOS pour lancer
la configuration. Vous n'aurez besoin que d'une disquette de boot
DOS et de lancer le programme depuis la disquette fournie. Vous
pouvez aussi télécharger OpenDOS ou FreeDOS
gratuitement.</p>
<p>Si vous avez besoin d'avoir le PnP activé pour rester
compatible avec un autre système d'exploitation, alors, vous
aurez à utiliser le paquetage isapnptools avec Linux pour
configurer la carte à chaque boot. Vous aurez quand
même à vous assurer que l'adresse d'E/S est
testée par le pilote au démarrage, ou fourni comme
option <code>io=</code>.</p>
<h3>Carte Ethernet non détectée au
démarrage.</h3>
<p>La raison habituelle de cet état de fait est que les gens
utilisent un noyau qui ne contient pas le code pour leur carte
à eux. Pour un noyau modulaire, cela signifie
généralement que le chargement du module
nécessaire n'a pas été demandé, ou
qu'une adresse d'E/S a besoin d'être spécifiée
comme option du module.</p>
<p>Si vous utilisez un noyau basé sur les modules, comme
ceux installés par la plupart des distributions Linux,
essayez alors d'utiliser l'utilitaire de configuration de la
distribution pour sélectionner le module destiné
à votre carte. Pour les cartes ISA, c'est une bonne
idée que de déterminer l'adresse d'E/S de la carte et
de l'ajouter comme option (p. ex. <code>io=0x340</code>) si
l'utilitaire de configuration vous le demande. S'il n'y a pas
d'utilitaire de configuration, vous devrez alors ajouter le nom
exact du module (et ses options) au fichier
<code>/etc/conf.modules</code> -- lisez <code>man
modprobe</code> pour plus de détails.</p>
<p>Si vous utilisez un noyau précompilé qui provient
d'une distribution Linux, vérifiez dans la documentation
quel noyau vous avez installé, et s'il a été
construit en incluant le code pour votre carte à vous. Si ce
n'est pas le cas, vous pouvez soit essayer d'en obtenir un qui
contient le code pour votre carte, soit construire votre propre
noyau.</p>
<p>C'est en général une bonne chose que de construire
votre propre noyau, ne contenant que les pilotes dont vous avez
besoin, car cela diminue considérablement la taille du noyau
(préservant d'autant votre précieuse mémoire
vive pour les applications !) et cela réduit le nombre
de procédure de détection de
périphériques qui peuvent déranger le
matériel un peu sensible. Construire un nouveau noyau n'est
pas aussi compliqué que cela peut paraître. Vous devez
juste répondre oui ou non à toute une série de
questions sur les pilotes que vous voulez, et le système
fait le reste.</p>
<p>La seconde raison essentielle est qu'un autre
périphérique utilise une partie de l'espace
d'adressage d'entrée-sortie dont votre carte a besoin. La
plupart des cartes ont une zone d'adressage qui mesure 16 ou
32 bits de largeur. Si votre carte est positionnée
en <code>0x300</code> et qu'elle prend 32 octets, alors
le pilote demandera la plage d'adresses <code>0x300-0x31f</code>.
Si un autre pilote de périphérique a
enregistré ne serait-ce qu'un port d'entrée-sortie,
où que ce soit dans cet intervalle, la procédure de
détection n'aura pas lieu à cette adresse et le
pilote continuera sans rien dire à l'adresse suivante
à tester. Donc, après le démarrage, faites un
<code>cat /proc/ioports</code> et vérifiez que tout l'espace
d'adressage d'entrée-sortie que la carte demandera est bien
disponible.</p>
<p>Autre problème : votre carte est configurée
pour une adresse d'entrée-sortie qui n'est pas testée
par défaut. La liste des adresses testées pour chaque
carte est disponible juste après les commentaires de
début dans chaque fichier source. Même si la
configuration d'E/S de votre carte n'est pas dans la liste des
adresses testées, vous pouvez l'indiquer au démarrage
(pour les pilotes compilés dans le noyeau en utilisant la
commande <code>ether=</code> comme il est décrit
dans <a href="#lilo">Passage des arguments Ethernet...</a>.
Les pilotes modulaires peuvent utiliser
l'option <code>io=</code> dans le fichier
<code>/etc/conf.modules</code> afin de spécifier une adresse
qui n'est pas testée par défaut.</p>
<h3><code>ifconfig</code> indique la mauvaise adresse d'E/S pour la
carte.</h3>
<p>Non, ce n'est pas vrai. C'est vous qui l'interprétez de
manière erronée. Ce n'est <em>pas</em> une
erreur, et les nombres indiqués sont corrects. Ce qu'il se
passe, c'est que certaines cartes à base de 8390
(wd80x3, smc-ultra, etc.) sont telles que la puce 8390 se
trouve décalée par rapport au premier port d'E/S
affecté. Il s'agit de la valeur stockée
dans <code>dev->base_addr</code>, qui est celle que
<code>ifconfig</code> indique. Si vous souhaitez voir l'intervalle
complet d'adresses de ports que votre carte utilise, vous devriez
essayer <code>cat /proc/ioports</code> qui vous donnera le nombre
que vous attendez.</p>
<h3>Une machine PCI détecte la carte mais la
procédure de test du pilote échoue.</h3>
<p>Certains BIOS PCI peuvent ne pas activer toutes les
cartes PCI lors de l'allumage de la machine,
spécialement si l'option `PNP OS' du BIOS est
activée. Cette contre-fonctionnalité est
destinée à supporter la version actuelle de Windows
qui utilise encore des pilotes en mode réel. Vous pouvez
soit inhiber cette option, soit essayer de mettre à jour
votre pilote pour une version qui comprend le code capable
d'activer une carte désactivée.</p>
<h3>Des cartes ISA à mémoire partagée ne
fonctionnent pas dans une machine PCI (<code>0xffff</code>)</h3>
<p>Ce problème se révèle habituellement sous
la forme d'une série de valeurs <code>0xffff</code> en
lecture. Aucune carte à mémoire partagée de
quelque type que ce soit ne fonctionnera dans une machine PCI
à moins que vous n'ayez configuré correctement le
BIOS PCI (<code>PCI ROM BIOS/CMOS SETUP</code> ou quelque
chose comme ça). Vous devez le configurer pour permettre
l'accès à la mémoire partagée depuis le
bus ISA pour la zone d'adresses que votre carte essaie d'utiliser.
Si vous n'arrivez pas à déterminer quels
paramètres sont concernés, interrogez votre revendeur
ou votre gourou informatique local. Dans un BIOS AMI (American
Megatrends Inc.), il existe en général une section
``Plug and Play'' où se trouveront sans doute des
paramètres ``ISA Shared Memory Size'' (taille de la
mémoire partagée ISA) et ``ISA Shared Memory Base''
(adresse de base de la mémoire partagée ISA). Pour
des cartes comme la wd8013 et la SMC Ultra, changez la
taille de sa valeur par défaut (`Disabled',
désactivé) à une valeur de 16 Ko, et
changez l'adresse de base en prenant l'adresse de base de
mémoire partagée qui correspond à votre
carte.</p>
<h3>On dirait que ma carte envoie des données, mais elle ne
reçoit jamais rien.</h3>
<p>Faites un <code>cat /proc/interrupts</code>. Le nombre total
d'interruptions générées par la carte vous
sera donné. S'il est à zéro et qu'il
n'augmente pas lorsque vous essayez d'utiliser la carte, alors, il
y a très certainement un conflit d'interruptions entre la
carte et un autre périphérique installé (que
le pilote de l'autre soit chargé ou non). La seule solution
est de changer l'IRQ de l'un des deux périphériques
pour une autre IRQ non utilisée.</p>
<h3>Asynchronous Transfer Mode (ATM)</h3>
<p>Werner Almesberger s'est préoccupé de la
disponibilité d'ATM pour Linux. Il a travaillé avec
la carte ENI155p d'Efficient Networks ( <a href=
"http://www.efficient.com/">Efficient Networks</a>) et la
carte ZN1221 de Zeitnet ( <a href=
"http://www.zeitnet.com/">Zeitnet</a>).</p>
<p>Werner dit que le pilote de la ENI155p est relativement
stable, tandis que celui de la ZN1221 n'est actuellement pas
terminé.</p>
<p>Consultez les dernières informations et les mises
à jour à l'URL suivante :</p>
<blockquote><a href="http://lrcwww.epfl.ch/linux-atm/">Linux et
ATM</a></blockquote>
<h3>Support de l'Ethernet Gigabit</h3>
<p>Où en est le support Ethernet Gigabit pour
Linux ?</p>
<p>Il y a pour le moment au moins deux supports. Un pilote pour
l'adaptateur Ethernet Gigabit G-NIC PCI de Packet Engines est
disponible dans les versions 2.0 et 2.2 du noyau. Pour plus de
détails, d'information, et les mises à jour du
pilote, consultez :</p>
<blockquote>
<code>http://cesdis.gsfc.nasa.gov/linux/drivers/yellowfin.html</code></blockquote>
<p>Le pilote <code>acenic.c</code> disponible dans les noyaux 2.2
peut être utilisé pour la carte Ethernet Gigabit
Alteon AceNIC et d'autres cartes basées sur le chipset Tigon
comme la 3Com 3c985. Le pilote devrait aussi fonctionner avec la
NetGear GA620, mais cela n'a pas encore été
vérifié.</p>
<h3>FDDI</h3>
<p>Qu'en est-il de FDDI sous Linux ?</p>
<p>Cela fonctionne. Larry Stefani a écrit un pilote pour la
version 2.0 du noyau pour les cartes DEFEA (FDDI EISA)
et DEFPA (FDDI PCI) de DEC (Digital Equipment
Corporation). Il a été inclus dans la
version 2.0.24 du noyau. Néanmoins, ce sont les seules
cartes qui fonctionnent sous Linux actuellement.</p>
<h3>Full Duplex</h3>
<p>Est-ce que le mode Full Duplex me donnera
20 Mbit/s ? Est-ce que Linux sait faire du
Full Duplex ?</p>
<p>Cameron Spitzer écrit ce qui suit à propos des
cartes Full Duplex 10Base-T :</p>
<p>``Si vous connectez une carte Full Duplex à un hub
(NDT : un switch) Full Duplex, et que votre
système est suffisamment rapide et ne fait pas grand-chose
d'autre, il pourra maintenir le lien occupé dans les deux
directions.</p>
<p>Le Full Duplex 10Base-2 ou 10Base-5 (coaxial fin et gros
coaxial) ne peut pas exister. Le mode Full Duplex fontionne en
inhibant la détection des collisions dans l'adaptateur
réseau. C'est pour cela que vous ne pouvez pas le faire avec
un coax : le réseau ne fonctionnerait pas si
c'était le cas.</p>
<p>Par contre, 10Base-T (l'interface RJ-45) utilise des
(paires de) fils séparées pour l'émission et
la réception, donc il est possible de travailler dans les
deux sens en même temps. Le (hub) switch s'occupe du
problème des collisions. La vitesse de signalisation reste
à 10 Mbit/s.''</p>
<p>Donc, comme vous pouvez voir, vous ne serez encore capable de
recevoir ou de transmettre qu'à 10 Mbit/s; n'attendez
donc pas une multiplication par deux des performances. Quant
à savoir si cela est possible ou non, cela dépend de
la carte et peut-être du pilote. Certaines cartes pratiquent
l'auto-négociation, d'autres auront besoin de l'aide du
pilote, et d'autres auront besoin que l'utilisateur choisisse une
option dans la configuration sur EEPROM de la carte. De toute
façon, seule une utilisation sérieuse/lourde montrera
une différence entre les deux modes.</p>
<h3>Les machines SMP et les cartes Ethernet</h3>
<p>Si vous avez dépensé un peu d'argent en plus pour
avoir une machine multiprocesseur (MP), alors, vous devriez aussi
vous payer une bonne carte Ethernet. Pour les versions 2.0, cela
n'était pas vraiment une obligation, mais avec
l'avènement des 2.2, cela est devenu nécessaire. La
majorité des vieilles cartes (ex : ISA, PIO et avec
accès partagé à la mémoire) n'ont pas
été conçues en pensant aux machines
multiprocesseurs. Par conséquent, il vous faudra acheter une
carte de facture récente, et vous assurer que le pilote a
été mis a jour pour gérer les
opérations multiprocesseurs. (Le plus important, c'est le
"de facture récente" - les PCI-NE2000 sont juste des trucs
vieux de plus de 10 ans sur un bus récent.) Chercher
<code>spin_lock</code> dans les sources d'un pilote donne une bonne
indication sur le fait que le pilote a été
prévu pour marcher sur les machines multiprocesseurs. Pour
plus de détails sur pourquoi vous devez prendre une bonne
carte pour le MP (et ce qui se passera si vous ne le faites pas) se
trouve ci dessous :</p>
<p>Dans la version 2.0 des noyaux, seul un processeur était
autorisé a passer en `mode noyau' (ex : changer des
données dans le noyau, ou accéder aux
périphériques), quelque soit le moment. Donc, du
point de vue de la carte (et du pilote associé) il n'y avait
aucune différence avec le fonctionnement en monoprocesseur
(UP) et tout continuait à marcher comme si de rien
n'était. (C'était la façon la plus simple de
faire du multiprocesseur avec Linux à ce moment-là.
De cette manière, vous savez qu'il n'est pas possible que
deux processeurs essayent de changer la même chose au
même moment !)</p>
<p>L'inconvénient de n'autoriser qu'un seul processeur
à être en mode noyau au même moment était
que vous n'aviez de vraies performances MP que si les programmes
faisaient surtout du calcul sans accéder à la
machine. Si les programmes faisaient beaucoup d'opérations
d'entrées sorties (E/S), comme par exemple lire ou
écrire sur un disque ou à travers un réseau,
alors, tous les processeurs sauf un étaient en attente d'une
opération d'E/S pendant que le seul processeur en mode noyau
essayait de faire plaisir à tout le monde à la fois.
Le noyau devient le goulot d'étranglement et comme un seul
processeur est autorisé à exécuter le noyau,
les performances d'une machine MP se réduisaient rapidement
à celles d'une machine UP.</p>
<p>Comme cela est clairement loin de l'idéal
(spécialement pour les serveurs de fichiers, les serveurs
WWW, les routeurs, etc...) les versions 2.2 des noyaux ont
largement amélioré tout ce qui touche aux
verrouillages - et par conséquent, plus d'un processeur peut
être en mode noyau à un instant donné. A la
place d'un énorme verrou autour du noyau dans sa
globalité, il y a beaucoup plus de verrous plus petits qui
empêchent les données critiques d'êtres
manipulées par plus d'un processeur à la fois -
ex : un processeur peut s'occuper du réseau alors qu'un
autre peut écrire sur un disque au même moment.</p>
<p>Ok, avec tout cela en tête, voici deux petits
problèmes : Des verrous plus localisés
signifient qu'il peut y avoir un processeur essayant d'envoyer les
données via le pilote ethernet pendant qu'un autre
processeur essaye d'accéder à la carte pour autre
chose (par exemple pour récupérer les statistiques
pour <code>cat /proc/net/dev</code>). Et hop - les statistiques ont
été envoyées par la carte et vous avez
récupéré les données à envoyer
pour les statistiques. Eh oui, la carte a bien été
embêtée de recevoir plusieurs demandes à la
fois, et il y a de fortes chance que cela ait planté la
machine du même coup.</p>
<p>Par conséquent, le pilote qui marchait pour les machines
UP n'est désormais plus vraiment utilisable - on doit y
ajouter des verrous qui contrôlent l'accès à la
carte pour que les 3 actions de recevoir, émettre et
manipuler les données puissent être utilisées
à divers degrés d'opération. Le truc qui peut
faire peur est qu'un pilote qui n'a pas été mis a
jour pour fonctionner de manière stable en MP marchera
très probablement si le réseau n'est pas
chargé, mais fera planter la machine ou fera de drôles
de choses lorsque deux (ou plus !) processeurs essaieront de
faire plus d'une de ces opérations au même moment.</p>
<p>Les pilotes ethernet gérant le MP requièreront (au
minimum) un verrouillage englobant tout le pilote pour qu'il
fonctionne sur le principe de `chacun son tour'. Avec ce
mécanisme mis en place, les choses seront mises en files
d'attente et le matériel sera utilisé de la
même manière qu'en mode UP, et par conséquent,
devrait être stable. Le coté négatif est que un
verrouillage englobant le pilote ethernet a presque d'aussi
mauvaises performances qu'un verrou global sur le noyau (mais a une
échelle plus réduite) - c'est à dire que vous
ne pouvez avoir qu'un seul processeur travaillant avec la carte
à la fois. [Note technique : L'impact sur les
performances peut aussi inclure l'augmentation des temps de latence
sur les interruptions si les verrous qui ont besoin d'être
ajoutés sont du type <code>irqsave</code> et qu'ils sont
tenus fermés pour un long moment.]</p>
<p>Il existe deux voies d'amélioration possibles à
partir de cette situation. Vous pouvez essayer de minimiser le
temps entre le moment où le verrou est fermé et quand
il est relâché et/ou vous pouvez trouver une
manière plus fine, avec plus de verrous (ex : un verrou
global sur le pilote ne serait pas nécessaire si quelques
verrous protégeant quelques registres/réglages
critiques suffisent).</p>
<p>Toutefois, pour les vieilles cartes débiles qui n'ont pas
été conçues dans l'esprit du MP, aucune de ces
améliorations n'est possible. Le pire est que ces pauvres
cartes requièrent que le processeur déplace les
données de la carte vers la mémoire de l'ordinateur,
donc, dans le pire des cas le verrou sera fermé pour toute
la durée que chaque paquet de 1,5 Ko mettra à
transiter à travers le bus ISA.</p>
<p>Les cartes plus récentes déplacent leurs
données de et vers la mémoire sans avoir recours au
processeur. Ceci est une grande amélioration car le
verrouillage ne dure que le court instant où le processeur
dit à la carte où dans la mémoire
prendre/mettre les données. Les cartes de facture
récente ne sont d'ailleurs pas faites pour avoir un verrou
global autour du pilote.</p>
<h3>Cartes Ethernet pour Linux sur carte-mère PCI
Alpha/AXP</h3>
<p>En ce qui concerne les versions 2.0, seules les
cartes 3C509, depca, de4x5, lance32, et tous les pilotes
pour 8390 (wd, smc-ultra, ne, 3c503, etc.) ont
été rendus `indépendants de l'architecture' de
façon à pouvoir fonctionner sur les systèmes
basés sur les processeurs Alpha de DEC. D'autres
pilotes PCI mis à jour sont disponibles sur la page WWW de
Donald marcheront certainement, puisqu'ils ont été
créés pour être indépendants de
l'architecture.</p>
<p>Notez que les changements à faire pour que le pilote ne
soit pas dépendant de l'architecture ne sont pas aussi
compliqués que cela peut paraître. Vous n'avez besoin
que de :</p>
<p>- multiplier toutes les valeurs relatives à des
<code>jiffies</code> par <code>HZ/100</code> pour prendre en compte
la valeur différente de <code>HZ</code> utilisée par
l'Alpha. (c'est-à-dire que <code>timeout=2;</code> devient
<code>timeout=2*HZ/100;</code>)</p>
<p>- remplacer tout déréférencement de
pointeur en mémoire d'E/S (640k à 1Mo) par les
appels <code>readb() writeb() readl() writel()</code>
appropriés, comme le montre cet exemple :</p>
<hr>
<pre>
- int *mem_base = (int *)dev->mem_start;
- mem_base[0] = 0xba5eba5e;
+ unsigned long mem_base = dev->mem_start;
+ writel(0xba5eba5e, mem_base);
</pre>
<hr>
<p>- remplacer tous les appels à <code>memcpy()</code>
qui ont des adresses mémoire sur la plage d'E/S comme
source ou comme destination par un appel
à <code>memcpy_fromio()</code> ou
à <code>memcpy_toio()</code> selon le cas.</p>
<p>Vous trouverez plus de détails sur la manière de
gérer les accès mémoire d'une façon
indépendante de l'architecture dans le fichier
<code>linux/Documentation/IO-mapping.txt</code> qui est
présent dans les noyaux récents.</p>
<h3>L'Ethernet et Linux sur les SUN/Sparc.</h3>
<p>Pour les dernières informations à propos des
Sparc, essayez donc l'URL suivante :</p>
<p><a href="http://www.geog.ubc.ca/sparc">Linux Sparc</a></p>
<p>Notez que quelques adaptateurs ethernet pour Sparc
récupèrent leurs adresses MAC depuis l'ordinateur
hôte, et que par conséquent, vous pourriez vous
retrouver avec plusieurs interfaces ayant toutes les mêmes
adresses MAC. Si vous devez mettre plusieurs interfaces sur la
même machine, alors, vous aurez à utiliser l'option
<code>hw</code> de <code>ifconfig</code> pour assigner une unique
adresse MAC.</p>
<p>Les problèmes de portage des pilotes PCI vers la
plate-forme Sparc sont les mêmes que pour la plate-forme AXP.
En plus, il y aura certainement des problèmes d'ordre des
octets, le Sparc étant grand boutiste alors que les AXP et
ix86 sont petits boutistes.</p>
<h3>L'Ethernet, Linux et les autres architectures.</h3>
<p>Il y a beaucoup d'autres plate formes sur lesquelles Linux
tourne, comme les Atari/Amiga (m68k). Tout comme dans le cas des
Sparc, le mieux est de vérifier sur la page principale du
port pour savoir ce qui est supporté. (Des pointeurs
seraient bienvenus - envoyez les !)</p>
<h3>Relier deux 10 et 100 BaseT sans hub</h3>
<p>Est-ce que je peux relier deux systèmes basés sur
du 10/100BaseT (RJ45) sans utiliser de hub ?</p>
<p>Vous pouvez relier facilement deux machines, mais pas plus que
cela, sans boîtier supplémentaire. Consultez la
section <a href="#utp">Paire torsadée</a> qui explique
comment faire.</p>
<p>Par contre, non, vous n'arriverez pas à bricoler un hub
en croisant quelques fils et autres trucs du genre. Il est
pratiquement impossible de générer correctement le
signal de collision sans refaire un hub.</p>
<h3>SIOCSIFxxx: No such device</h3>
<p>J'obtiens un nombre impressionnant de messages
`<code>SIOCSIFxxx: No such device</code>' au démarrage,
suivis par un `<code>SIOCADDRT: Network is unreachable</code>'.
Qu'est-ce qui ne va pas ?</p>
<p>Votre périphérique Ethernet n'a pas
été détecté pendant le
démarrage / lors de l'insertion du module, et lorsque
<code>ifconfig</code> et <code>route</code> sont
exécutés, ils n'ont aucun périphérique
avec lequel travailler. Utilisez <code>dmesg | more</code> pour
consulter les messages du démarrage et regardez s'il y a un
(ou des) message(s) à propos de la détection de carte
Ethernet.</p>
<h3>SIOCSFFLAGS: Try again</h3>
<p>J'obtiens `<code>SIOCSFFLAGS: Try again</code>' lorsque
j'exécute <code>ifconfig</code> -- Euh.. ?</p>
<p>Un autre périphérique a pris l'IRQ que votre carte
Ethernet essaie d'utiliser, ce qui fait que la carte ne peut pas
utiliser l'IRQ. Vous n'avez pas nécessairement besoin de
redémarrer pour résoudre ce problème, car
certains périphériques ne prennent les IRQ que
lorsqu'ils en ont besoin, et les rendent quand ils ont fini. C'est
le cas par exemple des cartes son, des ports série, du
pilote du lecteur de disquette, etc. Vous pouvez taper <code>cat
/proc/interrupts</code> pour voir quelles interruptions sont
actuellement <em>en cours d'utilisation</em>. La plupart des
pilotes de carte Ethernet sous Linux ne prennent l'IRQ que
lorsqu'ils sont ouverts via `<code>ifconfig</code>'. Si vous
réussissez à faire en sorte que l'autre
périphérique `relâche' la ligne d'IRQ, alors
vous serez capable de réessayer (<i>Try again</i> en
anglais) avec <code>ifconfig</code>.</p>
<h3>Utilisation de `ifconfig' et message `Link UNSPEC with HW-addr
of 00:00:00:00:00:00'</h3>
<p>Lorsque j'utilise <code>ifconfig</code> sans argument, il
indique <code>Link UNPSEC</code> (au lieu de `Ethernet 10Mbs') et
il dit aussi que mon adresse physique est à zéro.</p>
<p>C'est parce que les gens utilisent une version du programme
`ifconfig' plus récente que leur version de noyau. Cette
nouvelle version de `ifconfig' est incapable de fournir ces
informations quand elle est utilisée en conjonction avec un
noyau plus ancien. Vous pouvez soit mettre votre noyau à
jour, soit prendre une version plus ancienne
d'<code>ifconfig</code>, ou simplement ignorer le problème.
Le noyau connaît votre adresse physique, donc le fait que
<code>ifconfig</code> ne puisse pas la lire n'est pas vraiment
important.</p>
<p>Vous pourrez aussi obtenir des informations étranges si
le programme <code>ifconfig</code> que vous utilisez est beaucoup
plus vieux que votre noyau.</p>
<h3>Nombre faramineux d'erreurs en réception (RX Errors) et
en transmission (TX Errors)</h3>
<p>Quand j'exécute <code>ifconfig</code> sans argument, il
indique que j'ai un nombre faramineux d'erreurs à la fois
dans les paquets reçus et dans les paquets transmis.
Pourtant tout semble fonctionner correctement -- Est-ce que je me
trompe ?</p>
<p>Regardez de nouveau. <code>ifconfig</code> indique :
<code>RX packets</code> <i>gros nombre</i> <b>BLANC</b>
<code>errors 0</code> <b>BLANC</b> <code>dropped 0</code>
<b>BLANC</b> <code>overrun 0</code>. Même chose pour la
colonne avec <code>TX</code>. Les grands nombres que vous voyez
sont donc le nombre total de paquets que votre machine a
reçus et transmis. Si vous trouvez encore que c'est source
de confusion, essayez de taper <code>cat /proc/net/dev</code>
à la place.</p>
<h3>Liens dans <code>/dev/</code> pour cartes Ethernet</h3>
<p>J'ai <code>/dev/eth0</code> qui est un lien vers
<code>/dev/</code>xxx. Est-ce que c'est bon ?</p>
<p>Contrairement à ce que vous avez entendu dire, les
fichiers dans <code>/dev/*</code> ne sont pas utilisés. Vous
pouvez détruire tous les <code>/dev/wd0, /dev/ne0</code> et
ce qui y ressemble.</p>
<h3>Linux et les ``trailers'' (amorces)</h3>
<p>Dois-je désactiver les ``trailers'' quand je
`ifconfig'ure ma carte Ethernet ?</p>
<p>Vous ne pouvez pas désactiver les ``trailers'', et vous
ne devriez pas en avoir envie. Les ``trailers'' sont une astuce de
programmation pour éviter des copies de données dans
les couches réseau. L'idée était d'utiliser un
en-tête simpliste de taille fixe `H', de mettre les
informations de l'entête de taille variable à la fin
du paquet, et d'allouer tous les paquets `H' octets avant le
début d'une page. Alors qu'il s'agissait d'une bonne
idée, en pratique cela n'a pas très bien
fonctionné.</p>
<p>Si quelqu'un suggère l'utilisation de `-trailers', notez
bien que c'est l'équivalent du sang de chèvres
sacrifiées. Cela ne résoudra pas le problème,
mais si le problème se résoud tout seul, quelqu'un
pourra invoquer des connaissances approfondies en magie.</p>
<h3>Accès direct au périphérique Ethernet</h3>
<p>Comment puis-je avoir accès directement au
périphérique Ethernet sous Linux, sans avoir à
passer par TCP/IP et ses copains ?</p>
<hr>
<pre>
int s=socket(AF_INET,SOCK_PACKET,htons(ETH_P_ALL));
</pre>
<hr>
<p>Ceci vous donne une socket qui peut recevoir tous les types de
protocoles. Utilisez l'appel <code>recvfrom()</code> sur cette
socket, cela remplira la structure <code>sockaddr</code> avec le
type de périphérique dans le champ
<code>sa_family</code> et le nom du périphérique dans
le tableau <code>sa_data</code>. Je ne sais pas qui a
inventé <code>SOCK_PACKET</code> pour Linux (cela fait une
éternité qu'il est là), mais c'est du beau
travail. Vous pouvez l'utiliser pour envoyer des choses directement
en utilisant l'appel <code>sendto()</code>.</p>
<p>Bien entendu, vous devez être root pour pouvoir faire
l'ensemble de ces opérations.</p>
<h2><a name="perf"></a> <a name="s4">4. Trucs et astuces à
propos des performances</a></h2>
<p>Voici quelques `trucs' que vous pouvez utiliser si vous souffrez
d'un faible taux de transfert sur Ethernet, ou pour gagner encore
un peu de vitesse sur ces fameux transferts FTP.</p>
<p>Le programme <code>ttcp.c</code> est un bon test pour mesurer la
vitesse de transfert brute. Un autre truc classique est de faire un
<code>ftp> get mon_gros_fichier /dev/null</code> où
<code>mon_gros_fichier</code> fait plus d'un Mo et
réside dans le cache disque de la machine qui transmet.
(Faites le `get' au moins deux fois, car la première fois ce
cache sera vide.) Vous avez besoin que le fichier soit dans le
cache car il faut éviter que le temps d'accès au
fichier influe sur votre mesure. C'est pour la même raison
que vous envoyez les données qui arrivent vers
<code>/dev/null</code> plutôt que vers le disque.</p>
<h2><a name="ss4.1">4.1 Concepts génériques</a></h2>
<p>Même une carte 8 bits est capable de recevoir des
paquets qui se suivent (<i>back-to-back paquets</i> en anglais)
sans aucun problème. Les difficultés apparaissent
quand l'ordinateur n'enlève pas suffisamment rapidement de
la carte les paquets reçus pour faire de la place pour
d'autres paquets entrants. Si l'ordinateur ne supprime pas
rapidement les paquets déjà reçus de la
mémoire de la carte , celle-ci n'aura pas assez de place
pour mettre les nouveaux paquets.</p>
<p>Dans ce cas, soit la carte détruit le nouveau paquet,
soit elle réécrit sur un paquet déjà
reçu. Les deux solutions interrompent brutalement le flux du
trafic, nécessitent des re-transmissions et peuvent
sérieusement dégrader les performances d'un facteur
qui va jusqu'à 5 !</p>
<p>Les cartes qui possèdent plus de mémoire sont
capables de conserver plus de paquets, et peuvent donc supporter de
gros pics de paquets successifs sans détruire de paquets.
Par conséquent cela signifie que la carte n'exige pas de
l'ordinateur un temps de latence aussi faible pour enlever les
paquets sans avoir à en détruire.</p>
<p>La plupart des cartes 8 bits ont un tampon de 8 Ko, et
la plupart des cartes 16 bits ont un tampon de 16 Ko. La
plupart des pilotes sous Linux réserveront 3 Ko de ce
tampon (pour deux tampons de transmission), laissant 5 Ko
d'espace de réception pour une carte 8 bits. Cela ne
laisse de la place que pour 3 paquets Ethernet de pleine taille
(1500 octets).</p>
<h2><a name="ss4.2">4.2 La vitesse des cartes et du bus
ISA</a></h2>
<p>Comme indiqué précédemment, si les paquets
sont enlevés de la carte suffisamment rapidement, le
problème de destruction ou de surcharge n'apparaît pas
même si la taille mémoire du tampon de
réception est petite. Le facteur qui détermine la
rapidité avec laquelle les paquets sont enlevés de la
carte pour être placés dans la mémoire de
l'ordinateur est la vitesse du chemin que devront suivre les
données entre les deux -- c'est-à-dire la
vitesse du bus ISA. (Si le processeur est un 386sx-16 poussif, cela
jouera aussi un rôle.)</p>
<p>La vitesse d'horloge recommandée pour un bus ISA est de
8 MHz, mais de nombreuses cartes-mères et de nombreux
périphériques peuvent être utilisés
à des fréquences plus élevées. La
vitesse d'horloge du bus ISA peut en général
être modifiée dans la configuration CMOS, en
choisissant le rapport entre la fréquence du processeur et
celle de la carte-mère. Certaines cartes-mères
n'auront pas cette option, et vous serez coincés avec la
valeur par défaut.</p>
<p>Par exemple, voici quelques vitesses de réception
mesurées par le programme TTCP sur un 486 à
40 MHz, avec une carte 8 bits WD8003EP, pour des vitesses
différentes du bus ISA.</p>
<pre>
Vitesse du bus ISA (MHz) TTCP - réception (Ko/s)
------------------------ -----------------------
6.7 740
13.4 970
20.0 1030
26.7 1075
</pre>
<p>Vous auriez du mal à faire mieux que 1075 Ko/s avec
<em>n'importe quelle</em> carte Ethernet 10 Mo/s, en utilisant
TCP/IP. Néanmoins ne vous attendez pas à ce que tous
les systèmes puissent travailler à des vitesses de
bus ISA rapides. La plupart des systèmes ne fonctionneront
pas correctement à des vitesses au-dessus de 13 MHz.
(De même, certains systèmes PCI fixent la vitesse
du bus ISA à 8 MHz, afin que l'utilisateur final n'ait
pas la possibilité de pouvoir l'augmenter.)</p>
<p>En plus de vitesses de transferts supérieures, vous
profiterez aussi en général d'une réduction de
l'utilisation du processeur due à la durée plus
courte des cycles mémoires et d'E/S. (Notez que les disques
durs et les cartes vidéo situées sur le bus ISA
afficheront aussi de meilleures performances avec une vitesse du
bus ISA plus élevée.)</p>
<p>Soyez sûr de sauvegarder toutes vos données avant
de faire des expériences avec des vitesses du bus ISA
au-dessus de 8 MHz, et de tester attentivement que tous les
périphériques ISA fonctionnent correctement
après toute augmentation de vitesse.</p>
<h2><a name="ss4.3">4.3 Modifier la fenêtre de
réception TCP</a></h2>
<p>Une fois encore, les cartes qui possèdent peu de
mémoire et un trajet des données entre la carte et la
mémoire de l'ordinateur plutôt lent provoquent des
problèmes. La fenêtre de réception TCP est
réglée par défaut à 32 Ko, ce qui
signifie qu'un ordinateur rapide situé sur le même
sous-réseau que vous pourra vous inonder de 32 Ko de
données sans s'arrêter pour regarder si vous en avez
reçu le moindre morceau.</p>
<p>Les versions récentes de la commande <code>route</code>
donnent la possibilité de régler la largeur de cette
fenêtre à la volée. En général,
cette fenêtre ne doit être réduite que pour le
réseau local, puisque les ordinateurs qui sont à
quelques routeurs ou passerelles de distance ont suffisamment de
`tampons' intermédiaires pour ne pas poser de
problème. Un exemple d'utilisation est :</p>
<hr>
<pre>
route add <comme_d_habitude> ... window <largeur_de_fenetre>
</pre>
<hr>
où <code>largeur_de_fenetre</code> est la largeur de la
fenêtre que vous voulez utiliser (en octets). Une carte
8 bits 3c503 sur un bus ISA fonctionnant à une vitesse
de 8 MHz ou moins tournera correctement avec une fenêtre
d'environ 4 Ko. Une fenêtre trop large causera des
surcharges et des pertes de paquets, et une diminution drastique du
débit Ethernet. Vous pouvez vérifier les conditions
de travail de la carte en faisant un <code>cat /proc/net/dev</code>
qui affichera si des pertes de paquets ou des surcharges sont
apparues.
<h2><a name="ss4.4">4.4 Augmenter les performances de NFS</a></h2>
<p>Des personnes ont remarqué que l'utilisation de cartes
8 bits sur des clients NFS donne des performances moins bonnes
que celles attendues, en utilisant une taille de paquet NFS de 8Ko
(celle donnée à l'origine par Sun).</p>
<p>La raison possible de tout cela pourrait être la
différence entre la taille des tampons des cartes
8 bits et celle des cartes 16 bits. La taille maximale
d'un paquet Ethernet est d'environ 1500 octets. Maintenant que nous
faisons du NFS, des paquets NFS de 8 Ko vont arriver sous la
forme de 6 paquets de taille maximale à la queue-leu-leu. Ni
les cartes 8 bits ni les cartes 16 bits n'ont de
problème à recevoir ces paquets les uns
derrière les autres. Le problème se produit parce que
la machine n'enlève pas les paquets à temps de la
carte, et que le tampon déborde. Le fait que les cartes
8 bits nécessitent un cycle du bus ISA
supplémentaire pour chaque transfert n'aide pas beaucoup,
par ailleurs. Ce que vous <em>pouvez</em> faire si vous avez une
carte 8bits est soit de diminuer la taille de transfert NFS
à 2 Ko (voire 1 Ko), soit d'essayer d'augmenter la
vitesse du bus ISA afin que les tampons de la carte soient
vidés plus rapidement. J'ai trouvé qu'une vieille
carte WD8003E à 8 MHz (sans autre charge
système) peut soutenir une réception de taille
importante avec une taille NFS de 2 Ko, mais pas
à 4 Ko, auquel cas les performances étaient
dégradées d'un facteur trois.</p>
<p>D'un autre coté, si l'option par défaut est
d'utiliser des blocs de 1 Ko, et que vous avez au moins une
carte ISA 16 bits, vous aurez certainement de meilleures
performances en passant a 4 Ko (ou même 8 Ko).</p>
<h2><a name="card-intro"></a> <a name="s5">5. Informations
spécifiques par
distributeur/constructeur/modèle</a></h2>
<p>Ce qui suit est une liste de nombreuses cartes, rangées
par ordre alphabétique de distributeur, puis par identifiant
de produit. A côté de chaque identifiant de produit,
vous verrez soit `supporté', soit `partiellement
supporté', soit `non supporté'.</p>
<p>`Supporté' signifie qu'un pilote existe pour cette carte,
que de nombreuses personnes en sont contentes et qu'il semble
fiable.</p>
<p>`Partiellement supporté' signifie qu'un pilote existe,
mais que l'une au moins des conditions suivantes est vraie :
(1) Le pilote et/ou le matériel comportent des erreurs,
ce qui peut engendrer de piètres performances, des
échecs de connexion ou même des crashs. (2) Le
pilote est récent ou la carte est très peu connue, et
par conséquent celui-ci a été peu
utilisé/testé et son auteur a eu très peu de
retours quant à son fonctionnement. Il est évident
que la situation (2) est préférable à la
situation (1), et la description de la carte et du pilote
devrait montrer clairement laquelle est la bonne. Dans un cas comme
dans l'autre, vous devrez certainement répondre 'Y' à
la question ``Prompt for development and/or incomplete
code/drivers?'' (``Demander confirmation pour pour les pilotes en
cours de développement ou incomplets ?'') lorsque vous
lancerez <code>make config</code>.</p>
<p>`Non supporté' signifie qu'il n'existe pas de pilote
disponible à l'heure actuelle pour cette carte. Cela peut
être dû à un manque d'intérêt pour
un matériel qui est rare ou peu commun, ou au fait que les
distributeurs n'en fournissent pas la documentation
nécessaire pour l'écriture du pilote.</p>
<p>Notez que la différence entre `supporté' et
`partiellement supporté' est plutôt subjective, et
qu'elle est basée sur les retours d'informations fournis par
les utilisateurs, observés dans les groupes de news et les
listes de diffusion. (Après tout, il est impossible à
une personne de tester tous les pilotes avec toutes les cartes pour
chaque version du noyau !!!) Soyez donc prévenus que
telle carte indiquée comme `partiellement supportée'
pourra fonctionner impeccablement pour vous (ce qui est bien),
alors que telle autre indiquée comme `supportée' vous
donnera des problèmes sans fin (ce qui n'est pas aussi
bien).</p>
<p>Après le statut, le nom du pilote donné dans le
noyau de Linux est indiqué. Ceci sera aussi le nom du module
tel qu'il apparait à la ligne <code>alias eth0 pilote</code>
dans votre fichier de configuration
<code>/etc/conf.modules</code>.</p>
<h2><a name="3com"></a> <a name="ss5.1">5.1 3Com</a></h2>
<p>Si vous n'êtes pas sûr de ce qu'est votre carte,
mais que vous pensez qu'il s'agit d'une 3Com, vous pourrez
certainement le déterminer à partir du numéro
d'assemblage. 3Com dispose d'un document `Identifying 3Com Adapters
By Assembly Number' (Identifier les adaptateurs 3Com par leur
numéro d'assemblage, référence 24500002) qui
devrait très certainement éclaircir les choses.
Consultez <a href="#3com-tech">Informations techniques de
3Com</a> pour plus d'informations sur la façon d'obtenir de
3Com des documents techniques.</p>
<p>Notez aussi que vous pouvez éventuellement consulter le
site FTP de 3Com qui recèle diverses gâteries :
<code>ftp.3Com.com</code>.</p>
<p>Pour ceux qui consultent ce document sur le WWW, vous pouvez
aussi essayer leur site WWW (<code>www.3com.com</code>).</p>
<h3><a name="3c501"></a> 3c501</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : 3c501</p>
<p>Cette carte 8 bits datant de l'âge de pierre, trop
tapée du ciboulot pour être utilisée. Evitez-la
comme la peste. N'achetez pas cette carte, même pour faire
une blague. Ses performances sont atroces, et elle a de nombreuses
déficiences.</p>
<p>Pour ceux qui ne seraient pas encore convaincus, la 3C501 ne
sait faire qu'une chose à la fois -- pendant que vous
enlevez un paquet du tampon (qui ne peut en contenir qu'un seul),
elle ne peut pas en recevoir un autre, pas plus qu'elle ne peut en
recevoir un pendant le chargement d'un paquet à transmettre.
C'était parfait pour un réseau entre deux ordinateurs
à base de 8088 où le traitement de chaque paquet et
la réponse prenaient des dizaines de millisecondes, mais les
réseaux modernes envoient des paquets les uns à la
suite des autres pour pratiquement chaque transaction.</p>
<p>Les IRQ automatiques fonctionnent, le DMA n'est pas
utilisé, la détection automatique ne teste que
<code>0x280</code> et <code>0x300</code>, et le niveau de
débogage est indiqué dans le troisième
argument passé au démarrage.</p>
<p>Encore une fois, l'utilisation d'une 3C501 est <em>fortement
déconseillée</em> ! Encore plus avec un noyau IP
`multicast', puisque vous allez aboutir à un arrêt
pendant que vous écoutez <em>chacun</em> des paquets
`multicast'. Lisez les commentaires au début du code source
pour plus de détails.</p>
<h3><a name="3c503"></a> EtherLink II, 3c503, 3c503/16</h3>
<p>Statut : Supporté, Nom du pilote : 3c503
(+8390)</p>
<p>La 3c503 ne possède pas de mémoire reprogrammable
pour stocker sa configuration (un ``EEPROM setup'') ; un
programme de diagnostic et de configuration n'est donc pas
nécessaire avant d'utiliser la carte sous Linux. L'adresse
de mémoire partagée de la 3c503 est fixée en
utilisant des cavaliers qui sont partagés avec l'adresse de
la mémoire programmable de démarrage (``boot PROM'').
Cela a tendance à semer la confusion chez les personnes
habituées aux autres cartes ISA, sur lesquelles on laisse
toujours le cavalier sur la position `désactivée'
(<i>disable</i> en anglais) à moins d'avoir une PROM de
démarrage.</p>
<p>Ces cartes devraient être aussi rapide que les cartes
WD80x3 qui utilisent le même bus, mais il apparaît
qu'elles sont légèrement plus lentes. Ces cartes
Ethernet à mémoire partagée ont aussi un mode
à Entrées/Sorties programmées qui n'utilise
pas les possibilités de la 8390 (leurs ingénieurs ont
trouvé trop de bogues !). Le pilote 3c503 de Linux sait
aussi travailler avec la 3c503 en mode d'E/S programmées,
mais c'est plus lent et moins sûr que le mode à
mémoire partagée. De plus, le mode d'E/S
programmées n'est pas aussi bien testé lors des mises
à jour des pilotes. Vous ne devriez pas utiliser le mode
d'E/S programmées à moins d'en avoir besoin pour la
compatibilité avec le DOS.</p>
<p>La ligne d'IRQ de la 3c503 est fixée par logiciel, sans
l'aide d'une EEPROM. A la différence des pilotes sous DOS,
le pilote Linux est capable de choisir automatiquement l'IRQ :
il utilise la première ligne d'interruption disponible
parmi {5,2/9,3,4}, en choisissant à chaque fois que la
carte est <code>ifconfig</code>urée. (Les anciennes versions
du pilote sélectionnaient l'IRQ au moment du
démarrage). L'appel <code>ioctl()</code> dans `ifconfig'
retournera <code>EAGAIN</code> si aucune ligne d'IRQ n'est
disponible à ce moment-là.</p>
<p>Des problèmes classiques que les gens ont avec la 3c503
sont abordés dans <a href=
"#3com-probs">Problèmes avec...</a>.</p>
<p>Si vous avez l'intention d'utiliser ce pilote sous la forme d'un
module chargeable, vous devriez probablement consulter
<a href="#modules">Utiliser les pilotes Ethernet comme modules</a>
pour des informations spécifiques aux modules.</p>
<p>Notez que certains vieux 386 sans disques ont des 3c503 sur la
carte mère (faites par 3Com, mais vendues sous un autre nom,
tel que `Bull') l'identificateur n'est pas celui des cartes 3Com,
et elles ne seront donc pas détectées. Pour plus de
détails, référez-vous au paquetage Etherboot,
dont vous aurez besoin pour démarrer ces PC sans
disques.</p>
<h3><a name="3c505"></a> EtherLink plus, 3c505</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : 3c505</p>
<p>Il s'agit d'un pilote qui avait été écrit
par Craig Southeren <code>geoffw@extro.ucc.su.oz.au</code>. Ces
cartes utilisent la puce i82586 d'Intel et sont assez peu
répandues. Le pilote est inclus dans le noyau standard, mais
il est classé comme pilote `alpha'. Consultez <a href=
"#alfa">Pilotes alpha</a> pour des informations importantes
à propos de l'utilisation de pilotes Ethernet en phase de
test `alpha' sous Linux.</p>
<p>Vous devriez aussi lire le fichier
<code>/usr/src/linux/drivers/net/README.3c505</code> si vous
comptez utiliser une de ces cartes. Il contient diverses options
que vous pouvez activer ou désactiver.</p>
<h3><a name="3c507"></a> EtherLink-16, 3c507</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : 3c507</p>
<p>Cette carte utilise l'une des puces Intel, et le
développement du pilote est fortement lié à
celui du pilote de la carte Ether Express d'Intel. Le pilote est
inclus dans la distribution standard du noyau, mais en tant que
pilote `alpha'.</p>
<p>Consultez <a href="#alfa">Pilotes alpha</a> pour des
informations importantes concernant l'utilisation de pilotes en
phase de test `alpha' sous Linux.</p>
<h3><a name="3c509"></a> EtherLink III, 3c509 / 3c509B</h3>
<p>Statut : Supporté, Nom du pilote : 3c509</p>
<p>Cette carte est plutôt bon marché et possède
de bonnes performances pour une conception ISA qui ne soit pas
`bus-master'. Le revers de la médaille est que la 3c509
originelle nécessitait des temps de latence vraiment
très faibles en réponse aux interruptions. La 3c509B
ne souffre pas du même problème, car elle
possède un tampon mémoire plus important (voir
ci-dessous). Ces cartes utilisent des transferts en mode
d'Entrées/Sorties programmées (PIO), de la même
façon qu'une carte ne2000, et par conséquent une
carte à mémoire partagée comme la wd8013 sera
plus efficace en comparaison.</p>
<p>La 3c509 d'origine avait un petit tampon mémoire pour les
paquets (4 Ko au total, 2 en réception et
2 en transmission), ce qui poussait le pilote à
éliminer un paquet si les interruptions étaient
masquées trop longtemps. Pour minimiser ce problème,
vous pouvez essayer de dé-masquer les interruptions pendant
les transferts sur disques IDE (consultez <code>man hdparm</code>)
et / ou augmenter la vitesse de votre bus ISA de
façon à ce que les transferts IDE se terminent
plus tôt.</p>
<p>Le modèle plus récent, la 3c509B, possède
8 Ko de mémoire, et le tampon peut être
partagé en 4/4, 5/3 ou 6/2 en réception/transmission.
Ce paramètre est changé à l'aide de
l'utilitaire de configuration sous DOS, et est stocké dans
la mémoire EEPROM. Cela devrait éliminer le
problème précédent avec la 3c509
originelle.</p>
<p>Les utilisateurs de 3c509B devraient utiliser soit l'utilitaire
DOS fourni afin de désactiver le `<i>plug and play</i>',
<em>et</em> de déterminer le support de sortie dont ils ont
besoin. Le pilote Linux <em>n'est pas</em> capable aujourd'hui
d'utiliser la fonctionnalité de détection automatique
du support physique, donc vous <em>devez</em> sélectionner
10Base-T ou 10Base-2 ou AUI. Notez que pour arrêter
totalement le PnP, vous devrez faire un <code>3C5X9CFG
/PNP:DISABLE</code> et ensuite, éteindre et rallumer la
machine pour que cela prenne effet.</p>
<p>Certaines personnes ont posé des questions sur les
paramètres ``Server or Workstation'' (serveur ou station de
travail) et ``Highest Modem Speed'' (plus haute vitesse de modem)
qui sont présentés dans l'utilitaire de configuration
du DOS. Donald écrit que ``Ce ne sont que des orientations
fournies au pilotes, et le pilote Linux n'utilise pas ces
paramètres ; il optimise toujours pour un taux de
transfert important plutôt que pour un temps de latence
faible (`Server'). Un temps de latence faible était un
critère critique pour le vieux trafic,
non-fenêtré, de IPX. Afin de réduire le temps
de latence, le pilote sous DOS de la 3c509 inhibe les interruptions
de certaines opérations, bloquant les interruptions du port
série. D'où la nécessité du
paramètre `modem speed' (vitesse du modem). Le pilote Linux
évite la nécessité de désactiver les
interruptions sur de longues périodes en ne travaillant que
sur des paquets complets, par exemple en ne commençant pas
à transmettre un paquet avant qu'il n'ait été
complètement transféré sur la carte.''</p>
<p>Notez que la procédure de détection de la carte
ISA utilise une méthode différente de la plupart des
autres cartes. A la base, vous demandez aux cartes de
répondre en envoyant des données sur un port
<code>ID_PORT</code> (port <code>0x100</code> jusqu'à
<code>0x1ff</code> par intervalle de <code>0x10</code>). Cette
méthode de détection signifie qu'une carte
donnée sera toujours détectée en premier dans
une configuration comportant plusieurs cartes ISA 3c509. La carte
avec la plus petite adresse Ethernet physique sera
<em>toujours</em> <code>eth0</code>. Cela ne devrait gêner
personne, à l'exception de ceux qui souhaitent assigner une
adresse physique sur 6 octets à une interface donnée.
Si vous avez plusieurs cartes 3c509, il vaut mieux ajouter des
commandes <code>ether=0,0,ethN</code> sans préciser le port
d'E/S (c'est-à-dire en utilisant E/S=zéro) et
autoriser la procédure de détection à faire le
tri pour déterminer quelle carte est la première.
Utiliser une valeur d'E/S non nulle va faire que toutes les cartes
ne seront pas détectées : donc, ne le faites pas.</p>
<p>Si cela vous gêne vraiment, jetez un coup d'oeil au tout
dernier pilote de Donald, car cela vous permettra d'utiliser une
valeur <code>0x3c509</code> dans le champ (inutilisé) de
l'adresse mémoire pour obliger la détection à
réussir.</p>
<h3><a name="cork"></a> 3c515</h3>
<p>Statut : Supporté, Nom du pilote : 3c515</p>
<p>Il s'agit de l'offre 100 Mb/s de 3Com en ISA, nom de code
``<i>CorkScrew</i>'' (tire-bouchon, en anglais). Un pilote assez
jeune pour ces cartes venant de Donald est inclus dans la version
2.2 du noyau. Pour les dernières informations, vous auriez
certainement intérêt à le chercher dans la page
sur les ``Vortex'' :</p>
<blockquote><a href=
"http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html">Vortex</a></blockquote>
<h3><a name="3c523"></a> 3c523</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : 3c523</p>
<p>Cette carte pour bus MCA utilise la puce i82586, et Chris
Beauregard a modifié le pilote <code>ni52</code> pour qu'il
fonctionne avec ces cartes. Le pilote correspondant peut être
trouvé dans l'arborescence des sources des
noyaux 2.2.</p>
<p>Plus de détails sont fournis sur la page MCA pour Linux
à <code>http://glycerine.cetmm.uni.edu/mca/</code></p>
<h3><a name="3c527"></a> 3c527</h3>
<p>Statut : Non supporté</p>
<p>Eh oui, encore une autre carte MCA. Eh non, pas beaucoup
d'intérêt pour celle-ci. Vous aurez plus de chance
avec la 3c529 si vous êtes coincé(e) avec le MCA.</p>
<h3><a name="3c529"></a> 3c529</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : 3c509</p>
<p>Cette carte utilise en fait le même jeu de puces que la
3c509. De fait, Donald a placé des points d'entrée
dans le pilote de la 3c509 pour vérifier l'existence de
cartes MCA après la détection des cartes EISA, et
avant celle des cartes ISA, longtemps avant que le MCA soit
supporté par le noyau. Le code de détection MCA est
inclus dans le pilote livré avec le noyau 2.2.</p>
<p>On peut trouver plus de détails sur la page MCA pour
Linux à l'adresse
<code>http://glycerine.cetmm.uni.edu/mca/</code>.</p>
<h3>3c562</h3>
<p>Statut : Supporté, Nom du pilote : 3c589
(distribué séparément)</p>
<p>Cette carte PCMCIA est la combinaison d'une carte Ethernet
3c589B et d'un modem. Le modem est vu comme un modem standard par
l'utilisateur final. La seule difficulté est d'arriver
à faire en sorte que les deux pilotes Linux partagent la
même interruption. Il y a une série de nouveaux
registres et un peu de support de partage d'interruptions
matérielles. Vous aurez besoin d'utiliser un noyau 2.0 ou
plus récent, qui comporte ce qu'il faut pour le partage
d'interruptions.</p>
<p>Merci de nouveau à Cameron pour l'obtention d'un
exemplaire d'essai et l'envoi d'une documentation à David
Hinds. Consultez le paquetage PCMCIA de David pour plus
d'informations.</p>
<p>Consultez <a href="#pcmcia">PCMCIA</a> pour en savoir plus
sur les jeux de puces PCMCIA, les activateurs de sockets, etc.</p>
<h3>3c575</h3>
<p>Statut : Inconnu</p>
<p>Un pilote pour cette carte PCMCIA est en cours de
développement et l'on peut espérer qu'il sera inclus
dans le paquetage PCMCIA de David dans le futur. Le mieux est de
regarder dans le paquetage PCMCIA pour voir ce qui s'y passe.</p>
<h3><a name="3c579"></a> 3c579</h3>
<p>Statut : Supporté, Nom du pilote : 3c509</p>
<p>La version EISA de la 509. La version EISA actuelle utilise la
même puce de largeur 16 bits plutôt qu'une
interface 32 bits, et les performances ne sont donc pas
époustouflantes. Le code de détection EISA a
été ajouté dans <code>3c509.c</code> pour la
version 0.99pl14. Assurez-vous que la carte est configurée
pour le mode d'adressage EISA. Lisez la section
précédente sur la 3c509 pour des informations
sur le pilote.</p>
<h3><a name="3c589"></a> 3c589 / 3c589B</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : 3c589</p>
<p>Beaucoup de monde utilise cette carte PCMCIA depuis
déjà un bon bout de temps. Notez qu'elle n'est pas
incluse (à l'heure actuelle) dans l'arborescence par
défaut du noyau. Le "B" dans le nom signifie la même
chose ici que dans le cas de la 3c509.</p>
<p>Les pilotes sont disponibles sur le site ftp de Donald, et dans
le paquetage PCMCIA de David Hinds. Vous aurez aussi besoin d'avoir
un chipset PCMCIA supporté. Allez faire un tour dans le
<a href="#pcmcia">Support PCMCIA</a> pour plus d'informations sur
les pilotes, les chipsets supportés, les activateurs de
sockets, etc.</p>
<h3><a name="vortex"></a> 3c590 / 3c595</h3>
<p>Statut : Supporté, Nom du pilote : 3c59x</p>
<p>Ces cartes ``Vortex'' sont destinées aux machines
à bus PCI, la 3c590 constituant l'offre à
10 Mb/s de 3Com et la 3c595 celle à 100 Mb/S.
Notez aussi que vous pouvez utiliser la 595 comme une 590
(c'est-à-dire en mode 10 Mb/s). Le pilote est inclus
dans les sources du noyau 2.0, mais est aussi continuellement mis
à jour. Si vous rencontrez des problèmes avec le
pilote des noyaux 2.0, vous pouvez obtenir un pilote à jour
à partir de l'URL suivante :</p>
<blockquote><a href=
"http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html">Vortex</a></blockquote>
<p>Notez qu'il existe en fait deux cartes 3c590, des modèles
des premiers temps ayant 32 Ko de mémoire, et des plus
récents qui n'en ont que 8 . Il y a des chances pour
que vous ne puissiez plus acheter une 3c59x neuve, car elles ont
été remplacées par les 3c90x. Si vous achetez
une carte d'occasion, essayez d'obtenir la version 32 Ko. Les
cartes 3c595 ont 64 Ko, car vous ne pouvez pas faire
grand-chose avec seulement 8 Ko de mémoire vive
à 100 Mb/s !</p>
<p>Grand merci à Cameron Spitzer et Terry Murphy de 3Com
pour l'envoi de cartes et de documentation à Donald afin
qu'il puisse écrire le pilote.</p>
<p>Donald a mis en place une liste de diffusion pour le support du
pilote Vortex. Pour vous abonner à la liste, vous n'avez
qu'à faire :</p>
<p><code>echo subscribe | /bin/mail
linux-vortex-request@cesdis.gsfc.nasa.gov</code></p>
<h3>3c592 / 3c597</h3>
<p>Statut : Supporté, Nom du pilote : 3c59x</p>
<p>Ce sont les versions EISA des séries 3c59x. La
3c592/3c597 (aussi connue sous le nom de Demon) devrait fonctionner
avec le pilote Vortex présenté au paragraphe
précédent.</p>
<h3>3c900 / 3c905 / 3c905B</h3>
<p>Statut : Supporté, Nom du pilote : 3c59x</p>
<p>Ces cartes (aussi connues sous le nom de `Boomerang', ou encore
EtherLink III XL) ont été mises sur le marché
pour remplacer les cartes 3c590/3c595.</p>
<p>Le support pour la version à base de Cyclone 'B' a
récemment été ajouté. Pour utiliser
cette carte avec les anciens noyaux 2.0, vous devez obtenir le
pilote <code>3c59x.c</code> mis à jour sur le site de
Donald :</p>
<blockquote><a href=
"http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html">Vortex</a></blockquote>
<p>Si vous avez un doute, allez faire un tour sur la page WWW
ci-dessus. Donald a mis en place une liste de diffusion sur les
annonces concernant le support du pilote Vortex, entre autres. Pour
vous abonner à la liste, il suffit de faire :</p>
<p><code>echo subscribe | /bin/mail
linux-vortex-request@cesdis.gsfc.nasa.gov</code></p>
<h3>3c985</h3>
<p>Statut : Supporté, Nom du pilote : acenic</p>
<p>Ce pilote, par Jes Sorensen, est disponible dans les noyaux 2.2.
Il supporte plusieurs autres modèles de cartes Gigabit en
plus du modèle 3Com.</p>
<h2><a name="accton"></a> <a name="ss5.2">5.2 Accton</a></h2>
<h3>Accton MPX</h3>
<p>Statut : Supporté, Nom du pilote : ne
(+8390)</p>
<p>Ne vous laissez pas avoir par le nom. Cette carte est tout de
même supposée être une compatible NE2000, et
devrait par conséquent fonctionner avec le pilote du
même nom.</p>
<h3>Accton EN1203, EN1207, EtherDuo-PCI</h3>
<p>Statut : Supporté, Nom du pilote : de4x5,
tulip</p>
<p>Une autre implémentation de la puce PCI 21040 de DEC. La
carte EN1207 comporte le 21140, mais a aussi un connecteur
10Base-2, ce qui s'est révélé source de
problèmes pour certaines personnes en terme de
sélection de ce support. Par contre, l'utilisation de la
carte avec du 10Base-T et du 100Base-T a fonctionné pour
certaines autres. Donc, comme pour tous les achats, vous devez
d'abord essayer et vous assurer que vous pourrez retourner la carte
si elle ne fonctionne pas pour vous.</p>
<p>Consultez <a href="#dec-21040">DEC 21040</a> pour plus
d'informations sur ces cartes, et la situation actuelle du
pilote.</p>
<h3>Adaptateur Accton EN2209 pour port parallèle
(EtherPocket)</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : ?</p>
<p>Un pilote pour ces adaptateurs sur port parallèle est
disponible mais ne fait pas encore partie des sources des noyaux
2.0 ou 2.1. Vous pouvez obtenir ce pilote sur :</p>
<blockquote>
<code>http://www.unix-ag.uni-siegen.de/~nils/accton_linux.html</code></blockquote>
<h3>Accton EN2212 PCMCIA</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : ?</p>
<p>David Hinds a commencé à travailler sur un pilote
pour cette carte, et vous devriez de consulter la dernière
version de son paquetage PCMCIA pour savoir où il en
est.</p>
<h2><a name="allied-telesis"></a> <a name="ss5.3">5.3 Allied
Telesyn/Telesis</a></h2>
<h3><a name="at-1500"></a> AT1500</h3>
<p>Statut : Supporté, Nom du pilote : lance</p>
<p>Il s'agit d'une série de cartes Ethernet peu
chères qui utilisent la version 79C960 de la puce LANCE
d'AMD. Ce sont des cartes utilisant le le contrôle du bus, et
elles figurent donc parmi les cartes Ethernet ISA les plus
rapides.</p>
<p>La sélection du DMA et des informations sur la
numérotation de la puce se trouvent dans <a href=
"#lance">AMD LANCE</a>.</p>
<p>Plus d'informations techniques sur les cartes Ethernet
basées sur l'AMD LANCE sont disponibles dans <a href=
"#amd-notes">Notes sur l'AMD...</a>.</p>
<h3><a name="at1700"></a> AT1700</h3>
<p>Statut : Supporté, Nom du pilote : at1700</p>
<p>Notez que pour accéder à ce pilote lors du
<code>make config</code> vous devez encore répondre `Y'
à la question ``Prompt for development and/or incomplete
code/drivers?'' au tout début. C'est simplement dû au
manque de retour d'informations sur la stabilité du pilote,
étant donné qu'il s'agit d'une carte relativement
rare. Si vous avez des problèmes avec le pilote qui est
livré avec le noyau, vous serez peut etre interessé
par celui qui est disponible à :
<code>http://www.cc.hit-u.ac.jp/nagoya/at1700/</code></p>
<p>Les cartes Ethernet Allied Telesis des séries AT1700 sont
basées sur la MB86965 de Fujitsu. Cette puce utilise une
interface à E/S programmées, et une paire de tampons
de transmission à taille fixe. Cela permet d'envoyer des
petits groupes de paquets les uns à la suite des autres,
avec une courte pause pendant le changement de tampon.</p>
<p>Une fonctionnalité unique est la possibilité de
piloter du câble STP (Shielded Twisted Pair, paire
torsadée blindée) 150 ohms couramment installé
pour le Token Ring, en plus du câble 100 ohms UTP (Unshielded
Twisted Pair, paire torsadée non-blindée) de 10BaseT.
Une version fibre optique de la carte (AT1700FT) existe
également.</p>
<p>La puce Fujitsu utilisée sur l'AT1700 a un défaut
de conception : elle ne peut être remise
complètement à zéro qu'en effectuant un cycle
d'allumage de la machine. Le fait d'appuyer sur le bouton de
redémarrage (`Reset') ne réinitialise pas l'interface
du bus. Cela ne serait pas gênant, si la carte ne pouvait
être détectée qu'après qu'elle ait
été récemment réinitialisée. Le
moyen de contourner le problème est d'éteindre puis
de rallumer la machine si le noyau a un problème pour
détecter l'AT1700.</p>
<p>Certaines séries de production de l'AT1700 ont un autre
problème : elles sont conçues pour utiliser de
façon permanente le canal DMA 5. Cela n'est pas
documenté, il n'existe aucun cavalier pour désactiver
cette "fonctionnalité", et aucun pilote n'ose utiliser la
possibilité de DMA à cause de problèmes de
compatibilité. Aucun pilote de périphérique ne
sera écrit pour utiliser la DMA si le fait d'installer une
seconde carte dans la machine casse les deux cartes, et le seul
moyen de désactiver le DMA est d'utiliser un couteau.</p>
<p>Certaines séries de l'AT1700 ont un autre
problème : Elles sont bloquées sur le canal DMA
5. Cela n'est pas documenté, et il n'y a pas de cavaliers
pour désactiver cette "fonctionnalité", et aucun
pilote n'ose utiliser le DMA a cause des problèmes de
compatibilité. Aucun pilote ne sera écrit pour
utiliser le DMA a cause car le fait d'installer une deuxième
carte empêcherais les DEUX de marcher, et le seul moyen de
désactiver le DMA, c'est avec un couteau.</p>
<h3><a name="at2450"></a> AT2450</h3>
<p>Statut : Supporté, Nom du pilote : pcnet32</p>
<p>La version PCI de l'AT1500, qui ne souffre pas des
problèmes de la carte PCI 79c970 de Boca. La
sélection du DMA et des informations sur la
numérotation de la puce se trouvent dans <a href=
"#lance">AMD LANCE</a>.</p>
<p>Plus d'informations techniques sur les cartes Ethernet
basées sur l'AMD LANCE sont disponibles dans <a href=
"#amd-notes">Notes sur l'AMD...</a>.</p>
<h3>AT1500</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : rtl8139</p>
<p>Cette carte utilise la puce Realtek 8139, référez
vous à la section <a href="#rtl8139">Realtek 8139</a></p>
<h3><a name="at2540"></a> AT2540FX</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : eepro100</p>
<p>Cette carte utilise une puce i82557, et par conséquent,
pourrait / devrait fonctionner avec le pilote de la carte
eepro100. Si vous l'essayez, envoyez-nous quelques renseignements
complémentaires pour que cette section s'étoffe un
peu.</p>
<h2><a name="amd"></a> <a name="ss5.4">5.4 AMD / Advanced Micro
Devices</a></h2>
<p>Carl Ching d'AMD a eu la gentillesse de fournir une description
très détaillée de tous les produits Ethernet
d'AMD cités, ce qui a permis de clarifier cette section.</p>
<h3><a name="lance"></a> AMD LANCE (7990, 79C960/961/961A,
PCnet-ISA)</h3>
<p>Statut : Supporté, Nom du pilote : lance</p>
<p>Il n'existe en fait aucune carte Ethernet AMD. Vous êtes
certainement en train de lire ce paragraphe parce que les seules
marques que vous ayez pu trouver sur votre carte disent `AMD' et le
numéro ci-dessus. La 7990 est la puce `LANCE' d'origine,
mais la plupart des documents (y compris celui-ci) se
réfèrent à toutes ces puces similaires sous la
dénomination de puces `LANCE' (...incorrectement, devrais-je
ajouter).</p>
<p>Les numéros ci-dessus se réfèrent aux puces
d'AMD qui sont le coeur de nombreuses cartes Ethernet. Par exemple,
l'AT1500 d'Allied Telesis (voir <a href=
"#at-1500">AT1500</a>), et la NE1500/2100 (voir <a href=
"#ne1500">NE1500</a>) utilisent ces puces.</p>
<p>La 7990/79c90 a été remplacée depuis bien
longtemps par des versions plus récentes. La 79C960 (aussi
connue sous le nom de PCnet-ISA) contient pour l'essentiel la base
de la 79c90, avec tout le support matériel
complémentaire requis, ce qui permet de monter une solution
Ethernet en une seule puce. La 79c961 (PCnet-ISA+) est une
version ``Plug and Play'', sans cavaliers, de la 960. La
dernière puce des séries ISA est la 79c961A
(PCnet-ISA II), qui ajoute des capacités de <i>full
duplex</i>. Toutes les cartes comportant une de ces puces devraient
fonctionner avec le pilote <code>lance.c</code>, à
l'exception de très vieilles cartes qui utilisent
la 7990 d'origine avec une configuration à
mémoire partagée. Ces cartes anciennes peuvent
être repérées par l'absence de cavaliers pour
le choix d'un canal DMA.</p>
<p>Parmi les problèmes classiques, on rencontre le message
`busmaster arbitration failure'. Celui-ci s'affiche quand le pilote
LANCE ne peut pas obtenir un accès au bus après qu'un
temps raisonnable se soit écoulé (50 micro-secondes).
Cela indique habituellement que l'implémentation de la
maîtrise de bus DMA de la carte-mère est incorrecte,
ou qu'un autre périphérique monopolise le bus, ou
qu'il y a un conflit de canal DMA. Si votre programme de
configuration du BIOS possède la `GAT option' (GAT pour
Guaranteed Access Time, temps d'accès garanti), essayez de
modifier ce paramètre pour voir si cela va mieux.</p>
<p>Notez aussi que le pilote ne cherche une carte valide
qu'à ces adresses : <code>0x300, 0x320, 0x340,
0x360</code>, et qu'une adresse fournie par un argument de
démarrage <code>ether=</code> est ignorée sans qu'il
en soit fait mention (cela sera corrigé), donc assurez-vous
que votre carte est configurée pour l'une des adresses d'E/S
ci-dessus, pour l'instant.</p>
<p>Le pilote fonctionnera encore correctement, même si plus
de 16 Mo de mémoire sont installés, car des
tampons-relais en mémoire basse sont utilisés au
besoin (c'est-à-dire que toute donnée située
au-delà de la limite des 16 Mo est copiée dans
un tampon en-dessous de la limite avant d'être remis à
la carte pour transmission).</p>
<p>Le canal DMA peut être configuré avec les bits
(inutilisés en dehors de ça) de la valeur de
<code>dev->mem_start</code> (aussi connue comme
<code>PARAM_1</code> (voir <a href="#ether">PARAM_1</a>).
S'il n'est pas fixé, il est testé en activant chaque
canal DMA tour à tour et en regardant si l'initialisation
réussit.</p>
<p>La carte HP-J2405A est une exception : avec cette carte, il
est facile de lire les valeurs stockées en EEPROM pour l'IRQ
et le DMA.</p>
<p>Voir <a href="#amd-notes">Notes on AMD...</a> pour plus
d'informations sur ces puces.</p>
<h3><a name="pcnet-32"></a> AMD 79C965 (PCnet-32)</h3>
<p>Statut : Supporté, Nom du pilote : pcnet32</p>
<p>Il s'agit de la PCnet-32 -- une version 32 bits, à
contrôle de bus, de la puce LANCE originelle pour les
systèmes VLB (Vesa Local Bus) et à bus local. Bien
que ces puces puissent être utilisée avec le pilote
<code>lance.c</code> standard, une version 32 bits
(<code>pcnet32.c</code>) est aussi disponible, laquelle n'a pas
à se préoccuper des limitations à 16 Mo
liées au bus ISA.</p>
<h3><a name="pcnet-pci"></a> AMD 79C970/970A (PCnet-PCI)</h3>
<p>Statut : Supporté, Nom du pilote : pcnet32</p>
<p>Il s'agit de la PCnet-PCI -- similaire à la PCnet-32,
mais conçue pour des systèmes basés sur le bus
PCI. De nouveau, consultez les informations ci-dessus sur la
PCnet-32. Cela signifie que vous devez construire un noyau
comportant le support du BIOS PCI. La 970A ajoute le support
du mode <i>full duplex</i> ainsi que d'autres
fonctionnalités par rapport à la conception d'origine
de la 970.</p>
<p>Notez que l'implémentation de Boca pour la 79C970 ne
fonctionne pas sur les machines Pentium rapides. Il s'agit d'un
problème matériel, puisqu'il affecte aussi les
utilisateurs DOS. Consultez la section sur Boca pour plus de
détails.</p>
<h3>AMD 79C971 (PCnet-FAST)</h3>
<p>Statut : Supporté, Nom du pilote : pcnet32</p>
<p>Il s'agit de la puce 100 Mbits d'AMD pour les
systèmes PCI, qui comporte elle aussi le mode <i>full
duplex</i>. Elle a été introduite en juin 1996 sur le
marché.</p>
<h3>AMD 79C972 (PCnet-FAST+)</h3>
<p>Statut : Inconnu, Nom du pilote : pcnet32</p>
<p>Devrait marcher exactement comme la '971, mais reste à
confirmer quand même.</p>
<h3>AMD 79C974 (PCnet-SCSI)</h3>
<p>Statut : Supporté, Nom du pilote : pcnet32</p>
<p>Il s'agit de la PCnet-SCSI -- qui à la base est
traitée comme une 970 du point de vue Ethernet. Consultez
aussi les informations ci-dessus. Ne demandez pas si la partie SCSI
de la puce est supportée -- il s'agit de
l'<em>Ethernet-HOWTO</em>, pas du <i>SCSI-HOWTO</i>.</p>
<h2><a name="ansel"></a> <a name="ss5.5">5.5 Ansel
Communications</a></h2>
<h3>AC3200 EISA</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : ac3200</p>
<p>Notez que pour accéder à ce pilote lors du
<code>make config</code> vous devez encore répondre `Y'
à la question ``Prompt for development and/or incomplete
code/drivers?'' au tout début. C'est simplement dû au
manque de retour d'informations sur la stabilité du pilote,
étant donné qu'il s'agit d'une carte relativement
rare.</p>
<p>Ce pilote est inclus dans le noyau actuel comme étant en
phase de test `alpha'. Il est basé sur la classique puce
NS8390 utilisée dans les cartes NE2000 et WD80x3. Veuillez
consulter <a href="#alfa">Pilotes `alpha'</a> dans le
présent document pour des informations importantes
concernant les pilotes `alpha'.</p>
<p>Si vous l'utilisez, veuillez informer l'un d'entre nous de la
façon dont les choses fonctionnent, car nous avons eu peu de
retour d'informations, même si le pilote est dans le noyau
depuis la version 1.1.25.</p>
<p>Si vous avez l'intention d'utiliser ce pilote comme module
chargeable, vous devriez lire <a href="#modules">Utilisation
des pilotes Ethernet comme modules</a> pour des informations
spécifiques aux modules.</p>
<h2><a name="ss5.6">5.6 Apricot</a></h2>
<h3>Apricot Xen-II On Board Ethernet</h3>
<p>Statut : Supporté, Nom du pilote : apricot</p>
<p>Cette carte Ethernet sur carte-mère utilise une puce
i82596 à contrôle du bus. Elle ne peut se trouver
qu'à l'adresse d'E/S <code>0x300</code>. En consultant le
source du pilote, il apparaît que l'IRQ est
matériellement fixée à 10.</p>
<p>Les premières versions du pilote avaient une tendance
à croire que tout ce qui vivait en <code>0x300</code>
était un adaptateur réseau Apricot. Depuis, l'adresse
matérielle est testée afin d'éviter ces
détections erronées.</p>
<h2><a name="arcnet"></a> <a name="ss5.7">5.7 Arcnet</a></h2>
<p>Statut : Supporté, Nom du pilote : arcnet
(arc-rimi, com90xx, com20020)</p>
<p>Avec le coût vraiment très bas et les meilleures
performances d'Ethernet, il est probable que la plupart des
endroits disposant d'un réseau vont se débarrasser de
leur matériel Arcnet pour rien, ce qui amènera un
grand nombre de systèmes personnels à utiliser
Arcnet.</p>
<p>Un avantage d'Arcnet est que toutes les cartes ont des
interfaces identiques, donc un seul pilote fonctionnera pour tout
le monde. Il comporte aussi une gestion intégrée des
erreurs, et est donc supposé ne jamais perdre un paquet.
(Chouette pour le trafic UDP !)</p>
<p>Le pilote Arcnet d'Avery Pennarun est dans le noyau par
défaut depuis la version 1.1.80. Le pilote Arcnet utilise
`arc0' comme nom au lieu de l'`eth0' habituel pour les
périphériques Ethernet.</p>
<p>Vous pouvez envoyer rapports de bogues et comptes-rendus
victorieux concernant Arcnet à :</p>
<p><code>apenwarr@foxnet.net</code></p>
<p>Le noyau standard comporte des fichiers d'information pour la
configuration des cavaliers et des aides plus
générales.</p>
<p>Le pilote est également censé fonctionner avec les
cartes ARCnet 100 Mb/s !</p>
<h2><a name="ss5.8">5.8 AT&T</a></h2>
<p>Notez que le StarLAN d'AT&T est une technologie orpheline,
comme le LattisNet de SynOptics, et qu'elle ne peut pas être
utilisée dans un environnement 10Base-T standard, sans un
hub qui `parle' les deux protocoles.</p>
<h3>AT&T T7231 (LanPACER+)</h3>
<p>Statut : Non supporté</p>
<p>Ces cartes StarLAN utilisent une interface similaire à la
puce i82586. A une époque, Matthijs Melchior
(<code>matthijs.n.melchior@att.com</code>) jouait avec le pilote de
la 3c507, et avait presque quelque chose d'utilisable qui
fonctionnait. Nous n'en avons pas entendu parler beaucoup depuis
lors.</p>
<h2><a name="boca"></a> <a name="ss5.9">5.9 Boca Research</a></h2>
<p>Oui, ils font autre chose que des cartes séries
multi-ports. :-)</p>
<h3><a name="boca-ben"></a> Boca BEN (ISA, VLB; PCI)</h3>
<p>Statut : Supporté, Nom du pilote : pcnet32,
lance</p>
<p>Ces cartes sont basées sur les puces PCnet d'AMD. Les
acheteurs exigeants doivent être prévenus que de
nombreux utilisateurs ont eu des problèmes sans fin avec ces
cartes VLB/PCI. Les propriétaires de systèmes Pentium
rapides ont été tout particulièrement
touchés. Notez qu'il ne s'agit pas d'un problème de
pilote, puisqu'il touche aussi les utilisateurs de DOS/Windows/NT.
Le numéro du support technique de Boca est le
1 (407) 241-8088,</p>
<p>(NDT : Ce numéro est bien entendu aux
États-Unis.)</p>
<p>et vous pouvez aussi les joindre à
<code>75300.2672@compuserve.com</code>. Les anciennes cartes ISA ne
semblent pas souffrir des mêmes maux.</p>
<p>Donald a réalisé un test comparatif entre les
cartes PCI Boca et une implémentation similaire d'Allied
Telsyn avec la puce PCnet/PCI, qui montrait que le problème
se situe dans l'implémentation faite par Boca de la puce
PCnet/PCI. On peut consulter les résultats de ce test sur le
serveur WWW de Don :</p>
<blockquote><a href="http://cesdis.gsfc.nasa.gov/linux/">Linux @
CESDIS</a></blockquote>
<p>Boca offre une `réparation - garantie' aux
propriétaires affectés par ce problème qui
entraîne l'ajout d'un des condensateurs manquants, mais il
semble que cette correction ne fonctionne pas à 100 %
pour la plupart des gens, bien que cela en aide quelques uns.</p>
<p>Si vous pensez <em>encore</em> acheter une de ces cartes, alors
essayez au moins d'obtenir une clause de retour inconditionnel sous
7 jours, pour que vous puissiez la rendre si elle ne
fonctionne pas correctement sur votre système.</p>
<p>Des informations plus générales sur les puces AMD
se trouvent dans <a href="#lance">AMD LANCE</a>.</p>
<p>Plus d'informations techniques sur les cartes Ethernet
basées sur l'AMD LANCE sont disponibles dans <a href=
"#amd-notes">Notes sur l'AMD...</a>.</p>
<h2><a name="ctron"></a> <a name="ss5.10">5.10 Cabletron</a></h2>
<p>Donald écrit : ``Oui, encore une autre de ces
sociétés qui ne donnera pas ses informations pour
programmer. Ils ont attendu des mois avant de confirmer qu'en fait
toutes leurs informations étaient propriétaires,
gaspillant délibérément mon temps.
Évitez leurs cartes comme la peste si vous le pouvez. Notez
aussi que certaines personnes ont appelé Cabletron, et se
sont entendues dire des choses comme `un certain D. Becker
travaille sur un pilote pour Linux' -- laissant entendre que je
travaillais pour eux. Ce N'est PAS le cas.''</p>
<p>Apparemment, Cabletron a changé sa politique à
propos des informations sur la programmation (tout comme Xircom)
depuis que Donald a fait ce commentaire il y a quelques
années. Envoyez un e-mail à
<code>support@ctron.com</code> si vous voulez vérifier ce
point précis, ou demander des informations techniques.
Toutefois, à l'heure actuelle, il y a très peu de
demandes pour des pilotes mis à jour pour les cartes E20xx
et E21xx.</p>
<h3><a name="e10xx"></a> E10**, E10**-x, E20**, E20**-x</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : ne (+8390)</p>
<p>Il s'agit de presque-clones de NEx000 qui fonctionnent avec les
pilotes NEx000 standard d'après les informations qui nous
sont revenues, grâce à un test
spécial-Cabletron dans la procédure de
détection. S'il y a le moindre problème, il ne sera
très certainement pas résolu, car les informations de
programmation ne sont pas disponibles.</p>
<h3><a name="e2100"></a> E2100</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : e2100 (+8390)</p>
<p>Un fois de plus, on ne peut pas faire grand-chose quand les
informations de programmation sont propriétaires. La E2100
bénéficie d'une conception lamentable. Dès
qu'elle mappe sa mémoire partagée pendant un
transfert de paquet, elle le fait en utilisant <em>toute la zone de
128 Ko</em> ! Cela signifie que vous <em>ne pouvez
pas</em>, sur cette zone, utiliser de façon
sécurisée un autre périphérique
à mémoire partagée géré par
interruption, y compris une autre E2100. Cela fonctionnera la
plupart du temps, mais de temps à autre cela vous sautera
à la figure. (Oui, on pourrait éviter ce
problème en inhibant les interruptions pendant le transfert
des paquets, mais dans ce cas-là on perdra pratiquement
à coup sûr des tops d'horloge). De plus, si vous
programmez incorrectement la carte, ou que vous arrêtez la
machine juste au mauvais moment, même le bouton de `reset' ne
la rendra pas à la vie. Vous <em>devrez</em> éteindre
la machine et <em>attendre</em> qu'elle se repose pendant
30 secondes.</p>
<p>La sélection du support physique est automatique, mais
vous pouvez outrepasser cette fonctionnalité en utilisant
les bits de poids faibles du paramètre
<code>dev->mem_end</code>. Consultez <a href=
"#ether">PARAM_2</a>. Les utilisateurs des modules peuvent
spécifier une valeur <code>xcvr=N</code> comme
<code>option</code> dans le fichier
<code>/etc/conf.modules</code>.</p>
<p>Ne prenez pas non plus la E2100 pour un clone
de NE2100. L'E2100 repose sur une DP8390 de National
Semiconductor à mémoire partagée, à peu
près similaire à une WD8013 avec des lésions
cérébrales, tandis que la NE2100 (et la NE1500)
utilise une conception basée sur la puce à
contrôle du bus LANCE d'AMD.</p>
<p>Vous trouverez un pilote pour la E2100 dans le noyau
standard. Toutefois, au vu de l'indisponibilité des
informations de programmation, n'attendez pas des corrections de
bogues. N'en utilisez pas à moins d'en avoir une sur les
bras.</p>
<p>Si vous avez l'intention d'utiliser ce pilote sous la forme d'un
module chargeable, vous devriez probablement consulter
<a href="#modules">Utiliser les pilotes Ethernet comme modules</a>
pour des informations spécifiques aux modules.</p>
<h3><a name="e2200"></a> E22**</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : lance</p>
<p>Si l'on en croit les informations trouvées dans un
bulletin technique de Cabletron, ces cartes utilisent le jeu de
puces standard PC-net d'AMD (section <a href="#lance">AMD
PC-Net</a>) et devraient fonctionner avec le pilote
générique <code>lance</code>.</p>
<h2><a name="ss5.11">5.11 Cogent</a></h2>
<p>Voici où et comment les joindre :</p>
<pre>
Cogent Data Technologies, Inc.
175 West Street, P.O. Box 926
Friday Harbour, WA 98250, USA.
Cogent Sales (service commercial)
15375 S.E. 30th Place, Suite 310
Bellevue, WA 98007, USA.
Technical Support: (support technique)
Phone (360) 378-2929 between 8am and 5pm PST
(Téléphone entre 8h et 17h, heure de la côte
Pacifique)
Fax (360) 378-2882
Compuserve GO COGENT
Bulletin Board Service (360) 378-5405
Internet: support@cogentdata.com
</pre>
<h3>EM100-ISA/EISA</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : smc9194</p>
<p>Ces cartes utilisent la puce SMC 91c100 et devraient fonctionner
avec le pilote SMC 91c92, mais cela reste à
vérifier.</p>
<h3>Cogent eMASTER+, EM100-PCI, EM400, EM960, EM964</h3>
<p>Statut : Supporté, Nom du pilote : de4x5,
tulip</p>
<p>Il s'agit encore une fois d'une implémentation de la
21040 de DEC, dont on peut espérer qu'elle fonctionne
correctement avec le pilote 21040 classique.</p>
<p>L'EM400 et l'EM964 sont des cartes à quatre ports qui
utilisent un pont DEC 21050 et quatre puces 21040.</p>
<p>Consultez <a href="#dec-21040">DEC 21040</a> pour plus
d'information sur ces cartes, et l'état d'avancement actuel
du pilote.</p>
<h2><a name="ss5.12">5.12 Compaq</a></h2>
<p>Compaq n'est pas vraiment dans le domaine de la conception et de
la fabrication de cartes Ethernet, mais beaucoup de leurs
systèmes comportent des contrôleurs Ethernet
intégrés à la carte-mère.</p>
<h3>Compaq Deskpro / Compaq XL (Embedded AMD Chip)</h3>
<p>Statut : Supporté, Nom du pilote : pcnet32</p>
<p>Des machines comme celles de la série XL ont une puce PCI
79c97x d'AMD sur la carte-mère qui peut être
utilisée avec le pilote LANCE standard. Mais avant de
pouvoir l'utiliser, vous devez faire quelques manipulations pour
que le BIOS PCI se trouve à une place où Linux peut
le voir. Frank Maas a été suffisamment sympa pour
nous fournir les détails :</p>
<p>``Le problème avec cette machine Compaq est que le point
d'entrée du bus PCI est chargé en mémoire
haute, à un endroit où le noyau Linux ne pourra pas
(n'ira pas) le chercher. Résultat : la carte n'est
jamais détectée ni utilisable (en passant : la
souris ne fonctionnera pas non plus). La manière de
contourner le problème (telle qu'elle est décrite en
détail dans http://www-c724.uibk.ac.at/XL/) est de charger
MS-DOS, de lancer un petit pilote que Compaq a écrit puis de
charger le noyau Linux en utilisant LOADLIN. Ok, je vous laisse le
temps de dire 'beurk', mais pour l'instant c'est la seule solution
qui fonctionne que je connaisse. Le petit pilote se contente de
déplacer le répertoire PCI à un endroit
où il est normalement stocké (et où Linux peut
le trouver).''</p>
<p>Des informations plus générales sur les puces AMD
se trouvent dans <a href="#lance">AMD LANCE</a>.</p>
<h3>Compaq Nettelligent/NetFlex (Embedded ThunderLAN Chip)</h3>
<p>Statut : Supporté, Nom du pilote : tlan</p>
<p>Ces systèmes utilisent une puce Texas Instrument
ThunderLAN, pour plus d'informations, référez vous
à la section <a href="#tlan">ThunderLAN</a>.</p>
<h2><a name="ss5.13">5.13 Danpex</a></h2>
<h3>Danpex EN9400</h3>
<p>Statut : Supporté, Nom du pilote : de4x5,
tulip</p>
<p>Encore une autre carte basée sur la puce 21040 de DEC,
dont on sait qu'elle fonctionne correctement, et à un prix
relativement modéré.</p>
<p>Consultez <a href="#dec-21040">DEC 21040</a> pour plus
d'information sur ces cartes, et l'état d'avancement actuel
du pilote.</p>
<h2><a name="d-link"></a> <a name="ss5.14">5.14 D-Link</a></h2>
<h3><a name="de-100"></a> DE-100, DE-200, DE-220-T, DE-250</h3>
<p>Statut : Supporté, Nom du pilote : ne
(+8390)</p>
<p>Certaines des premières cartes D-Link ne
possédaient pas la signature <code>0x57</code> en PROM, mais
le pilote ne2000 en a connaissance. Pour les cartes configurables
par logiciel, vous pouvez obtenir le programme de ad hoc sur
<code>www.dlink.com</code>. Les cartes DE2** étaient celles
les plus fréquemment indiquées comme possédant
des erreurs de correspondance sur des fausses adresses de transfert
avec les premières versions de Linux. Notez qu'il existe
aussi des cartes chez Digital (DEC, Digital Equipment Corporation)
nommées DE100 et DE200, mais la similitude s'arrête
là.</p>
<h3><a name="de-520"></a> DE-520</h3>
<p>Statut : Supporté, Nom du pilote : pcnet32</p>
<p>Il s'agit d'une carte PCI qui utilise la version PCI de la puce
LANCE d'AMD. Des informations sur la sélection DMA et la
numérotation des puces se trouvent dans <a href=
"#lance">AMD LANCE</a>.</p>
<p>Des informations plus techniques sur les cartes Ethernet
basées sur la puce LANCE d'AMD sont disponibles dans
<a href="#amd-notes">Notes sur l'AMD...</a>.</p>
<h3>DE-528</h3>
<p>Statut : Supporté, Nom du pilote : ne, ne2k-pci
(+8390)</p>
<p>On dirait que D-Link a aussi commencé à fabriquer
des clones de NE2000.</p>
<h3><a name="de-530"></a> DE-530</h3>
<p>Statut : Supporté, Nom du pilote : de4x5,
tulip</p>
<p>Il s'agit d'une implémentation générique de
la puce PCI 21040 de DEC, dont on sait qu'elle fonctionne avec le
pilote générique 21040 `tulip'.</p>
<p>Consultez <a href="#dec-21040">DEC 21040</a> pour plus
d'information sur ces cartes, et l'état d'avancement actuel
du pilote.</p>
<h3><a name="de-600"></a> DE-600</h3>
<p>Statut : Supporté, Nom du pilote : de600</p>
<p>Les utilisateurs de portables et autres personnes qui souhaitent
un moyen rapide de mettre leur ordinateur sur Ethernet pourront
être intéressés par ceci. Le pilote est inclus
dans l'arborescence du noyau par défaut. Bjorn Ekwall
<code>bj0rn@blox.se</code> a écrit le pilote. Attendez-vous
à des taux de transfert de 180 Ko/s par le port
parallèle. Vous devriez lire le fichier README.DLINK dans
l'arborescence du noyau.</p>
<p>(NDT : Ce fichier est bien entendu en anglais.)</p>
<p>Notez que le nom de périphérique que vous passez
à <code>ifconfig</code> est <em>maintenant</em>
<code>eth0</code> et non pas celui précédemment
utilisé, <code>dl0</code>.</p>
<p>Si votre port parallèle <em>ne</em> se trouve
<em>pas</em> à l'adresse standard <code>0x378</code>, il
vous faudra recompiler le noyau. Bjorn écrit :
``Puisque le pilote de la DE-620 essaie de supprimer la moindre
microseconde dans les boucles, j'ai défini l'IRQ et
l'adresse du port comme des constantes plutôt que comme des
variables. Cela donne une vitesse utilisable, mais cela signifie
aussi que vous ne pouvez pas changer ces valeurs depuis par exemple
lilo ; vous _devez_ recompiler...'' Notez aussi que certains
portables implémentent le port parallèle interne
à l'adresse <code>0x3bc</code>, ce qui est l'endroit
où les ports parallèles étaient/sont sur les
cartes monochromes.</p>
<h3><a name="de-620"></a> DE-620</h3>
<p>Statut : Supporté, Nom du pilote : de620</p>
<p>Même chose que pour la DE-600, avec seulement deux formats
de sortie. Bjorn a écrit un pilote pour ce modèle,
pour les versions 1.1 et supérieures du noyau. Consultez les
informations ci-dessus à propos de la DE-600.</p>
<h3><a name="de-650"></a> DE-650</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : de650 ?</p>
<p>Des gens utilisent cette carte PCMCIA depuis quelque temps
déjà avec leur portable. Il s'agit d'une conception
simple basée sur le 8390, qui ressemble beaucoup à
une NE2000. La carte PCMCIA `LinkSys' et l'IC-Card Ethernet sont,
de plus, supposées être des clones de DE-650. Notez
qu'à l'heure actuelle, ce pilote <em>ne</em> fait
<em>pas</em> partie du noyau standard, et que vous devrez donc
appliquer quelques patches.</p>
<p>Consultez <a href="#pcmcia">Support du PCMCIA</a> dans ce
document, et si vous le pouvez, jetez un coup d'oeil
à :</p>
<blockquote><a href=
"http://cesdis.gsfc.nasa.gov/linux/pcmcia.html">La page PCMCIA de
Don</a></blockquote>
<h2><a name="dfi"></a> <a name="ss5.15">5.15 DFI</a></h2>
<h3><a name="dfi-300"></a> DFINET-300 et DFINET-400</h3>
<p>Statut : Supporté, Nom du pilote : ne
(+8390)</p>
<p>Ces cartes sont maintenant détectées (depuis la
version 0.99pl15) grâce à Eberhard Moenkeberg
(<code>emoenke@gwdg.de</code>) qui a noté qu'elles utilisent
`DFI' dans les trois premiers octets de la PROM, à la place
de <code>0x57</code> dans les octets 14 et 15, ce que
font toutes les autres cartes NE1000 et NE2000. (La 300
est un semblant de clone 8 bits de la NE1000, et la 400
est un semblant de clone NE2000.)</p>
<h2><a name="dec"></a> <a name="ss5.16">5.16 Digital / DEC</a></h2>
<h3><a name="dec-200"></a> DEPCA, DE100/1, DE200/1/2, DE210,
DE422</h3>
<p>Statut : Supporté, Nom du pilote : depca</p>
<p>De la documentation incluse dans le fichier source
<code>depca.c</code> comprend des informations sur la façon
d'utiliser plus d'une de ces cartes dans une machine. Notez que la
DE422 est une carte EISA. Ces cartes sont toutes basées sur
la puce LANCE d'AMD. Consultez <a href="#lance">AMD LANCE</a>
pour plus d'informations. Au maximum, deux des cartes ISA peuvent
être utilisées, parce que leurs adresses d'E/S de base
ne peuvent être fixées qu'à <code>0x300</code>
ou <code>0x200</code>. Si vous avez l'intention de le faire,
veuillez lire les notes dans le fichier source du pilote,
<code>depca.c</code>, dans l'arborescence du noyau standard.</p>
<p>Ce pilote fonctionnera aussi sur les machines à
processeur Alpha, et il comprend différents
<code>ioctl()</code> avec lesquels l'utilisateur peut s'amuser.</p>
<h3><a name="dec-ewrk3"></a> Digital EtherWorks 3 (DE203, DE204,
DE205)</h3>
<p>Statut : Supporté, Nom du pilote : ewrk3</p>
<p>Ces cartes utilisent une puce propriétaire de DEC, par
opposition à la puce LANCE utilisée dans les cartes
antérieures comme la DE200. Ces cartes peuvent fonctionner
en mémoire partagée ou en E/S programmées,
bien que vous ayez un gain de performance de 50 % en utilisant le
mode PIO (E/S programmées). La taille de la mémoire
partagée peut être réglée à
2 Ko, 32 Ko, ou 64 Ko, mais seules les valeurs 2 et
32 ont été testées avec ce pilote. David dit
que les performances sont virtuellement les mêmes entre le
mode 2 Ko et le mode 32 Ko. Plus d'informations (y
compris l'utilisation du pilote comme module chargeable) figurent
en tête du fichier source du pilote, <code>ewrk3.c</code>,
ainsi que dans le fichier <code>README.ewrk3</code>. Ces deux
fichiers se trouvent dans la distribution standard du noyau. Ce
pilote supporte les CPU alpha tout comme le
<code>depca.c</code>.</p>
<p>Le pilote standard a un certain nombre d'appels
<code>ioctl()</code> intéressants qui peuvent être
utilisés pour lire ou effacer les statistiques sur les
paquets, lire/écrire l'EEPROM, changer l'adresse
matérielle, et d'autres choses du même genre. Les
bidouilleurs pourront lire le code source pour plus d'information
à ce sujet.</p>
<p>David a aussi écrit un utilitaire de configuration pour
cette carte (outre les lignes du programme DOS
<code>NICSETUP.EXE</code>) ainsi que d'autres outils. Vous pouvez
les trouver sur la majorité des sites Linux dans le
répertoire <code>/pub/Linux/system/Network/management</code>
-- cherchez un fichier
<code>ewrk3tools-X.XX.tar.gz</code>.</p>
<p>(NDT : Le lecteur français aura bien entendu tout
intérêt à utiliser un site miroir, plus rapide.
Par exemple :</p>
<p>
<code>ftp://ftp.lip6.fr/pub/linux/sunsite/system/Network/management</code>)</p>
<h3><a name="dec-eisa"></a> DE425 EISA, DE434, DE435, DE500</h3>
<p>Statut : Supporté, Nom du pilote : de4x5,
tulip</p>
<p>Ces cartes sont basées sur la puce 21040
mentionnée plus bas. La DE500 utilise les puces 21140 pour
fournir des connexions Ethernet 10/100Mb/s. Lisez la section sur la
21040 ci-dessous pour plus d'informations. Il existe aussi quelques
option de compilation qui permettent aux cartes non conçues
par DEC de fonctionner avec ce pilote. Jetez un coup d'oeil
à <code>README.de4x5</code> pour les détails.</p>
<p>Toutes les cartes Digital réaliseront la détection
automatique du média (à l'exception, temporaire, de
la DE500 à cause d'un problème de brevet).</p>
<p>Ce pilote est aussi prêt à fonctionner avec les
processeurs Alpha et accepte d'être chargé comme
module. Les utilisateurs peuvent accéder aux
fonctionnalités internes du pilotes par des appels
<code>ioctl()</code> -- voir l'outil <code>ewrk3</code> et les
sources <code>de4x5.c</code> pour des informations sur la
façon de procéder.</p>
<h3><a name="dec-21040"></a> DEC 21040, 21041, 2114x, Tulip</h3>
<p>Statut : Supporté, Nom du pilote : de4x5,
tulip</p>
<p>La 21040 de DEC est une solution Ethernet en une seule puce
à contrôle proposée par Digital, similaire
à la PCnet d'AMD. La 21040 est spécifiquement
conçue pour l'architecture à bus PCI. Les nouvelles
cartes PCI EtherPower de SMC l'utilisent.</p>
<p>Vous avez le choix entre <em>deux</em> pilotes pour les cartes
basées sur cette puce. Vous pouvez utiliser le pilote de la
DE425 dont nous avons parlé plus haut, et le pilote
générique `tulip' pour 21040.</p>
<p><b>Attention :</b> Même si votre carte est
basée sur cette puce, <em>les pilotes peuvent ne pas
fonctionner pour vous</em>. David C. Davies écrit :
``Il n'y aucune garantie que SOIT <code>tulip.c</code> SOIT
<code>de4x5.c</code> feront fonctionner une autre carte
basée sur le DC2114x que celles pour lesquelles ils ont
été écrit. POURQUOI ?? demandez-vous.
Parce qu'il existe un registre, le Registre multi-usages (General
Purpose Register, CSR12) qui, primo, dans la DC21140A est
programmable par chaque fabricant et ils le font tous d'une
façon différente, et, secundo, dans la DC21142/3 est
maintenant un registre de contrôle SIA (façon
DC21041). La seule petite lueur d'espoir est que nous puissions
décoder la SROM pour aider à la configuration du
pilote. Et encore, ce n'est pas une solution garantie puisque chez
certains constructeurs (par exemple la carte 9332 de SMC) on ne
suit pas le format de programmation SROM recommandé par
Digital Semiconductor.''</p>
<p>En termes non-techniques, cela signifie que si vous n'êtes
pas sûr(e) qu'une carte inconnue avec une puce DC2114x
fonctionnera avec le(s) pilote(s) Linux, alors vous devez vous
assurer que vous pourrez rendre la carte à votre revendeur
<em>avant</em> de l'avoir payée.</p>
<p>La puce 21041 mise à jour, se trouve aussi à la
place de la 21040 sur la plupart des cartes récentes
EtherPower de SMC. La 21140 est destinée au support du
100Base-? et fonctionne avec les pilotes Linux de la puce 21040.
Pour utiliser le pilote <code>de4x5</code> de David avec des cartes
non conçues par DEC, lisez le fichier
<code>README.de4x5</code> pour les détails.</p>
<p>Donald a utilisé des cartes EtherPower-10/100 de SMC pour
développer le pilote `tulip'. Notez que le pilote qui se
trouve dans l'arborescence du noyau à l'heure actuelle n'est
pas la version la plus à jour. Si vous avez des
problèmes avec ce pilote, vous devriez
récupérer la dernière version sur le site
FTP/WWW de Donald.</p>
<blockquote><a href=
"http://cesdis.gsfc.nasa.gov/linux/drivers/tulip.html">Pilote
Tulip</a></blockquote>
<p>L'URL ci-dessus contient aussi une liste (non exhaustive) de
différents cartes/constructeurs qui utilisent la puce
21040.</p>
<p>Notez également que le pilote tulip est encore
considéré comme un pilote <em>alpha</em> (voir
<a href="#alfa">Pilotes alpha</a>) actuellement, et qu'il doit donc
être traité comme tel. Pour l'utiliser, vous devrez
éditer <code>arch/i386/config.in</code> et enlever les
commentaires qui entourent la ligne sur le support
<code>CONFIG_DEC_ELCP</code>.</p>
<p>Donald a même créé une liste de diffusion
pour les annonces sur le support du pilote tulip, etc. Pour vous y
abonner, il vous suffit de taper :</p>
<p><code>echo subscribe | /bin/mail
linux-tulip-request@cesdis.gsfc.nasa.gov</code></p>
<h2><a name="ss5.17">5.17 Farallon</a></h2>
<p>Farallon vend des adaptateurs et des transceivers EtherWave. Ce
périphérique permet de mettre en série
plusieurs périphériques 10baseT.</p>
<h3>Etherwave de Farallon</h3>
<p>Statut : Supporté, Nom du pilote : 3c509</p>
<p>On rapporte qu'il s'agit d'un clone de 3c509 qui inclut le
transceiver EtherWave. Des gens les ont utilisés avec
succès sous Linux avec la version actuelle du pilote 3c509.
C'est bien trop cher pour une utilisation
généralisée, mais c'est une bonne option pour
des cas particuliers. Les prix chez Hublet démarrent
à 125 dollars (environ 750 francs), et l'EtherWave ajoute
entre 75 et 100 dollars (450 à 600 francs) au prix de la
carte -- c'est bien si vous avez tiré un câble
trop court, mais pas si vous avez deux réseaux qui tombent
trop courts.</p>
<h2><a name="ss5.18">5.18 Fujitsu</a></h2>
<p>Contrairement à de nombreux fabricants de puces, Fujitsu
a aussi fabriqué et vendu des cartes réseau
basées sur les leurs.</p>
<h3>Fujitsu FMV-181/182/183/184</h3>
<p>Statut : Supporté, Nom du pilote : fmv18x</p>
<p>Si on en croit le pilote, ces cartes sont faites dans la
lignée de l'implémentation de la Fujitsu MB86965, ce
qui les rend très similaires aux cartes Allied Telesis
AT1700.</p>
<h2><a name="hp"></a> <a name="ss5.19">5.19 Hewlett
Packard</a></h2>
<p>Les cartes 272** utilisent des E/S programmées,
similaires aux cartes NE*000, mais le port de transferts de
données peut être `éteint' quand vous n'y
accédez pas, ce qui évite les problèmes avec
les pilotes qui réalisent une détection
automatique.</p>
<p>Merci à Glenn Talbott d'avoir aidé à
éclaircir la confusion qui régnait dans cette section
en ce qui concerne les numéros de version des
matériels HP.</p>
<h3><a name="hp-27245a"></a> 27245A</h3>
<p>Statut : Supporté, Nom du pilote : hp
(+8390)</p>
<p>Carte 8 bits 10BaseT basée sur le 8390, non
recommandée pour toutes les raisons des 8 bits. Elle a
été repensée il y a quelques années
pour augmenter l'intégration, ce qui a causé des
changements dans les durées d'initialisation, qui affectent
les programmes de test, mais pas les pilotes réseau. (La
nouvelle carte n'est pas `prête' aussi vite que l'ancienne
après être entrée ou sortie du mode en boucle
locale (<i>loopback</i>)).</p>
<p>Si vous avez l'intention d'utiliser ce pilote sous la forme d'un
module chargeable, vous devriez probablement consulter
<a href="#modules">Utiliser les pilotes Ethernet comme modules</a>
pour des informations spécifiques aux modules.</p>
<h3>HP EtherTwist, PC Lan+ (27247, 27252A)</h3>
<p>Statut : Supporté, Nom du pilote : hp+
(+8390)</p>
<p>La HP PC Lan+ est différente de la carte HP PC Lan
standard. Ce pilote a été ajouté à la
liste des pilotes du noyau standard pendant le cycle de
développement des version 1.1.x. Il peut être
utilisé soit en mode PIO (E/S programmées) comme une
ne2000, ou en mode mémoire partagée comme une
wd8013.</p>
<p>La 47B est une carte 16 bits 10BaseT avec AUI à base
de 8390, et la 52A est une carte 16 bits ThinLAN avec AUI
à base de 8390. Ces cartes comportent 32 Ko de
mémoire vive embarquée pour le tampon de
réception/transmission des paquets au lieu des 16 Ko
habituels, et elles offrent toutes les deux une fonction de
détection automatique du connecteur réseau.</p>
<p>Si vous avez l'intention d'utiliser ce pilote sous la forme d'un
module chargeable, vous devriez probablement consulter
<a href="#modules">Utiliser les pilotes Ethernet comme modules</a>
pour des informations spécifiques aux modules.</p>
<h3>HP-J2405A</h3>
<p>Statut : Supporté, Nom du pilote : lance</p>
<p>Ces cartes sont meilleur marché, et
légèrement plus rapides que la 27247/27252A, mais il
leur manque certaines fonctionnalités, comme la
connectivité AUI ou ThinLAN (10Base2), et un support pour
PROM de démarrage (boot PROM). C'est une conception
plutôt générique de la LANCE, mais une
décision mineure de conception la rend incompatible avec un
pilote générique `NE2100'. Un support spécial
pour cette carte (y compris la lecture du canal DMA sur la carte)
est inclus grâce aux informations fournies par Glenn Talbott
de chez HP.</p>
<p>Plus d'informations techniques sur les cartes basée sur
la puce AMD se trouvent dans <a href="#amd-notes">Notes sur
AMD...</a>.</p>
<h3>Carte Ethernet embarquée de l'HP-Vectra</h3>
<p>Statut : Supporté, Nom du pilote : lance</p>
<p>L'HP-Vectra possède une puce PCnet d'AMD sur sa
carte-mère. La sélection du DMA et des informations
sur la numérotation de la puce se trouvent dans
<a href="#lance">AMD LANCE</a>.</p>
<p>Plus d'informations techniques sur les cartes basées sur
la puce AMD se trouvent dans <a href="#amd-notes">Notes sur
AMD...</a>.</p>
<h3>Cartes HP 10/100 VG Any Lan (27248B, J2573, J2577, J2585, J970,
J973)</h3>
<p>Statut : Supporté, Nom du pilote : hp100</p>
<p>Ce pilote supporte aussi certains produits Complex VG. Comme ce
pilote supporte les cartes ISA, EISA et PCI, il se trouve dans la
section des cartes ISA quand vous faites un <code>make
config</code> dans les sources du noyau.</p>
<h3>HP NetServer 10/100TX PCI (D5013A)</h3>
<p>Statut : Supporté, Nom du pilote : eepro100</p>
<p>Apparemment, ces cartes sont juste des cartes Intel EtherExpress
Pro 10/100B card dont on a changé la marque. Allez voir la
section sur Intel pour plus de détails.</p>
<h2><a name="ibm"></a> <a name="ss5.20">5.20 IBM / International
Business Machines</a></h2>
<h3><a name="thinkpad-300"></a> IBM Thinkpad 300</h3>
<p>Statut : Supporté, Nom du pilote : znet</p>
<p>Celui-ci est compatible avec le Z-note de Zénith,
basé sur une puce Intel. Voir <a href=
"#z-note">Z-note</a>.</p>
<p>Ce site est supposé avoir une base de données
exhaustive de choses utiles pour les versions récentes du
Thinkpad. Je ne l'ai pas vérifié moi-même.</p>
<blockquote><a href=
"http://peipa.essex.ac.uk/html/linux-thinkpad.html">Thinkpad-info</a></blockquote>
<p>Pour ceux d'entre vous qui n'ont pas de navigateur WWW à
portée de la main, essayez
<code>peipa.essex.ac.uk:/pub/tp750/</code>.</p>
<h3>IBM Credit Card Adaptor for Ethernet - Adaptateur `Credit Card'
pour Ethernet d'IBM</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : ? (distribué séparément)</p>
<p>Des personnes utilisent aussi cette carte PCMCIA avec Linux.
Comme déjà noté, vous aurez besoin d'un jeu de
puces PCMCIA supporté par Linux sur votre portable, et vous
devrez mettre à jour le support PCMCIA dans le noyau
standard.</p>
<p>Consultez <a href="#pcmcia">Support PCMCIA</a> dans ce
document, et si vous le pouvez jetez un coup d'oeil
à :</p>
<blockquote><a href=
"http://cesdis.gsfc.nasa.gov/linux/pcmcia.html">La page PCMCIA de
Donald</a></blockquote>
<h3>IBM Token Ring</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : ibmtr</p>
<p>Le support de Token Ring nécessite plus que la simple
écriture d'un pilote, il faut aussi écrire les
routines de routage source pour Token Ring. C'est le routage par la
source qui sera le plus long à écrire.</p>
<p>Peter De Schrijver a passé du temps sur Token Ring
récemment, et a travaillé avec des cartes Token Ring
ISA et MCA d'IBM.</p>
<p>Le code Token Ring actuel a été inclus dans les
premiers noyaux des séries 1.3.x.</p>
<p>Peter dit qu'il a été testé à
l'origine avec une carte Token Ring MCA 16/4 Megabit, mais qu'il
devrait fonctionner avec d'autres cartes basées sur
Tropic.</p>
<h2><a name="ss5.21">5.21 Cartes Ethernet ICL</a></h2>
<h3>ICL EtherTeam 16i/32</h3>
<p>Statut : Supporté, Nom du pilote : eth16i</p>
<p>Mika Kuoppala (<code>miku@pupu.elt.icl.fi</code>) a écrit
ce pilote, qui a été inclus dans les premiers noyaux
1.3.4x. Cette carte utilise la puce MB86965 de Fujitsu qui est
aussi utilisée dans les cartes AT1700.</p>
<h2><a name="intel"></a> <a name="ss5.22">5.22 Cartes Ethernet
Intel</a></h2>
<p>Note : les noms de certaines cartes Intel sont ambigus au
possible et prêtent à confusion . Si vous avez un
doute, vérifiez le numéro sur la puce principale de
la carte <code>i8xxxx</code>, ou, pour les cartes PCI, utilisez les
informations disponibles dans le repertoire <code>/proc</code> et
ensuite, comparez-les aux numéros listés ici.</p>
<h3>Ether Express</h3>
<p>Statut : Supporté, Nom du pilote : eexpress</p>
<p>Cette carte utilise l'Intel i82586. Les premières
versions de ce pilote (dans les noyaux 1.2) étaient
classées en cours de test `alpha', parce qu'elles ne
fonctionnaient pas correctement pour la plupart des gens. Le pilote
des versions 2.0 du noyau semble fonctionner bien mieux pour ceux
qui l'ont essayé. Toutefois, les sources le donnent comme
étant toujours expérimental, et pose pas mal de
probleme sur les machines rapides.</p>
<p>Les commentaires au début du fichier source donnent la
liste de certains des problèmes (et solutions)
associés à ces cartes.Il a été
rapporté que la bidouille de ralentissement qui consiste
à remplacer tous les <code>outb</code> par des
<code>outb_p</code> dans le pilote a permis d'éviter des
blocages pour au moins une personne.</p>
<h3>Ether Express PRO/10</h3>
<p>Statut : Supporté, Nom du pilote : eepro</p>
<p>Bao Chau Ha a écrit un pilote pour ces cartes, qui a
été inclus dans les premiers noyaux 1.3.x. Il peut
aussi fonctionner avec certains des systèmes Ethernet
intégrés de Compaq, basés sur la puce
i82595.</p>
<h3>Ether Express PRO/10 PCI (EISA)</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : ? (distribué séparement)</p>
<p>John Stalba (<code>stalba@ultranet.com</code>) a écrit un
pilote pour la version PCI. Ces cartes utilisent la puce
d'interface PCI PLX9036 avec la puce contrôleur-réseau
i82596 d'Intel. Si votre carte comporte la i82557, alors vous
<em>n'avez pas</em> cette carte, mais au contraire la version dont
il est question ci-dessous, qui nécessite par
conséquent le pilote EEPro100 plutôt que celui-ci.</p>
<p>Vous pouvez obtenir le pilote `alpha' pour les cartes PCI
PRO/10, ainsi que les instructions pour l'utiliser,
à :</p>
<blockquote><a href=
"http://www.ultranet.com/~stalba/eep10pci.html">Pilote
EEPro10</a></blockquote>
<p>Si vous avez la carte EISA, vous devrez certainement bidouiller
un peu le pilote pour prendre en compte les différents
mécanismes de détection (PCI ou EISA) qui sont
utilisés dans chaque cas.</p>
<h3><a name="eepro100"></a> Ether Express PRO 10/100B</h3>
<p>Statut : Supporté, Nom du pilote : eepro100</p>
<p>Notez que ce pilote <em>ne</em> fonctionnera <em>pas</em> avec
les cartes 100A qui sont plus anciennes. Les numéros de
puces que gère le pilote sont i82557/i82558.</p>
<p>Pour les mises à jour du pilote et / ou des
informations, consultez :</p>
<blockquote><a href=
"http://cesdis.gsfc.nasa.gov/linux/drivers/eepro100.html">Page de
l'EEPro-100B</a></blockquote>
<p>Pour vous inscrire à la liste de diffusion relative
à ce pilote, tapez la commande suivante :</p>
<blockquote><code>echo subscribe | /bin/mail
linux-eepro100-request@cesdis.gsfc.nasa.gov</code></blockquote>
<p>Apparemment Donald a été obligé de signer
un accord de confidentialité qui établit qu'il
pouvait en fait communiquer le code-source du pilote ! Comment
prendre une telle preuve de bêtise de la part
d'Intel ?</p>
<h2><a name="ss5.23">5.23 Kingston</a></h2>
<p>Kingston fait plusieurs cartes, incluant des cartes à
base de NE2000+, AMD PCnet, et DEC tulip. La majorité des
cartes devrait marcher avec leurs pilotes respectifs. Voyez
<a href="http://www.kingston.com">Kingston Web Page</a> pour plus
de détails.</p>
<p>Il paraît que la carte à base de KNE40 DEC 21041
tulip fonctionne très bien avec le pilote tulip
générique</p>
<h2><a name="ss5.24">5.24 LinkSys</a></h2>
<p>LinkSys produit tout un tas de clones de NE2000, certains
étant de simple cartes ISA, d'autres des cartes ISA `plug
and play' et même des clones de NE2000 PCI basés sur
l'un des jeux de puces NE2000-PCI supportés. Il existe tout
simplement trop de modèles pour pouvoir tous les citer
ici.</p>
<p>LinkSys aime bien Linux, ils ont une page WWW de support
spécifique, et Linux est imprimé sur les boîtes
de certains de leurs produits. Consultez :</p>
<blockquote>
<code>http://www.linksys.com/support/solution/nos/linux.htm</code></blockquote>
<h3>Cartes LinkSys Etherfast 10/100.</h3>
<p>Statut : Supporté, Nom du pilote : tulip</p>
<p>Notez que ces cartes ont connu quelques `révisions'
(c-à-d différents chipsets utilisés) mais
toutes avaient le même nom. La première utilisait le
chipset DEC. La seconde, le contrôleur réseau Lite-On
PNIC 82c168 PCI, et le support pour celle-ci a été
inclus dans le pilote tulip standard (depuis la version 0.83). Plus
d'informations sur PNIC à :</p>
<blockquote>
<code>http://cesdis.gsfc.nasa.gov/linux/drivers/pnic.html</code></blockquote>
<p>Pour plus d'informations sur les différentes versions de
ces cartes, référez vous au site de LinkSys
mentionné ci-dessus.</p>
<h3>LinkSys Pocket Ethernet Adapter Plus (PEAEPP)</h3>
<p>Statut : Supporté, Nom du pilote : de620</p>
<p>On suppose qu'il s'agit d'un clone du DE-620, et il paraît
que cela fonctionne bien avec ce pilote. Consultez <a href=
"#de-620">DE-620</a> pour plus d'information.</p>
<h3>Adaptateur LinkSys PCMCIA</h3>
<p>Statut : Supporté, Nom du pilote : de650
(?)</p>
<p>On suppose qu'il s'agit d'un DE-650 "recarrossé" avec une
étiquette différente. Consultez <a href=
"#de-650">DE-650</a> pour plus d'information.</p>
<h2><a name="ss5.25">5.25 Microdyne</a></h2>
<h3>Microdyne Exos 205T</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : ?</p>
<p>Une autre carte basée sur l'i82586. Dirk Niggemann
<code>dirk-n@dircon.co.uk</code> a écrit un pilote qu'il
classe dans la catégorie ``pré-alpha'' et dont il
aimerait bien que les gens le testent. Ecrivez-lui pour plus de
détails.</p>
<h2><a name="ss5.26">5.26 Mylex</a></h2>
<p>Mylex peut être joint aux numéros suivants, au cas
où quelqu'un aurait envie de leur demander quelque
chose.</p>
<pre>
MYLEX CORPORATION, Fremont Ventes: 800-77-MYLEX, (510) 796-6100 FAX:
(510) 745-8016.
</pre>
<p>Ils ont aussi un site WWW: <a href="http://www.mylex.com">Site
WWW de Mylex</a></p>
<h3>Mylex LNE390A, LNE390B</h3>
<p>Statut : supporté, Nom du pilote : lne390
(+8390)</p>
<p>Ces cartes EISA plutôt anciennes utilisent une
implémentation à mémoire partagée
similaire aux wd80x3. Un pilote pour ces cartes est disponible dans
les noyaux 2.2. Assurez vous de bien spécifier une zone de
mémoire inférieure a 1 Mo ou alors, supérieure
à la taille totale de la RAM de votre ordinateur.</p>
<h3>Mylex LNP101</h3>
<p>Statut : Supporté, Nom du pilote : de4x5,
tulip</p>
<p>Il s'agit d'une carte PCI basée sur la puce 21040 de DEC.
On peut sélectionner les ports 10BaseT, 10Base2 ou 10Base5
(AUI). La carte LNP101 a été testée et elle
fonctionne avec le pilote 21040 générique.</p>
<p>Consultez la section sur la puce 21040 ( <a href=
"#dec-21040">DEC 21040</a>) pour plus d'information.</p>
<h3>Mylex LNP104</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : de4x5, tulip</p>
<p>La LNP104 utilise la puce 21050 de DEC pour fournir
<em>quatre</em> ports 10BaseT indépendants. Elle devrait
fonctionner avec les pilotes 21040 récents qui savent
partager les IRQ, mais personne à ce jour n'a indiqué
l'avoir essayée (autant que je sache).</p>
<h2><a name="novell"></a> <a name="ss5.27">5.27 Ethernet chez
Novell : NExxxx et les clones associés.</a></h2>
<p>Le préfixe `NE' vient de `Novell Ethernet'. Novell a
suivi la conception la moins chère décrite dans les
documentations de National Semiconductor, et a vendu les droits de
fabrication à Eagle (s'en est
débarrassé ?), juste pour pouvoir mettre sur le
marché des cartes Ethernet à prix raisonnables. (La
maintenant omniprésente carte NE2000).</p>
<h3><a name="ne2k"></a> NE1000, NE2000</h3>
<p>Statut : Supporté, Nom du pilote : ne
(+8390)</p>
<p>``NE2000'' est maintenant un nom générique pour
une conception minimaliste basée sur la puce 8390 de
National Semiconductor. Ces cartes utilisent des E/S
programmées plutôt que la mémoire
partagée, ce qui amène une installation plus facile
mais des performances légèrement moins bonnes et
quelques problèmes. Certains des problèmes qui
peuvent survenir avec les cartes NE2000 sont cités à
<a href="#ne2k-probs">Problèmes avec...</a>.</p>
<p>Quelques clones de NE2000 utilisent la puce `AT/LANTic' 83905 de
National Semiconductor, qui offre un mode à mémoire
partagée similaire à celui de la wd8013 et une
configuration logicielle via une EEPROM. Le mode à
mémoire partagée engendrera moins de charge
processeur (et sera donc plus efficace) que le mode à E/S
programmées.</p>
<p>En général ce n'est pas une bonne idée de
placer un clone de NE2000 à l'adresse d'E/S
<code>0x300</code> parce que pratiquement <em>tous</em> les pilotes
de périphériques testent cette adresse au
démarrage. Certains clones de NE2000 bas de gamme acceptent
difficilement d'être titillés au mauvais endroit, et
ils répondront en bloquant votre machine. L'adresse
<code>0x320</code> est également une mauvaise idée
car les pilotes SCSI testent <code>0x330</code>.</p>
<p>Donald a écrit un programme de diagnostic pour NE2000
(<code>ne2k.c</code>) qui fonctionne pour toutes les cartes NE2000.
Consultez <a href="#diag">Programmes de diagnostic</a> pour
plus d'information.</p>
<p>Si vous avez l'intention d'utiliser ce pilote sous la forme d'un
module chargeable, vous devriez probablement consulter
<a href="#modules">Utiliser les pilotes Ethernet comme modules</a>
pour des informations spécifiques aux modules.</p>
<h3><a name="ne2k-pci"></a> NE2000-PCI
(RealTek/Winbond/Compex)</h3>
<p>Statut : Supporté, Nom du pilote : ne, ne2k-pci
(+8390)</p>
<p>Oui, croyez-le ou non, des gens fabriquent des cartes PCI
basées sur la vieille interface de la NE2000, conçue
il y a plus de dix ans. Actuellement, presque toutes ces cartes
sont basées sur la puce 8029 de RealTek ou la
puce 89c940 de Winbond. Les cartes Compex, KTI, VIA et Netvin
utilisent apparemment aussi ces puces, mais possèdent un une
signature PCI différente.</p>
<p>Le dernier noyau Linux 2.0 est capable de détecter
automatiquement toutes ces cartes et de les utiliser. (Si vous
utilisez un noyau version 2.0.34 ou plus ancien, vous devriez
le mettre à jour pour vous assurer que votre carte sera
détectée). Il y a dorénavant deux pilotes que
vous pouvez utiliser, le pilote ISA/PCI originel <code>ne.c</code>
et le pilote PCI plus récent <code>ne2k-pci.c</code>.</p>
<p>Pour utiliser le pilote original, vous devez répondre `Y'
à l'option `Other ISA cards' (`Autres cartes ISA ?')
lorsque vous exécutez <code>make config</code> car en fait
vous utilisez le même pilote NE2000 que celui des
cartes ISA. (Cela devrait accréditer l'idée que
ces cartes ne sont en aucune façon aussi intelligentes que,
disons, une carte à base de PCNet-PCI ou DEC 21040...).</p>
<p>Le récent pilote PCI diffère de la version ISA/PCI
par le fait que le support pour les cartes 8 bits NE1000 a
été supprimé et que les données
transitent de/vers la carte en de plus gros paquets, sans les
pauses que les vieilles ISA NE2000 nécessitaient pour
opérer de façon fiable. Il en résulte un
pilote légèrement plus petit, et
légèrement plus efficace, mais ne vous emballez pas
trop vite, les différences ne seront pas éclatantes
en utilisation normale. (Si vous voulez beaucoup
d'efficacité avec peu de charge CPU, alors une NE2000 PCI
est un très mauvais choix). Des mises à jour ainsi
que plus d'informations sont disponibles à :</p>
<blockquote>
<code>http://cesdis.gsfc.nasa.gov/linux/drivers/ne2k-pci.html</code></blockquote>
<p>Si vous avez une carte PCI NE2000 qui <em>n'est pas</em>
détectée par le dernier pilote, veuillez contacter le
responsable du pilote NE2000 qui est indiqué dans
<code>/usr/src/linux/MAINTAINERS</code>, en lui joignant les
sorties d'un <code>cat /proc/pci</code> et de <code>dmesg</code>
afin que le support pour votre carte puisse être
ajouté dans le pilote.</p>
<p>Notez aussi que pas mal de fabricants de cartes sont connus pour
mettre un autocollant `Compatible NE2000' sur les boîtes de
leurs produits même si c'est totalement différent
(ex : PCNet-PCI ou RealTek 8139). En cas de doute, regardez la
puce principale et comparez avec ce qui est écrit ici.</p>
<h3>NE-10/100</h3>
<p>Statut : Non supporté</p>
<p>Il s'agit de cartes ISA 100Mb/s basées sur les puces
DP83800 et DP83840 de National Semiconductor. Il n'y a actuellement
aucun support logiciel, et personne n'a indiqué qu'il
travaillait à un pilote. Apparemment, la documentation de
ces puces n'est pas disponible, à part un bien pauvre PDF
insuffisant pour créer un pilote.</p>
<h3><a name="ne1500"></a> NE1500, NE2100</h3>
<p>Statut : Supporté, Nom du pilote : lance</p>
<p>Ces cartes utilisent la puce 7990 LANCE originelle d'AMD et sont
supportées grâce au pilote Linux <code>lance</code>.
Les clones de NE2100 plus récents reposent sur la puce mise
à jour PCnet/ISA d'AMD.</p>
<p>Des versions plus anciennes du pilote <code>lance</code> avaient
des problèmes pour obtenir la ligne d'IRQ via l'affectation
automatique d'IRQ des cartes 7990 originelles de Novell/Eagle.
Heureusement cela est maintenant résolu. Si ce n'est pas le
cas, spécifiez l'IRQ via LILO, et indiquez-nous si cela pose
encore des problèmes.</p>
<p>La sélection du DMA et des informations sur la
numérotation de la puce se trouvent dans <a href=
"#lance">AMD LANCE</a>.</p>
<p>Des informations plus techniques sur les cartes Ethernet
basées sur l'AMD LANCE sont disponibles dans <a href=
"#amd-notes">Notes sur l'AMD...</a>.</p>
<h3>NE/2 MCA</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : ne2</p>
<p>Quelques cartes NE2000 MCA ont été
fabriquées par diverses sociétés. Ce pilote,
disponible dans les noyaux 2.2 détectera les cartes
suivantes : Novell Ethernet Adapter NE/2, Compex ENET-16 MC/P,
et l'Ethernet Adapter AE/2 de chez Arco.</p>
<h3><a name="ne3200"></a> NE3200</h3>
<p>Statut : Non supporté</p>
<p>Cette vieille carte EISA utilise un 80186 à 8 MHz en
compagnie d'un i82586. Personne ne travaille à un support et
de toute façon, il n'y a ni documentation sur la carte, ni
de vraie demande pour un pilote.</p>
<h3><a name="ne3210"></a> NE3210</h3>
<p>Statut : Supporté, Nom du pilote : ne3210
(+8390)</p>
<p>Cette carte EISA est complètement différente de la
NE3200, car elle utilise une puce National Semiconductor 8390. Le
pilote se trouve dans les noyaux 2.2. Assurez vous d'avoir
réglé la mémoire partagée en dessous de
1 Mo, ou au dessus de la plus grande adresse de mémoire
physique qui est installée sur la machine.</p>
<h3>NE5500</h3>
<p>Statut : Supporté, Nom du pilote : pcnet32</p>
<p>Ce sont juste des cartes basées sur la puce PCnet-PCI
('970A) d'AMD. Plus d'informations sur les cartes à base de
LANCE/PCnet se trouvent dans <a href="#lance">AMD
LANCE</a>.</p>
<h2><a name="ss5.28">5.28 Proteon</a></h2>
<h3>Proteon P1370-EA</h3>
<p>Statut : Supporté, Nom du pilote : ne
(+8390)</p>
<p>Il s'agit apparemment d'un clone de NE2000, et il fonctionne
correctement avec Linux.</p>
<h3>Proteon P1670-EA</h3>
<p>Statut : Supporté, Nom du pilote : de4x5,
tulip</p>
<p>Encore une autre carte PCI basée sur la puce Tulip de
DEC. On rapporte qu'elle fonctionne correctement avec Linux.</p>
<p>Consultez la section sur la puce 21040 ( <a href=
"#dec-21040">DEC 21040</a>) pour plus d'informations sur le
pilote.</p>
<h2><a name="ss5.29">5.29 Pure Data</a></h2>
<h3>PDUC8028, PDI8023</h3>
<p>Statut : Supporté, Nom du pilote : wd
(+8390)</p>
<p>Les séries PDUC8028 et PDI8023 de cartes PureData
semblent fonctionner correctement, grâce au code de
détection spécial qu'a fourni Mike Jagdis
<code>jaggy@purplet.demon.co.uk</code>. Le support pour ces cartes
est intégré dans le pilote Western Digital (WD).</p>
<h2><a name="ss5.30">5.30 Racal-Interlan</a></h2>
<p>On peut joindre Racal-Interlan via le WWW à
<code>www.interlan.com</code>. Je crois qu'ils étaient
connus sous le nom de MiCom-Interlan à une
époque.</p>
<h3>ES3210</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : es3210</p>
<p>Il s'agit d'une carte EISA à mémoire
partagée basée sur le 8390. Un pilote
expérimental pour les versions 2.2 du noyau est disponible.
On indique qu'il fonctionne correctement, mais la détection
de l'IRQ EISA et de l'adresse de mémoire partagée
paraît ne pas fonctionner avec (au moins) les
premières révisions de ces cartes. (Ce
problème n'est pas spécifique à Linux
d'ailleurs). Dans ce cas, vous devez les fournir au pilote ;
par exemple, pour une carte utilisant l'IRQ 5 et la
mémoire partagée en <code>0xd0000</code>. Avec
un pilote modulaire, ajoutez <code>options es3210 irq=5
mem=0xd0000</code> à votre fichier
<code>/etc/conf.modules</code>. Si le pilote est
intégré au noyau, donnez lui
<code>ether=5,0,0xd0000,eth0</code> au boot. L'adresse de base
d'E/S est détectée automatiquement et une valeur de
zéro doit donc être utilisée.</p>
<h3>NI5010</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : ni5110</p>
<p>Le pilote pour ces vieilles cartes 8 bits MiCom-Interlan
était disponible séparément, mais on le trouve
maintenant en tant que pilote expérimental dans les noyaux
2.2.</p>
<h3>NI5210</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : ni52</p>
<p>Cette carte utilise aussi les puces Intel et Michael Hipp a
écrit un pilote pour elle. Il est inclus dans le noyau
standard en tant que pilote en phase `alpha'. Michael aimerait
recevoir des informations des utilisateurs qui possèdent
cette carte. Consultez <a href="#alfa">Les pilotes
`Alpha'</a> pour des informations importantes sur l'utilisation des
pilotes Ethernet en phase de test `alpha' avec Linux.</p>
<h3><a name="ni65xx"></a> NI6510 (not EB)</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : ni65</p>
<p>Il existe également un pilote pour la NI6510
(basée sur la puce LANCE), et il a aussi été
écrit par Michael Hipp. Là aussi, il s'agit d'un
pilote `alpha'. Pour une raison inconnue, cette carte n'est pas
compatible avec le pilote LANCE générique.
Consultez <a href="#alfa">Les pilotes `Alpha'</a> pour des
informations importantes sur l'utilisation des pilotes Ethernet en
phase de test `alpha' avec Linux.</p>
<h3>EtherBlaster (aka NI6510EB)</h3>
<p>Statut : Supporté, Nom du pilote : lance</p>
<p>Depuis le noyau 1.3.23, le pilote LANCE générique
comprend un test supplémentaire pour la signature
<code>0x52, 0x44</code> spécifique de la NI6510EB. D'autres
ont indiqué que cette signature n'est pas la même pour
toutes les cartes NI6510EB, ce qui peut amener le pilote
<code>lance</code> à ne pas détecter votre carte. Si
cela vous arrive, vous pouvez changer la procédure de
détection (aux environs de la ligne 322 de
<code>lance.c</code>) pour qu'elle <code>printk()</code> (affiche)
quelles sont les valeurs pour votre carte, puis utiliser ces
valeurs à la place du <code>0x52, 0x44</code> donné
par défaut.</p>
<p>Les cartes devraient probablement être placées en
mode `hautes performances' et non pas dans le mode
compatible-NI6510 lorsque l'on utilise le pilote
<code>lance</code>.</p>
<h2><a name="ss5.31">5.31 RealTek</a></h2>
<h3><a name="aep-100"></a> RealTek RTL8002/8012 (AT-Lan-Tec) Pocket
adaptor</h3>
<p>Statut : Supporté, Nom du pilote : atp</p>
<p>Il s'agit d'un adaptateur de poche générique, peu
cher, développé en OEM, vendu par AT-Lan-Tec, et
(sans doute) par un certain nombre d'autres fournisseurs. Un pilote
est inclus dans le noyau standard. Une quantité
substantielle d'information est contenue dans le fichier source du
pilote, <code>atp.c</code>.</p>
<p>Notez que dans les premières versions de ce pilote, le
nom de périphérique que vous passiez à
<code>ifconfig</code> <em>n'était pas</em> <code>eth0</code>
mais <code>atp0</code>.</p>
<h3>RealTek 8009</h3>
<p>Statut : Supporté, Nom du pilote : ne
(+8390)</p>
<p>C'est un clone de NE2000 ISA, et il fonctionne très bien
avec le pilote NE2000 Linux. Le programme <code>rset8009.exe</code>
peut être obtenu depuis le site WWW de RealTek's
<code>http://www.realtek.com.tw</code> - ou via ftp depuis le
même site.</p>
<h3>RealTek 8019</h3>
<p>Statut : Support, Nom du pilote : ne (+8390)</p>
<p>Celle-ci est la version "Plug and Pray" de la
précédente. Utilisez l'utilitaire DOS pour
désactiver le PnP et activez la configuration logicielle.
Attribuez une IRQ et des adresses d'E/S raisonnables, et tout
devrait aller pour le mieux. (Si vous utilisez les modules,
n'oubliez pas d'ajouter une option <code>io=0xNNN</code> au fichier
<code>/etc/conf.modules</code>. Le programme
<code>rset8009.exe</code> peut être obtenu depuis le site WWW
de RealTek's <code>http://www.realtek.com.tw</code> -- ou via
ftp depuis le même site.</p>
<h3>RealTek 8029</h3>
<p>Statut : Supporté, Nom du pilote : ne2k-pci</p>
<p>Il s'agit d'une implémentation PCI sur une seule puce
d'un clone de NE2000. Différents fournisseurs vendent
maintenant des cartes comportant cette puce. Consultez
<a href="#ne2k-pci">NE2000 PCI</a> pour des informations sur
l'utilisation d'une de ces cartes. Notez qu'il s'agit d'un design
de plus de dix ans collé sur un bus PCI, et ce ne sera pas
vraiment meilleur que pour le pendant ISA.</p>
<h3><a name="rtl8139"></a> RealTek 8129/8139</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : rtl8139</p>
<p>Encore une autre solution Ethernet PCI sur une puce unique de
RealTek. Un pilote pour les cartes basées sur elle devrait
être inclus dans la version 2.0.34 du noyau Linux. Pour
plus d'informations, consultez :</p>
<blockquote>
<code>http://cesdis.gsfc.nasa.gov/linux/drivers/rtl8139.html</code></blockquote>
<h2><a name="ss5.32">5.32 Sager</a></h2>
<h3>Sager NP943</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : 3c501</p>
<p>Il s'agit juste d'un clone de 3c501, avec un préfixe de
S.A. PROM différent. Je pense qu'elle est aussi cliniquement
morte que la vraie 3c501, en passant. Le pilote vérifie la
présence de l'identificateur de la NP943 et la traite comme
une 3c501 par la suite. Consultez <a href="#3c501">3Com
3c501</a> pour toutes les bonnes raisons qui font que vous ne
devriez vraiment pas avoir ne serait-ce que l'intention d'utiliser
une de ces cartes.</p>
<h2><a name="ss5.33">5.33 Schneider & Koch</a></h2>
<h3>SK G16</h3>
<p>Statut : Supporté, Nom du pilote : sk_g16</p>
<p>Ce pilote, écrit par PJD Weichmann et SWS Bern, a
été inclus dans les noyaux des versions 1.1. Il se
trouve que la SK G16 est semblable à la NI6510, en ce sens
qu'elle est basée sur la première édition de
la puce LANCE (la 7990). Une fois de plus, cette carte semble ne
pas fonctionner avec le pilote LANCE générique.</p>
<h2><a name="ss5.34">5.34 SEEQ</a></h2>
<h3>SEEQ 8005</h3>
<p>Statut : Supporté, Nom du pilote : seeq8005</p>
<p>Ce pilote qui est l'oeuvre de Hamish Coleman a été
inclus dans les premiers noyaux 1.3.x. Peu d'informations sur la
carte figurent dans le pilote, et donc pas grand chose à en
dire ici. Si vous avez une question, vous aurez probablement tout
intérêt à envoyer un message à
<code>hamish@zot.apana.org.au</code>.</p>
<h2><a name="smc"></a> <a name="ss5.35">5.35 SMC (Standard
Microsystems Corp.)</a></h2>
<p>La division Ethernet de Western Digital a été
achetée par SMC il y a bien longtemps lorsque les wd8003 et
wd8013 étais les produits phares. Depuis lors, SMC a
continué de faire des cartes ISA basées sur le 8390
(Elite16, Ultra, EtherZ) et a aussi étoffé son
catalogue de quelques produits PCI.</p>
<p>Voici comment contacter SMC :</p>
<p>SMC / Standard Microsystems Corp., 80 Arkay Drive, Hauppage, New
York, 11788, USA. Support technique par
téléphone : 800-992-4762 (USA) ou 800-433-5345
(Canada) ou 516-435-6250 (Autres pays). Demandes de
documentation : 800-SMC-4-YOU (USA) ou 800-833-4-SMC (Canada)
ou 516-435-6255 (Autres pays). Support technique par E-mail :
<code>techsupt@ccmail.west.smc.com</code>. Site FTP :
<code>ftp.smc.com</code>. Site Web : <a href=
"http://www.smc.com">SMC</a>.</p>
<h3>WD8003, SMC Elite</h3>
<p>Statut : Supporté, Nom du pilote : wd
(+8390)</p>
<p>Ce sont les versions 8 bits de la carte. La 8003
8 bits est légèrement moins chère, mais
ne vaut ces économies que pour une utilisation
légère. Notez que certaines des cartes sans EEPROM
(des clones avec des cavaliers, ou de vieilles <em>vieilles</em>
vieilles cartes wd8003) n'ont aucun moyen d'indiquer la ligne d'IRQ
qu'elles utilisent. Dans ce cas, l'affectation automatique d'IRQ
est utilisée, et si cela échoue, le pilote utilise
l'IRQ 5 sans rien dire. Vous pouvez obtenir les disquettes
d'installation/de paramétrage de SMC sur leur site FTP.
Notez que certains des plus récents programmes 'SuperDisk'
de SMC ne réussiront pas à détecter les vraies
vieilles cartes sans EEPROM. Le fichier <code>SMCDSK46.EXE</code>
semble être un bon choix passe-partout. Notez aussi que les
réglages des cavaliers pour toutes leurs cartes se trouvent
dans un fichier texte dans l'archive sus-mentionnée. La
dernière (meilleure ?) version peut être obtenue
depuis <code>ftp.smc.com</code>.</p>
<p>Comme ces cartes sont fondamentalement les mêmes que leurs
homologues 16 bits (WD8013 / SMC Elite16), vous devriez
consulter la section suivante pour en savoir plus.</p>
<h3><a name="8013"></a> WD8013, SMC Elite16</h3>
<p>Statut : Supporté, Nom du pilote : wd
(+8390)</p>
<p>Au fil des ans, la conception a ajouté plus de registres
et une EEPROM. (Les premières cartes wd8003 sont apparues il
y a environ dix ans !) Les clones portent en
général un nom en `8013', et se passent
habituellement d'EEPROM au profit de cavaliers. Les cartes SMC
dernier modèle auront la puce SMC 83c690 au lieu de la
DP8390 de National Semiconductor que l'on trouvait sur les
premières. Les cartes conçues pour utiliser la
mémoire partagée sont un peu plus rapides que celles
qui reposent sur les E/S programmées (PIO),
spécialement avec des paquets de taille importante. Plus
important, du point de vue du pilote, cela permet d'éviter
quelques bogues du mode PIO du 8390, de garantir un accès
sûr au tampon de paquets sur un système multi-thread,
et de ne plus avoir un registre de données PIO qui bloque
votre machine pendant les procédures de détection
après un redémarrage à chaud.</p>
<p>Les cartes sans EEPROM qui ne peuvent pas lire l'IRQ
sélectionnée essaieront l'affectation automatique
d'IRQ (auto-IRQ), et si cela échoue, affecteront sans rien
dire l'IRQ 10. (Les versions 8 bits affecteront l'IRQ 5).</p>
<p>Pour les cartes qui n'ont pas une quantité de
mémoire embarquée standard, la taille de la
mémoire peut être spécifiée au moment du
démarrage (ou dans le fichier <code>/etc/conf.modules</code>
si vous utilisez les modules). La taille mémoire standard
est de 8 Ko pour une carte 8 bits et de 16 Ko pour
une carte 16 bits. Par exemple, les antédiluviennes
WD8003EBT peuvent être configurées par cavaliers pour
utiliser 32 Ko. Pour avoir un accès complet à
cette mémoire, vous aurez recours à quelque chose
comme (pour une adresse d'E/S de base de <code>0x280</code> et
l'IRQ 9) :</p>
<hr>
<pre>
LILO: linux ether=9,0x280,0xd0000,0xd8000,eth0
</pre>
<hr>
<p>Consultez aussi <a href="#8013-probs">Les problèmes
des 8013</a> pour certains des problèmes les plus classiques
et les questions qui reviennent le plus fréquemment.</p>
<p>Si vous avez l'intention d'utiliser ce pilote sous la forme d'un
module chargeable, vous devriez probablement consulter
<a href="#modules">Utiliser les pilotes Ethernet comme modules</a>
pour des informations spécifiques aux modules.</p>
<h3><a name="ultra"></a> SMC Elite Ultra</h3>
<p>Statut : Supporté, Nom du pilote : smc-ultra
(+8390)</p>
<p>Cette carte Ethernet est basée sur la 83c790 de SMC, qui
comporte quelques nouveautés par rapport à la 83c690.
Bien qu'elle possède un mode similaire aux anciennes cartes
Ethernet SMC, elle n'est pas entièrement compatible avec les
vieux pilotes WD80*3. Néanmoins, dans ce mode le pilote
partage la plupart de son code avec les autres pilotes 8390, tout
en étant légèrement plus rapide qu'un clone de
WD8013.</p>
<p>Puisqu'une partie de l'Ultra <em>ressemble</em> à une
8013, sa procédure de détection est censée en
trouver une avant que celle de la wd8013 n'ait une chance de
l'identifier par erreur.</p>
<p>Donald a mentionné qu'il est possible d'écrire un
pilote séparé pour le mode `Altego' de l'Ultra, qui
permet d'enchaîner les transmissions au coût d'une
utilisation inefficace des tampons de réception, mais cela
n'arrivera probablement jamais.</p>
<p>Utilisateurs d'adaptateurs SCSI dotés du contrôle
de bus, prenez note : dans le manuel qui accompagne
Interactive UNIX, il est mentionné qu'une bogue dans la SMC
Ultra cause des corruptions de données avec des disques SCSI
utilisés derrière un adaptateur aha-154X. Cela touche
certainement aussi des cartes compatibles aha-154X, comme les
BusLogic, et les adaptateurs SCSI AMI-FastDisk.</p>
<p>SMC a reconnu que le problème se produit avec
Interactive, et des anciens pilotes Windows NT. Il s'agit d'un
conflit matériel avec des révisions
antérieures de la carte qui peut être contourné
dans la conception du pilote. Le pilote actuel de l'Ultra vous
protège contre ce problème en n'activant la
mémoire partagée que lors des transferts de
données avec la carte. Assurez-vous que votre version de
noyau soit au moins la 1.1.84, ou que celle du pilote
indiquée au démarrage est au moins
<code>smc-ultra.c:v1.12</code>, sinon vous êtes
vulnérable à ce problème.</p>
<p>Si vous avez l'intention d'utiliser ce pilote sous la forme d'un
module chargeable, vous devriez probablement consulter
<a href="#modules">Utiliser les pilotes Ethernet comme modules</a>
pour des informations spécifiques aux modules.</p>
<h3><a name="ultra32"></a> SMC Elite Ultra32 EISA</h3>
<p>Statut : Supporté, Nom du pilote : smc-ultra32
(+8390)</p>
<p>Cette carte EISA partage nombre de points communs avec son
pendant ISA. Un pilote qui fonctionne (et qui est stable) est
inclus dans les versions 2.0 et 2.2 du noyau. Les remerciements
vont à Leonard Zubkoff pour l'achat de quelques unes de ces
cartes afin que le support Linux pour celles-ci puisse être
réalisé.</p>
<h3>SMC EtherEZ (8416)</h3>
<p>Statut : Supporté, Nom du pilote : smc-ultra
(+8390)</p>
<p>Cette carte utilise la puce 83c795 de SMC et supporte la
spécification Plug 'n Play. Elle comporte aussi un mode
compatible <em>SMC Ultra</em> qui lui permet d'être
utilisée avec le pilote Ultra de Linux. Pour de meilleurs
résultats, utilisez le programme provenant de chez SMC et
permettant de désactiver le PnP et de la configurer pour le
mode à mémoire partagée. Consultez les
informations ci-dessus pour des notes sur le pilote Ultra.</p>
<p>Pour les noyaux 1.2, la carte devait être
configurée pour opérer en mémoire
partagée. Néanmoins, les noyaux 2.0 peuvent utiliser
la carte dans ce mode ou en E/S programmées. Celui-là
sera légèrement plus rapide, et requerra moins de
ressources processeur, par ailleurs.</p>
<h3><a name="smc-pci"></a> SMC EtherPower PCI (8432)</h3>
<p>Statut : Supporté, Nom du pilote : de4x5,
tulip</p>
<p>NB : L'EtherPower II est une carte totalement
différente. Voir plus bas !</p>
<p>Ces cartes sont une implémentation de base de la puce
21040 de DEC, c'est-à-dire une grosse puce et quelques
transceivers. Donald a utilisé une de ces cartes pour son
développement du pilote générique 21040 (aussi
connu sous le nom de <code>tulip.c</code>). Merci de nouveau
à Duke Kamstra, d'avoir fourni une carte sur laquelle
réaliser le développement.</p>
<p>Certaines des dernières révisions de cette carte
utilisent la récente puce 21041 de DEC, ce qui peut causer
des problèmes avec des versions anciennes du pilote
<code>tulip</code>. Si vous avez des problèmes, assurez-vous
d'utiliser la dernière version du pilote, qui peut ne pas
encore se trouver dans l'arborescence actuelle du noyau.</p>
<p>Consultez <a href="#dec-21040">DEC 21040</a> pour plus de
détails sur l'utilisation d'une de ces cartes, et
l'état d'avancement actuel du pilote.</p>
<p>Apparemment, la toute dernière révision de la
carte, l'EtherPower-II, utilise la puce 9432. Il n'est pas certain
pour l'instant que celle-ci fonctionnera avec le pilote actuel.
Comme d'habitude, si vous n'êtes pas sûr,
vérifiez que vous pourrez rendre la carte si elle ne
fonctionne pas avec le pilote Linux <em>avant</em> de payer.</p>
<h3><a name="smc-pci-II"></a> SMC EtherPower II PCI (9432)</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : epic100</p>
<p>Ces cartes, basées sur la puce 83c170 de SMC,
sont complètement différentes des cartes
basées sur la Tulip. Un nouveau pilote est inclus dans
les noyau 2.0 et 2.2 pour les supporter. Pour plus de
détails, consultez :</p>
<p>
<code>http://cesdis.gsfc.nasa.gov/linux/drivers/epic100.html</code></p>
<h3>SMC 3008</h3>
<p>Statut : Non supporté</p>
<p>Ces cartes 8 bits sont basées sur la puce MB86950 de
Fujitsu, qui est une ancienne version de la MB86965 utilisée
dans le pilote Linux de l'at1700. Russ dit que vous devriez
probablement pouvoir bidouiller un pilote en regardant le code de
<code>at1700.c</code> et son pilote DOS en mode paquet pour la
carte Tiara (<code>tiara.asm</code>). Ces cartes ne sont pas
très répandues.</p>
<h3>SMC 3016</h3>
<p>Statut : Non supporté</p>
<p>Il s'agit de cartes 16 bits à E/S mappées,
à puce 8390, très similaires à une carte
NE2000 générique. Si vous pouvez obtenir les
spécifications chez SMC, alors réaliser un portage du
pilote NE2000 sera certainement relativement facile. Ces cartes ne
sont pas très répandues.</p>
<h3>SMC-9000 / SMC 91c92/4</h3>
<p>Statut : Supporté, Nom du pilote : smc9194</p>
<p>La SMC9000 est une carte VLB basée sur la puce 91c92. La
91c92 apparaît aussi sur un petit nombre de cartes d'autres
marques, mais est plutôt peu commune. Erik Stahlman
(<code>erik@vt.edu</code>) a écrit ce pilote qui se trouve
dans les noyaux 2.0, mais pas dans les 1.2 plus anciens. Vous
devriez pouvoir l'intégrer à une arborescence de
noyau 1.2 avec un minimum de difficultés.</p>
<h3>SMC 91c100</h3>
<p>Statut : Partiellement supporté, Nom du
pilote : smc9194</p>
<p>Le pilote SMC 91c92 est supposé fonctionner pour les
cartes basées sur cette puce 100Base-T, mais à
l'heure actuelle cela n'a pas été
vérifié.</p>
<h2><a name="ss5.36">5.36 Texas Instruments</a></h2>
<h3><a name="tlan"></a> ThunderLAN</h3>
<p>Statut : Supporté, Nom du pilote : tlan</p>
<p>Ce pilote supporte beaucoup de cartes ethernet
intégrées aux ordinateurs Compaq, incluant les
familles NetFlex et Netelligent. Il supporte aussi les produits
Olicom 2183, 2185, 2325 et 2326.</p>
<h2><a name="ss5.37">5.37 Thomas Conrad</a></h2>
<h3>Thomas Conrad TC-5048</h3>
<p>Encore une autre carte PCI basée sur la puce 21040 de
DEC.</p>
<p>Consultez la section sur la puce 21040 ( <a href=
"#dec-21040">DEC 21040</a>) pour plus d'informations.</p>
<h2><a name="ss5.38">5.38 VIA</a></h2>
<p>Vous ne verrez probablement jamais une carte VIA, car VIA
fabrique plusieurs puces réseau qui sont ensuite
utilisées par d'autres dans la construction de leurs cartes
ethernet. Ils ont un site WWW à :</p>
<blockquote><code>http://www.via.com.tw/</code></blockquote>
<h3>VIA 86C926 Amazon</h3>
<p>Statut : Supporté, Nom du pilote : ne, ne2k-pci
(+8390)</p>
<p>Ce contrôleur est l'offre NE2000 PCI de VIA. Vous avez le
choix entre le pilote ISA/PCI <code>ne.c</code> ou le pilote PCI
<code>ne2k-pci.c</code>. Référez vous à la
section NE2000 PCI pour plus de détails.</p>
<h3>VIA 86C100A Rhine II (et 3043 Rhine I)</h3>
<p>Statut : Supporté, Nom du pilote :
via-rhine</p>
<p>Ce pilote relativement récent se trouve dans les noyaux
2.0 et 2.2. Cette puce est une amélioration de la NE2000
86C926 dans la mesure où elle gère les transferts par
contrôle de bus, mais du fait de l'obligation d'aligner les
tampons sur 32 bits, les gains sont limités. Pour plus
de détails, et les mises à jour,
référez vous à :</p>
<p>
<code>http://cesdis.gsfc.nasa.gov/linux/drivers/via-rhine.html</code></p>
<h2><a name="ss5.39">5.39 Western Digital</a></h2>
<p>Référez vous à la section <a href=
"#smc">SMC</a> pour plus d'informations sur les cartes SMC. (SMC a
racheté la section cartes réseau de Western Digital
il y a bien longtemps).</p>
<h2><a name="ss5.40">5.40 Winbond</a></h2>
<p>Winbond ne fabrique, ni ne vend de cartes au grand
public -- au lieu de cela, ils font des puces pour cartes
réseau tout en un, les vendent à d'autres
entreprises, qui les collent sur une carte PCI, ajoutent leur nom
et ensuite, les revendent.</p>
<h3>Winbond 89c840</h3>
<p>Statut : Partiellement Supporté, Nom du
pilote : winbond-840</p>
<p>Ce pilote n'est pas actuellement distribué avec le noyau,
car il est en phase de test. Il est disponible à :</p>
<p>
<code>http://cesdis.gsfc.nasa.gov/linux/drivers/test/winbond-840.c</code></p>
<h3>Winbond 89c940</h3>
<p>Statut : Supporté, Nom du pilote : ne, ne2k-pci
(+8390)</p>
<p>Cette puce est l'une des deux que l'on retrouve souvent sur les
cartes NE2000 PCI de bas de gamme vendues par beaucoup de
fabriquants. Notez que c'est toujours une idée vieille de
plus de 10 ans collée sur un bus PCI. Les performances ne
seront pas meilleures que pour l'équivalent ISA.</p>
<h2><a name="xircom"></a> <a name="ss5.41">5.41 Xircom</a></h2>
<p>Depuis des temps immémoriaux, Xircom refusait de
dévoiler les informations nécessaires à
l'écriture d'un pilote, à moins que vous ne vous
livriez à eux corps et âme. Apparemment, suffisamment
d'utilisateurs de Linux les ont harcelé pour obtenir du
support pour un pilote (ils prétendent supporter tous les
systèmes d'exploitation réseau populaires...), ce qui
les a amenés à changer de politique afin de permettre
la diffusion de la documentation, sans avoir à signer un
accord de confidentialité. Certains ont dit qu'ils allaient
distribuer les sources du pilote SCO, alors que d'autres ont dit
qu'ils ne fournissaient plus de documentation sur les produits
`obsolètes', comme les premiers modèles PE. Si vous
êtes intéressés et que vous voulez
vérifier par vous même, vous pouvez joindre Xircom au
1-800-874-7875, 1-800-438-4526 ou au +1-818-878-7600.</p>
<p>(NDT : les deux premiers numéros sont des
numéros verts aux États-Unis et ne sont pas
accessibles depuis l'étranger. Le dernier est un
numéro international).</p>
<h3>Xircom PE1, PE2, PE3-10B*</h3>
<p>Statut : Non supporté.</p>
<p>Ce n'est pas pour vous réconforter, mais si vous avez
l'un de ces adaptateurs sur port parallèle, vous pourrez
peut-être l'utiliser sous l'émulateur DOS avec les
pilotes DOS fournis par Xircom. Vous devrez autoriser
l'accès de DOSEMU au port parallèle, et certainement
jouer avec SIG (le générateur d'interruptions
stupides de DOSEMU, en anglais <i>Silly Interrupt
Generator</i>).</p>
<h3>Cartes Xircom PCMCIA</h3>
<p>Statut : Partiellement Supporté, Nom du
pilote : ????</p>
<p>Les pilotes de certaines cartes Xircom PCMCIA sont disponibles
dans le paquetage PCMCIA de David Hinds. Vérifiez
là-bas pour de plus amples informations.</p>
<h2><a name="zenith"></a> <a name="ss5.42">5.42 Zenith</a></h2>
<h3><a name="z-note"></a> Z-Note</h3>
<p>Statut : Supporté, Nom du pilote : znet</p>
<p>L'adaptateur réseau intégré au Z-Note est
basé sur la puce i82593 d'Intel, et utilise <em>deux</em>
canaux DMA. Un pilote (alpha ?), est disponible dans la
version courante du noyau. Comme tous les adaptateurs de poche ou
portables, il se trouve dans la section `Pocket and portable
adaptors' lorsque vous exécutez <code>make config</code>.
Notez aussi que l'IBM ThinkPad 300 est compatible avec le
Z-Note.</p>
<h2><a name="zynx"></a> <a name="ss5.43">5.43 Znyx</a></h2>
<h3>Znyx ZX342 (DEC 21040 based)</h3>
<p>Statut : Supporté, Nom du pilote : de4x5,
tulip</p>
<p>Vous avez le choix entre <em>deux</em> pilotes pour les cartes
basées sur cette puce. D'une part le pilote DE425
écrit par David, d'autre part le pilote 21040
générique écrit par Donald.</p>
<p>Notez que depuis la version 1.1.91, David a ajouté une
option de compilation qui permet aux cartes non-Digital (comme les
cartes Znyx) de fonctionner avec ce pilote. Jetez un coup d'oeil au
fichier <code>README.de4x5</code> pour les détails.</p>
<p>Consultez <a href="#dec-21040">DEC 21040</a> pour plus
d'informations sur ces cartes, et la situation actuelle du
pilote.</p>
<h2><a name="mystery"></a> <a name="ss5.44">5.44 Identifier une
carte inconnue</a></h2>
<p>OK, l'ami du voisin du cousin de votre oncle a un frère
qui a trouvé une vieille carte Ethernet ISA dans le
boîtier de l'AT qui servait de cage pour le hamster de son
fils. D'une manière ou d'une autre vous avez fini par vous
retrouver avec cette carte et vous voudriez essayer de l'utiliser
avec Linux, mais personne n'a le commencement du début d'une
idée de ce qu'elle est et il n'y a aucune documentation.</p>
<p>Tout d'abord, cherchez n'importe quel numéro de
modèle évident qui pourrait fournir un indice. Un
numéro de modèle qui contient 2000 sera certainement
un clone de NE2000. Une carte avec 8003 ou 8013 écrit
quelque part dessus sera une carte WD80x3 de Western/Digital ou une
SMC Elite, ou un clone de l'une d'elles.</p>
<h3>Identifier le contrôleur d'interface réseau
(Network Interface Controller, NIC)</h3>
<p>Cherchez la plus grosse puce sur la carte. Ce sera le
contrôleur réseau (NIC) lui-même, et la plupart
peuvent être identifiés par leur
référence. Si vous savez quel NIC se trouve sur la
carte, ce qui suit devrait vous aider à deviner de laquelle
il s'agit.</p>
<p>Encore à l'heure actuelle, le NIC le plus courant est la
puce DP8390 de National Semiconductor, alias NS32490, alias
DP83901, alias DP83902, alias DP83905, alias DP83907. Et il ne
s'agit que de celles fabriquées par National
Semiconductor ! D'autres sociétés comme Winbond
et UMC produisent des clones de DP8390 et DP83905, comme la 89c904
de Winbond (un clone de DP83905) et la 9090 d'UMC. Si la carte a
quelque chose qui s'approche d'un 8390, il y a des chances pour
qu'il s'agisse d'un clone de NE1000 ou de NE2000. Parmi les cartes
basées sur le 8390, arrivent en deuxième
position les wd80x3 (de Western/Digital) et ses clones. Des cartes
avec un DP83905 peuvent être configurées pour
être une NE2000 <em>ou</em> une wd8013. Les versions les plus
récentes des wd80x3 de base et des SMC Elite
possèdent un 83c690 en lieu et place du DP8390 d'origine.
Les cartes SMC Ultra ont un 83c790, et utilisent un pilote
légèrement différent de celui des cartes
wd80x3. Les cartes EtherEZ de SMC ont un 83c795, et utilisent le
même pilote que la SMC Ultra. Toutes les cartes BNC
basées sur un genre de 8390 ou l'un de ses clones auront
généralement un 8392 (ou un 83c692, ou un ???392) en
boîtier DIP 16 broches tout près du connecteur
BNC.</p>
<p>L'Intel i82586 est un autre NIC courant que l'on trouve sur des
cartes plus anciennes. Parmi celles qui en comportent un, citons la
3c505, la 3c507, la 3c523, l'EtherExpress-ISA d'Intel, l'Exos-205T
de Microdyne, et la NI5210 de Racal-Interlan.</p>
<p>Le NIC d'origine de la carte LANCE d'AMD était
numéroté AM7990, et les révisions plus
récentes incluent le 79c960, le 79c961, le 79c965, le
79c970, et le 79c974. La plupart des cartes ayant l'une de ces
puces fonctionnera avec le pilote LANCE de Linux, à
l'exception des vieilles cartes NI6510 de Racal-Interlan qui
possèdent leur propre pilote.</p>
<p>Les cartes PCI plus récentes et qui comportent un NIC de
DEC référencé 21040, 21041, 21140, ou un
numéro approchant, devraient être capables d'utiliser
le pilote `tulip' ou le `de4x5' de Linux.</p>
<p>D'autres cartes PCI qui comportent une grosse puce
marquée RTL8029, 89C940 ou 86C926 sont des clones de NE2000,
et le pilote `ne' des versions 2.0 et supérieures du noyau
Linux devrait automatiquement les détecter au
démarrage.</p>
<h3>Identifier l'adresse Ethernet</h3>
<p>Chaque carte Ethernet possède sa propre adresse sur six
octets qui lui est unique et propre. Les trois premiers octets de
cette adresse Ethernet sont les mêmes pour chaque carte
construite par un constructeur donné. Par exemple, toutes
les adresses des cartes de SMC commencent par
<code>00:00:c0</code>. Les trois derniers octets sont
affectés par le constructeur de façon unique à
chaque carte individuelle au fur et à mesure de leur
fabrication.</p>
<p>Si votre carte comporte un autocollant qui donne tous les six
octets de son adresse, vous pouvez identifier le constructeur
à partir des trois premiers. Toutefois, il est plus courant
de ne trouver que les trois derniers octets, imprimés sur un
autocollant attaché à une PROM montée sur la
carte, ce qui ne vous indique rien du tout.</p>
<p>Vous pouvez déterminer quel constructeur possède
quelles adresses à partir de la RFC-1340. Apparemment il
existe également une liste plus à jour qui est
disponible à divers endroits. Essayez de faire une recherche
WWW ou FTP sur <code>EtherNet-codes</code> ou
<code>Ethernet-codes</code> et vous trouverez quelque chose.</p>
<h3>Quelques astuces pour essayer d'utiliser une carte
inconnue</h3>
<p>Si vous n'êtes toujours pas sûr(e) de quelle carte
il s'agit, mais que vous avez un peu réduit le champ des
possibilités, alors vous pouvez construire un noyau en y
incluant tout un tas de pilotes, et voir si l'un d'entre eux
détecte automatiquement la carte lors du
démarrage.</p>
<p>Si le noyau ne détecte pas la carte, il se peut que la
carte ne soit pas configurée à l'une des adresses que
le pilote teste lorsqu'il en recherche une. Dans ce cas, vous
pourriez essayer de récupérer
<code>scanport.tar.gz</code> sur votre site FTP Linux
préféré, et voir s'il peut trouver l'adresse
pour laquelle votre carte est configurée. Ce programme
parcourt l'espace d'adressage d'entrée/sortie de
<code>0x100</code> à <code>0x3ff</code> en cherchant des
périphériques qui ne sont pas déjà
enregistrés dans <code>/proc/ioports</code>. S'il en trouve
un qui soit inconnu et qui démarre à une adresse
donnée, vous pouvez alors explicitement diriger les
procédures de détection Ethernet vers cette adresse
en utilisant un argument de démarrage
<code>ether=</code>.</p>
<p>Si vous arrivez à faire en sorte que la carte soit
détectée, vous pouvez alors deviner la fonction des
cavaliers inconnus en les modifiant un par un et en regardant
à quelle adresse d'E/S de base et à quelle IRQ la
carte est détectée. Les paramètres d'IRQ
peuvent aussi habituellement être déterminés en
suivants les traces au dos de la carte jusqu'à l'endroit
où les cavaliers sont soudés. En comptant les `doigts
d'or' sur la face arrière, depuis l'extrémité
de la carte où se situe la plaque métallique qui se
fixe au coffret du PC, vous avez les IRQ 9, 7, 6, 5, 4, 3, 10, 11,
12, 15, et 14 sur les `doigts' 4, 21, 22, 23, 24, 25, 34, 35, 36,
37, et 38 respectivement. Les cartes huit bits ne comportent
que les doigts 1 à 31.</p>
<p>Les cavaliers qui paraissent ne servir à rien ont
généralement pour fonction de sélectionner
l'adresse mémoire d'une ROM de démarrage (boot ROM)
optionnelle. D'autres situés près des connecteurs
BNC, RJ-45 ou AUI servent généralement à
sélectionner le support physique de sortie. Ceux-ci se
situent typiquement près des `boîtes noires' qui
contiennent les convertisseurs de tension, marquées YCL,
Valor, ou Fil-Mag.</p>
<p>Une collection intéressante de configurations de
cavaliers pour diverses cartes se trouve à l'URL
suivante :</p>
<blockquote><a href=
"http://www.slug.org.au/NIC/">Paramétrage des cartes
Ethernet</a></blockquote>
<h2><a name="ss5.45">5.45 Pilotes pour périphériques
Non-Ethernet</a></h2>
<p>Quelques autres pilotes existent dans les sources Linux qui se
présentent <em>comme</em> un périphérique
Ethernet vis-à-vis des programmes réseaux, bien
qu'ils ne soient pas réellement Ethernet. Les voici
brièvement présentés pour être
complet.</p>
<p><code>dummy.c</code> - Le but de ce pilote est de fournir un
périphérique pour désigner une route qui le
traverse, mais sans transmettre réellement de paquets.</p>
<p><code>eql.c</code> - Load Equalizer (égaliseur de
charge), qui regroupe plusieurs périphériques
esclaves (généralement des modems) et répartit
la charge en transmission entre eux tout en ne présentant
qu'un seul périphérique aux programmes
réseau.</p>
<p><code>ibmtr.c</code> - IBM Token Ring (anneau à jeton),
qui n'est pas réellement de l'Ethernet. L'anneau à
`jeter' nécessite du routage par la source et autres trucs
dégoûtants.</p>
<p><code>loopback.c</code> - Loopback (boucle locale), par lequel
passent tous les paquets émis par votre machine à
destination de votre machine. Essentiellement, il se contente de
sortir les paquets de la file d'attente d'émission et de les
placer dans la file d'attente de réception.</p>
<p><code>pi2.c</code> - Interface Ottawa Amateur Radio Club PI et
PI2.</p>
<p><code>plip.c</code> - Parallel Line Internet Protocol (PLIP, IP
sur port parallèle), qui permet à deux ordinateurs de
s'envoyer des paquets l'un à l'autre via leurs ports
parallèles, en mode point-à-point.</p>
<p><code>ppp.c</code> - Point-to-Point Protocol (RFC1331),
destiné à la transmission de datagrammes
multi-protocoles sur un lien point-à-point (de nouveau, en
général des modems).</p>
<p>(NDT : C'est le mode de connexion le plus couramment
employé par les fournisseurs d'accès Internet.
Consultez le <i>PPP-Howto</i>.)</p>
<p><code>slip.c</code> - Serial Line Internet Protocol (SLIP, IP
sur port série), qui permet à deux ordinateurs de
s'envoyer des paquets l'un à l'autre via leurs ports
série (généralement via des modems), en mode
point-à-point.</p>
<p><code>tunnel.c</code> - Fournit un tunnel IP (dit aussi `IP over
IP', `IP sur IP', NDT) à travers lequel vous pouvez envoyer
du trafic réseau de façon transparente entre
sous-réseaux.</p>
<p>(NDT : Pratique pour gérer certains problèmes
délicats de politique de routage, par exemple.)</p>
<p><code>wavelan.c</code> - Un transceiver radio semblable à
de l'Ethernet, contrôlé par le coprocesseur 82586
d'Intel qui est utilisé sur d'autres cartes Ethernet comme
l'Intel EtherExpress.</p>
<h2><a name="cable"></a> <a name="s6">6. Câbles, Coaxial,
Paire Torsadée</a></h2>
<p>Si vous démarrez un réseau à partir de
rien, vous aurez a choisir entre l'Ethernet fin (du câble
RG-58 co-axial avec des connecteurs BNC) ou le 10BaseT (des
câbles à paire torsadée avec des connecteurs
RJ-45 rectangulaires). Quant au `gros' Ethernet (thick Ethernet),
du câble RG-5 avec des connecteurs N, tombé en
désuétude, on ne le rencontre pratiquement plus.</p>
<p>Référez vous à <a href="#cable-intro">Type
de cable...</a> pour une introduction sur les câbles. Notez
aussi que la Foire Aux Questions (FAQ) du groupe
<i>comp.dcom.lans.ethernet</i> contient un tas d'informations
utiles sur les câbles et tout ce genre de choses. Jetez un
coup d'oeil à :</p>
<blockquote><a href=
"ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/">Usenet
FAQs</a></blockquote>
<p>pour la FAQ de ce groupe de news.</p>
<p>(NDT : Le lecteur francophone utilisera bien entendu un
site miroir comme <a href="ftp://ftp.lip6.fr/faq/...">URL sur ibp
à compléter..</a> ou tout site équivalent
proche de chez lui).</p>
<h2><a name="bnc"></a> <a name="ss6.1">6.1 Ethernet fin
(thinnet)</a></h2>
<p>Le cable Ethernet fin n'est pas cher. Si vous fabriquez vos
câbles vous-même, le câble RG58A à
âme monobrin est à $0.27/m et le câble
multibrins RG58AU est à 3,40F/m. (NDT : Le prix du
RG58A est en dollar car je n'ai pas pu trouver de prix pour ce type
de câble en France !) Les connecteurs BNC à
baïonnette sont à moins de deux dollars chacun.
(NDT : A sertir, environ 10 francs pièces, à
souder un peu plus cher mais vous n'avez pas besoin d'un outil
spécial).</p>
<p>Les autres pièces diverses sont tout aussi bon
marché.</p>
<p>Il est important que vous terminiez chaque
extrémité du câble avec un `bouchon' de
50 ohms (NDT : bouchon ou terminateur..), donc
prévoyez 70 francs pour une paire. Il est aussi vital que
votre câble ne comporte pas de `patte qui pend' -- les
connecteurs en `T' doivent être raccordés directement
aux cartes Ethernet, sans câble entre le `T' et la carte.</p>
<p>Il y a quelques inconvénients à utiliser
l'Ethernet fin. Le premier est qu'il est limité a
10 Mbps -- pour 100 Mbps, il faut de la paire
torsadée. Le second point noir est que si vous avez un grand
nombre de machines raccordées entre elles, il suffit qu'un
imbécile coupe le réseau en débranchant un des
câbles qui se trouvent sur les côtés de son `T',
et tout le réseau se retrouve par terre parce qu'il voit une
impédance infinie (circuit ouvert) au lieu de la terminaison
à 50 ohms qui est nécessaire. Notez que vous
pouvez enlever la pièce en forme de `T' de la carte Ethernet
elle-même sans tuer tout le sous-réseau, pour autant
que vous n'enleviez pas les câbles du `T' lui-même.
Bien entendu cela perturbera la machine d'où vous venez
d'enlever le `T'. 8-) Et notez aussi que si vous créez un
petit réseau constitué de seulement deux machines,
vous devez <em>quand même</em> mettre en place les `T' et les
bouchons de 50 ohms. -- vous <em>ne pouvez pas</em> juste
câbler les deux machines entre elles !</p>
<p>NDT : Notez aussi que vous ne devez pas créer une
boucle avec le câble non plus, en reliant toutes les machines
entre elles et en reliant la dernière machine avec la
première. La présence d'un bouchon de 50 ohms
à <em>chaque</em> extrémité du câble (et
il ne doit y avoir que deux extrémités 8-) ) est
indispensable pour qu'Ethernet fonctionne correctement. (Fin de la
note)</p>
<p>Il existe aussi des systèmes de câblage rigolos qui
<em>font comme si</em> un seul fil arrivait à la carte, mais
en fait les deux longueurs de câble reposant
côte-à-côte, recouvertes par une protection
extérieure, ce qui donne au fil une section de forme ovale.
A l'extrémité de cette boucle est
inséré un connecteur BNC sur lequel se connecte votre
carte. Vous avez donc l'équivalent d'un aller-retour de
câble et d'un `T' BNC, mais avec ce type de câblage, il
est impossible pour l'utilisateur d'enlever un câble d'un
seul côté du `T' et donc de perturber le
réseau.</p>
<p>(NDT : C'est une bonne idée, mais la
réalisation du câblage entre les prises de
raccordement est délicate, et le moindre défaut
amplifie rapidement les problèmes de l'Ethernet fin. )</p>
<h2><a name="utp"></a> <a name="ss6.2">6.2 Paire
torsadée</a></h2>
<p>Les réseaux à paire torsadée
nécessitent des hubs actifs, dont les prix démarrent
aux environ de 300 francs, et le prix du câble brut peut
être en fait supérieur à celui du Thinnet. Vous
devriez ignorer ceux qui disent que vous pouvez utiliser votre
câblage téléphonique existant, car il est rare
de trouver une installation où c'est le cas.</p>
<p>(NdT : Ca c'est du pessimisme avéré. J'ai
déjà fait pire. :])</p>
<p>D'un autre côté, les prix des hubs sont en chute
libre, toutes les propositions Ethernet 100 Mbps utilisent la
paire torsadée, et la plupart des installations
professionnelles neuves utilisent la paire torsadée.</p>
<p>(NDT : Euh, c'est peut-être aussi parce qu'avec un
câblage banalisé on peut faire de la voix
(entendez : du téléphone), de la donnée
(entendez : du réseau), et de la vidéo, sur le
même câble, ce qui coûte quand même moins
cher que trois câblages différents !)</p>
<p>De plus, Russ Nelson ajoute que `Les nouvelles installations
devraient utiliser du câblage Catégorie 5. Toute autre
chose est une perte de temps de votre installateur, car le
100Base-ce-que-vous-voulez nécessitera du Cat. 5.'</p>
<p>(NDT : Pour être précis, c'est du
Catégorie 5, Classe D qu'il faut exiger. Un pour le type de
câble, un pour la plage de fréquence. :))</p>
<p>Si vous n'avez que deux machines à raccorder, il est
possible d'éviter l'utilisation d'un hub, en croisant les
paires émissions et réception (1-2 et 3-6).</p>
<p>Si vous tenez le connecteur RJ-45 face à vous (comme si
vous alliez le brancher dans votre bouche) avec le petit clip de
fixation vers le haut, alors les broches sont
numérotées de 1 à 8 de la gauche vers la
droite. L'utilisation des broches est la suivante :</p>
<pre>
Numéro de broche Utilisation
---------- ----------
1 Sortie des Données (+)
2 Sortie des Données (-)
3 Entrée des Données (+)
4 Réservé pour le téléphone
5 Réservé pour le téléphone
6 Entrée des Données (-)
7 Réservé pour le téléphone
8 Réservé pour le téléphone
</pre>
<p>Si vous souhaitez fabriquer un câble, ce qui suit devrait
vous fournir tous les détails voulus. Les paires de signaux
différentiels doivent se trouver sur la même paire
torsadée afin d'obtenir l'impédance et les pertes
minimales requises d'un câble UTP. Si vous consultez la table
ci-dessus, vous constatez que 1+2 et 3+6 sont les ensembles de
paires de signaux différentiels. Pas 1+3 et 2+6 !!!!!!
A 10 MHz, avec des distances courtes, vous échapperez
*peut-être* aux conséquences de telles erreurs, si
c'est vraiment sur une courte distance. Mais n'y pensez même
pas à 100 MHz.</p>
<p>Pour un cordon de brassage normal, avec les
extrémités `A' et `B', vous avez besoin d'un
raccordement `droit', broche par broche, l'entrée et la
sortie utilisant chacune une paire de fils (pour des
problèmes d'impédance). Cela signifie donc que le 1
de A va au 1 de B, que le 2 de A va au 2 de B, que le 3 de A va au
3 de B et que le 6 de A va au 6 de B. Les fils qui joignent 1A-1B
et 2A-2B doivent être sur la même paire
torsadée. De même, les fils qui joignent 3A-3B et
6A-6B doivent être sur une autre paire torsadée.</p>
<p>Maintenant, si vous n'avez pas de hub, mais que vous voulez
fabriquer un `câble null' (ou câble croisé,
NDT), ce que vous souhaitez faire est que l'entrée de `A'
devienne la sortie de `B', et que la sortie de `A' devienne
l'entrée de `B', sans changer la polarité. Cela
signifie donc raccorder 1A à 3B (sortie+ de A vers
entrée+ de B) et 2A à 6B (sortie- de A vers
entrée- de B). Ces deux fils doivent être sur une
paire torsadée. Ils transportent ce que la carte/le
connecteur `A' considère comme la sortie, et ce qui est vu
comme l'entrée par la carte/le connecteur `B'. Puis
raccordez 3A à 1B (entrée+ de A sur sortie+ de B) et
6A à 2B (entrée- de A sur sortie- de B). Ces
deux-là aussi doivent être sur une paire
torsadée. Ils transportent ce que la carte/le connecteur `A'
considère comme son entrée, et ce que la carte/le
connecteur `B' considère comme sa sortie.</p>
<p>Donc, si vous considérez un cordon de brassage normal,
enlevez l'une de ses extrémités, échangez les
emplacements des paires de réception et d'émission
dans le nouveau connecteur, sertissez-le, et vous avez un
câble `null' (enfin, croisé, quoi ! NDT). Rien de
bien compliqué. Vous voulez juste que le signal transmis par
une carte soit envoyé sur le récepteur de la seconde,
et vice versa.</p>
<p>Notez qu'avant que 10BaseT soit ratifié en tant que
norme, il existait d'autres formats de réseau qui
utilisaient des connecteurs RJ-45, avec le même principe de
câblage que ci-dessus. Des exemples sont le LattisNet de
SynOptics et le StarLAN d'AT&T. Dans certains cas (comme les
premières cartes 3C503) vous pouvez positionner des
cavaliers pour que la carte puisse dialoguer avec des hubs de
différents types, mais dans la plupart des cas les cartes
conçues pour ces anciens types de réseaux ne
fonctionneront pas avec un hub/un réseau 10BaseT standard.
(Notez que si les cartes ont aussi un port AUI, il n'y a aucune
raison que vous ne puissiez pas l'utiliser, combiné avec un
transceiver AUI / 10BaseT).</p>
<h2><a name="ss6.3">6.3 Thick Ethernet - Le `gros'
Ethernet</a></h2>
<p>Le `Thick ethernet' est pratiquement obsolète, et n'est
généralement utilisé que pour rester
compatible avec une implémentation existante. Vous pouvez
outrepasser les règles et connecter des brins courts
d'Ethernet fin (ThinNet 10Base2) et épais (ThickNet 10Base5)
ensemble avec un connecteur passif N-vers-BNC à 15 francs,
et c'est souvent la meilleure solution pour étendre un
réseau ThickNet existant. Une solution correcte (mais plus
chère) est d'utiliser un répéteur dans ce
cas.</p>
<h2><a name="utils"></a> <a name="s7">7. Configuration logicielle
et diagnostics de carte</a></h2>
<p>Dans la plupart des cas, si la configuration est faite par
logiciel, et stockée dans une EEPROM, vous devrez
démarrer DOS, et utiliser le programme DOS fourni par le
constructeur pour configurer l'IRQ, les ports d'E/S, l'adresse
mémoire et autres choses sur la carte. Du reste, on peut
espérer que c'est quelque chose que vous ne configurerez
qu'une seule fois. Si vous ne disposez pas du logiciel DOS pour
votre carte, essayez de chercher sur le site WWW du constructeur de
votre carte. Si vous ne connaissez pas le nom du site, tentez de le
deviner, par exemple `www.mon-constructeur.com' où
`mon-constructeur' est le nom du fabricant de la carte. Cela
fonctionne pour SMC, 3Com, et plein <em>plein</em> d'autres
fabricants.</p>
<p>On trouve certaines cartes pour lesquelles des versions Linux
des utilitaires de configuration existent, et elles sont
listées ici. Donald a écrit quelques petits
programmes de diagnostic qui fonctionnent sous Linux. La plupart
d'entre eux sont le résultat d'outils de débogage
qu'il a créés pendant l'écriture des divers
pilotes. Ne vous attendez pas à des interfaces rigolotes
avec des menus. Vous aurez besoin de lire le code-source pour
utiliser la plupart d'entre eux. Même si votre carte n'a pas
de programme de configuration correspondant, vous pouvez encore
obtenir un peu d'information juste en tapant <code>cat
/proc/net/dev</code> -- à condition que votre carte ait
été au moins détectée au
démarrage.</p>
<p>Dans tous les cas, vous devrez exécuter la plupart de ces
programmes en tant que root (pour permettre l'accès aux
ports d'E/S) et vous devrez certainement désactiver la carte
réseau avant en tapant <code>ifconfig eth0 down</code> en
premier.</p>
<h2><a name="config"></a> <a name="ss7.1">7.1 Programmes de
configuration pour cartes Ethernet</a></h2>
<h3>Cartes WD80x3</h3>
<p>Pour ceux d'entre vous qui ont des cartes wd80x3, il existe le
programme <code>wdsetup</code> qui peut être trouvé
dans <code>wdsetup-0.6a.tar.gz</code> sur les sites FTP linux. il
n'est pas activement maintenu, et n'a pas été mis
à jour depuis déjà pas mal de temps. S'il
fonctionne correctement pour vous, c'est parfait, sinon, utilisez
la version DOS que vous devriez avoir obtenue avec votre carte. Si
vous n'avez pas la version DOS, vous serez heureux d'apprendre que
les disquettes de configuration et les pilotes SMC sont disponibles
sur le site FTP de SMC.</p>
<p>Bien entendu, vous <em>devez</em> avoir une carte avec EEPROM
pour utiliser cet utilitaire. Les vieilles, <em>vieilles</em>
cartes wd8003, et certains clones de wd8013 utilisent à la
place des cavaliers pour configurer la carte.</p>
<h3>Cartes Digital / DEC</h3>
<p>La carte EtherWorks 3 de Digital peut être
configurée d'une façon similaire au programme DOS
<code>NICSETUP.EXE</code>. David C. Davies l'a écrit, ainsi
que certains autres outils pour l'EtherWorks 3, en conjonction avec
le pilote. Regardez sur <code>metalab.unc.edu</code> dans le
répertoire <code>/pub/linux/system/Network/management</code>
un fichier qui s'appelle <code>ewrk3tools-X.XX.tar.gz</code>.</p>
<p>(NDT : Le lecteur français aura tout
intérêt à utiliser un site FTP plus proche,
comme par exemple :
<code>ftp://ftp.lip6.fr/pub/linux/sunsite/system/Network/management</code>)</p>
<h3>Cartes NE2000+ ou AT/LANTIC</h3>
<p>Certaines implémentations de la puce DP83905 de National
Semiconductor (comme l'AT/LANTIC et la NE2000+) peuvent être
configurées par logiciel. (Notez que ces cartes peuvent
aussi émuler une carte wd8013 !) Vous pouvez
récupérer le fichier
<code>/pub/linux/setup/atlantic.c</code> sur le serveur FTP de
Donald, <code>cesdis.gsfc.nasa.gov</code>, pour configurer cette
carte. De plus, les programmes de configuration pour les cartes
DP83905 de Kingston semblent fonctionner avec toutes les cartes,
car ils ne vérifient pas une adresse spécifique au
constructeur avant de vous autoriser à les utiliser. Suivez
l'URL que voici :</p>
<blockquote><a href=
"http://www.kingston.com/download/etherx/etherx.htm">Logiciel
Kingston</a></blockquote>
et récupérez <code>20XX12.EXE</code> et
<code>INFOSET.EXE</code>.
<p>Soyez attentif en configurant des cartes NE2000+, car vous
pouvez leur fournir des valeurs de paramètrage
erronées qui causeront des problèmes. Un exemple
classique est d'activer accidentellement la ROM de démarrage
dans l'EEPROM (même si aucune ROM n'est installée) et
de fournir une valeur qui entre en conflit avec la carte VGA. Le
résultat est un ordinateur qui se contente de vous envoyer
des `bip' quand vous l'allumez et où rien n'apparaît
à l'écran.</p>
<p>Vous pouvez typiquement vous sortir de ce mauvais pas en faisant
ce qui suit :</p>
<p>Enlevez la carte de la machine, redémarrez et entrez dans
la configuration CMOS. Changez le paramètre `Display
Adapter' (carte vidéo) en `Not Installed' (pas de carte
vidéo) et changez le disque de démarrage par
défaut (`Default Boot Drive' ou `Boot Sequence', NDT) en
`A:' (votre lecteur de disquette). Changez aussi le
paramètre `Wait for F1 if any Error' (attendre un appui sur
F1 en cas d'erreur) en `Disabled' (désactivé). De
cette façon, l'ordinateur devrait démarrer sans
intervention de l'utilisateur. Maintenant créez une
disquette DOS de démarrage (`format a: /s /u') et copiez le
programme <code>default.exe</code> de l'archive
<code>20XX12.EXE</code> sur cette disquette. Puis tapez <code>echo
default > a:autoexec.bat</code> afin que le programme qui remet
la carte à des valeurs par défaut cohérentes
soit exécuté automatiquement quand vous
démarrez sur cette disquette. Eteignez la machine,
réinstallez la carte ne2000+, insérez votre nouvelle
disquette de démarrage, et rallumez la machine. Elle devrait
certainement vous bipper de nouveau à la figure, mais vous
devriez voir la lumière du lecteur de disquette s'allumer
pendant qu'elle démarre à partir de la disquette.
Attendez une minute ou deux que le lecteur de disquette
s'arrête, indiquant ainsi que la machine a fini
d'exécuter le programme <code>default.exe</code>, puis
éteignez votre ordinateur. Lorsque vous le rallumez, vous
pouvez espérer avoir un écran qui fonctionne de
nouveau, ce qui vous permet de remettre les paramètres CMOS
à leurs anciennes valeurs, et de changer de nouveau les
paramètres de l'EEPROM de la carte pour les valeurs que vous
voulez.</p>
<p>Notez que si vous n'avez pas de DOS sous la main, vous pouvez
utiliser la méthode ci-dessus avec un disque de
démarrage Linux qui exécute automatiquement le
programme <code>atlantic</code> de Donald (avec les bonnes options
sur la ligne de commande) au lieu d'une disquette de
démarrage DOS qui exécute automatiquement le
programme <code>default.exe</code>.</p>
<h3>Cartes 3Com</h3>
<p>La famille des cartes Etherlink III de 3Com (c'est-à-dire
les 3c5x9) peut être configurée en utilisant un autre
utilitaire de configuration de Donald. Vous pouvez obtenir le
fichier <code>/pub/linux/setup/3c5x9setup.c</code> sur le serveur
FTP de Donald, <code>cesdis.gsfc.nasa.gov</code>, afin de
configurer ces cartes. (Notez que l'utilitaire de configuration DOS
3c5x9B peut comprendre plus d'options se rapportant aux nouvelles
séries ``B'' de la famille Etherlink III).</p>
<h2><a name="diag"></a> <a name="ss7.2">7.2 Programmes de
diagnostic pour cartes Ethernet</a></h2>
<p>Tous les programmes de diagnostic que Donald a écrit
peuvent être obtenus à partir de cette URL.</p>
<blockquote><a href=
"ftp://cesdis.gsfc.nasa.gov/pub/linux/diag/index.html">Diagnostics
pour cartes Ethernet</a></blockquote>
<p>Allied Telesis AT1700 -- cherchez le fichier
<code>/pub/linux/diag/at1700.c</code> sur
<code>cesdis.gsfc.nasa.gov</code>.</p>
<p>Cabletron E21XX -- cherchez le fichier
<code>/pub/linux/diag/e21.c</code> sur
<code>cesdis.gsfc.nasa.gov</code>.</p>
<p>HP PCLAN+ -- cherchez le fichier
<code>/pub/linux/diag/hp+.c</code> sur
<code>cesdis.gsfc.nasa.gov</code>.</p>
<p>Intel EtherExpress -- cherchez le fichier
<code>/pub/linux/diag/eexpress.c</code> sur
<code>cesdis.gsfc.nasa.gov</code>.</p>
<p>Cartes NE2000 -- cherchez le fichier
<code>/pub/linux/diag/ne2k.c</code> sur
<code>cesdis.gsfc.nasa.gov</code>. Il existe aussi une
version PCI pour les clones NE2000-PCI qui sont maintenant
classiques.</p>
<p>Adaptateur de poche RealTek (ATP) -- cherchez le fichier
<code>/pub/linux/diag/atp-diag.c</code> sur
<code>cesdis.gsfc.nasa.gov</code>.</p>
<p>Toutes les autres cartes -- essayez de taper <code>cat
/proc/net/dev</code> et <code>dmesg</code> pour savoir quelles
informations utiles le noyau possède sur la carte en
question.</p>
<h2><a name="tech-intro"></a> <a name="s8">8. Informations
Techniques</a></h2>
<p>Pour ceux d'entre vous qui souhaitent comprendre comment marche
la carte, ou jouer avec les pilotes actuels, ou même essayer
de faire leur propre pilote pour une carte qui n'est actuellement
pas supportée, ces informations peuvent se
révéler utiles. Si vous n'entrez pas dans cette
catégorie de personne, vous devriez peut-être sauter
cette section.</p>
<h2><a name="data-xfer"></a> <a name="ss8.1">8.1
Entrées/Sorties programmées contre mémoire
partagée contre DMA</a></h2>
<p>Si vous savez déjà envoyer et recevoir des paquets
les uns derrière les autres, vous ne pouvez tout simplement
pas mettre plus de bits sur le fil. Toutes les cartes Ethernet
modernes peuvent recevoir des paquets les uns à la suite des
autres. Les pilotes Linux DP8390 (wd80x3, SMC-ULTRA, 3c503, ne2000,
etc) s'approchent très près de l'envoi de paquets les
uns derrière les autres (cela dépendra du temps de
latence d'interruption courant), et la 3c509 ou l'AT1500 n'ont
absolument aucun problème pour émettre des paquets
les uns derrière les autres.</p>
<p>Le bus ISA peut faire du 5,3 Mo/s
(42 Mbit/s), ce qui semble plus que nécessaire pour
l'ethernet a 10 Mbps. En cas d'utilisations de cartes
100 Mbps, il est clair que vous aurez à utiliser un bus
plus rapide pour utiliser toute la bande passante.</p>
<h3>Entrées/Sorties (E/S) programmées (NE2000, 3c509,
etc.)</h3>
<p><b>Pour :</b> N'utilise aucune ressource système
contrainte, juste quelques registres d'E/S, et n'a pas de limite
à 16 M.</p>
<p><b>Contre :</b> Généralement le taux de
transfert le plus faible, le processeur attend tout le temps, et un
accès entrelacé (<i>interleaved</i> en anglais) aux
paquets est habituellement difficile voire impossible.</p>
<h3>Mémoire partagée (WD80x3, SMC-Ultra, 3c503,
etc.)</h3>
<p><b>Pour :</b> Simple, plus rapide que les E/S
programmées, permet l'accès aléatoire aux
paquets. Les pilotes Linux calculent la somme de contrôle
(<i>checksum</i> en anglais) des paquets IP entrants lorsqu'ils
sont copiés depuis la carte, ce qui entraîne une
réduction supplémentaire de la charge du processeur
par rapport à une carte équivalente en E/S
programmées.</p>
<p><b>Contre :</b> Utilise beaucoup d'espace mémoire
(c'est important pour les utilisateur sous DOS, cela n'a
pratiquement pas d'importance sous Linux), et charge encore le
processeur.</p>
<h3>Accès Direct à la Mémoire (DMA) Esclave
(normal) (p.ex. : aucune pour Linux !)</h3>
<p><b>Pour :</b> Libère le processeur pendant le
transfert réel des données.</p>
<p><b>Contre :</b> La vérification des conditions aux
limites de blocs, l'allocation de tampons (<i>buffers</i> en
anglais) contigus, et la programmation des registres DMA en font la
plus lente de toutes les techniques. Elle utilise en plus un
canal DMA (une ressource rare !) et nécessite des
tampons alignés en mémoire basse.</p>
<h3><a name="master"></a> DMA en Bus Master (p.ex. : LANCE,
DEC 21040)</h3>
<p><b>Pour :</b> Libère le processeur pendant le
transfert des données, peut lier des tampons entre eux, peut
nécessiter peu voire pas de perte de temps processeur sur le
bus ISA. La majorité des pilotes bus-mastering pour linux
utilisent un schéma 'copybreak' où les gros paquets
sont directements placés dans les tampons réseau du
noyau par la carte, les petits paquets étant copiés
par le CPU qui est plus rapide pour ce type de traitements.</p>
<p><b>Contre :</b> (seulement pour les cartes ISA)
Nécessite des tampons en mémoire basse et un
canal DMA pour les cartes. Tout Maître de Bus aura des
problèmes avec les autres Maîtres de Bus qui sont des
goinfres, comme certaines cartes SCSI primitives. Quelques
jeux de puces pour cartes-mères mal pensés ont des
problèmes avec les maîtres de bus. Et une raison pour
n'avoir <em>aucun</em> type de périphérique DMA
est d'utiliser un processeur 486 conçu pour être
inséré (ou monté) en lieu et place d'un 386:
ces processeurs doivent vider leur cache à chaque cycle DMA.
(Ceci inclus les Cx486DLC, Ti486DLC, Cx486SLC, Ti486SLC, etc.)</p>
<h2><a name="skel"></a> <a name="ss8.2">8.2 Écriture d'un
pilote de carte</a></h2>
<p>La seule chose indispensable pour utiliser une carte Ethernet
sous Linux est le pilote approprié. Pour que cela soit
possible, il est essentiel que le constructeur diffuse les
informations techniques nécessaires à la
programmation de ce pilote à destination du public sans que
vous (ou quelqu'un d'autre) ne soyez obligé de leur vendre
votre âme. Une bonne indication des chances d'obtenir de la
documentation (ou, si vous ne programmez pas, des chances que
quelqu'un d'autre puisse écrire ce pilote dont vous avez
vraiment, vraiment besoin) est la disponibilité du pilote en
mode paquet de Crynwr (ex Clarkson). Russ Nelson dirige cette
opération, et il a été d'un grand service par
son aide au cours du développement de certains pilotes pour
Linux. Vous pouvez essayer cette URL pour consulter le programme de
Russ :</p>
<blockquote><a href="http://www.crynwr.com/crynwr/home.html">Pilote
en mode paquet de Russ Nelson</a></blockquote>
<p>Une fois la documentation obtenue, vous pouvez écrire un
pilote pour votre carte et l'utiliser sous Linux (du moins en
théorie). Rappelez-vous néanmoins que certains
matériels anciens qui ont été
créés pour des machines XT ne fonctionneront pas bien
dans un environnement multitâches comme Linux. Leur
utilisation entraînera des problèmes importants si
votre réseau est raisonnablement chargé.</p>
<p>La plupart des cartes possèdent des pilotes pour des
interfaces MS-DOS comme NDIS ou ODI, mais ceux-ci sont inutiles
pour Linux. De nombreuses personnes ont suggéré de
les intégrer directement ou de réaliser une
traduction automatique, mais c'est quasiment impossible. Les
pilotes MS-DOS s'attendent à travailler en mode 16 bits
et à utiliser des `interruptions logicielles', deux notions
incompatibles avec le noyau Linux. Cette incompatibilité est
en fait un avantage, puisque certains pilotes pour Linux sont
considérablement meilleurs que leur équivalent
MS-DOS. Par exemple, la série des pilotes `8390' utilise des
zones tampon de transmissions en ping-pong, qui commencent
seulement à apparaître dans le monde MS-DOS.</p>
<p>(`Des zones tampon de transmissions en ping-pong' signifie que
l'on utilise au moins deux zones de la taille maximale d'un paquet
pour transmettre les paquets. L'une des zones est chargée
pendant que la carte est en train de transmettre l'autre. Le
deuxième paquet est alors transmis dès que le premier
est parti, etc. De cette manière, la plupart des cartes sont
capables d'envoyer des paquets à la dos à dos sur le
câble).</p>
<p>Bon. Vous avez donc décidé d'écrire un
pilote pour la carte Ethernet Machin, puisque vous avez les
informations nécessaires à sa programmation, et que
personne d'autre ne l'a encore fait (... ce sont les deux
conditions principales <code>;-)</code> ). Vous devriez commencer
avec le squelette du pilote réseau qui est fourni avec la
distribution source du noyau Linux. Il se trouve dans le fichier
/usr/src/linux/drivers/net/skeleton.c dans tous les noyaux
récents. Jetez aussi un coup d'oeil sur le `Kernel Hackers
Guide' à l'URL suivante :</p>
<blockquote><a href=
"http://www.redhat.com:8080/HyperNews/get/khg.html">KHG</a></blockquote>
<h2><a name="ss8.3">8.3 Inteface du pilote avec le noyau</a></h2>
<p>Voici quelques notes sur les fonctions que vous devrez
écrire si vous créez un nouveau pilote. Lisez-les en
gardant sous la main le squelette de pilote décrit
ci-dessus : cela simplifiera les choses.</p>
<h3>Détection de la carte (Probe)</h3>
<p>Appelée au démarrage pour vérifier
l'existence de la carte. Meilleure si elle peut vérifier en
douceur en lisant la mémoire etc. Peut aussi lire les ports
d'E/S. Ecrire au démarrage sur les ports d'E/S pour
détecter la carte n'est <em>pas bien</em> parce que cela
risque de tuer un autre périphérique. Certaines
parties de l'initialisation du périphérique sont
habituellement faites à ce niveau (allouer l'espace d'E/S,
les IRQ, remplir les champs de <code>dev->???</code>, etc.) Vous
avez besoin de savoir à quels ports d'E/S et à
quelles zones mémoire la carte peut être
configurée, comment autoriser l'utilisation de
mémoire partagée (si besoin), comment
sélectionner et mettre en oeuvre la génération
d'interruptions, etc.</p>
<h3>Gestionnaire d'interruptions (Interrupt handler)</h3>
<p>Appelé par le noyau quand la carte déclenche une
interruption. A la responsabilité de déterminer
pourquoi la carte a déclenché l'interruption, et
d'agir en conséquence. Les conditions habituelles
d'interruption sont l'arrivée de données, la fin
d'une transmission, l'indication de conditions d'erreur. Vous avez
besoin de connaître les bits d'informations liés
à une interruption afin de pouvoir agir en
conséquence.</p>
<h3>Fonction de transmission (Transmit function)</h3>
<p>Est liée à <code>dev->hard_start_xmit()</code>
et est appelée par le noyau quand ce dernier désire
envoyer des données par l'intermédiaire du
périphérique. Envoie les données sur la carte
et déclenche la transmission. Vous avez besoin de savoir
comment empaqueter les données et comment les faire parvenir
sur la carte (copie en mémoire partagée, transfert
sur les ports d'E/S, DMA ?) et au bon endroit sur la carte.
Puis vous devez savoir comment dire à la carte d'envoyer les
données sur le câble, et (éventuellement)
émettre une interruption quand ce sera fini. Quand le
périphérique ne peut plus accepter de paquets
supplémentaires, il doit armer le drapeau
<code>dev->tbusy</code>. Quand de la place est devenue
disponible, en général au cours d'une interruption de
fin de transmission, <code>dev->tbusy</code> doit être
désarmé et les niveaux supérieurs doivent
être informés en utilisant
<code>mark_bh(INET_BH)</code>.</p>
<h3>Fonction de réception (Receive function)</h3>
<p>Appelée par le gestionnaire d'interruptions du noyau
quand la carte indique que des données sont disponibles.
Récupère les données de la carte, les
empaquette dans un sk_buff et informe le noyau de la
présence des données en effectuant un
<code>netif_rx(sk_buff)</code>. Vouz devez savoir comment mettre en
oeuvre le déclenchement d'interruptions à la
réception de données, comment vérifier les
bits d'informations correspondant à la réception, et
comment récupérer les données depuis la carte
(là encore, par mémoire partagée, ports d'E/S,
DMA, etc.)</p>
<h3>Fonction d'ouverture (Open function)</h3>
<p>Est liée à <code>dev->open</code>. Est
appelée par les couches réseau quand quelqu'un fait
<code>ifconfig eth0 up</code> - cela doit mettre le
périphérique en route et l'autoriser à
recevoir et transmettre des données. Toute incantation
spéciale liée à l'initialisation et qui
n'aurait pas été réalisée dans la
séquence de détection (autoriser la
génération d'IRQ, etc.) trouvera sa place ici.</p>
<h3>Fonction de fermeture (facultative) (Close function)</h3>
<p>Met la carte dans un état propre quand quelqu'un effectue
<code>ifconfig eth0 down</code>. Doit libérer les IRQ et les
canaux DMA si le matériel le permet, et éteindre tout
ce qui pourrait économiser de l'énergie (comme le
transmetteur).</p>
<h3>Autres fonctions</h3>
<p>Des éléments comme une fonction de
réinitialisation, afin que, si les choses se
dégradent, le pilote puisse essayer de réinitialiser
la carte en dernier recours. Généralement fait quand
une transmission dépasse son temps maximal ou quelque chose
du genre. Ou encore une fonction pour lire les registres qui
contiennent les statistiques sur la carte, si elle en comporte.</p>
<h2><a name="3com-tech"></a> <a name="ss8.4">8.4 Informations
techniques de 3Com</a></h2>
<p>Si vous êtes intéressé(e) par
l'écriture de pilotes pour les cartes 3Com, vous pouvez
obtenir de la documentation technique de 3Com. Cameron a
été suffisamment gentil pour nous dire comment y
parvenir :</p>
<p>Les adaptateurs Ethernet de 3Com sont documentés pour les
auteurs de pilotes dans nos `Références Techniques'
(Technical References, TRs). Ces manuels décrivent les
interfaces du programmeur avec la carte, mais elles ne parlent pas
des diagnostics, des programmes d'installation, etc., que
l'utilisateur final peut voir.</p>
<p>Le département marketing de la Division Adaptateurs
Réseaux (Network Adapter Division) est responsable de la
diffusion des TRs. Pour que ce programme reste efficace, nous le
centralisons dans une entité appelée `CardFacts'.
C'est est un système téléphonique
automatisé. Vous l'appelez avec un téléphone
à fréquences vocales et il vous envoie des choses par
télécopie. Pour obtenir un TR, appelez CardFacts au
408-727-7021.</p>
<p>(NDT : Cela ne fonctionne qu'aux Etats-Unis.) Demandez le
formulaire de commande du développeur (Developer's Order
Form), le document numéro 9070. Ayez votre numéro de
fax sous la main lorsque vous appelez. Complétez le
formulaire de commande et envoyez-le par télécopie au
408-764-5004. Les manuels sont expédiés par le
service J+2 de Federal Express.</p>
<p>Il y a des gens ici qui pensent que nous sommes trop
libéraux avec les manuels, et qui cherchent des preuves que
le système est trop onéreux, ou prend trop de temps
et d'effort. Jusqu'à présent, les clients de 3Com ont
été très bien sur ce point, et il n'y a pas de
problème avec le niveau de demandes que nous avons obtenu.
Nous avons besoin que votre coopération et votre retenue se
maintiennent pour continuer ainsi.</p>
<h2><a name="amd-notes"></a> <a name="ss8.5">8.5 Notes sur les
cartes basées sur la puce PCnet / LANCE d'AMD</a></h2>
<p>La puce LANCE (Local Area Network Controller for Ethernet,
Contrôleur de Réseau Local pour Ethernet) d'AMD
constituait l'offre initiale, et a depuis été
remplacée par la puce `PCnet-ISA', aussi connue en tant que
79C960. Notez que le nom `LANCE' est resté, et certaines
personnes se réfèrent à la nouvelle puce en
utilisant l'ancien nom. Dave Roberts de la Division des Produits
Réseaux (Network Products Division) d'AMD a eu
l'amabilité de nous fournir les informations suivantes
concernant cette puce :</p>
<p>`Fonctionnellement, elle est équivalente à une
NE1500. Le jeu de registres est identique à celui de la
vieille LANCE avec les additions de l'architecture 1500/2100. Les
vieux pilotes 1500/2500 fonctionneront avec la PCnet-ISA.
L'architecture NE1500 et NE2100 est la même à la base.
Initialement Novell l'a appelé la 2100, mais ensuite a
essayé de distinguer entre cartes coax et 10Base-T. Tout ce
qui était purement 10Base-T devait être
numéroté dans la série 1500. C'est la seule
différence.</p>
<p>De nombreuses sociétés offrent des produits
basés sur la PCnet-ISA, y compris HP, Racal-Datacom, Allied
Telesis, Boca Research, Kingston Technology, etc. Les cartes sont
à la base les mêmes, excepté que certains
constructeurs ont ajouté des fonctionnalités
`sans-cavaliers' (`jumperless') qui permettent à la carte
d'être configurée par logiciel. La plupart n'en ont
pas. AMD offre un paquetage de conception standard pour une carte
qui utilise la PCnet-ISA et de nombreux fabricants utilisent notre
conception sans changement. Cela signifie que n'importe qui
souhaitant écrire des pilotes pour la plupart des cartes
basées sur la puce PCnet-ISA peut se contenter d'obtenir la
documentation technique auprès d'AMD. Appelez notre centre
de distribution documentaire au (800)222-9323 et demandez la
documentation de l'Am79C960, PCnet-ISA. Elle est gratuite.</p>
<p>Un moyen rapide pour savoir si la carte est une carte
`générique' est simplement de la regarder. Si elle
l'est, elle doit juste comporter une grosse puce, un quartz, une
petite PROM d'adresse IEEE, éventuellement un support pour
une ROM de démarrage, et un connecteur (1, 2 ou 3, selon les
options de média offertes). Notez que s'il s'agit d'une
carte coax, elle comportera aussi quelques composants pour le
transceiver, mais ils devraient être près du
connecteur et éloignés de la PCnet-ISA.'</p>
<p>Une note pour les bidouilleurs potentiels de cartes est que
différentes implémentations de la LANCE effectuent le
`redémarrage' de différentes façons. Certaines
reprennent où elles s'étaient arrêtées
dans l'anneau, et d'autres démarrent directement au
début de l'anneau, comme si elles venaient d'être
initialisées.</p>
<h2><a name="promisc"></a> <a name="ss8.6">8.6 Multicast et Mode
`Promiscuous'</a></h2>
<p>Une des autres choses sur lesquels Donald a travaillé est
l'implémentation des points d'entrée pour le
multicast et le mode `promiscuous'. Tous les pilotes ISA
<em>publiés</em> (c'est-à-dire <b>pas</b> les pilotes
au stade `alpha') supportent aujourd'hui le mode promiscuous.</p>
<p>Donald écrit : Je commencerai par parler du mode
`promiscuous', qui est conceptuellement facile à
implémenter. Pour la plupart des matériels, vous
n'avez qu'à positionner un bit de registre, et à
partir de ce moment-là vous obtenez tous les paquets qui
passent sur le fil. Bon, ce n'est pas vraiment aussi simple que
cela ; pour certains matériels, vous devez
arrêter la carte (en perdant potentiellement quelques
paquets), la reconfigurer, puis la réactiver. Ok, ça
c'est facile, donc je passe à quelque chose qui n'est pas
aussi évident : le <i>multicast</i>. On peut le
réaliser de deux façons :</p>
<ol>
<li>Utiliser le mode promiscuous, et un filtre de paquets comme
celui de Berkeley (Berkeley packet filter, BPF). Le BPF est un
langage à pile de comparaison de modèles (pattern
matching stack), avec lequel vous écrivez un programme qui
extrait les adresses qui vous intéressent. Son avantage est
qu'il est très général et programmable. Son
inconvénient est qu'il n'existe pas de moyen
général pour le noyau d'éviter d'avoir
à mettre en route le mode promiscuous et de passer chaque
paquet qui circule sur le fil à travers tous les filtres de
paquets qui se sont enregistrés. Consultez <a href=
"#bpf">Le Berkeley Packet Filter</a> pour plus d'informations.</li>
<li>Utiliser le filtre multicast que la plupart des puces Ethernet
possèdent.</li>
</ol>
<p>Je crois que je devrais donner une liste de ce que quelques
cartes ou puces Ethernet fournissent :</p>
<pre>
Puce/carte Promiscuous Filtre Multicast
-----------------------------------------
Seeq8001/3c501 Oui Filtre binaire (1)
3Com/3c509 Oui Filtre binaire (1)
8390 Oui Hashage à six bits Autodin II (2) (3)
LANCE Oui Hashage à six bits Autodin II (2) (3)
i82586 Oui Hashage à six bits Autodin II caché (2) (4)
</pre>
<ol>
<li>Ces cartes prétendent avoir un filtre, mais il s'agit
d'un simple oui/non `accepte tous les paquets multicast', ou
`n'accepte aucun paquet multicast'.</li>
<li>AUTODIN II est le polynôme standard de contrôle
Ethernet (somme de contrôle/checksum CRC). Dans ce principe,
les adresses multicast sont hashées et recherchées
dans une table de hashage. Si le bit correspondant est
activé, ce paquet est accepté. Les paquets Ethernet
sont conçus de telle façon que la partie
matérielle pour réaliser ceci est triviale -- vous
mémorisez juste (habituellement) six bits du circuit CRC
(qui est nécessaire de toute façon pour la
vérification d'erreur) après les six premiers octets
(l'adresse de destination), et vous les utilisez comme index dans
la table de hashage (six bits -- une table de 64-bits).</li>
<li>Ces puces utilisent le hashage à six bits, et
nécessitent que la table soit calculée et
chargée par l'hôte. Cela signifie que le noyau doit
comprendre le code pour le CRC.</li>
<li>Le 82586 utilise le hashage à six bits de façon
interne, mais il calcule la table de hashage lui-même
à partir d'une liste d'adresses multicast à
accepter.</li>
</ol>
<p>Notez qu'aucune de ces puces ne réalise un filtrage
parfait, et nous avons encore besoin d'un module de niveau
intermédiaire pour réaliser le filtrage final. Notez
aussi que dans chaque cas nous devons conserver une liste
complète des adresses multicast acceptées pour
recalculer la table de hashage quand elle change.</p>
<h2><a name="bpf"></a> <a name="ss8.7">8.7 Le filtre de paquets de
Berkeley (Berkeley Packet Filter -- BPF)</a></h2>
<p>L'idée générale des développeurs est
que la fonctionnalité du BPF ne doit pas être fournie
par le noyau, mais doit se trouver dans une bibliothèque de
compatibilité (dont on espère qu'elle servira
peu).</p>
<p>Pour ceux qui ne seraient pas au courant : BPF (le Berkeley
Packet Filter) est un mécanisme destiné à
spécifier aux couches réseau du noyau quels paquets
vous intéressent. Il est implémenté sous la
forme d'un interpréteur d'un langage à pile
spécialisé construit dans un niveau bas du code
réseau. Une application passe un programme écrit dans
ce langage au noyau, et le noyau exécute le programme sur
chaque paquet entrant. Si le noyau possède plusieurs
applications BPF, chaque programme est exécuté sur
chaque paquet.</p>
<p>Le problème est qu'il est difficile de déduire
quel type de paquet intéresse réellement
l'application à partir du programme de filtrage, donc la
solution est de toujours exécuter le filtre. Imaginez un
programme qui enregistre un programme BPF pour extraire un flux de
données de faible débit envoyé à une
adresse multicast. La plupart des cartes Ethernet possèdent
un filtre d'adresses multicast implémenté sous la
forme d'une table de hashage à 64 entrées qui ignore
la plupart des paquets multicast non souhaités, donc les
capacités existent pour faire de cette opération une
opération peu coûteuse en ressources. Mais avec le
BPF, le noyau doit passer l'interface en mode promiscuous, recevoir
<b>tous</b> les paquets, et les passer à travers ce filtre.
D'ailleurs, c'est un travail qu'il est très difficile de
comptabiliser dans le processus qui a demandé les
paquets.</p>
<h2><a name="notebook"></a> <a name="s9">9. Faire du réseau
avec un portable</a></h2>
<p>Il existe plusieurs façons de mettre votre portable en
réseau. Vous pouvez utiliser le code SLIP (et tourner aux
vitesses d'une liaison série). Vous pouvez employer un
portable avec un slot PCMCIA intégré, ou bien avec
une station d'accueil et y mettre une carte Ethernet ISA. Vous
pouvez encore utiliser un adaptateur Ethernet sur port
parallèle.</p>
<h2><a name="ss9.1">9.1 Utiliser SLIP (Serial Line IP, IP sur
liaison série)</a></h2>
<p>C'est la solution la moins chère, mais de loin la plus
difficile. En plus, vous n'obtiendrez pas des taux de transfert
très élevés. Comme SLIP n'est pas vraiment
lié aux cartes Ethernet, nous n'en parlerons pas plus ici.
Consultez le <i>NET-2 Howto</i>.</p>
<h2><a name="pcmcia"></a> <a name="ss9.2">9.2 Support
PCMCIA</a></h2>
<p>Essayez de déterminer exactement de quel matériel
vous disposez (c'est-à-dire le fabricant de la carte, celui
du contrôleur de puces PCMCIA) puis demandez sur la liste
LAPTOPS. En tout état de cause, ne vous attendez pas
à ce que les choses soient très simples.
Attendez-vous à chercher et à tourner un peu en rond,
à patcher les noyaux, etc. Peut-être qu'un jour vous
serez capable de taper `make config' 8-).</p>
<p>A l'heure actuelle, les deux jeux de puces PCMCIA qui sont
utilisables avec Linux sont le TCIC/2 de Databook et l'i82365
d'Intel.</p>
<p>Il existe un certain nombre de programmes sur
<code>tsx-11.mit.edu</code> dans le répertoire
<code>/pub/linux/packages/laptops/</code> qui pourront se
révéler utiles.</p>
<p>(NDT : Bien entendu, le lecteur français se
rapportera à l'un des miroirs de tsx-11, comme par exemple
<code>ftp://ftp.lip6.fr/pub/linux/tsx-11/packages/laptops/</code>.)</p>
<p>Cela va des pilotes pour cartes Ethernet PCMCIA aux programmes
qui communiquent avec la puce du contrôleur PCMCIA. Notez que
ces pilotes sont en général liés à une
puce PCMCIA spécifique (c'est-à-dire la 82365 d'Intel
ou la TCIC/2).</p>
<p>Pour les cartes compatibles NE2000, certaines personnes ont
réussi juste en configurant la carte sous DOS, puis en
démarrant Linux depuis l'invite de commande DOS via
<code>loadlin</code>.</p>
<p>Les choses évoluent pour les utilisateurs de Linux qui
souhaitent un support PCMCIA, car des progrès substantiels
ont été réalisés. Le dernier paquetage
de David Hinds, qui en est l'un des artisans, se trouve sur</p>
<blockquote><a href="ftp://cb-iris.stanford.edu/pub/pcmcia">PCMCIA
Package</a></blockquote>
<p>Cherchez un fichier comme <code>pcmcia-cs-X.Y.Z.tgz</code>
où <code>X.Y.Z</code> est le dernier numéro de
version. Vous devriez aussi pouvoir le trouver sur le site FTP
<code>tsx-11.mit.edu</code> (ou son miroir le plus proche,
NDT).</p>
<p>Notez que le logiciel d'accès PCMCIA de Donald fonctionne
en tant que processus utilisateur, alors que David Hinds propose
une solution au niveau du noyau. Vous serez certainement mieux
servi(e) par le paquetage de David car il est plus couramment
employé, et en constant développement.</p>
<h2><a name="ss9.3">9.3 Carte Ethernet ISA dans la station
d'accueil.</a></h2>
<p>Les stations d'accueil (<i>docking stations</i> en anglais, ou
encore <i>dock</i>, NDT) coûtent typiqement environ 1500
francs et fournissent deux slots ISA standard, deux ports
série et un port parallèle. La plupart d'entre elles
sont alimentées par les batteries du portable, et quelques
unes permettent d'en ajouter dans la station même, pour peu
que vous utilisiez des cartes ISA courtes. Ainsi, vous pouvez
utiliser une carte réseau économique et profiter des
performances d'Ethernet à pleine vitesse.</p>
<h2><a name="ss9.4">9.4 Adaptateurs de poche et sur port
parallèle.</a></h2>
<p>Les adaptateurs Ethernet `de poche' peuvent aussi
répondre à vos besoins. Notez que la vitesse de
transfert ne sera pas aussi importante que ça
(peut-être 200 Ko/s en pointe ?) à cause des
limitations du port parallèle.</p>
<p>La plupart d'entre eux vont vous entraver avec une alimentation
qui ressemble a un gros pavé. Vous pourrez parfois vous
passer du pavé des adaptateurs en achetant ou en fabriquant
un câble qui prend l'alimentation sur le port clavier du
portable (voir <a href="#aep-100">alimentation du
clavier</a>).</p>
<p>Consultez <a href="#de-600">DE-600 / DE-620</a> et
<a href="#aep-100">RealTek</a> pour deux adaptateurs de poche
utilisables sous Linux.</p>
<h2><a name="misc"></a> <a name="s10">10. Questions
diverses.</a></h2>
<p>Tout ce qui se rapporte à Ethernet et qui ne rentrait pas
ailleurs se retrouve ici. Ce n'est peut-être pas
significatif, ni intéressant pour tout le monde, mais de
totue façon, c'est là.</p>
<h2><a name="lilo"></a> <a name="ss10.1">10.1 Passage des arguments
Ethernet au noyau</a></h2>
<p>Voici deux commandes génériques du noyau qui
peuvent être passées au noyau au moment du
démarrage (<code>ether</code> et <code>reserve</code>). Vous
pouvez le faire avec LILO, loadlin, ou tout autre utilitaire de
démarrage qui accepte des arguments optionnels.</p>
<p>Par exemple, si la commande était `blabla' et qu'elle
attende trois arguments (disons 123, 456 et 789), alors, avec LILO,
vous pourriez taper au démarrage :</p>
<p><code>LILO: linux blabla=123,456,789</code></p>
<p>Pour plus d'informations, ainsi qu'une liste complète,
sur les arguments de démarrage, veuillez consulter le</p>
<blockquote><a href=
"http://metalab.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html">BootPrompt-HOWTO</a></blockquote>
<h3><a name="ether"></a> L'argument <code>ether</code></h3>
<p>La commande <code>ether=</code> est utilisée en
conjonction avec le pilote compilé dans le noyau. Le
<code>ether=</code> n'aura <em>absolument aucun effet</em> sur un
pilote modulaire. Sous sa forme la plus générique,
elle ressemble à quelque chose comme :</p>
<blockquote>
<code>ether=IRQ,ADR_DE_BASE,PARAM_1,PARAM_2,NOM</code></blockquote>
<p>Tous les arguments sont optionnels. Le premier argument
non-numérique est considéré comme le NOM.</p>
<p><b>IRQ:</b> Evident. Une valeur d'IRQ de `0' (habituellement la
valeur par défaut) signifie affectation automatique de
l'IRQ. C'est un accident de l'Histoire que le paramètre
d'IRQ soit en premier plutôt que l'adresse de
base -- cela sera corrigé lorsque quelque chose
d'autre changera.</p>
<p><b>ADR_DE_BASE:</b> Evident aussi. Une valeur de `0'
(habituellement la valeur par défaut) signifie de tester une
liste d'adresses spécifiques à ce type de carte pour
essayer de détecter une carte Ethernet.</p>
<p><b>PARAM_1:</b> Utilisé à l'origine comme une
valeur qui passe outre l'adresse de départ de la zone
mémoire pour une carte Ethernet à mémoire
partagée, comme la WD80*3. Certains pilotes utilisent les
quatre bits de poids faible de cette valeur pour fixer le niveau de
message de débogage. 0 -- défaut,
1-7 -- niveaux 1 à 7 (7 étant le
niveau le plus bavard), 8 -- niveau 0 (pas de
messages). Le pilote LANCE utilise les quatre bits de poids faible
de cette valeur pour sélectionner le canal DMA. Sinon il
utilise l'affectation automatique du DMA.</p>
<p><b>PARAM_2:</b> Le pilote 3c503 l'utilise pour choisir entre le
transceiver interne et le transceiver externe.
0 -- défaut/interne, 1 -- AUI externe.
Les cartes E21XX de Cabletron utilisent les quatre bits de poids
faible de PARAM_2 pour choisir le support physique. Sinon il est
détecté automatiquement.</p>
<p><b>NOM:</b> Sélectionne le périphérique
réseau auquel les valeurs se réfèrent. Le
noyau standard utilise les noms `eth0', `eth1', `eth2' et `eth3'
pour les cartes Ethernet attachées au bus, et `atp0' pour
l'adaptateur `de poche' sur port parallèle. Le pilote ARCnet
utilise le nom `arc0'. Le comportement par défaut est de
tester une seule carte Ethernet pour `eth0'. Vous ne pouvez activer
plusieurs cartes qu'en fixant de façon explicite leur
adresse de base avec les paramètres de LILO. Le noyau 1.0
considérait les cartes Ethernet basées sur la puce
LANCE comme un cas spécial. Les arguments de LILO
étaient ignorés, et les cartes LANCE recevaient
toujours des noms `eth<n>' en commençant à
`eth0'. Les cartes supplémentaires, non-LANCE, devaient
être affectées à `eth<n+1>', et le test
habituel de `eth0' devait alors être désactivé
avec quelque chose comme `ether=0,-1,eth0'. (Oui, c'est
bogué.)</p>
<h3><a name="reserve"></a> La commande <code>reserve</code></h3>
<p>Cette autre commande LILO est utilisée exactement comme
la commande `<code>ether=</code>' ci-dessus, c'est-à-dire
que l'on ajoute son nom aux options spécifiées dans
<code>lilo.conf</code> :</p>
<blockquote>
<code>reserve=IO-base,extent{,IO-base,extent...}</code></blockquote>
<p>Sur certaines machines, il peut être nécessaire
d'empêcher les pilotes de périphérique de
tester des périphériques (auto-détection) dans
une zone spécifique. Cela peut être le cas à
cause d'un matériel mal conçu qui <em>fige</em> le
démarrage (comme certaines cartes Ethernet), qui est
identifié par erreur, dont l'état a été
changé par une procédure de détection
précédente, ou plus encore d'un matériel que
vous ne souhaitez pas voir initialisé par le noyau.</p>
<p>L'argument de démarrage <code>reserve</code>
répond à cette attente en spécifiant une
région de port d'E/S qui ne doit pas être
testée. Cette région est réservée dans
la table d'enregistrement des ports du noyau comme si un
périphérique avait déjà
été trouvé dans cette région. Notez que
ce mécanisme ne devrait pas être nécessaire sur
toutes les machines. C'est seulement lorsqu'il y a un
problème ou un cas spécial que son utilisation peut
se révéler nécessaire.</p>
<p>Les ports d'E/S dans la zone spécifiée sont
protégés contre les procédures de
détection de périphériques. Nous avons
montré que cela est nécessaire lorsqu'un pilote se
bloque sur une carte NE2000, ou identifie de façon
erronée un autre périphérique comme
étant le sien. Un pilote de périphérique
correct ne devrait pas tester une zone réservée,
à moins qu'un autre argument de démarrage ne
spécifie explicitement qu'il doive le faire sur cette zone.
Cela implique que <code>reserve</code> sera le plus souvent
utilisé avec un autre argument de démarrage. Donc si
vous spécifiez une zone de <code>reserve</code> pour
protéger un périphérique donné, vous
devez généralement spécifier explicitement une
détection pour ce périphérique. La plupart des
pilotes ignorent la table d'enregistrement des ports si on leur
fournit une adresse explicite.</p>
<p>Par exemple, la ligne de démarrage</p>
<blockquote><code>LILO: linux reserve=0x300,32
ether=0,0x300,eth0</code></blockquote>
<p>oblige tous les périphériques à l'exception
des pilotes Ethernet à ne pas tester la plage
<code>0x300-0x31f</code>.</p>
<p>Comme d'habitude avec les spécificateurs de
démarrage, il existe une limite de 11 paramètres,
donc vous ne pouvez spécifier que 5 zones
réservées par mot-clé <code>reserve</code>.
Plusieurs spécificateurs <code>reserve</code> fonctionneront
si vous avez une requête inhabituellement
compliquée.</p>
<h2><a name="modules"></a> <a name="ss10.2">10.2 Utilisation des
pilotes Ethernet comme modules</a></h2>
<p>La majorité des distributions disponibles ont des noyaux
avec très peu de pilotes intégrés. Les pilotes
sont fournis comme modules chargeables dynamiquement. Ces pilotes
modulaires sont normalement chargés par l'administrateur via
la commande <code>modprobe(8)</code> dans certains cas, ils sont
automatiquement chargés par le noyau via
<code>kerneld</code> (pour les 2.0) ou <code>kmod</code> (pour les
2.1) qui eux-mêmes font appel à
<code>modprobe</code>.</p>
<p>Votre distribution offre peut être de jolis outils
graphiques pour configurer les modules ethernet. Si possible,
essayez de les utiliser avant tout. La description qui suit
explique ce qui se cache derrière ces jolis petits
programmes et ce que'ils changent.</p>
<p>Les informations qui déterminent quels modules doivent
être utilisés et les options qui leur sont
associées sont en principe stockées dans le fichier
<code>/etc/conf.modules</code>. Les deux options qui y ont le plus
d'interêt (pour les cartes ethernet) sont <code>alias</code>
et <code>options</code>. La commande <code>modprobe</code> consulte
ce fichier pour obtenir des informations sur les modules.</p>
<p>Les modules utilisés sont normalement stockés dans
un répertoire nommé <code>/lib/modules/`uname
-r`/net</code> où la commande <code>uname -r</code> retourne
la version du noyau (ex : 2.0.34). Vous pouvez aller y faire
un tour pour savoir quels modules correspondent à votre
carte.</p>
<p>La première chose à mettre dans votre
<code>/etc/conf.modules</code> est une ligne indiquant à
<code>modprobe</code> où se trouve le pilote à
utiliser avec <code>eth0</code> (et <code>eth1</code>, ...), ceci
grâce à un alias. Par exemple, si vous avez une carte
ISA SMC EtherEZ qui utilise le module <code>smc-ultra.o</code>,
vous aurez besoin de créer un alias entre ce pilote et
<code>eth0</code> en ajoutant cette ligne :</p>
<pre>
alias eth0 smc-ultra
</pre>
<p>Vous pourrez aussi avoir à ajouter une ligne
d'<code>options</code> indiquant lesquelles doivent être
utilisées avec tel module (ou alias de module). Continuons
l'exemple ci-dessus : avec la ligne <code>alias</code> seule,
le noyau vous préviendrait (cf. <code>dmesg</code>) que
l'autodétection des cartes ISA n'est <em>pas</em> une bonne
idée. Pour supprimer cet avertissement, il suffirait
d'ajouter une ligne donnant au module l'adresse d'E/S de votre
carte, dans ce cas, l'adresse hexadécimale
<code>0x280</code>.</p>
<pre>
options smc-ultra io=0x280
</pre>
<p>La plupart des modules ISA acceptent des arguments comme
<code>io=0x340</code> et <code>irq=12</code> sur la ligne de
commande d'<code>insmod</code>. Il est <em>REQUIS</em> ou du moins
<em>FORTEMENT RECOMMANDÉ</em> que vous fournissiez ces
paramètres pour éviter la détection
automatique de la carte. A la différence des
périphériques PCI et EISA, il n'existe pas de moyen
vraiment sûr de réaliser une détection
automatique de la majorité des périphériques
ISA, et cela doit donc être évité quand on
utilise les pilotes sous la forme de modules chargeables.</p>
<p>Une liste de toutes les options acceptées par chaque
module se trouve dans le fichier :</p>
<p>
<code>/usr/src/linux/Documentation/networking/net-modules.txt</code></p>
<p>Vous avez intérêt à le lire pour trouver les
options à utiliser pour votre carte. Notez que quelques
modules permettent les listes d'options séparées par
des virgules, ils sont capables de gérer plusieurs cartes
depuis un seul module, par exemple les cartes à base de
8390, ainsi que le pilote PLIP.</p>
<hr>
<pre>
option 3c503 io=0x280,0x300,0x330,0x350 xcvr=0,1,0,1
</pre>
<hr>
<p>La commande ci-dessus permet à un seul et même
module de contrôler quatre cartes 3c503, les cartes 2 et 4
utilisant le transceiver externe. Ne mettez pas d'espace autour des
'=' ou des virgules.</p>
<p>Notez aussi que les modules <code>utilisés</code> ne
peuvent être supprimés de la mémoire. Cela
signifie que vous aurez à faire un <code>ifconfig eth0
down</code> (arrêter la carte ethernet) avant de pouvoir les
supprimer.</p>
<p>La commande <code>lsmod</code> vous dira quels sont les modules
qui sont chargés, s'ils sont utilisés, et
<code>rmmod</code> les supprimera.</p>
<h2><a name="ss10.3">10.3 Documents associés</a></h2>
<p>La plupart des informations que vous trouvez dans ce document
proviennent de messages sauvegardés des groupes de
<code>comp.os.linux.*</code>, ce qui montre qu'il s'agit d'une
vraie source d'informations. D'autres renseignements très
utiles proviennent de tout un tas de petits fichiers de Donald
lui-même.</p>
<p>Bien entendu, si vous configurez une carte Ethernet, vous
voudrez configurer les logiciels que vous allez utiliser, et vous
lirez pour cela le <i>Howto NET-3</i>. Ou encore, si vous vous
sentez pousser des ailes de ``hacker'', vous pourrez toujours
grapiller des informations supplémentaires directement dans
les fichiers sources des pilotes. Ils comportent en
général un paragraphe ou deux décrivant les
points importants, avant que le code ne démarre...</p>
<p>Pour ceux d'entre vous qui recherchent des informations qui ne
sont pas spécifiques à Linux (comme : qu'est-ce
que 10BaseT, qu'est-ce qu'AUI, que fait un hub, etc.) je vous
recommande fortement d'utiliser le groupe de news
<code>comp.dcom.lans.ethernet</code> et/ou
<em>comp.sys.ibm.pc.hardware.networking</em>. Les archives de news
tels que <code>deja.com</code> sont aussi une source intarissable
de réponses. Vous pouvez aussi récupérer les
FAQ de ces groupes de news sur par exemple :</p>
<blockquote><a href=
"ftp://ftp.lip6.fr/pub/doc/faq/usenet-by-hierarchy/">Les FAQ de
Usenet</a></blockquote>
<p>Vous pouvez aussi consulter la `Page d'accueil d'Ethernet' pour
ainsi dire, qui se trouve à l'URL suivante :</p>
<blockquote><a href=
"http://wwwhost.ots.utexas.edu/ethernet/ethernet-home.html">La page
d'accueil d'Ethernet</a></blockquote>
<h2><a name="copyright"></a> <a name="ss10.4">10.4
Désistement de responsabilité et Copyright</a></h2>
<p>Ce document <em>n'est pas</em> la bible. Toutefois, il s'agit
certainement de la source d'informations la plus à jour que
vous pourrez trouver. Personne n'est responsable de ce qui arrive
à votre matériel hormis vous-même. Si votre
carte Ethernet ou tout autre partie matérielle de votre
ordinateur part en fumée (...bien que ce soit pratiquement
impossible !) nous n'en prenons aucune responsabilité.
LES AUTEURS NE SONT RESPONSABLES D'AUCUN DOMMAGE ENCOURU
CONSÉCUTIF A DES ACTIONS EFFECTUÉES EN SE BASANT SUR
LES INFORMATIONS COMPRISES DANS CE DOCUMENT.</p>
<p>Ce document est Copyright (c) 1993-1997 by Paul Gortmaker. Il
est permis de faire et de distribuer des copies complètes de
ce manuel à condition que la notice de copyright et que
cette notice de permission soient préservées dans
toutes les copies.</p>
<p>Il est permis de copier et de distribuer des versions
modifiées de ce document sous les mêmes conditions que
la copie complète, à condition que cette notice de
copyright soit incluse exactement telle qu'elle l'est dans
l'original, et que le travail dérivé
résultant, dans son intégralité, soit
distribué sous les termes d'une notice de permission
identique à celle-ci.</p>
<p>Il est permis de copier et de distribuer des traductions de ce
document dans d'autres langues, sous les mêmes conditions que
ci-dessus pour les versions modifiées.</p>
<p>Si vous avez l'intention d'intégrer ce document dans un
travail destiné à la publication, contactez-moi (par
courrier électronique) afin de pouvoir obtenir les
informations les plus à jour possible. Par le passé,
des versions dépassées de documents <i>Linux
HOWTO</i> ont été publiées, causant aux
développeurs le préjudice indû d'être
empoisonnés par des questions dont les réponses
figuraient déjà dans les versions à jour.</p>
<p>En accord avec cette notice, la version originale (en anglais)
telle qu'elle apparaît dans l'<i>Ethernet-HOWTO</i> est
fournie ici :</p>
<p>This document is <em>not</em> gospel. However, it is probably
the most up to date info that you will be able to find. Nobody is
responsible for what happens to your hardware but yourself. If your
ethercard or any other hardware goes up in smoke (...nearly
impossible!) we take no responsibility. ie. THE AUTHORS ARE NOT
RESPONSIBLE FOR ANY DAMAGES INCURRED DUE TO ACTIONS TAKEN BASED ON
THE INFORMATION INCLUDED IN THIS DOCUMENT.</p>
<p>This document is Copyright (c) 1993-1997 by Paul Gortmaker.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission
notice are preserved on all copies.</p>
<p>Permission is granted to copy and distribute modified versions
of this document under the conditions for verbatim copying,
provided that this copyright notice is included exactly as in the
original, and that the entire resulting derived work is distributed
under the terms of a permission notice identical to this one.</p>
<p>Permission is granted to copy and distribute translations of
this document into another language, under the above conditions for
modified versions.</p>
<p>A hint to people considering doing a translation. First,
translate the SGML source (available via FTP from the HowTo main
site) so that you can then generate other output formats. Be sure
to keep a copy of the original English SGML source that you
translated from! When an updated HowTo is released, get the new
SGML source for that version, and then a simple <code>diff -u
old.sgml new.sgml</code> will show you exactly what has changed so
that you can easily incorporate those changes into your translated
SMGL source without having to re-read or re-translate
everything.</p>
<p>If you are intending to incorporate this document into a
published work, please make contact (via e-mail) so that you can be
supplied with the most up to date information available. In the
past, out of date versions of the Linux HowTo documents have been
published, which caused the developers undue grief from being
plagued with questions that were already answered in the up to date
versions.</p>
<p>Ce document fait partie des <i>HOWTO Linux</i> traduits en
français. Vous pouvez trouver une liste à jour de ces
documents à l'adresse <a href=
"http://www.freenix.org/unix/linux/HOWTO/Liste-des-HOWTO.html">http://www.freenix.org/unix/linux/HOWTO/Liste-des-HOWTO.html</a></p>
<p>Les <i>HOWTO Linux</i> font partie du <i>Linux Documentation
Project</i> (LDP). Si vous souhaitez participer au LDP ou à
sa traduction en français, vous pouvez consulter <a href=
"http://www.freenix.org/unix/linux/HOWTO/Liste-des-HOWTO.html">http://www.freenix.org/unix/linux/HOWTO/Liste-des-HOWTO.html</a>
ou contacter Eric Dumas, <code>dumas@linux.eu.org</code>.</p>
<p>Cette version française a été
réalisée par Mathieu Arnold
<code><arn_mat@club-internet.fr></code>, Stéphane
Alnet <code><alnet@u-picardie.fr></code> était
l'ancien traducteur. Elle est Copyright (c) 1997-1998, Mathieu
Arnold, selon les termes de la notice ci-dessus.</p>
<p>Si vous constatez des erreurs <em>dans la traduction</em> en
français, merci d'en informer le traducteur. Vos remarques
seront prises en compte pour la prochaine version de la
traduction.</p>
<h2><a name="ss10.5">10.5 Conclusion</a></h2>
<p>Si vous avez trouvé une faute de frappe énaurme,
ou des informations dépassées dans ce document, merci
d'envoyer un courrier électronique. Il est énorme, et
il est facile de rater certaines choses. Si vous avez envoyé
un courrier à propos d'une modification, et qu'elle n'a pas
été incluse dans la version suivante,
n'hésitez pas à la ré-envoyer, car elle a pu
se perdre dans le flot habituel de SPAM et de prospectus que je
reçois.</p>
<p>Merci !</p>
<p>Paul Gortmaker, <code>p_gortmaker@yahoo.com</code></p>
</body>
</html>
|