Posts Tagged ‘acpi’
解决ubuntu7.1下无线网卡无法使用的问题
Written by admin on 2008/01/16 – 08:00 -我使用的是Accton WN4201B无线网卡,是为HP OEM的一款无线网卡。
在安装过程中(live cd)此块无线网卡能正常工作,但是当系统安装完成后,发现无线网卡无法使用了,甚至连网卡后面的灯都不亮,初步判断为驱动的问题。
#dmesg
[ 29.864000] apm: BIOS version 1.2 Flags 0×07 (Driver version 1.16ac)
[ 29.864000] apm: overridden by ACPI.
[ 31.680000] [drm] Initialized drm 1.1.0 20060810
[ 31.700000] ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 10 (level, low) -> IRQ 10
[ 31.704000] [drm] Initialized radeon 1.27.0 20060524 on minor 0
[ 32.136000] No dock devices found.
[ 32.992000] agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0.
[ 32.992000] agpgart: Putting AGP V2 device at 0000:00:00.0 into 4x mode
[ 32.992000] agpgart: Putting AGP V2 device at 0000:01:00.0 into 4x mode
[ 33.248000] input: Power Button (FF) as /class/input/input4
[ 33.248000] ACPI: Power Button (FF) [PWRF]
[ 33.252000] [drm] Setting GART location based on new memory map
[ 33.252000] [drm] writeback test succeeded in 1 usecs
[ 33.288000] input: Power Button (CM) as /class/input/input5
[ 33.288000] ACPI: Power Button (CM) [PWRB]
[ 33.308000] input: Sleep Button (CM) as /class/input/input6
[ 33.308000] ACPI: Sleep Button (CM) [SLPB]
[ 37.988000] eth0: no IPv6 routers present
[ 64.048000] eth1: resetting device…
[ 64.048000] eth1: uploading firmware…
[ 64.144000] eth1: firmware version: 1.0.4.3
[ 64.144000] eth1: firmware upload complete
[ 65.144000] eth1: no ‘reset complete’ IRQ seen - retrying
[ 66.144000] eth1: no ‘reset complete’ IRQ seen - retrying
[ 66.144000] eth1: interface reset failure
[ 66.144000] prism54: Your card/socket may be faulty, or IRQ line too busy :(
#cat /proc/interrupts
察看设备IRQ编号
CPU0
0: 32808 XT-PIC-XT timer
1: 150 XT-PIC-XT i8042
2: 0 XT-PIC-XT cascade
5: 368 XT-PIC-XT CMI8738
6: 5 XT-PIC-XT floppy
7: 0 XT-PIC-XT parport0
8: 3 XT-PIC-XT rtc
9: 1 XT-PIC-XT acpi
10: 1 XT-PIC-XT uhci_hcd:usb2, eth1
11: 41718 XT-PIC-XT uhci_hcd:usb1, eth0, radeon@pci:0000:01:00.0
12: 4895 XT-PIC-XT i8042
14: 8205 XT-PIC-XT libata
15: 5326 XT-PIC-XT libata
NMI: 0
LOC: 0
ERR: 0
MIS: 0
由于系统中除了这块无线网卡以外,还装有一块有线网卡,因此无线网卡为eth1。有线网卡eth0一直能正常使用。
从dmesg信息中可以看出eth1与usb2共用irq10,有时重新起动后会与acpi共用irq10。
从prism54: Your card/socket may be faulty, or IRQ line too busy :( 判断可能因为irq冲突造成的。在国内各大linux论坛发帖求助,但是没有任何解决方案。于是只能自己摸索,多次尝试后问题依旧,发现似乎问题不是出在IRQ冲突方面。
从prism54: Your card/socket may be faulty, or IRQ line too busy :( 中也能看出此块网卡使用的是prism54驱动。于是登录到官方网站 http://www.prism54.org。
发现firmware分为SoftMac和FullMac两个版本的,ubuntu7.1中使用的是FullMac的最新版本1.0.4.3。于是在google中搜索相关信息,只在英文网站上找到一些关于信息,主要是提到用softMac替代系统自带的FullMac的方法。于是通过http://www.prism54.org/firmware/2.7.0.0.arm 下载了最新版的SoftMac 2.7.0.0。
先删除系统原先的firmware:#sudo rm /lib/firmware/2.6.22-14-generic/isl3890
然后把下载的SoftMac复制到原目录并改名为isl3890(假设下载到home/usename目录):#sudo cp /home/usename/2.7.0.0.arm /lib/firmware/2.6.22-14-generic/isl3890
部分linux发行版至此就算大功告成了,但是在ubuntu7.1的kernel module目录中还有prism54的驱动,在启动时候会载入两次,造成网卡无法正常启动,所以记得要把这个驱动删除
sudo rm /lib/modules/2.6.22-14-generic/kernel/drivers/net/wireless/prism54
sudo rmdir /lib/modules/2.6.22-14-generic/kernel/drivers/net/wireless/prism54
至此,问题全部解决。
ubuntu7.1下无线网卡irq冲突
Written by admin on 2008/01/07 – 08:00 -在安装界面中无线网卡能很好的使用。但是安装好系统后,无线网卡无法使用,在“硬件信息”中都能正确识别我的无线网卡。
发现网卡的irq中断号与acpi电源管理的irq中断号有冲突。
用dmesg命令查看:
[ 29.864000] apm: BIOS version 1.2 Flags 0×07 (Driver version 1.16ac)
[ 29.864000] apm: overridden by ACPI.
[ 31.680000] [drm] Initialized drm 1.1.0 20060810
[ 31.700000] ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 10 (level, low) -> IRQ 10
[ 31.704000] [drm] Initialized radeon 1.27.0 20060524 on minor 0
[ 32.136000] No dock devices found.
[ 32.992000] agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0.
[ 32.992000] agpgart: Putting AGP V2 device at 0000:00:00.0 into 4x mode
[ 32.992000] agpgart: Putting AGP V2 device at 0000:01:00.0 into 4x mode
[ 33.248000] input: Power Button (FF) as /class/input/input4
[ 33.248000] ACPI: Power Button (FF) [PWRF]
[ 33.252000] [drm] Setting GART location based on new memory map
[ 33.252000] [drm] writeback test succeeded in 1 usecs
[ 33.288000] input: Power Button (CM) as /class/input/input5
[ 33.288000] ACPI: Power Button (CM) [PWRB]
[ 33.308000] input: Sleep Button (CM) as /class/input/input6
[ 33.308000] ACPI: Sleep Button (CM) [SLPB]
[ 37.988000] eth0: no IPv6 routers present
[ 64.048000] eth1: resetting device…
[ 64.048000] eth1: uploading firmware…
[ 64.144000] eth1: firmware version: 1.0.4.3
[ 64.144000] eth1: firmware upload complete
[ 65.144000] eth1: no ‘reset complete’ IRQ seen - retrying
[ 66.144000] eth1: no ‘reset complete’ IRQ seen - retrying
[ 66.144000] eth1: interface reset failure
[ 66.144000] prism54: Your card/socket may be faulty, or IRQ line too busy :(
解决方法:
sudo gedit /boot/grub/menu.lst
在启动的核心kernel那行最后加上 acpi=off noapic
acpi=off禁止了一些电源高级管理功能
noapic改变了中断方式
顺便提到:
cat /proc/interrupts 命令察看设备IRQ编号。
在光盘启动安装过程中运行得到下面结果:
CPU0
0: 108119 XT-PIC-XT timer
1: 808 XT-PIC-XT i8042
2: 0 XT-PIC-XT cascade
5: 444 XT-PIC-XT CMI8738
6: 7 XT-PIC-XT floppy
7: 0 XT-PIC-XT parport0
8: 3 XT-PIC-XT rtc
9: 1 XT-PIC-XT acpi
10: 8636 XT-PIC-XT uhci_hcd:usb2, prism54pci
11: 60133 XT-PIC-XT uhci_hcd:usb1, radeon@pci:0000:01:00.0, eth0
12: 70179 XT-PIC-XT i8042
14: 211 XT-PIC-XT libata
15: 9897 XT-PIC-XT libata
NMI: 0
LOC: 0
ERR: 0
MIS: 0
在安装后系统中运行后得到以下结果:
CPU0
0: 32808 XT-PIC-XT timer
1: 150 XT-PIC-XT i8042
2: 0 XT-PIC-XT cascade
5: 368 XT-PIC-XT CMI8738
6: 5 XT-PIC-XT floppy
7: 0 XT-PIC-XT parport0
8: 3 XT-PIC-XT rtc
9: 1 XT-PIC-XT acpi
10: 1 XT-PIC-XT uhci_hcd:usb2, eth1
11: 41718 XT-PIC-XT uhci_hcd:usb1, eth0, radeon@pci:0000:01:00.0
12: 4895 XT-PIC-XT i8042
14: 8205 XT-PIC-XT libata
15: 5326 XT-PIC-XT libata
NMI: 0
LOC: 0
ERR: 0
MIS: 0
差别在irq10的设备,前者认出了prism54pci,后者只是eth1
虽然一些事例证明这个方法能解决irq冲突的问题,但是在我的机器上并没有解决。
另外,当acpi=off noapic加入后,系统关机出现问题,不能自动断电。
(未完待续)

