我在 AMD 和一个较旧的 Intel 平台上设置了 pm-hibernate。但这个平台给我带来的麻烦比平时更多。发出 pm-hibernate 可以工作,但挂起很长时间才最终关闭。
在下面的 dmesg 中,它等待大约 15 秒才打印以下行:
[78.296348] PM:创建休眠图像:
同样,恢复后需要等待很长时间:
[ 80.401171] usb 2-1.5: 使用 ehci_hcd 和地址 3 重置低速 USB 设备
并不是说我不能等待这 15 秒。但我想知道它为什么会这样。什么可以提供有关内核/操作系统正在等待什么的更多信息?
使用同一台计算机和 Debian squeeze 的标准内核,它也能正常工作,速度更快,但也存在其他问题,例如休眠后出现“没有用于向量 (irq -1) 的中断处理程序”
我尝试使用的内核是来自 kernel.org 的官方未打补丁的内核 2.6.38.4
内核配置: http://www.ideone.com/Hrmah
dmesg:
[ 77.830657] ftdi_sio 1-1.6:1.0:设备已断开连接 [ 77.830694] ftdi_sio ttyUSB1:FTDI USB 串行设备转换器现已与 ttyUSB1 断开连接 [77.830703] ftdi_sio 1-1.6:1.1:设备已断开连接 [ 77.831735] r8169 0000:03:00.0:eth0:链接断开 [ 77.831861] ata_piix 0000:00:1f.2: PCI INT D 已禁用 [ 77.831886] ata_piix 0000:00:1f.5: PCI INT D 已禁用 [ 77.932716] HDA Intel 0000:00:1b.0:PCI INT A 已禁用 [ 77.932785] ACPI 句柄没有上下文! [ 78.245752] HDA Intel 0000:01:00.1:PCI INT B 已禁用 [ 78.245840] ACPI 句柄没有上下文! [ 78.256889] PM: 设备冻结在 427.118 毫秒后完成 [ 78.257710] PM: 设备延迟冻结在 0.770 毫秒后完成 [78.258007] ACPI:准备进入系统睡眠状态 S4 [78.258297] PM:节省平台 NVS 内存 [ 78.260491] 禁用非启动 CPU... [78.274043] CPU 1 现已脱机 [78.288013] CPU 2 现已脱机 [78.295913] CPU 3 现已脱机 [ 78.296220] 扩展 CMOS 年份:2000 [78.296348] PM:创建休眠图像: [ 78.347165] PM:需要复印 155463 页 [78.296367] PM:恢复平台 NVS 内存 [ 78.296869] 扩展 CMOS 年份:2000 [ 78.296930] 启用非启动 CPU ... [78.298285] 启动节点 0 处理器 1 APIC 0x2 [ 78.391182] 在 CPU #1 上切换到 NOHz 模式 [78.403406]CPU1已启动 [78.403683] 启动节点 0 处理器 2 APIC 0x4 [ 78.495085] 在 CPU #2 上切换到 NOHz 模式 [78.507422]CPU2 已启动 [78.507812] 启动节点 0 处理器 3 APIC 0x6 [ 78.600885] 在 CPU #3 上切换到 NOHz 模式 [ 78.613239] CPU3 已启动 [78.614809]ACPI:从系统睡眠状态 S4 唤醒 [ 78.625827] HDA Intel 0000:00:1b.0:BAR 0:设置为 [mem 0xf3ff8000-0xf3ffbfff 64bit](PCI 地址 [0xf3ff8000-0xf3ffbfff]) [ 78.625925] HDA Intel 0000:00:1b.0:恢复偏移量 0xf 处的配置空间(原为 0x100,写入 0x103) [ 78.625938] HDA Intel 0000:00:1b.0:恢复偏移量 0x3 处的配置空间(原为 0x0,写入 0x8) [78.625943] HDA Intel 0000:00:1b.0:恢复偏移量 0x1 处的配置空间(原为 0x100000,写入 0x100102) [ 78.626210] ata_piix 0000:00:1f.2:恢复偏移量 0x1 处的配置空间(原为 0x2b00003,写入 0x2b00007) [ 78.626251] ata_piix 0000:00:1f.5:恢复偏移量 0x1 处的配置空间(原为 0x2b00001,写入 0x2b00005) [ 78.626271] nvidia 0000:01:00.0:恢复偏移量 0xc 处的配置空间(原为 0xf7e00000,写入 0x0) [ 78.626280] nvidia 0000:01:00.0:恢复偏移量 0x3 处的配置空间(原为 0x800008,写入 0x800000) [ 78.626283] nvidia 0000:01:00.0:恢复偏移量 0x1 处的配置空间(原为 0x100107,写入 0x100007) [ 78.636917] PM: 设备早期恢复在 21.851 毫秒后完成 [ 78.666198] ehci_hcd 0000:00:1a.0:将延迟计时器设置为 64 [ 78.666216] usb usb1:根集线器断电或已重置 [ 78.666238] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22(级别,低)-> IRQ 22 [ 78.666246] HDA Intel 0000:00:1b.0:将延迟计时器设置为 64 [ 78.666249] ehci_hcd 0000:00:1d.0:将延迟计时器设置为 64 [ 78.666263] usb usb2:根集线器断电或已重置 [ 78.666273] pci 0000:00:1e.0:将延迟计时器设置为 64 [ 78.666284] ata_piix 0000:00:1f.2: PCI INT D -> GSI 21 (级别,低) -> IRQ 21 [ 78.670145] ata_piix 0000:00:1f.2:将延迟计时器设置为 64 [ 78.670149] ata_piix 0000:00:1f.5: PCI INT D -> GSI 21 (级别,低) -> IRQ 21 [ 78.670152] ehci_hcd 0000:00:1d.0: 不支持 32 的缓存行大小 [ 78.670154] ata_piix 0000:00:1f.5:将延迟计时器设置为 64 [ 78.670166] HDA Intel 0000:01:00.1: PCI INT B -> GSI 17(级别,低)-> IRQ 17 [ 78.670170] HDA Intel 0000:01:00.1:将延迟计时器设置为 64 [ 78.674350] ehci_hcd 0000:00:1a.0: 不支持 32 的缓存行大小 [ 78.674655] sd 3:0:0:0: [sda] 启动磁盘 [ 78.990007] ata3: SATA 链接断开 (SStatus 0 SControl 300) [ 78.997227] usb 1-1:使用 ehci_hcd 和地址 2 重置高速 USB 设备 [79.141031] ata4: SATA 链接速度为 3.0 Gbps (SStatus 123 SControl 300) [79.179132] ata4.00:ACPI cmd ef/03:45:00:00:00:a0(未知)已过滤 [79.179199] ata4.00:ACPI cmd ef/03:0c:00:00:00:a0(未知)已过滤 [79.192661] ata4.00:ACPI cmd c6/00:10:00:00:00:a0(未知)成功 [79.192668] ata4.00:ACPI cmd f5/00:00:00:00:00:00(未知)已过滤 [ 79.212890] usb 2-1:使用 ehci_hcd 和地址 2 重置高速 USB 设备 [ 79.252963] ata4.00: 配置为 UDMA/133 [79.303578] ata2.00: SATA 链接关闭(SStatus 0 SControl 300) [ 79.303642] ata2.01: SATA 链接关闭(SStatus 0 SControl 300) [ 79.399746] usb 1-1.6:使用 ehci_hcd 和地址 4 重置全速 USB 设备 [ 79.454577] ata1.00: SATA 链接速度为 1.5 Gbps (SStatus 113 SControl 300) [ 79.454649] ata1.01: SATA 链接关闭(SStatus 0 SControl 300) [ 79.454706] ata1.01: 链接脱机,清除 3 类为无 [ 79.457722] ata1.00: ACPI cmd ef/03:45:00:00:00:a0(未知)被过滤掉 [ 79.457789] ata1.00:ACPI cmd ef/03:0c:00:00:00:a0(未知)已过滤 [79.457850] ata1.00: ACPI cmd f5/00:00:00:00:00:00 (未知) 已过滤 [79.463708]ata1.00:配置为UDMA/100 [ 79.547518] usb 1-1.1: 使用 ehci_hcd 和地址 3 重置高速 USB 设备 [ 79.883974] usb 2-1.6:使用 ehci_hcd 和地址 4 重置低速 USB 设备 [ 80.401171] usb 2-1.5: 使用 ehci_hcd 和地址 3 重置低速 USB 设备 [ 138.658306] r8169 0000:03:00.0:eth0:无法应用固件补丁 [ 138.660715] PM: 设备恢复在 60090.145 毫秒后完成 [138.660799] ftdi_sio 1-1.6:1.0:检测到 FTDI USB 串行设备转换器 [138.660877]USB 1-1.6:检测到FT2232C [ 138.660928] usb 1-1.6: 端点数量 2 [ 138.660980] usb 1-1.6:端点 1 MaxPacketSize 64 [ 138.661032] USB 1-1.6:端点 2 MaxPacketSize 64 [ 138.661085] usb 1-1.6:设置 MaxPacketSize 64 [ 138.661474] r8169 0000:03:00.0:eth0:链接断开 [ 138.661874] usb 1-1.6:FTDI USB 串行设备转换器现已连接到 ttyUSB0 [138.661967] ftdi_sio 1-1.6:1.1:检测到 FTDI USB 串行设备转换器 [138.662192]USB 1-1.6:检测到FT2232C [ 138.662244] usb 1-1.6: 端点数量 2 [ 138.662296] usb 1-1.6: 端点 1 MaxPacketSize 64 [ 138.662348] USB 1-1.6:端点 2 MaxPacketSize 64 [ 138.662401] usb 1-1.6:设置 MaxPacketSize 64 [ 138.662865] usb 1-1.6:FTDI USB 串行设备转换器现已连接到 ttyUSB1 [ 138.664227] r8169 0000:03:00.0:eth0:链接断开 [ 138.682700] 正在重新启动任务... [ 138.684882] usb 2-1.5: USB 断开连接,地址 3 [ 138.685540] 完成。 [ 138.872950] usb 2-1.5: 使用 ehci_hcd 和地址 5 的新低速 USB 设备 [ 138.952714] usb 2-1.5:发现新的 USB 设备,idVendor=045e,idProduct=0084 [ 138.952721] usb 2-1.5:新的 USB 设备字符串:Mfr=1、Product=2、SerialNumber=0 [ 138.952725] usb 2-1.5: 产品: Microsoft Basic 光电鼠标 [ 138.952729] usb 2-1.5: 制造商: Microsoft [ 138.956350] 输入:Microsoft Microsoft Basic Optical Mouse 作为 /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/input/input4 [ 138.956419] generic-usb 0003:045E:0084.0003:input,hidraw0:USB HID v1.11 鼠标 [Microsoft Microsoft Basic Optical Mouse] 位于 usb-0000:00:1d.0-1.5/input0 上 [ 140.344645] r8169 0000:03:00.0:eth0:链接
lspci-v:
00:00.0 主机桥:英特尔公司核心处理器 DMI(修订版 11) 00:03.0 PCI 桥:英特尔公司核心处理器 PCI Express 根端口 1 (rev 11) 00:08.0 系统外设:英特尔公司核心处理器系统管理寄存器 (rev 11) 00:08.1 系统外设:Intel 公司核心处理器信号量和暂存器寄存器 (rev 11) 00:08.2 系统外设:英特尔公司核心处理器系统控制和状态寄存器(rev 11) 00:08.3 系统外设:英特尔公司核心处理器杂项寄存器(rev 11) 00:10.0 系统外设:Intel 公司核心处理器 QPI Link (rev 11) 00:10.1 系统外设:英特尔公司核心处理器 QPI 路由和协议寄存器 (rev 11) 00:16.0 通信控制器:英特尔公司 5 系列/3400 系列芯片组 HECI 控制器(rev 06) 00:1a.0 USB 控制器:英特尔公司 5 系列/3400 系列芯片组 USB2 增强型主机控制器 (rev 06) 00:1b.0 音频设备:英特尔公司 5 系列/3400 系列芯片组高保真音频(修订版 06) 00:1c.0 PCI 桥:英特尔公司 5 系列/3400 系列芯片组 PCI Express 根端口 1(修订版 06) 00:1c.2 PCI 桥:英特尔公司 5 系列/3400 系列芯片组 PCI Express 根端口 3(修订版 06) 00:1c.3 PCI 桥:英特尔公司 5 系列/3400 系列芯片组 PCI Express 根端口 4 (rev 06) 00:1c.4 PCI 桥:英特尔公司 5 系列/3400 系列芯片组 PCI Express 根端口 5(修订版 06) 00:1c.5 PCI 桥:英特尔公司 5 系列/3400 系列芯片组 PCI Express 根端口 6(修订版 06) 00:1d.0 USB 控制器:英特尔公司 5 系列/3400 系列芯片组 USB2 增强型主机控制器 (rev 06) 00:1e.0 PCI 桥:英特尔公司 82801 PCI 桥(rev a6) 00:1f.0 ISA 桥:英特尔公司 5 系列芯片组 LPC 接口控制器 (rev 06) 00:1f.2 IDE 接口:英特尔公司 5 系列/3400 系列芯片组 4 端口 SATA IDE 控制器(rev 06) 00:1f.3 SMBus:英特尔公司 5 系列/3400 系列芯片组 SMBus 控制器(修订版 06) 00:1f.5 IDE 接口:英特尔公司 5 系列/3400 系列芯片组 2 端口 SATA IDE 控制器(rev 06) 01:00.0 VGA 兼容控制器:nVidia Corporation GF106 [GeForce 450 GTS] (rev a1) 01:00.1 音频设备:nVidia Corporation 设备 0be9(rev a1) 03:00.0 以太网控制器:瑞昱半导体有限公司 RTL8111/8168B PCI Express 千兆以太网控制器(rev 03)
答案1
通过在休眠之前执行 rmmod r8169 解决了这个问题。我怀疑加载了错误的模块。lspci 说我有“03:00.0 以太网控制器:Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express 千兆以太网控制器(修订版 03)”,但已加载“r8169”。
该设备为板载 PCI Express。