彻底解决8139网卡安装完驱动后不认的问题。

发表于:2007-06-09来源:作者:点击数: 标签:
首先要用jsn老兄的方法把你的/etc/hostname.rtls0以及hosts、/etc/netmasks、/etc/netmasks、/etc/nsswitch.conf设置好。 然后注意看8139驱动的说明 Installmethod a.Power-offyourPCandinsertyourRTL8139adapter. b.Boot-upyouSolaris/x86andloginasroot. c

首先要用jsn老兄的方法把你的/etc/hostname.rtls0 以及hosts、/etc/netmasks、/etc/netmasks、/etc/nsswitch.conf设置好。

然后注意看8139驱动的说明

Install method 
a. Power-off your PC and insert your RTL8139 adapter.
b. Boot-up you Solaris/x86 and login as "root".
c. Copy the "rtls099.zip" into the temporary location in your hard-driver.
d. UNZIP the "rtls099.zip" and you will get 2 files, "rtls" and "Install".
e. If the PCI ID for your RTL8139 adapter is not VID_10EC_DID_8139 or VID_1113_DID_1211 or VID_1186_DID_1301, you can modify the "Install" file to match your PCI ID, VID_ABCD_DID_WXYZ for example, modify the "pci1186,1301" to "pciABCD,WXYZ".
f. Run the "Install" from File Manager to install the driver, and 
it will modify 2 files, "/etc/name_to_major" and "/etc/driver_aliases"
g. You need to create the "/etc/hostname.rtls0" file and modify some
other related files to make your networking environments working well.
h. You can execute "touch /reconfigure" then "shutdown -i5 -g0", so that
Solaris will reboot and scan changed
hardware environment.
i. You can execute "ifconfig -a" to make sure the RTL8139 driver is up.

