LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 800|回复: 5

求助一个有点怪异的网卡配置问题

[复制链接]
发表于 2007-1-15 01:35:12 | 显示全部楼层 |阅读模式
平台: Thinkpad 600E/ PII 366, 224M, 20G. 网卡为当年买机器时候赠品的IBM EtherJet 100PCMCIA网卡。
故障,最初用etch的current的gtk-miniiso/ 安装,结果无法识别出网卡,遂退一步,使用sarge的3.1r4发行光盘安装基本系统,之后升级。
3.1r4安装一切正常,使用光盘自带的2.6.8-2-386内核,此时网卡被正确识别,module加载的xircom_cb,网卡应该是属于xircom代工的<windows下自动识别为 IBM EhterJet 10/100M>,顺利升级到sid ,安装配置好了一切环境,重起....sid下内核为2.6.18-3-686 ,使用udev, discover1 。
开机,未能识别网卡,lsmod没有xircom相关模块,也没有网络相关模块,ifup eth0显示
  1. eth0: ERROR while getting interface flag : No Such Device
复制代码
由于不能上网,临时无法导出 dmseg和lsmod的消息。
幸好在重起之前安装了linux-source 和kernel-package ....
正在编译内核中,参数做了如下细调
  1. 相关的内核配置参数:
  2.           Bus Options (PCI, PCMCIA, EISA, MCA, ISA) --->
  3.                PCCARD (PCMCIA/CardBus) support --->
  4.                    <M> PCCard (PCMCIA/CardBus) support
  5.                    [*]  32-bit CardBus support
  6.                    <M> CardBus yenta-compatible bridge support
  7.           Device Drivers --->
  8.                Networking support --->
  9.                    Ethernet (10 or 1000Mbit) --->
  10.                        Tulip family network device support --->
  11.                            <M> Xircom CardBus support (new driver)
  12.                    PCMCIA network device support --->
  13.                        [*] PCMCIA network device support
复制代码
PII的估计得几个小时跑,跑完了再上来报告下......还有问题我就没什么办法了
-------------------------------------separate-------------------------------------
已经解决,不是模块问题也不是别的问题,2.6.1x内核对于CardBus的支持有点小bug. apic管理下无法给桥接过去的的PCMCIA设备分配正常的IRQ,详细如下
There was also another problem with my bult-in LAN which was was working properly when I was transfering small ammounts of data, but when it worked on full speed it gave me unpredictable connection loss and reboot was the only way to get the network working again. I think that there were some problems with interrupts and I tried to find some solution. I tried many kernel configuration combinations and then also DSDT table patching but nothing worked. Finally I tried different kernel boot options and then I figured out that one combination gives me everything working properly. First I had to turn off the APIC support with noapic option. If you don't have IO-APIC option compiled into the kernel, you don't need this option. The second option which I've tried, was irqpoll which gave me PCMCIA slot support that I had not without IO-APIC, because Yenta driver didn't get an interrupt on startup. With these options everything was working pretty good and without crashes. Unfortunetly /proc/interrupts don't seem to look fine:

[lukasz@laptop ~]$ cat /proc/interrupts
           CPU0
  0:    9272968   XT-PIC  timer
  1:      13411   XT-PIC  i8042
  2:          0   XT-PIC  cascade
  9:       9971   XT-PIC  acpi
10:          0   XT-PIC  eth0
11:    1068817   XT-PIC  yenta, ehci_hcd:usb1, ohci_hcd:usb2, ohci_hcd:usb3, ATI IXP, fglrx
12:         97   XT-PIC  i8042
14:      25314   XT-PIC  ide0
15:       5800   XT-PIC  ide1
NMI:          0
ERR:          0

How to use it

I described major problems that I had with my machine, so now I can write how to use all of it's components on Linux. Remember, that everything described as working in this part, works fine and stable sometimes only with kernel boot options:

noapic irqpoll
引用中的高人出问题的是块无线网卡,和有线的问题一样。
最终在启动参数中添加noapic和irqpoll 解决一切问题......
发表于 2007-1-15 10:19:13 | 显示全部楼层
这个芯片的网卡我没用过,但是这种情况发生在bcm4400的千兆网卡上,情况是这样的:
机器是dell的商用机(台式,具体型号忘了),当时装的是sarge,内核也是2.6.8,加载的驱动模块是tg3,后来升级内核到2.6.10还是2.6.12,结果发生了与你一样的情况,网卡驱动没了,编译bcm4400驱动(debian里可以自动编译,用module-assistant),然后把老的tg3驱动全部卸掉,重新加载bcm4400驱动模块,成功,但是很遗憾,似乎后面的内核修改了bug,又可以用tg3的模块了。据坛里相关的帖子报告,有的不需要编译,重新加载tg3模块也可以了。
估计你的问题应该相同,卸掉,再加载试试,或者编译。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-15 15:48:27 | 显示全部楼层
唉 ,重新编译了内核,几个模块卸来装去,整的老郁闷, 或许那里错了,算了在研究一晚,就是老本编译太耗时间了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-15 19:02:04 | 显示全部楼层
对dmseg的仔细阅读,发现问题出在如下地方
Yenta Ti: no PCI IRQ CardBus support, disabled for this socket
Yenta Ti: check your BIOS Cardbus, BIOS IRQ or ACPI settings

正常启动的系统中,如下,
Yenta: CardBus bridge found at 0000:05:09.0 [103c:3091]
Yenta: Enabling burst memory read transactions
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:05:09.0, mfunc 0x01a01b22, devctl 0x64
Yenta: ISA IRQ mask 0x0ef0, PCI irq 11

这个怎么做才行?

内核我已经编译了2次, PCI和PCMCIA的设置应该没问题的....而且,官方的内核也是报这个错误
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-15 19:09:00 | 显示全部楼层
放狗看了看, 发现很多2.6.1x版本的cardbus支持有问题, 好好研究下,解决了就造福一方兄弟了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-15 19:45:39 | 显示全部楼层
基本搞定,晚上重来一次,彻底解决了就结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表