我刚买了一台新笔记本电脑,并且同时启动了 Ubuntu 12.04 和 Windows 7。两者都运行良好,但我注意到一段时间后 Ubuntu 毫无错误地挂起了,并且所有按键和鼠标移动/点击都停止了工作。
知道如何修复这个问题吗?
Xorg 错误日志:
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 20.580] (==) Log file: "/var/log/Xorg.0.log", Time: Sun Oct 28 11:26:05 2012
[ 20.596] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 20.596] (==) No Layout section. Using the first Screen section.
[ 20.596] (==) No screen section available. Using defaults.
[ 20.596] (**) |-->Screen "Default Screen Section" (0)
[ 20.596] (**) | |-->Monitor "<default monitor>"
[ 20.597] (==) No monitor specified for screen "Default Screen Section".
kern 错误日志:
Oct 28 11:23:21 carbuncle kernel: [ 1.031854] pci0000:00: ACPI _OSC request failed (AE_ERROR), returned control mask: 0x1d
Oct 28 11:23:21 carbuncle kernel: [ 1.031856] ACPI _OSC control for PCIe not granted, disabling ASPM
Oct 28 11:23:21 carbuncle kernel: [ 1.034229] ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 10 *11 12 14 15)
Oct 28 11:23:21 carbuncle kernel: [ 1.034268] ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 10 11 12 14 15) *7
Oct 28 11:23:21 carbuncle kernel: [ 1.034305] ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 10 *11 12 14 15)
Oct 28 11:23:21 carbuncle kernel: [ 1.034340] ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 10 11 12 14 15) *7
Oct 28 11:23:21 carbuncle kernel: [ 1.034376] ACPI: PCI Interrupt Link [LNKE] (IRQs 1 3 4 5 6 10 11 12 14 15) *0, disabled.
Oct 28 11:23:21 carbuncle kernel: [ 1.034411] ACPI: PCI Interrupt Link [LNKF] (IRQs 1 3 4 5 6 10 11 12 14 15) *0, disabled.
Oct 28 11:23:21 carbuncle kernel: [ 1.034447] ACPI: PCI Interrupt Link [LNKG] (IRQs 1 3 4 5 6 *10 11 12 14 15)
Oct 28 11:23:21 carbuncle kernel: [ 1.034483] ACPI: PCI Interrupt Link [LNKH] (IRQs 1 3 4 5 6 *10 11 12 14 15)...
Oct 28 11:23:21 carbuncle kernel: [ 26.656721] EXT4-fs (sda3): re-mounted. Opts: errors=remount-ro
Oct 28 11:23:21 carbuncle kernel: [ 26.661224] [drm] Initialized drm 1.1.0 20060810
Oct 28 11:23:21 carbuncle kernel: [ 26.674172] VGA switcheroo: detected Optimus DSM method \_SB_.PCI0.PEG0.PEGP handle
Oct 28 11:23:21 carbuncle kernel: [ 26.675011] nouveau 0000:01:00.0: power state changed by ACPI to D0
Oct 28 11:23:21 carbuncle kernel: [ 26.675022] nouveau 0000:01:00.0: power state changed by ACPI to D0
Oct 28 11:23:21 carbuncle kernel: [ 26.675026] nouveau 0000:01:00.0: enabling device (0000 -> 0003)
Oct 28 11:23:21 carbuncle kernel: [ 26.675032] nouveau 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
Oct 28 11:23:21 carbuncle kernel: [ 26.675039] nouveau 0000:01:00.0: setting latency timer to 64...
Oct 28 11:23:25 carbuncle kernel: [ 30.425810] [drm:intel_dsm_platform_mux_info] *ERROR* MUX INFO call failed
Oct 28 11:23:25 carbuncle kernel: [ 30.425813] vga_switcheroo: enabled
Oct 28 11:23:25 carbuncle kernel: [ 30.426332] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=none
Oct 28 11:23:25 carbuncle kernel: [ 30.426334] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=none:owns=io+mem
Oct 28 11:23:25 carbuncle kernel: [ 31.027045] fbcon: inteldrmfb (fb1) is primary device
Oct 28 11:23:25 carbuncle kernel: [ 31.027048] fbcon: Remapping primary device, fb1, to tty 1-63
Oct 28 11:23:26 carbuncle kernel: [ 31.199881] fb1: inteldrmfb frame buffer device
...
Oct 28 11:26:04 carbuncle kernel: [ 1.031818] pci0000:00: ACPI _OSC request failed (AE_ERROR), returned control mask: 0x1d
Oct 28 11:26:04 carbuncle kernel: [ 1.031819] ACPI _OSC control for PCIe not granted, disabling ASPM
Oct 28 11:26:04 carbuncle kernel: [ 1.034198] ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 10 *11 12 14 15)
Oct 28 11:26:04 carbuncle kernel: [ 1.034237] ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 10 11 12 14 15) *7
Oct 28 11:26:04 carbuncle kernel: [ 1.034274] ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 10 *11 12 14 15)
Oct 28 11:26:04 carbuncle kernel: [ 1.034310] ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 10 11 12 14 15) *7
Oct 28 11:26:04 carbuncle kernel: [ 1.034345] ACPI: PCI Interrupt Link [LNKE] (IRQs 1 3 4 5 6 10 11 12 14 15) *0, disabled.
Oct 28 11:26:04 carbuncle kernel: [ 1.034382] ACPI: PCI Interrupt Link [LNKF] (IRQs 1 3 4 5 6 10 11 12 14 15) *0, disabled.
Oct 28 11:26:04 carbuncle kernel: [ 1.034418] ACPI: PCI Interrupt Link [LNKG] (IRQs 1 3 4 5 6 *10 11 12 14 15)
Oct 28 11:26:04 carbuncle kernel: [ 1.034454] ACPI: PCI Interrupt Link [LNKH] (IRQs 1 3 4 5 6 *10 11 12 14 15)...
Oct 28 11:26:04 carbuncle kernel: [ 18.498620] [drm:intel_dsm_platform_mux_info] *ERROR* MUX INFO call failed
Oct 28 11:26:04 carbuncle kernel: [ 18.498993] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=none:owns=io+mem
Oct 28 11:26:04 carbuncle kernel: [ 18.498996] vgaarb: transferring owner from PCI:0000:00:02.0 to PCI:0000:01:00.0
Oct 28 11:26:04 carbuncle kernel: [ 18.524928] ieee80211 phy0: Selected rate control algorithm 'ath9k_rate_control'
Oct 28 11:26:04 carbuncle kernel: [ 18.525636] Registered led device: ath9k-phy0
Oct 28 11:26:04 carbuncle kernel: [ 18.525643] ieee80211 phy0: Atheros AR9285 Rev:2 mem=0xffffc900057e0000, irq=18
Oct 28 11:26:04 carbuncle kernel: [ 18.527229] VGA switcheroo: detected Optimus DSM method \_SB_.PCI0.PEG0.PEGP handle
...
Oct 28 11:26:04 carbuncle kernel: [ 18.700550] EXT4-fs (sda3): re-mounted. Opts: errors=remount-ro
Oct 28 11:26:04 carbuncle kernel: [ 18.831907] init: failsafe main process (923) killed by TERM signal
Oct 28 11:26:04 carbuncle kernel: [ 18.888092] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Oct 28 11:26:04 carbuncle kernel: [ 18.888096] Bluetooth: BNEP filters: protocol multicast
Oct 28 11:26:04 carbuncle kernel: [ 18.895745] Bluetooth: RFCOMM TTY layer initialized
Oct 28 11:26:04 carbuncle kernel: [ 18.895750] Bluetooth: RFCOMM socket layer initialized
Oct 28 11:26:04 carbuncle kernel: [ 18.895752] Bluetooth: RFCOMM ver 1.11...
禁用 NVIDIA 驱动程序后出现的最新错误:
Dec 26 20:08:42 carbuncle kernel: [ 129.894342] ACPI Error: Method parse/execution failed [\_SB_.WADR] (Node ffff880211865e60), AE_AML_INFINITE_LOOP (20110623/psparse-536)
Dec 26 20:08:42 carbuncle kernel: [ 129.894361] ACPI Error: Method parse/execution failed [\_SB_.BAT1.UPBI] (Node ffff8802118660a0), AE_AML_INFINITE_LOOP (20110623/psparse-536)
Dec 26 20:08:42 carbuncle kernel: [ 129.894373] ACPI Error: Method parse/execution failed [\_SB_.BAT1._BIF] (Node ffff880211866050), AE_AML_INFINITE_LOOP (20110623/psparse-536)
Dec 26 20:08:42 carbuncle kernel: [ 129.894389] ACPI Exception: AE_AML_INFINITE_LOOP, Evaluating _BIF (20110623/battery-419)
Dec 26 20:08:42 carbuncle kernel: [ 129.894396] ACPI: Battery Slot [BAT1] (battery present)
答案1
我想看看是内核(或内核级进程)还是 XServer 出了问题。看来您使用的是 NVidia 卡和 Nouveau 驱动程序,它们是开源驱动程序。
我也在 HTPC 中使用了这些显卡和新的 NVIDIA 630,但它给我带来了冻结问题(主要是在睡眠恢复时,因为我没有集成显卡可以切换)。在我的笔记本电脑上,我使用的是集成英特尔的 Optimus(如果您添加了显卡,设置与高端 z480 类似,看来您确实添加了)。
话虽如此,我有两个解决方案可能有效(或至少可以缩小问题范围)。内核日志看起来好像发生的一切是在 VGA 状态切换期间发生的(可能是尝试从 Intel 切换到 NVidia 或反之亦然)。
只要尝试你喜欢的任何一种方式大约一天,看看你是否继续遇到冻结:
1) 删除所有 nouveau 驱动程序的痕迹并安装官方 nvidia 驱动程序(我相信在 Ubuntu 中应该允许,只需检查 Synaptic 包管理器即可)。这可能是切换故障,这对于 Linux 来说相对较新。
或者
2) 在您的 Bios 中,禁用 NVIDIA 卡并仅在 Linux 中允许集成(仅用于测试)。
这可以帮助您缩小范围,确定是驱动程序还是卡(可能是驱动程序)。在 Bios 中禁用它后,您会注意到电池电量大幅增加。我在 Arch 下的联想 T530 上就遇到了这种情况。Linux 在图形切换方面已经达到了这一水平,但目前还不是 100% 的故障安全。
资源:
1:此人想删除所有 Nouveau
2:此人想安装最新的 Nvidia 官方驱动程序
sudo apt-get 安装 nvidia-current