其实这句英文我只有
e. If the PCI ID for your RTL8139 adapter is not VID_10EC_DID_8139 or VID_1113_DID_1211 or VID_1186_DID_1301, you can modify the "Install" file to match your PCI ID, VID_ABCD_DID_WXYZ for example, modify the "pci1186,1301" to "pciABCD,WXYZ".
f. Run the "Install" from File Manager to install the driver, and 
it will modify 2 files, "/etc/name_to_major" and "/etc/driver_aliases"
这里一开始没看明白我以为没什么用处。但是我大错特错了;(因为这里太重要了。
从F.可以知道,安装这个驱动他们会设置/etc/name_to_major和/etc/driver_aliases两个文件。当我们安装完后,需要把/etc/driver_aliases里的
rtls "pci1186,1301"
rtls "pci10ec,8139"
rtls "pci1113,1211"

设置为
#rtls "pci1186,1301"
rtls "pci10ec,8139"
#rtls "pci1113,1211"
然后重起
如果还不好使还有Install里的


# update
#   /etc/driver_aliases
#    /etc/name_to_major

这个#去掉。肯定能好使:)

good luck!
 :emn60: 

 baiming 回复于:2002-12-17 14:54:25
up


 baiming 回复于:2002-12-17 14:55:32
如果大家还不明白,请留言。

 zzsir 回复于:2002-12-18 22:49:55
我用的最省事的办法:
运行install, 再运行sys-unconfig 百试百灵。

 windowsnt 回复于:2002-12-19 00:54:45
这种方法不利于你的成长,口黑口黑

 78020281 回复于:2002-12-19 08:33:24
[quote][b]下面引用由[u]zzsir[/u]在 [i]2002/12/18 10:49pm[/i] 发表的内容:[/b]
我用的最省事的办法:
运行install, 再运行sys-unconfig 百试百灵。
[/quote]
嘿嘿,兄弟跟我一样懒。

 baiming 回复于:2002-12-19 08:36:36
ft
为什么没人早跟我说这个方法阿??

嘿:(害得我半个月都没用solaris,等我忘记得差不多了,回来一搞呵呵,就好使了

 Fun-FreeBSD 回复于:2002-12-19 08:39:11
不错,可惜我没机器装

 南非蜘蛛 回复于:2002-12-19 10:36:20
好样的,感谢baiming的研究精神,我已经同步了我主页的所有8139的文档,呵呵

 liuhust 回复于:2002-12-19 11:01:09
感谢楼上的研究精神

 streamflow 回复于:2002-12-19 11:28:03
顺便问一下,这个rtls099.zip哪里有啊?

 amiao 回复于:2002-12-19 12:50:51
www.realtek.com

 baiming 回复于:2002-12-19 14:06:49
HOHO
说得我脸都红了~~

其实这也得多谢谢我的gf!!是她给我的灵感!!

呵呵,还有南非老大那句话,忘掉所有的东西你就能成为高手了!!
哈哈

 yxb 回复于:2002-12-20 09:44:33
把/etc/driver_aliases里的
rtls "pci1186,1301"
rtls "pci10ec,8139"
rtls "pci1113,1211"

设置为
#rtls "pci1186,1301"
rtls "pci10ec,8139"
#rtls "pci1113,1211"
然后重起
如果还不好使还有Install里的


# update
#   /etc/driver_aliases
#    /etc/name_to_major

这个#去掉。肯定能好使:)

对于这点我做了之后发现:不用将rtls "pci1186,1301"和rtls "pci1113,1211"
加上#号,加了之后网卡就不能驱动!

 baiming 回复于:2002-12-20 09:57:00
我是驱动完后加的#,然后重起了就认了

不然原先老报bad file number

 nok 回复于:2003-01-10 01:45:45
[这个贴子最后由nok在 2003/01/10 01:47am 编辑]

[quote][b]下面引用发表的内容:[/b]
把/etc/driver_aliases里的
rtls "pci1186,1301"
rtls "pci10ec,8139"
rtls "pci1113,1211"

设置为
#rtls "pci1186,1301"
rtls "pci10ec,8139"
#rtls "pci1113,1211"

[/quote]
这不是没有改吗?这一段是一样的


 nok 回复于:2003-01-10 01:49:14
也许是累了
没有看清楚#,不好意思

 nok 回复于:2003-01-10 20:21:05
把/etc/driver_aliases里的
rtls "pci1186,1301"
rtls "pci10ec,8139"
rtls "pci1113,1211"

设置为
#rtls "pci1186,1301"
rtls "pci10ec,8139"
#rtls "pci1113,1211"
然后重起
如果还不好使还有Install里的


# update
#   /etc/driver_aliases
#    /etc/name_to_major

好象没有找到
# update
#   /etc/driver_aliases
#    /etc/name_to_major


这些东西

 phoenixli 回复于:2003-01-10 21:55:01
8139是什么东东到底?偶怎么没有听说过?~~

 chenjn 回复于:2003-01-10 22:00:51
你的版本怎么那么老呀,现在都是1.05的了
ftp://152.104.225.43/cn/nic/rtl8139abcd8130810xseries/solaris-8139(105).zip

 phoenixli 回复于:2003-01-10 22:06:21
8139 is what?

 race 回复于:2003-01-10 22:09:29
是PC网卡

 phoenixli 回复于:2003-01-10 22:10:38
PC网卡还是PCI的网卡?大大D不同咯~~

 race 回复于:2003-01-10 22:12:46
微机用的PCI网卡

 phoenixli 回复于:2003-01-10 22:13:04
是PC的网卡还是PCI的网卡啊?为什么叫8139?不叫8149?是什么牌子D啊?

 phoenixli 回复于:2003-01-10 22:17:59
一个杂牌子的微机网卡,用的人很多,SUN的驱动特别难装,好多人在论坛问这个网卡怎么装,还有一个就是DLINK的530网卡,也不好安装驱动。我没用过X86,也是看见别人问的。

RACE老大,是不是啊?

 phoenixli 回复于:2003-01-10 22:20:18
PC咯~~偶不懂.
 :emn52: 

 race 回复于:2003-01-10 22:22:07
你不挺明白的嘛。

 phoenixli 回复于:2003-01-10 22:23:29
嘻嘻,有高人告诉偶D~~

 nok 回复于:2003-01-10 22:36:39
[quote][b]下面引用由[u]chenjn[/u]在 [i]2003/01/10 10:00pm[/i] 发表的内容:[/b]
你的版本怎么那么老呀,现在都是1.05的了
ftp://152.104.225.43/cn/nic/rtl8139abcd8130810xseries/solaris-8139(105).zip
[/quote]
我下载的就是这一个
不知道在哪儿设置网关了

 phoenixli 回复于:2003-01-10 22:41:25
[这个贴子最后由phoenixli在 2003/01/10 10:51pm 编辑]

PC的东东,有什么好讨论D?装个1033不就什么都认了,嘻嘻~~8用,SUN所有的主机都带网口,8要再加了,嘻嘻~~

 nok 回复于:2003-01-10 23:04:08
不是想省点钱嘛,嘿嘿

 cchmail 回复于:2003-04-05 22:22:25
请问谁有8139的驱动

 胶皮糖 回复于:2003-05-05 01:54:18
[quote:0051ccec47="cchmail"]请问谁有8139的驱动[/quote:0051ccec47]

到这里去DOWN http://www.realtek.com.tw

 laosechong 回复于:2003-05-07 12:24:41
直接Install ,然后建立 /etc/hostname.rtls0 就可以了。

 hotrain 回复于:2003-05-09 10:45:26
不知道为什么解决的,我按上面各位的方法做了后没解决,后来把hostname改成小于五位的,就好了,能告诉我为什么吗?

 B2Sun 回复于:2003-09-07 20:38:17
Linux and the RealTek RTL8129/8139 Chips
Index
Products Supported 
Installation Instructions 
Run-time Configuration 
Support and Mailing lists 
Diagnostic program 
How this driver differs from the 2.4 "8139too.c" 
RTL8129/RTL8139 Multicast Support 
Products Supported
This page contains information on using Linux with the Realtek RTL8129 and RTL8139 Fast Ethernet Controllers for PCI. 

The master copy of this page resides on the Scyld web server. 

The Linux driver for the RealTek RTL8129/8139 is available from ftp://ftp.scyld.com/pub/network/rtl8139.c. 

This driver was written to support the Scyld Beowulf cluster distribution. For Beowulf-specific information, read the Beowulf project web page. For commercial Beowulf support, contact SCYLD directly. 

This driver is for the RealTek 8129 and 8139 chips only. The 8019 and 8029 chips are unrelated designs. They are PCI NE2000 clones, and are supported by updates to the NE2000 driver available from the Linux PCI NE2000 Driver page. 

Usage instructions
Installation
The driver installation directions are on the Driver Updates page. You may install just one driver (see below), or install all updated drivers using either the netdriver.tgz file or the SRPM. 

To install a single updated driver read the Network Drivers as Modules page for instructions. You should, of course, substitute the proper driver file name. 

When updating a single driver you will need to build pci-scan.o along with the specific driver.o file. This means that in addition to the driver.c file, you must download pci-scan.c, pci-scan.h, and kern_compat.h. 

Run-time Configuration 
This driver provide a interface to the Media Independent Interface, "MII" transceiver configuration and diagnostic settings. This interface allows the media type (i.e. 10Mbps or 100Mbps, half or full duplex) to be configured. The settings are usually configured by the (slightly misnamed) mii-diag program. The details of this program may found on the diagnostic home page. 

Support
Mailing lists 
Mailing List archive 
Mailing lists
Support for the RTL8139 driver is handled through the following mailing lists: 

realtek-announce 
Annoucements of new drivers and features. 
realtek 
General driver discussions, including bug fixes. 
realtek-bug 
Reporting driver bugs. 
See http://www.scyld.com/mailman/listinfo for information on subscribing to these lists. 
Using the above lists for unrelated advertisements is subject to a charge of /home/httpd/html-scyld/network.34 per destination address, payable in advance. 

Driver Updates
The most recent testing version may be available from ftp://www.scyld.com/pub/network/test/rtl8139.c. If this link is invalid, the released version is the most recent publicly available driver. 

Diagnostic Program
All fully supported chips have a specific diagnostic program. These programs examine the device registers, EEPROM values, and MII transceiver management registers - external connections that are likely to fail or be misconfigured. A few run tests of internal functionality, but on-chip subsystems rarely fail. 

The RTL8139-specific diagnostic program is used to examine the device registers, EEPROM values, and MII transceiver management registers. The command for compiling this program is at the bottom of the source file. This program may optionally be compiled with an additional MII register diagnostic library by using the following compile command: 

  cc -o rtl8139-diag -O -DLIBMII rtl8139-diag.c libmii.c

The diagnostic programs are father described at http://www.scyld.com/diag/index.html and source and binary packages are available from ftp://ftp.scyld.com/pub/diag/* 

How this driver differs from the 2.4 "8139too.c"
The 8139too driver is based almost entirely on the on the 8139 driver written by Donald Becker. It has a few operational changes, most of which are flawed or pointless. 

MMIO vs. PIO operation
The 8139 is mapped to both PCI I/O and memory space. Using I/O space is traditional on x86 architectures, and most drivers are written to use this mode. However, using the memory space mapping (MMIO) is more efficient for isolated writes since these are stored in a write buffer and the processor can continue execution without waiting for the PCI operation to complete. An added advantage is the processors without native I/O operations avoid extra address space calculations. 

A problem with using this MMIO mode is that the 8139 has different access alignment restrictions with memory space, and the write buffer potentially changes the ordering of command writes and subsequent memory reads. 

The 8139too driver attempts to work around the latter problem by doing a read immediately following a register write. Not only does this completely eliminate the advantage of having a write buffer, it doubles the overhead over just using I/O operations! 

Added Spin-locks
The 8139too adds spin-locks. However, as with so many of the 2.3 spin-locks, it added them without considering if they were actually needed. The only code with a potential conflict is when reading and writing MII registers. But the 8139too driver supports only the 8139, which has an internal transceiver that is directly accessed by registers reads. So no spin-lock is needed! 

The "rx_size" patch
The 8139too driver adds a patch taken from the BSD driver. This patch claims to fix a bug in the Rx ring: when copying a packet into RAM, the length will be 0xfff0. But the BSD "bug" is an artifact of that driver trying to avoid PCI bus operations by guessing if a packet has arrived, rather than following the documented method of check the RxBufEmpty status. 

The BSD method is more efficient. Checking the next entry and guessing can potentially save one or two expensive PCI transactions per Rx packet. But (as they found out) it is prone to races and failure. 

The Linux driver never encounters this problem, but the BSD "bug fix" was blindly added anyway. 

Misleading Copyright
The copyright has been subtly changed on several drivers. The rtl8139 driver original stated "Written 1997-1999 by Donald Becker". It now states "Written by 1997-1999 Donald Becker, Copyright 2000 by Jeff Garzik". While the latter statement appear to be only an added copyright, legally they are far different. The first phrase alone implies that the copyright is held by solely by Donald Becker. The addition of the second phrase claims that the copyright has been assigned to Jeff Garzik. This is not the case, and the change is fraudulent misrepresentation. 

The copyright on 8139too also fails to note that it includes substantial new code from the March 2000 release of the rtl8139.c driver. 

Driver Operation and Comments
The RTL8129 series is a low-cost design, and thus should be considered a "connectivity solution" rather a performance-oriented product. 

The RTL8139 series improves on the integration and feature set, adding advanced features such as 802.3x Flow Control and incorporating the transceiver onto a single chip. The data transfer engine remains the same, with much improved PCI burst performance in the B and C versions. 

While the chip is a bus master, it's not a descriptor-based bus master. The receive side transfers packets into a single linear ring (compile-time selectable as 8KB, 16KB, 32KB or 64KB) in host memory. The driver immediately copies the packets from the ring to newly-allocated buffers ("skbuffs"). Most other Fast Ethernet designs use a descriptor-based architecture, which allows packets the chip to transfer directly into pre-allocated maximum-sized skbuffs. The driver then optionally copies only tiny packets into smaller-sized skbuffs. 

On the transmit side four register sets hold the address and size of the packets to be transmitted. While this results in a rather small, fixed-size transmit queue, four entries is adequate for full performance in most environments. 

The transmit performance loss comes from an initially undocumented (yes, that means it took many hours to find) word-alignment requirement of the current chip. Linux cache-aligns the IP header and following payload data when constructing a packet. When the 14 byte Ethernet header is prepended, the complete packet is 2-byte aligned, but not 4-byte aligned. The result is that all IP packets must be copied to an alignment buffer before being queued for transmit. 

RTL8129/RTL8139 Multicast Support
The RTL chips can match a single unicast address (their own station address) and support a 64 slot statistical (AKA hash) filter for initial filtering of unwanted multicast packets. This filter functionality appears to be implemented the "usual" way: taking the CRC intermediate result just after destination address arrives, and using six bits as the index into a table of which multicast packets are acceptable.

Programming Information
Online information is available at http://www.realtek.com.tw/cn/cn.html 

Compatibility, Errata and Bugs
The driver has been tested with 

Chips: rtl8129, rtl8139/8139A/8139B chips (limited 8139C testing). 
Kernels: starting with 2.0.30/RedHat-4.2 and many later kernels. 
Architectures: x86 and Alpha (limited PowerPC testing). 
but not with all combinations of each. 
If you encounter Rx overflow errors and transmit timeouts you may have the card in a non-bus-master slot. Other possible problems are older PCI implementations, especially i486-class motherboards, that have bugs when using long PCI burst transfers. 

Cards using RTL8139 chips
There are too many vendors selling RTL8139 boards to list them all. The RTL8139 and RTL8139A chips have the ability to load a different PCI Vendor and Device ID from the EEPROM. Combined with a unique chip label, some boards give the appearance of being new and unique chips. Identified chips that fall into this category are 

Accton MPX5030 series (relabeled RTL8139) 
SMC 1211TX (relabeled RTL8139) 
A few commonly available board with the Realtek chip are: 

ALFA GFC2206 
Allied Telesyn AT2550 
Genius GF100TXR (RTL8139) 
NDC Communications NE100TX-E 
Accton MPX5030 series (relabeled RTL8139) 
SMC 1211TX (relabeled RTL8139) 
The RTL8139 is used on many boards due to its low cost, and thus this list is far from complete. 
Revision History 
The CVS log is not yet online. 

Related Links
http://www.realtek.com.tw/cn/cn.html 
OvisLink LEF-8129TX 
Global Data Systems GDS-84628 
Allied Telesyn AT2500 and AT2500v2 
Some history...
This driver was originally written by Donald Becker while he was at CESDIS, located at the NASA Goddard Space Flight Center in Greenbelt MD. The Beowulf work moved to Scyld before CESDIS was dissolved in July 2000. 


--------------------------------------------------------------------------------
Linux Network Drivers Page
SCYLD information.
Author: Donald Becker.
See the drivers for the contact email address. Do not bother sending email to 
zinc.anode@scyld.com
as email to that address adds your domain or IP address to the known-spammer list. 
--------------------------------------------------------------------------------
Linux Network Drivers Page
SCYLD information.
Author: Donald Becker
See the drivers for the contact email address. Do not bother sending email to zinc.anode@scyld.com, as email to that address adds your domain or IP address to the known-spammer list.

 B2Sun 回复于:2003-09-07 20:39:02
各位兄台,我的是LINUX9,不知道为什么安装这个东西8139后
 就挂起来不操做了。我晕了几天了,请多多帮助

 B2Sun 回复于:2003-09-11 10:28:06
今天是中秋,所以我要送你一个月饼。第一层,体贴!第二层,关怀!第三层,浪漫!第四层,温馨!中间夹层,甜蜜!祝你天天都有一个好心情!永远开心的你!祝您的家人身体健康,中秋节快乐!

      ╭══╮
    ╭╯ΘΘ║
    ╰⊙═⊙╯。oо○看啦~~~~~~,我给你送月饼来

 21cnjam 回复于:2005-02-25 14:52:31
我的网卡是主板集成的8139网卡,在install里要怎么更改呢,请指教

 jhkl9 回复于:2005-07-12 15:36:53
我不知道网卡型号, 又不让拆机看,请问有什么办法可以安装网卡驱动呢 ?
 
或者有什么办法能让我知道网卡型号呢?  麻烦大哥了!!!

谢谢!!!!

原文转自:http://www.ltesting.net