Contents of /alx-src/trunk/kernel26-alx/linux/Documentation/DocBook/sis900.tmpl
Parent Directory | Revision Log
Revision 628 -
(show annotations)
(download)
Wed Mar 4 10:48:58 2009 UTC (15 years, 2 months ago) by niro
File size: 12541 byte(s)
Wed Mar 4 10:48:58 2009 UTC (15 years, 2 months ago) by niro
File size: 12541 byte(s)
import linux sources based on 2.6.12-alx-r9: -using linux-2.6.12.6 -using 2.6.12-ck6 patch set -using fbsplash-0.9.2-r3 -using vesafb-tng-0.9-rc7 -using squashfs-2.2 -added cddvd-cmdfilter-drop.patch as ck dropped it -added via-epia-dri (cle266) patch -added zd1211-svn-32 wlan driver (http://zd1211.ath.cx/download/) -added debian patches to zd1211 for wep256 etc
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> |