diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /Documentation/DocBook/sis900.tmpl |
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'Documentation/DocBook/sis900.tmpl')
-rw-r--r-- | Documentation/DocBook/sis900.tmpl | 585 |
1 files changed, 585 insertions, 0 deletions
diff --git a/Documentation/DocBook/sis900.tmpl b/Documentation/DocBook/sis900.tmpl new file mode 100644 index 000000000000..6c2cbac93c3f --- /dev/null +++ b/Documentation/DocBook/sis900.tmpl | |||
@@ -0,0 +1,585 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" | ||
3 | "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []> | ||
4 | |||
5 | <book id="SiS900Guide"> | ||
6 | |||
7 | <bookinfo> | ||
8 | |||
9 | <title>SiS 900/7016 Fast Ethernet Device Driver</title> | ||
10 | |||
11 | <authorgroup> | ||
12 | <author> | ||
13 | <firstname>Ollie</firstname> | ||
14 | <surname>Lho</surname> | ||
15 | </author> | ||
16 | |||
17 | <author> | ||
18 | <firstname>Lei Chun</firstname> | ||
19 | <surname>Chang</surname> | ||
20 | </author> | ||
21 | </authorgroup> | ||
22 | |||
23 | <edition>Document Revision: 0.3 for SiS900 driver v1.06 & v1.07</edition> | ||
24 | <pubdate>November 16, 2000</pubdate> | ||
25 | |||
26 | <copyright> | ||
27 | <year>1999</year> | ||
28 | <holder>Silicon Integrated System Corp.</holder> | ||
29 | </copyright> | ||
30 | |||
31 | <legalnotice> | ||
32 | <para> | ||
33 | This program is free software; you can redistribute it and/or modify | ||
34 | it under the terms of the GNU General Public License as published by | ||
35 | the Free Software Foundation; either version 2 of the License, or | ||
36 | (at your option) any later version. | ||
37 | </para> | ||
38 | |||
39 | <para> | ||
40 | This program is distributed in the hope that it will be useful, | ||
41 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
42 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
43 | GNU General Public License for more details. | ||
44 | </para> | ||
45 | |||
46 | <para> | ||
47 | You should have received a copy of the GNU General Public License | ||
48 | along with this program; if not, write to the Free Software | ||
49 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
50 | </para> | ||
51 | </legalnotice> | ||
52 | |||
53 | <abstract> | ||
54 | <para> | ||
55 | This document gives some information on installation and usage of SiS 900/7016 | ||
56 | device driver under Linux. | ||
57 | </para> | ||
58 | </abstract> | ||
59 | |||
60 | </bookinfo> | ||
61 | |||
62 | <toc></toc> | ||
63 | |||
64 | <chapter id="intro"> | ||
65 | <title>Introduction</title> | ||
66 | |||
67 | <para> | ||
68 | This document describes the revision 1.06 and 1.07 of SiS 900/7016 Fast Ethernet | ||
69 | device driver under Linux. The driver is developed by Silicon Integrated | ||
70 | System Corp. and distributed freely under the GNU General Public License (GPL). | ||
71 | The driver can be compiled as a loadable module and used under Linux kernel | ||
72 | version 2.2.x. (rev. 1.06) | ||
73 | With minimal changes, the driver can also be used under 2.3.x and 2.4.x kernel | ||
74 | (rev. 1.07), please see | ||
75 | <xref linkend="install"/>. If you are intended to | ||
76 | use the driver for earlier kernels, you are on your own. | ||
77 | </para> | ||
78 | |||
79 | <para> | ||
80 | The driver is tested with usual TCP/IP applications including | ||
81 | FTP, Telnet, Netscape etc. and is used constantly by the developers. | ||
82 | </para> | ||
83 | |||
84 | <para> | ||
85 | Please send all comments/fixes/questions to | ||
86 | <ulink url="mailto:lcchang@sis.com.tw">Lei-Chun Chang</ulink>. | ||
87 | </para> | ||
88 | </chapter> | ||
89 | |||
90 | <chapter id="changes"> | ||
91 | <title>Changes</title> | ||
92 | |||
93 | <para> | ||
94 | Changes made in Revision 1.07 | ||
95 | |||
96 | <orderedlist> | ||
97 | <listitem> | ||
98 | <para> | ||
99 | Separation of sis900.c and sis900.h in order to move most | ||
100 | constant definition to sis900.h (many of those constants were | ||
101 | corrected) | ||
102 | </para> | ||
103 | </listitem> | ||
104 | |||
105 | <listitem> | ||
106 | <para> | ||
107 | Clean up PCI detection, the pci-scan from Donald Becker were not used, | ||
108 | just simple pci_find_*. | ||
109 | </para> | ||
110 | </listitem> | ||
111 | |||
112 | <listitem> | ||
113 | <para> | ||
114 | MII detection is modified to support multiple mii transceiver. | ||
115 | </para> | ||
116 | </listitem> | ||
117 | |||
118 | <listitem> | ||
119 | <para> | ||
120 | Bugs in read_eeprom, mdio_* were removed. | ||
121 | </para> | ||
122 | </listitem> | ||
123 | |||
124 | <listitem> | ||
125 | <para> | ||
126 | Lot of sis900 irrelevant comments were removed/changed and | ||
127 | more comments were added to reflect the real situation. | ||
128 | </para> | ||
129 | </listitem> | ||
130 | |||
131 | <listitem> | ||
132 | <para> | ||
133 | Clean up of physical/virtual address space mess in buffer | ||
134 | descriptors. | ||
135 | </para> | ||
136 | </listitem> | ||
137 | |||
138 | <listitem> | ||
139 | <para> | ||
140 | Better transmit/receive error handling. | ||
141 | </para> | ||
142 | </listitem> | ||
143 | |||
144 | <listitem> | ||
145 | <para> | ||
146 | The driver now uses zero-copy single buffer management | ||
147 | scheme to improve performance. | ||
148 | </para> | ||
149 | </listitem> | ||
150 | |||
151 | <listitem> | ||
152 | <para> | ||
153 | Names of variables were changed to be more consistent. | ||
154 | </para> | ||
155 | </listitem> | ||
156 | |||
157 | <listitem> | ||
158 | <para> | ||
159 | Clean up of auo-negotiation and timer code. | ||
160 | </para> | ||
161 | </listitem> | ||
162 | |||
163 | <listitem> | ||
164 | <para> | ||
165 | Automatic detection and change of PHY on the fly. | ||
166 | </para> | ||
167 | </listitem> | ||
168 | |||
169 | <listitem> | ||
170 | <para> | ||
171 | Bug in mac probing fixed. | ||
172 | </para> | ||
173 | </listitem> | ||
174 | |||
175 | <listitem> | ||
176 | <para> | ||
177 | Fix 630E equalier problem by modifying the equalizer workaround rule. | ||
178 | </para> | ||
179 | </listitem> | ||
180 | |||
181 | <listitem> | ||
182 | <para> | ||
183 | Support for ICS1893 10/100 Interated PHYceiver. | ||
184 | </para> | ||
185 | </listitem> | ||
186 | |||
187 | <listitem> | ||
188 | <para> | ||
189 | Support for media select by ifconfig. | ||
190 | </para> | ||
191 | </listitem> | ||
192 | |||
193 | <listitem> | ||
194 | <para> | ||
195 | Added kernel-doc extratable documentation. | ||
196 | </para> | ||
197 | </listitem> | ||
198 | |||
199 | </orderedlist> | ||
200 | </para> | ||
201 | </chapter> | ||
202 | |||
203 | <chapter id="tested"> | ||
204 | <title>Tested Environment</title> | ||
205 | |||
206 | <para> | ||
207 | This driver is developed on the following hardware | ||
208 | |||
209 | <itemizedlist> | ||
210 | <listitem> | ||
211 | |||
212 | <para> | ||
213 | Intel Celeron 500 with SiS 630 (rev 02) chipset | ||
214 | </para> | ||
215 | </listitem> | ||
216 | <listitem> | ||
217 | |||
218 | <para> | ||
219 | SiS 900 (rev 01) and SiS 7016/7014 Fast Ethernet Card | ||
220 | </para> | ||
221 | </listitem> | ||
222 | |||
223 | </itemizedlist> | ||
224 | |||
225 | and tested with these software environments | ||
226 | |||
227 | <itemizedlist> | ||
228 | <listitem> | ||
229 | |||
230 | <para> | ||
231 | Red Hat Linux version 6.2 | ||
232 | </para> | ||
233 | </listitem> | ||
234 | <listitem> | ||
235 | |||
236 | <para> | ||
237 | Linux kernel version 2.4.0 | ||
238 | </para> | ||
239 | </listitem> | ||
240 | <listitem> | ||
241 | |||
242 | <para> | ||
243 | Netscape version 4.6 | ||
244 | </para> | ||
245 | </listitem> | ||
246 | <listitem> | ||
247 | |||
248 | <para> | ||
249 | NcFTP 3.0.0 beta 18 | ||
250 | </para> | ||
251 | </listitem> | ||
252 | <listitem> | ||
253 | |||
254 | <para> | ||
255 | Samba version 2.0.3 | ||
256 | </para> | ||
257 | </listitem> | ||
258 | |||
259 | </itemizedlist> | ||
260 | |||
261 | </para> | ||
262 | |||
263 | </chapter> | ||
264 | |||
265 | <chapter id="files"> | ||
266 | <title>Files in This Package</title> | ||
267 | |||
268 | <para> | ||
269 | In the package you can find these files: | ||
270 | </para> | ||
271 | |||
272 | <para> | ||
273 | <variablelist> | ||
274 | |||
275 | <varlistentry> | ||
276 | <term>sis900.c</term> | ||
277 | <listitem> | ||
278 | <para> | ||
279 | Driver source file in C | ||
280 | </para> | ||
281 | </listitem> | ||
282 | </varlistentry> | ||
283 | |||
284 | <varlistentry> | ||
285 | <term>sis900.h</term> | ||
286 | <listitem> | ||
287 | <para> | ||
288 | Header file for sis900.c | ||
289 | </para> | ||
290 | </listitem> | ||
291 | </varlistentry> | ||
292 | |||
293 | <varlistentry> | ||
294 | <term>sis900.sgml</term> | ||
295 | <listitem> | ||
296 | <para> | ||
297 | DocBook SGML source of the document | ||
298 | </para> | ||
299 | </listitem> | ||
300 | </varlistentry> | ||
301 | |||
302 | <varlistentry> | ||
303 | <term>sis900.txt</term> | ||
304 | <listitem> | ||
305 | <para> | ||
306 | Driver document in plain text | ||
307 | </para> | ||
308 | </listitem> | ||
309 | </varlistentry> | ||
310 | |||
311 | </variablelist> | ||
312 | </para> | ||
313 | </chapter> | ||
314 | |||
315 | <chapter id="install"> | ||
316 | <title>Installation</title> | ||
317 | |||
318 | <para> | ||
319 | Silicon Integrated System Corp. is cooperating closely with core Linux Kernel | ||
320 | developers. The revisions of SiS 900 driver are distributed by the usuall channels | ||
321 | for kernel tar files and patches. Those kernel tar files for official kernel and | ||
322 | patches for kernel pre-release can be download at | ||
323 | <ulink url="http://ftp.kernel.org/pub/linux/kernel/">official kernel ftp site</ulink> | ||
324 | and its mirrors. | ||
325 | The 1.06 revision can be found in kernel version later than 2.3.15 and pre-2.2.14, | ||
326 | and 1.07 revision can be found in kernel version 2.4.0. | ||
327 | If you have no prior experience in networking under Linux, please read | ||
328 | <ulink url="http://www.tldp.org/">Ethernet HOWTO</ulink> and | ||
329 | <ulink url="http://www.tldp.org/">Networking HOWTO</ulink> available from | ||
330 | Linux Documentation Project (LDP). | ||
331 | </para> | ||
332 | |||
333 | <para> | ||
334 | The driver is bundled in release later than 2.2.11 and 2.3.15 so this | ||
335 | is the most easy case. | ||
336 | Be sure you have the appropriate packages for compiling kernel source. | ||
337 | Those packages are listed in Document/Changes in kernel source | ||
338 | distribution. If you have to install the driver other than those bundled | ||
339 | in kernel release, you should have your driver file | ||
340 | <filename>sis900.c</filename> and <filename>sis900.h</filename> | ||
341 | copied into <filename class="directory">/usr/src/linux/drivers/net/</filename> first. | ||
342 | There are two alternative ways to install the driver | ||
343 | </para> | ||
344 | |||
345 | <sect1> | ||
346 | <title>Building the driver as loadable module</title> | ||
347 | |||
348 | <para> | ||
349 | To build the driver as a loadable kernel module you have to reconfigure | ||
350 | the kernel to activate network support by | ||
351 | </para> | ||
352 | |||
353 | <para><screen> | ||
354 | make menuconfig | ||
355 | </screen></para> | ||
356 | |||
357 | <para> | ||
358 | Choose <quote>Loadable module support ---></quote>, | ||
359 | then select <quote>Enable loadable module support</quote>. | ||
360 | </para> | ||
361 | |||
362 | <para> | ||
363 | Choose <quote>Network Device Support ---></quote>, select | ||
364 | <quote>Ethernet (10 or 100Mbit)</quote>. | ||
365 | Then select <quote>EISA, VLB, PCI and on board controllers</quote>, | ||
366 | and choose <quote>SiS 900/7016 PCI Fast Ethernet Adapter support</quote> | ||
367 | to <quote>M</quote>. | ||
368 | </para> | ||
369 | |||
370 | <para> | ||
371 | After reconfiguring the kernel, you can make the driver module by | ||
372 | </para> | ||
373 | |||
374 | <para><screen> | ||
375 | make modules | ||
376 | </screen></para> | ||
377 | |||
378 | <para> | ||
379 | The driver should be compiled with no errors. After compiling the driver, | ||
380 | the driver can be installed to proper place by | ||
381 | </para> | ||
382 | |||
383 | <para><screen> | ||
384 | make modules_install | ||
385 | </screen></para> | ||
386 | |||
387 | <para> | ||
388 | Load the driver into kernel by | ||
389 | </para> | ||
390 | |||
391 | <para><screen> | ||
392 | insmod sis900 | ||
393 | </screen></para> | ||
394 | |||
395 | <para> | ||
396 | When loading the driver into memory, some information message can be view by | ||
397 | </para> | ||
398 | |||
399 | <para> | ||
400 | <screen> | ||
401 | dmesg | ||
402 | </screen> | ||
403 | |||
404 | or | ||
405 | |||
406 | <screen> | ||
407 | cat /var/log/message | ||
408 | </screen> | ||
409 | </para> | ||
410 | |||
411 | <para> | ||
412 | If the driver is loaded properly you will have messages similar to this: | ||
413 | </para> | ||
414 | |||
415 | <para><screen> | ||
416 | sis900.c: v1.07.06 11/07/2000 | ||
417 | eth0: SiS 900 PCI Fast Ethernet at 0xd000, IRQ 10, 00:00:e8:83:7f:a4. | ||
418 | eth0: SiS 900 Internal MII PHY transceiver found at address 1. | ||
419 | eth0: Using SiS 900 Internal MII PHY as default | ||
420 | </screen></para> | ||
421 | |||
422 | <para> | ||
423 | showing the version of the driver and the results of probing routine. | ||
424 | </para> | ||
425 | |||
426 | <para> | ||
427 | Once the driver is loaded, network can be brought up by | ||
428 | </para> | ||
429 | |||
430 | <para><screen> | ||
431 | /sbin/ifconfig eth0 IPADDR broadcast BROADCAST netmask NETMASK media TYPE | ||
432 | </screen></para> | ||
433 | |||
434 | <para> | ||
435 | where IPADDR, BROADCAST, NETMASK are your IP address, broadcast address and | ||
436 | netmask respectively. TYPE is used to set medium type used by the device. | ||
437 | Typical values are "10baseT"(twisted-pair 10Mbps Ethernet) or "100baseT" | ||
438 | (twisted-pair 100Mbps Ethernet). For more information on how to configure | ||
439 | network interface, please refer to | ||
440 | <ulink url="http://www.tldp.org/">Networking HOWTO</ulink>. | ||
441 | </para> | ||
442 | |||
443 | <para> | ||
444 | The link status is also shown by kernel messages. For example, after the | ||
445 | network interface is activated, you may have the message: | ||
446 | </para> | ||
447 | |||
448 | <para><screen> | ||
449 | eth0: Media Link On 100mbps full-duplex | ||
450 | </screen></para> | ||
451 | |||
452 | <para> | ||
453 | If you try to unplug the twist pair (TP) cable you will get | ||
454 | </para> | ||
455 | |||
456 | <para><screen> | ||
457 | eth0: Media Link Off | ||
458 | </screen></para> | ||
459 | |||
460 | <para> | ||
461 | indicating that the link is failed. | ||
462 | </para> | ||
463 | </sect1> | ||
464 | |||
465 | <sect1> | ||
466 | <title>Building the driver into kernel</title> | ||
467 | |||
468 | <para> | ||
469 | If you want to make the driver into kernel, choose <quote>Y</quote> | ||
470 | rather than <quote>M</quote> on | ||
471 | <quote>SiS 900/7016 PCI Fast Ethernet Adapter support</quote> | ||
472 | when configuring the kernel. Build the kernel image in the usual way | ||
473 | </para> | ||
474 | |||
475 | <para><screen> | ||
476 | make clean | ||
477 | |||
478 | make bzlilo | ||
479 | </screen></para> | ||
480 | |||
481 | <para> | ||
482 | Next time the system reboot, you have the driver in memory. | ||
483 | </para> | ||
484 | |||
485 | </sect1> | ||
486 | </chapter> | ||
487 | |||
488 | <chapter id="problems"> | ||
489 | <title>Known Problems and Bugs</title> | ||
490 | |||
491 | <para> | ||
492 | There are some known problems and bugs. If you find any other bugs please | ||
493 | mail to <ulink url="mailto:lcchang@sis.com.tw">lcchang@sis.com.tw</ulink> | ||
494 | |||
495 | <orderedlist> | ||
496 | |||
497 | <listitem> | ||
498 | <para> | ||
499 | AM79C901 HomePNA PHY is not thoroughly tested, there may be some | ||
500 | bugs in the <quote>on the fly</quote> change of transceiver. | ||
501 | </para> | ||
502 | </listitem> | ||
503 | |||
504 | <listitem> | ||
505 | <para> | ||
506 | A bug is hidden somewhere in the receive buffer management code, | ||
507 | the bug causes NULL pointer reference in the kernel. This fault is | ||
508 | caught before bad things happen and reported with the message: | ||
509 | |||
510 | <computeroutput> | ||
511 | eth0: NULL pointer encountered in Rx ring, skipping | ||
512 | </computeroutput> | ||
513 | |||
514 | which can be viewed with <literal remap="tt">dmesg</literal> or | ||
515 | <literal remap="tt">cat /var/log/message</literal>. | ||
516 | </para> | ||
517 | </listitem> | ||
518 | |||
519 | <listitem> | ||
520 | <para> | ||
521 | The media type change from 10Mbps to 100Mbps twisted-pair ethernet | ||
522 | by ifconfig causes the media link down. | ||
523 | </para> | ||
524 | </listitem> | ||
525 | |||
526 | </orderedlist> | ||
527 | </para> | ||
528 | </chapter> | ||
529 | |||
530 | <chapter id="RHistory"> | ||
531 | <title>Revision History</title> | ||
532 | |||
533 | <para> | ||
534 | <itemizedlist> | ||
535 | |||
536 | <listitem> | ||
537 | <para> | ||
538 | November 13, 2000, Revision 1.07, seventh release, 630E problem fixed | ||
539 | and further clean up. | ||
540 | </para> | ||
541 | </listitem> | ||
542 | |||
543 | <listitem> | ||
544 | <para> | ||
545 | November 4, 1999, Revision 1.06, Second release, lots of clean up | ||
546 | and optimization. | ||
547 | </para> | ||
548 | </listitem> | ||
549 | |||
550 | <listitem> | ||
551 | <para> | ||
552 | August 8, 1999, Revision 1.05, Initial Public Release | ||
553 | </para> | ||
554 | </listitem> | ||
555 | |||
556 | </itemizedlist> | ||
557 | </para> | ||
558 | </chapter> | ||
559 | |||
560 | <chapter id="acknowledgements"> | ||
561 | <title>Acknowledgements</title> | ||
562 | |||
563 | <para> | ||
564 | This driver was originally derived form | ||
565 | <ulink url="mailto:becker@cesdis1.gsfc.nasa.gov">Donald Becker</ulink>'s | ||
566 | <ulink url="ftp://cesdis.gsfc.nasa.gov/pub/linux/drivers/kern-2.3/pci-skeleton.c" | ||
567 | >pci-skeleton</ulink> and | ||
568 | <ulink url="ftp://cesdis.gsfc.nasa.gov/pub/linux/drivers/kern-2.3/rtl8139.c" | ||
569 | >rtl8139</ulink> drivers. Donald also provided various suggestion | ||
570 | regarded with improvements made in revision 1.06. | ||
571 | </para> | ||
572 | |||
573 | <para> | ||
574 | The 1.05 revision was created by | ||
575 | <ulink url="mailto:cmhuang@sis.com.tw">Jim Huang</ulink>, AMD 79c901 | ||
576 | support was added by <ulink url="mailto:lcs@sis.com.tw">Chin-Shan Li</ulink>. | ||
577 | </para> | ||
578 | </chapter> | ||
579 | |||
580 | <chapter id="functions"> | ||
581 | <title>List of Functions</title> | ||
582 | !Idrivers/net/sis900.c | ||
583 | </chapter> | ||
584 | |||
585 | </book> | ||