1 .. SPDX-License-Identifier: GPL-2.0 2 3 ====== 4 ARCnet 5 ====== 6 7 .. note:: 8 9 See also arcnet-hardware.txt in this direct 10 and cabling information if you're like many 11 manual with your ARCnet card. 12 13 Since no one seems to listen to me otherwise, 14 attention:: 15 16 This driver's getting fat and 17 But my cat is still named Fifi 18 19 Hmm, I think I'm allowed to call that a poem, 20 lines. Hey, I'm in Computer Science, not Engl 21 22 The point is: I REALLY REALLY REALLY REALLY R 23 you test this and get it working. Or if you d 24 25 ARCnet 0.32 ALPHA first made it into the Linux 26 nice, but after that even FEWER people started 27 didn't even have to install the patch. <sigh> 28 29 Come on, be a sport! Send me a success report 30 31 (hey, that was even better than my original po 32 33 34 .. warning:: 35 36 If you don't e-mail me about your success/f 37 start SINGING. And we don't want that, do 38 39 (You know, it might be argued that I'm push 40 If you think so, why not flame me in a quic 41 include the type of card(s) you're using, s 42 whether it's working or not.) 43 44 My e-mail address is: apenwarr@worldvisions 45 46 These are the ARCnet drivers for Linux. 47 48 This new release (2.91) has been put together 49 <dwmw2@infradead.org>, in an attempt to tidy up 50 for yet another chipset. Now the generic suppo 51 individual chipset drivers, and the source fil 52 #ifdefs! I've changed this file a bit, but kep 53 Avery, because I didn't want to completely rew 54 55 The previous release resulted from many months 56 (Avery Pennarun), many bug reports/fixes and s 57 particular a lot of input and coding from Toma 58 ARCnet 2.10 ALPHA, Tomasz's all-new-and-improv 59 included and seems to be working fine! 60 61 62 Where do I discuss these drivers? 63 --------------------------------- 64 65 Tomasz has been so kind as to set up a new and 66 Subscribe by sending a message with the BODY " 67 REAL NAME" to listserv@tichy.ch.uj.edu.pl. Th 68 list, mail to linux-arcnet@tichy.ch.uj.edu.pl. 69 70 There are archives of the mailing list at: 71 72 http://epistolary.org/mailman/listinfo 73 74 The people on linux-net@vger.kernel.org (now d 75 netdev@vger.kernel.org) have also been known t 76 when we're talking about ALPHA Linux kernels t 77 in the first place. 78 79 80 Other Drivers and Info 81 ---------------------- 82 83 You can try my ARCNET page on the World Wide W 84 85 http://www.qis.net/~jschmitz/arcnet/ 86 87 Also, SMC (one of the companies that makes ARC 88 might be interested in, which includes several 89 including ARCnet. Try: 90 91 http://www.smc.com/ 92 93 Performance Technologies makes various network 94 ARCnet: 95 96 http://www.perftech.com/ or ftp to ftp 97 98 Novell makes a networking stack for DOS which 99 FTPing to ftp.novell.com. 100 101 You can get the Crynwr packet driver collectio 102 one you'll want to use with ARCnet cards) from 103 oak.oakland.edu:/simtel/msdos/pktdrvr. It won' 104 without patches, though, and also doesn't like 105 versions are available on my WWW page, or via 106 access. 107 108 109 Installing the Driver 110 --------------------- 111 112 All you will need to do in order to install th 113 114 make config 115 (be sure to choose ARCnet in t 116 and at least one chipset drive 117 make clean 118 make zImage 119 120 If you obtained this ARCnet package as an upgr 121 your current kernel, you will need to first co 122 the linux/drivers/net directory. 123 124 You will know the driver is installed properly 125 messages when you reboot into the new Linux ke 126 127 There are four chipset options: 128 129 1. Standard ARCnet COM90xx chipset. 130 131 This is the normal ARCnet card, which you've p 132 chipset driver which will autoprobe if not tol 133 It following options on the command line:: 134 135 com90xx=[<io>[,<irq>[,<shmem>]]][,<name>] | < 136 137 If you load the chipset support as a module, t 138 139 io=<io> irq=<irq> shmem=<shmem> device=<name> 140 141 To disable the autoprobe, just specify "com90x 142 To specify the name alone, but allow autoprobe 143 144 2. ARCnet COM20020 chipset. 145 146 This is the new chipset from SMC with support 147 sniffing), extra diagnostic information, etc. 148 sensible method of autoprobing for these cards 149 address on the kernel command line. 150 151 The command line options are:: 152 153 com20020=<io>[,<irq>[,<node_ID>[,backplane[,C 154 155 If you load the chipset support as a module, t 156 157 io=<io> irq=<irq> node=<node_ID> backplane=<b 158 timeout=<timeout> device=<name> 159 160 The COM20020 chipset allows you to set the nod 161 default which is still set in DIP switches on 162 COM20020 data sheets, and you don't know what 163 to, then they won't interest you - forget them 164 165 3. ARCnet COM90xx chipset in IO-mapped mode. 166 167 This will also work with the normal ARCnet car 168 memory. It performs less well than the above d 169 you have a card which doesn't support shared m 170 you have so many ARCnet cards in your machine 171 If you don't give the IO address on the kernel 172 will not find the card. 173 174 The command line options are:: 175 176 com90io=<io>[,<irq>][,<name>] 177 178 If you load the chipset support as a module, t 179 io=<io> irq=<irq> device=<name> 180 181 4. ARCnet RIM I cards. 182 183 These are COM90xx chips which are _completely_ 184 these is not tested. If you have one, please m 185 report. All options must be specified, except 186 Command line options:: 187 188 arcrimi=<shmem>,<irq>,<node_ID>[,<name>] 189 190 If you load the chipset support as a module, t 191 192 shmem=<shmem> irq=<irq> node=<node_ID> device 193 194 195 Loadable Module Support 196 ----------------------- 197 198 Configure and rebuild Linux. When asked, answ 199 support" and to support for your ARCnet chipse 200 loadable module. You can also say 'y' to "Gene 201 to the chipset support if you wish. 202 203 :: 204 205 make config 206 make clean 207 make zImage 208 make modules 209 210 If you're using a loadable module, you need to 211 you can specify various characteristics of you 212 line. (In recent versions of the driver, auto 213 and works as a module, so most of this is now 214 215 For example:: 216 217 cd /usr/src/linux/modules 218 insmod arcnet.o 219 insmod com90xx.o 220 insmod com20020.o io=0x2e0 device=eth1 221 222 223 Using the Driver 224 ---------------- 225 226 If you build your kernel with ARCnet COM90xx s 227 probe for your card automatically when you boo 228 chipset driver complied into the kernel, you m 229 on the kernel command line, as detailed above. 230 231 Go read the NET-2-HOWTO and ETHERNET-HOWTO for 232 available where you picked up this driver. Th 233 souped-up (or down, as the case may be) Ethern 234 235 By the way, be sure to change all references f 236 HOWTOs. Remember that ARCnet isn't a "true" E 237 is DIFFERENT. 238 239 240 Multiple Cards in One Computer 241 ------------------------------ 242 243 Linux has pretty good support for this now, bu 244 ARCnet driver has somewhat suffered in this re 245 compiled into the kernel, will (try to) autode 246 247 If you have other cards, with support compiled 248 just repeat the options on the kernel command 249 250 LILO: linux com20020=0x2e0 com20020=0x 251 252 If you have the chipset support built as a loa 253 do something like this:: 254 255 insmod -o arc0 com90xx 256 insmod -o arc1 com20020 io=0x2e0 257 insmod -o arc2 com90xx 258 259 The ARCnet drivers will now sort out their nam 260 261 262 How do I get it to work with...? 263 -------------------------------- 264 265 NFS: 266 Should be fine linux->linux, just pret 267 oak.oakland.edu:/simtel/msdos/nfs has 268 is also a DOS-based NFS server called 269 quite the way Linux does (actually, it 270 you never know what you might need. 271 272 With AmiTCP (and possibly others), you 273 options in your Amiga nfstab: MD 1024 274 (Thanks to Christian Gottschling <ferks 275 for this.) 276 277 Probably these refer to maximum NFS da 278 don't know why the defaults on the Ami 279 you know more. 280 281 DOS: 282 If you're using the freeware arcether. 283 the driver patch from my web page. It 284 can get arcether to load if it timed o 285 initialization. In fact, if you use i 286 the patch, really. 287 288 Windows: 289 See DOS :) Trumpet Winsock works fine 290 Arcether client, assuming you remember 291 292 LAN Manager and Windows for Workgroups: 293 These programs use protocols that 294 are incompatible with the Internet sta 295 the cards are Ethernet, and confuse ev 296 297 However, v2.00 and higher of the Linux 298 protocol via the 'arc0e' device. See 299 Support" for more information. 300 301 Using the freeware Samba server and cl 302 interface quite nicely with TCP/IP-bas 303 networks. 304 305 Windows 95: 306 Tools are included with Win95 that let 307 style network drivers (NDIS) or Novell 308 ARCnet packets. If you use ODI, you'l 309 device with Linux. If you use NDIS, t 310 See the "Multiprotocol Support" sectio 311 you're completely insane, and/or you n 312 hybrid network that uses both encapsul 313 314 OS/2: 315 I've been told it works under Warp Con 316 SMC. You need to use the 'arc0e' inte 317 the SMC driver to work with the TCP/IP 318 "normal" Warp Bonus Pack, let me know. 319 320 ftp.microsoft.com also has a freeware 321 which should use the same protocol as 322 installing it under Warp, however. Pl 323 324 NetBSD/AmiTCP: 325 These use an old version of the Intern 326 protocol (RFC1051) which is compatible 327 ALPHA and above using the arc0s device 328 below.) ** Newer versions of NetBSD a 329 330 331 Using Multiprotocol ARCnet 332 -------------------------- 333 334 The ARCnet driver v2.10 ALPHA supports three p 335 "virtual network device": 336 337 ====== ============================== 338 arc0 RFC1201 protocol, the official 339 happens to be 100% compatible 340 Version 1.00 of the ARCnet dri 341 protocol. arc0 is the fastest 342 whatever reason), and allows l 343 because it supports RFC1201 "p 344 Unless you have a specific nee 345 I strongly suggest that you st 346 347 arc0e "Ethernet-Encapsulation" which 348 that are actually a lot like E 349 6-byte hardware addresses. Th 350 Microsoft's NDIS ARCnet driver 351 LANMAN. Because the MTU of 49 352 one "required" by TCP/IP (576) 353 network operations will not fu 354 TCP/IP layer can compensate in 355 automatically fragmenting the 356 fit. arc0e also works slightl 357 reasons yet to be determined. 358 MTU that does it.) 359 360 arc0s The "[s]imple" RFC1051 protoco 361 standard that is completely in 362 standard. Some software today 363 support the old standard (and 364 including NetBSD and AmiTCP. 365 RFC1201's packet splitting, an 366 smaller than the Internet "req 367 possible that you may run into 368 than RFC1201 by about 25%, for 369 370 The arc0s support was contribu 371 and modified somewhat by me. 372 ====== ============================== 373 374 You can choose not to compile arc0e and arc0s 375 this will save you a bit of memory and avoid c 376 use the "NFS-root" stuff in recent Linux kerne 377 378 The arc0e and arc0s devices are created automa 379 ifconfig the arc0 device. To actually use the 380 ifconfig the other virtual devices you need. 381 can set up your network then: 382 383 384 1. Single Protocol. 385 386 This is the simplest way to configure your 387 two available protocols. As mentioned abov 388 only arc0 unless you have a good reason (li 389 WfWg, that only works with arc0e). 390 391 If you need only arc0, then the following c 392 393 ifconfig arc0 MY.IP.ADD.RESS 394 route add MY.IP.ADD.RESS arc0 395 route add -net SUB.NET.ADD.RESS arc0 396 [add other local routes here] 397 398 If you need arc0e (and only arc0e), it's a 399 400 ifconfig arc0 MY.IP.ADD.RESS 401 ifconfig arc0e MY.IP.ADD.RESS 402 route add MY.IP.ADD.RESS arc0e 403 route add -net SUB.NET.ADD.RESS arc0e 404 405 arc0s works much the same way as arc0e. 406 407 408 2. More than one protocol on the same wire. 409 410 Now things start getting confusing. To eve 411 partly crazy. Here's what *I* did. :) Note 412 my home network; I don't have any NetBSD or 413 use arc0s during limited testing. 414 415 I have three computers on my home network; 416 RFC1201 protocol, for reasons listed above) 417 Linux but runs the free Microsoft LANMAN Cl 418 419 Worse, one of the Linux computers (freedom) 420 a router to my Internet provider. The othe 421 its own IP address and needs to use freedom 422 XT (patience), however, does not have its o 423 I assigned it one on a "private subnet" (as 424 425 To start with, take a simple network with j 426 Insight needs to: 427 428 - talk to freedom via RFC1201 (arc0) p 429 more and it's faster. 430 - use freedom as its Internet gateway. 431 432 That's pretty easy to do. Set up insight l 433 434 ifconfig arc0 insight 435 route add insight arc0 436 route add freedom arc0 /* I would use 437 to in 438 but th 439 unfort 440 link o 441 things 442 route add default gw freedom 443 444 And freedom gets configured like so:: 445 446 ifconfig arc0 freedom 447 route add freedom arc0 448 route add insight arc0 449 /* and default gateway is configured b 450 451 Great, now insight talks to freedom directl 452 to the Internet through freedom. If you di 453 you should probably stop reading this secti 454 worse. 455 456 Now, how do I add patience into the network 457 Client, which means I need the arc0e device 458 to both insight and freedom, and also use f 459 Internet. (Recall that patience has a "pri 460 work on the Internet; that's okay, I config 461 freedom for this subnet). 462 463 So patience (necessarily; I don't have anot 464 provider) has an IP address on a different 465 insight, but needs to use freedom as an Int 466 DOS networking programs, including LANMAN, 467 schemes that rely completely on the netmask 468 determine how to route packets. This means 469 insight, patience WILL send through its def 470 the fact that both freedom and insight (cou 471 could understand a direct transmission. 472 473 I compensate by giving freedom an extra IP 474 that is on my private subnet, the same subn 475 then define gatekeeper to be the default ga 476 477 To configure freedom (in addition to the co 478 479 ifconfig arc0e gatekeeper 480 route add gatekeeper arc0e 481 route add patience arc0e 482 483 This way, freedom will send all packets for 484 giving its IP address as gatekeeper (on the 485 talks to insight or the Internet, it will u 486 address. 487 488 You will notice that we haven't configured 489 This would work, but is not really necessar 490 assign insight another special IP number fr 491 both insight and patience are using freedom 492 two can already talk to each other. 493 494 It's quite fortunate that I set things up l 495 cough) because it's really handy when I boo 496 runs the Novell ODI protocol stack, which o 497 In this mode it would be impossible for ins 498 with patience, since the Novell stack is in 499 Ethernet-Encap. Without changing any setti 500 simply set freedom as the default gateway f 501 remember) and all the forwarding happens "a 502 hosts that would normally not be able to co 503 504 For those who like diagrams, I have created 505 same physical ARCnet wire. You can picture 506 507 508 [RFC1201 NETWORK] 509 (registered Internet subnet) ( 510 511 (IP Masquerade) 512 /---------------\ * 513 | | * 514 | +-Freedom-*-Gatekeep 515 | | | * 516 \-------+-------/ | * 517 | | 518 Insight | 519 (Internet) 520 521 522 523 It works: what now? 524 ------------------- 525 526 Send mail describing your setup, preferably in 527 version, ARCnet card model, CPU type, number o 528 list of software in use to me at the following 529 530 apenwarr@worldvisions.ca 531 532 I do send (sometimes automated) replies to all 533 can be weird (and also usually gets forwarded 534 way to me), so if you don't get a reply within 535 resend. 536 537 538 It doesn't work: what now? 539 -------------------------- 540 541 Do the same as above, but also include the out 542 commands, as well as any pertinent log entries 543 with "arcnet:" and has shown up since the last 544 545 If you want to try fixing it yourself (I stron 546 about the problem first, since it might alread 547 want to try some of the debug levels available 548 D_DURING or more, it would be a REALLY good id 549 first! D_DURING displays 4-5 lines for each p 550 D_RX, and D_SKB actually DISPLAY each packet a 551 which is obviously quite big. 552 553 Starting with v2.40 ALPHA, the autoprobe routi 554 significantly. In particular, they won't tell 555 found unless you turn on the D_INIT_REASONS de 556 557 Once the driver is running, you can run the ar 558 from me or in the full ARCnet package, if you 559 contents of the arcnet buffers at any time. T 560 this, you should grab the pertinent RFCs. (som 561 arcnet.c). arcdump assumes your card is at 0x 562 script. 563 564 Buffers 0 and 1 are used for receiving, and Bu 565 Ping-pong buffers are implemented both ways. 566 567 If your debug level includes D_DURING and you 568 the buffers are cleared to a constant value of 569 reset (which should only happen when you do an 570 decides that the driver is broken). During a 571 buffer will be cleared to 0x42 as well. This 572 out which bytes are being used by a packet. 573 574 You can change the debug level without recompi 575 576 ifconfig arc0 down metric 1xxx 577 /etc/rc.d/rc.inet1 578 579 where "xxx" is the debug level you want. For 580 you at debug level 15. Debug level 7 is curre 581 582 Note that the debug level is (starting with v1 583 combination of different debug flags; so debug 584 D_NORMAL+D_EXTRA+D_INIT. To include D_DURING, 585 resulting in debug level 23. 586 587 If you don't understand that, you probably don 588 E-mail me about your problem. 589 590 591 I want to send money: what now? 592 ------------------------------- 593 594 Go take a nap or something. You'll feel bette
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.