当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : IBM T21 装ubuntu 5.10 网卡问题!
帖子发表于 : 2009-04-30 9:46 

注册: 2008-10-08 8:58
帖子: 31
送出感谢: 0 次
接收感谢: 0 次
安装十分顺利,只是在搜索网络设备时出现一个问题,可能是找不到,让一个 fire 的东西代替吧!接下来一切顺利!

声卡,显卡顺利找到!右下角网络连接图标也在闪,好像是可以上网!

但是怎么也上不了网?

请问能解决吗?谢谢!
:em03


页首
 用户资料  
 
2 楼 
 文章标题 : Re: IBM T21 装ubuntu 5.10 网卡问题!
帖子发表于 : 2009-04-30 10:13 

注册: 2008-10-08 8:58
帖子: 31
送出感谢: 0 次
接收感谢: 0 次
自己解决:从国外高人那得知!
http://www.thinkwiki.org/wiki/Problem_w ... recognized

Solutions
This problem is fixed in mainline kernels 2.6.14-rc1 and newer.

Disabling ACPI-PCI control or ACPI
Try one of the following kernel parameters (in that order):

nolapic (disables support for local apic)
acpi=nopci (disables PCI resource control of the ACPI subsystem)
acpi=off (completely disables ACPI, should always work)
Using setpci
It is possible to get the ethernet controller of the 3Com combo card working with ACPI enabled by using the setpci command. Since it requires an IO port address that may change each boot, this Perl script will help to automate things. It has only been tested under the 2.6.12-rc5-mm2 and 2.6.12-rc6 kernels with the 3c59x driver compiled as a module. It may break with different versions of the lspci command (tested with 2.1.11).

#!/usr/bin/perl

use strict;

my $DRIVER = "3c59x";
my $VENDOR = "10b7";
my $DEVICE = "6056";
my $LSPCI = `lspci -vd $VENDOR:$DEVICE | grep "I/O ports"`;

print "Resetting 3Com ethernet controller... ";
if($LSPCI =~ m|I/O ports at (\d{4})|i) {
my $io = $1;
`rmmod $DRIVER`;
`setpci -H1 -d $VENDOR:$DEVICE COMMAND=0x07 CACHE_LINE_SIZE=0 LATENCY_TIMER=0x40 BASE_ADDRESS_0=0x$io`;
`modprobe $DRIVER`;
print "done.\n";
} else {
print "failed.\n";
}
This worked well for my X20 with an Ubuntu Breezy System (Kernel 2.6.12). Thanks for that Script.

You may use

# update-rc.d -f <script_name> start 99 2 3 4 5
to have the driver loaded at every reboot.

Using pci-config
The above setpci script didn't work at boot on my X20, otherwise it works well. I tried another workaround by using pci-config. This worked nicely on Debian testing with stock kernel 2.6.12.3.

1. Install pci-config (e.g., from the net-tools package). On Debian you want to install the nictools-pci package from either testing or unstable.

2. Run # /sbin/lspci and identify the PCI device of the 3Com chip (e.g., "00:03.0").

3. Run # /usr/sbin/pci-config and identify the corresponding device# (e.g., #5).

4. Append the following to /etc/modprobe.conf using the above device#:

install 3c59x /usr/sbin/pci-config -W -#5 > /dev/null && /sbin/modprobe --ignore-install 3c59x
5. Reboot (or # rmmod 3c59x && modprobe 3c59x).

Hint:
On a Debian system you should rather add a file to /etc/modprobe.d with the contents you usually would add to /etc/modprobe.conf. I just created a file named /etc/modprobe.d/3c59x
For more information look at comment #30 in RedHat's bugzilla

Using a patch
There is a patch at http://marc.theaimsgroup.com/?l=linux-k ... 6714&q=raw that fixed this issue on a T21 using Linux 2.6.13-rc5 - Thanks John!

Retrieved from "http://www.thinkwiki.org/wiki/Problem_with_3Com_10/100_Ethernet_card_not_being_recognized"
Categories: A20m | A20p | A21e | A21m | A21p | A22p | A30 | A30p | A31 | A31p | T20 | T21 | T22 | X20 | X21 | X22 | TransNote


页首
 用户资料  
 
3 楼 
 文章标题 : Re: IBM T21 装ubuntu 5.10 网卡问题!
帖子发表于 : 2009-04-30 10:21 

注册: 2008-10-08 8:58
帖子: 31
送出感谢: 0 次
接收感谢: 0 次
请问如何使用呢?括号内的代码!
Using setpci
It is possible to get the ethernet controller of the 3Com combo card working with ACPI enabled by using the setpci command. Since it requires an IO port address that may change each boot, this Perl script will help to automate things. It has only been tested under the 2.6.12-rc5-mm2 and 2.6.12-rc6 kernels with the 3c59x driver compiled as a module. It may break with different versions of the lspci command (tested with 2.1.11).

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#!/usr/bin/perl

use strict;

my $DRIVER = "3c59x";
my $VENDOR = "10b7";
my $DEVICE = "6056";
my $LSPCI = `lspci -vd $VENDOR:$DEVICE | grep "I/O ports"`;

print "Resetting 3Com ethernet controller... ";
if($LSPCI =~ m|I/O ports at (\d{4})|i) {
my $io = $1;
`rmmod $DRIVER`;
`setpci -H1 -d $VENDOR:$DEVICE COMMAND=0x07 CACHE_LINE_SIZE=0 LATENCY_TIMER=0x40 BASE_ADDRESS_0=0x$io`;
`modprobe $DRIVER`;
print "done.\n";
} else {
print "failed.\n";
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
This worked well for my X20 with an Ubuntu Breezy System (Kernel 2.6.12). Thanks for that Script.

You may use

# update-rc.d -f <script_name> start 99 2 3 4 5
to have the driver loaded at every reboot.


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译