При обновлении дистрибутива Убунты столкнулся с проблемой: ноутбук перестал нормально уходить в спящий режим. Навскидку единственное, что вызвало подозрения, это работа модуля omnibook. В dmesg это выглядело так:
[ 6.205903] omnibook: Driver version 2.20090707-trunk.
[ 6.205965] omnibook: Unknown model.
[ 6.206030] BUG: unable to handle kernel paging request at 00008800
[ 6.206137] IP: [<00008800>] 0x8800
[ 6.206209] *pde = 00000000
[ 6.206278] Oops: 0000 [#1] SMP
[ 6.206375] last sysfs file: /sys/devices/platform/omnibook/uevent
[ 6.206416] Modules linked in: omnibook(+) toshiba_bluetooth(+) cfg80211(+) videodev(+) v4l1_compat intel_agp(+) i2c_algo_bit soundcore video psmouse serio_raw lp output agpgart snd_page_alloc parport usbhid hid firewire_ohci sdhci_pci sdhci led_class ahci firewire_core crc_itu_t sky2 libahci
[ 6.207380]
[ 6.207416] Pid: 526, comm: modprobe Not tainted 2.6.35-25-generic #43-Ubuntu Satellite U400/Satellite U400
[ 6.207464] EIP: 0060:[<00008800>] EFLAGS: 00010206 CPU: 1
[ 6.207505] EIP is at 0x8800
[ 6.207541] EAX: 00000000 EBX: f8154584 ECX: 00000000 EDX: 00008800
[ 6.207583] ESI: 00000000 EDI: ffffffea EBP: f5195e38 ESP: f5195e18
[ 6.207625] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[ 6.207665] Process modprobe (pid: 526, ti=f5194000 task=f5148cb0 task.ti=f5194000)
[ 6.207708] Stack:
[ 6.207743] f83540f1 00000296 00000000 f8354224 00000246 f8154588 00000005 13b13b2a
[ 6.207845] <0> f5195e54 f835429c 00000040 000080d0 f52a1208 f8153e34 f8153e34 f5195e5c
[ 6.207850] <0> c04021c1 f5195e80 c0400fa0 f52a12d8 f5195e80 c0408627 00000000 f52a1208
[ 6.207854] Call Trace:
[ 6.207861] [] ? omnibook_init+0xb5/0x194 [omnibook]
[ 6.207866] [] ? omnibook_probe+0x54/0x132 [omnibook]
[ 6.207872] [] ? omnibook_probe+0xcc/0x132 [omnibook]
[ 6.207877] [] ? platform_drv_probe+0x11/0x20
[ 6.207880] [] ? really_probe+0x50/0x150
[ 6.207883] [] ? pm_runtime_barrier+0x57/0xb0
[ 6.207885] [] ? driver_probe_device+0x3c/0x60
[ 6.207888] [] ? __device_attach+0x49/0x60
[ 6.207891] [] ? bus_for_each_drv+0x53/0x80
[ 6.207893] [] ? device_attach+0x72/0x90
[ 6.207896] [] ? __device_attach+0x0/0x60
[ 6.207898] [] ? bus_probe_device+0x25/0x40
[ 6.207902] [] ? device_add+0x29c/0x3b0
[ 6.207906] [] ? kobject_set_name_vargs+0x64/0x70
[ 6.207909] [] ? platform_device_add+0xf7/0x1b0
[ 6.207912] [] ? platform_device_alloc+0x54/0x70
[ 6.207917] [] ? omnibook_module_init+0xdf/0x100 [omnibook]
[ 6.207921] [] ? do_one_initcall+0x32/0x1a0
[ 6.207926] [] ? omnibook_module_init+0x0/0x100 [omnibook]
[ 6.207930] [] ? sys_init_module+0x9b/0x1e0
[ 6.207934] [] ? sys_close+0x75/0xc0
[ 6.207938] [] ? syscall_call+0x7/0xb
[ 6.207940] Code: Bad EIP value.
[ 6.207942] EIP: [<00008800>] 0x8800 SS:ESP 0068:f5195e18
[ 6.207947] CR2: 0000000000008800
[ 6.207950] ---[ end trace 29f14589ebe98ce0 ]---
Поскольку единственная причина, по которой я грузил этот модуль, заключалась в неработающем Bluetooth в Ubuntu 9.10, я решил проверить, будет ли всё работать без этого модуля. И вот тут-то начался цирк:- Строчка blacklist omnibook в /etc/modprobe.d/blacklist.conf не помогает
- Строчка blacklist omnibook в /etc/modprobe.d/omnibook.conf согласно Debian Wiki тоже не помогает!
WTF?
Как оказалось, загрузка модуля была прописана в файле /etc/modules. После его зачистки модуль наконец-то перестал грузиться, и спящий режим тоже заработал.