Pulfer писал(а): ↑08.02.2012 21:13
verg писал(а): ↑08.02.2012 21:02
На самом деле давно нужно было 4.5.5 перенести в базовые, хотя она мне понравилось как отдельная репа.
Надо было, конечно,
но достаточно продолжительное время какой-то из драйверов в комбинации с какими-то моделями видеокарт плохо работал с KDE4 4.5. Поэтому тогда решили сохранить возможность пользователям остаться на KDE4 4.4. Потом проблема с драйверами исчезла, но про KDE уже как-то забыли... Только сейчас снова тема поднялась.
Опять-же -
недостаточное тестирование!!!
Лично у меня, после обновления с MIB возникла проблема работы драйвера NVidia на видеокарте 9600GT и сетевухи - Realtek GBE. Первым делом смотрим установленное оборудование, а затем - загруженные модули и прерывания:
# lspci
00:00.0 Host bridge: ATI Technologies Inc RD890 PCI to PCI bridge (external gfx0 port B) (rev 02)
00:00.2 Generic system peripheral [0806]: ATI Technologies Inc Device 5a23
00:02.0 PCI bridge: ATI Technologies Inc RD890 PCI to PCI bridge (PCI express gpp port B)
00:04.0 PCI bridge: ATI Technologies Inc RD890 PCI to PCI bridge (PCI express gpp port D)
00:09.0 PCI bridge: ATI Technologies Inc RD890 PCI to PCI bridge (PCI express gpp port H)
00:0a.0 PCI bridge: ATI Technologies Inc RD890 PCI to PCI bridge (external gfx1 port A)
00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA Controller [AHCI mode] (rev 40)
00:12.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller
00:12.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller
00:13.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller
00:13.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller
00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 42)
00:14.1 IDE interface: ATI Technologies Inc SB700/SB800 IDE Controller (rev 40)
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA) (rev 40)
00:14.3 ISA bridge: ATI Technologies Inc SB700/SB800 LPC host controller (rev 40)
00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge (rev 40)
00:14.5 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI2 Controller
00:15.0 PCI bridge: ATI Technologies Inc Device 43a0
00:16.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller
00:16.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller
00:18.0 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Link Control
01:00.0 VGA compatible controller: nVidia Corporation G94 [GeForce 9600 GT] (rev a1)
02:00.0 USB Controller: Device 1b6f:7023 (rev 01)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8169B PCI Express Gigabit Ethernet controller (rev 06)
04:00.0 USB Controller: Device 1b6f:7023 (rev 01)
05:06.0 Ethernet controller: Atheros Communications Inc. Atheros AR5001X+ Wireless Network Adapter (rev 01)
05:0e.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306 Fire II IEEE 1394 OHCI Link Layer Controller (rev c0)
Нашли нужное - проводную сетевуху и видео. Проверяем:
#lsmod | grep nvidia
nvidia 11983421 40
i2c_core 30375 3 videodev,i2c_piix4,nvidia
и, поскольку у меня сетевуха Realtek
#lsmod | grep r81
r8169 157238 0
Проверяю загрузочную запись IRQ в ACPI:
# dmesg | grep nvidia
# dmesg | grep r8169
Смотрю на прерывания - IRQ - и у видео и у сетевухи - IRQ-18. Результат - и то и другое работает через ж.. Т.е., перевожу на русский -
ни QT, ни KDE тут не при делах. Вообще. За это отвечает машинная запись ACPI ядра.
Как развести IRQ? Два варианта:
1. Пересобрать ядро с установкой r8169 в тело ядра, а не модулем
2. После загрузки в графике установить другой драйвер на сетевуху. (Именно - в графике, поскольку на видео IRQ выделятся ещё BIOS материнской платы, а сетевухе - "ядерный" ACPI. Так что гораздо проще переписать таблицу загрузки IRQ в ACPI, чем ковырять firmware bios в самом ядре. Проще говоря - если уж за видео "отжат" в BIOS IRQ-18, то он за ней и останется, а вот сетевухе, при загрузке нового модуля, ACPI придётся
выделить и записать в таблицу загрузки новый, не занятый никаким оборудованием IRQ.)
Поскольку я чел ленивый - пересобирать ядро - лень. Лезу на сайт Realtek -
http://www.realtek.com.tw Там нахожу драйвер для сетевухи Realtek GBE под Linux для ядер 2.6ххх Скачиваю, распаковываю, читаю README, устанавливаю. Проверяю:
#dmesg | grep nvidia
nvidia: module license 'NVIDIA' taints kernel.
nvidia 0000:01:00.0: PCI INT A -> GSI 18 (level, low) ->
IRQ 18
nvidia 0000:01:00.0: setting latency timer to 64
#dmesg | grep r8168
r8168 Gigabit Ethernet driver 8.028.00-NAPI loaded
r8168 0000:03:00.0: PCI INT A -> GSI 17 (level, low) ->
IRQ 17
r8168 0000:03:00.0: setting latency timer to 64
r8168 0000:03:00.0: irq 43 for MSI/MSI-X
r8168: This product is covered by one or more of the following patents: US5,307,459, US5,434,872, US5,732,094, US6,570,884, US6,115,776, and US6,327,625.
r8168 Copyright © 2011 Realtek NIC software team <nicfae@realtek.com>
r8168: eth0: link down
r8168: eth0: link up
r8168: eth0: link up
Угу. Сработало. ACPI записал в таблицу IRQ-17 для сетевухи и теперь будет разводить сетевуху и видео на разные IRQ ещё при загрузке ядра. Теперь нужно прописать загрузку модуля r8168 - ведь ядро о модуле r8168 не в курсах вообще. Лезем:
#mc -> /etc/modprobe.conf
alias eth0 r8169
install scsi_hostadapter /sbin/modprobe pata_atiixp; /sbin/modprobe ahci; /sbin/modprobe ata_piix; /bin/true
install usb-interface /sbin/modprobe ehci_hcd; /sbin/modprobe ohci_hcd; /bin/true
alias pci:v000010ECd00008168sv00001458sd0000E000bc02sc00i00 r8169
Угу. Так и есть - на eth0 и устройство pci:v000010ECd00008168sv00001458sd0000E000bc02sc00i00, то-есть сетевуху, подгружается модуль ядра - r8169. Исправляем:
alias eth0 r8168
install scsi_hostadapter /sbin/modprobe pata_atiixp; /sbin/modprobe ahci; /sbin/modprobe ata_piix; /bin/true
install usb-interface /sbin/modprobe ehci_hcd; /sbin/modprobe ohci_hcd; /bin/true
alias pci:v000010ECd00008168sv00001458sd0000E000bc02sc00i00 r8168
Сохраняем - F2
Перезагружаемся и проверяем:
# dmesg | grep nvidia
nvidia: module license 'NVIDIA' taints kernel.
nvidia 0000:01:00.0: PCI INT A -> GSI 18 (level, low) ->
IRQ 18
nvidia 0000:01:00.0: setting latency timer to 64
# dmesg | grep r8168
r8168 Gigabit Ethernet driver 8.028.00-NAPI loaded
r8168 0000:03:00.0: PCI INT A -> GSI 17 (level, low) ->
IRQ 17
r8168 0000:03:00.0: setting latency timer to 64
r8168 0000:03:00.0: irq 43 for MSI/MSI-X
r8168: This product is covered by one or more of the following patents: US5,307,459, US5,434,872, US5,732,094, US6,570,884, US6,115,776, and US6,327,625.
r8168 Copyright © 2011 Realtek NIC software team <nicfae@realtek.com>
r8168: eth0: link down
r8168: eth0: link up
r8168: eth0: link up
Всё ОК!
И видюха и сетевуха заработали отменно - как и положено. И совершенно естественным образом стабильно заработали и QT и KDE.