November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Friday, October 7th, 2005 10:46 am
Точнее, на второй месяц эксплуатации ноутбука я заметил, что винчестер как-то уж очень медленно работает. Запустил hdparm - и вправду, dma (не путать с одноименным lj-user'ом!) отсутствует. И что смешно, не включается:

# hdparm -d1 /dev/hda

/dev/hda:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
using_dma = 0 (off)

С чего бы это? И с cdrom'ом та же фигня..

Правда, -m16 тоже несколько ускорило работу, но всё-таки хочется (хотя бы относительного) совершенства.
IDE-контроллер интел 82801DBM (ICH4-M). И до перестановки системы оно, помнится, даже работало. Где у меня ошибка в ДНК?
Tags:
Friday, October 7th, 2005 09:58 am (UTC)
Ядро то какое стоит?
У меня dma не взлетал, когда ядро не могло чипсет нормально распознать.
Friday, October 7th, 2005 10:16 am (UTC)
2.6.8 моей сборки
Вроде распознает:
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ICH4: IDE controller at PCI slot 0000:00:1f.1
Friday, October 7th, 2005 11:09 am (UTC)
Ну вот видать в "моей сборки" ошибка и есть =)
Возьми "дистрибутивное", посмотри - работает ли на нем и diff'ни конфиг свой с ихним.
Friday, October 7th, 2005 11:13 am (UTC)
Спасибо на добром слове :)
Даже если и работает,
$ diff -u config-2.6.8-2-386 config-2.6.8dil2 | wc -l
2894

Friday, October 7th, 2005 11:16 am (UTC)
grev -v '^#' забыл
Friday, October 7th, 2005 11:19 am (UTC)
это не сильно помогает
$ diff -u config-2.6.8-2-386 config-2.6.8dil2 | grep -v '^ #' | wc -l
2578
Friday, October 7th, 2005 11:22 am (UTC)
Не выспался или издеваешься?
Friday, October 7th, 2005 11:29 am (UTC)
У меня ядро настолько по-другому сконфигурировано, что искать различия с дистрибутивным бессмысленно. Как минимум, дистрибутивное ядро - initrd'шное, а у меня нет, и всё основное прибито в ядро гвоздями, а не вынесено в модули.
Friday, October 7th, 2005 11:34 am (UTC)
То есть ты и выспался и не издеваешься и серьезно не понимаешь, в чем ты не прав воткнув такой grep после diff? И сам не догадываешься о 's/=m/=y/'?

(Про "прибито гвоздями" я, пожалуй, воздержусь от комментариев. Пока, во всяком случае.)
Friday, October 7th, 2005 12:42 pm (UTC)
ты ещё посортируй всё же перед diff'ом
Friday, October 7th, 2005 03:14 pm (UTC)
В общем, это была плохая идея. Помогло прибивание piix непосредственно внутрь ядра вместо модуля.
Friday, October 7th, 2005 05:30 pm (UTC)
2.6.8 моей сборки
можешь объяснить, чем тебе штатное ядро не угодило?
Friday, October 7th, 2005 10:24 am (UTC)
*представила себе взлетающего [livejournal.com profile] dma
Friday, October 7th, 2005 10:27 am (UTC)
Вот специально для таких, как ты, я и написал - не путать с [livejournal.com profile] dma ;)
Friday, October 7th, 2005 10:38 am (UTC)
ассоциации-то уже никуда не денутся :о)

Friday, October 7th, 2005 10:55 am (UTC)
"Бородку-то я сбрею, а умище куда девать?"
Friday, October 7th, 2005 11:58 am (UTC)
Чорт, опередил :)
Friday, October 7th, 2005 09:58 am (UTC)
Нет - всего лишь в .config
Обязательно включи CONFIG_BLK_DEV_IDEDMA_PCI и CONFIG_IDEDMA_PCI_AUTO, также попробуй CONFIG_BLK_DEV_PIIX
Friday, October 7th, 2005 10:48 am (UTC)
Включены. Только piix модулем собран, но этот модуль загружен.
Friday, October 7th, 2005 12:17 pm (UTC)
Не знаю, как там в 2.6, но в 2.4 есть такая особенность, что если ide собрано в ядро, то и поддержка чипсета должна быть вкомпилена в ядро. Иначе не работает dma (по крайней мере у меня).
Friday, October 7th, 2005 12:19 pm (UTC)
В общем что--то типа
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH2: IDE controller at PCI slot 00:1f.1
ICH2: chipset revision 5
ICH2: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:pio

есть?
Friday, October 7th, 2005 12:23 pm (UTC)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
hda: FUJITSU MHT2080AH, ATA DISK drive
hdc: MATSHITAUJ-820D, ATAPI CD/DVD-ROM drive
Using anticipatory io scheduler
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
...
ICH4: IDE controller at PCI slot 0000:00:1f.1
PCI: Enabling device 0000:00:1f.1 (0005 -> 0007)
ACPI: PCI interrupt 0000:00:1f.1[A] -> GSI 11 (level, low) -> IRQ 11
ICH4: chipset revision 3
ICH4: not 100% native mode: will probe irqs later
ICH4: port 0x01f0 already claimed by ide0
ICH4: port 0x0170 already claimed by ide1
ICH4: neither IDE port enabled (BIOS)


Может, правда надо piix в ядро собрать, а не модулем?
Friday, October 7th, 2005 12:29 pm (UTC)
Ну судя по dmesg, если я правильно понимаю, модуль пытается поднять ide0 и ide1 и посылается. Похожу, в 2.6 такая фигня. Я бы попробовал собрать piix в ядрышко.
Friday, October 7th, 2005 03:13 pm (UTC)
Точно, помогло. Спасибо.
Friday, October 7th, 2005 04:32 pm (UTC)
Да не за что. Сам мучался когда--то...
Friday, October 7th, 2005 12:54 pm (UTC)
У меня такая фигня была (правда, на 2.4 ядре), тоже долго во всё это втыкал. Вылечилось в итоге сборкой piix в ядро.
Friday, October 7th, 2005 12:59 pm (UTC)
Да, мы уже к этой идее тоже пришли. Спасибо, попробую.
Friday, October 7th, 2005 02:43 pm (UTC)
Ты потом скажи, зачем ядро своё собирал.
Friday, October 7th, 2005 03:15 pm (UTC)
А ты умеешь собирать из исходников ipw2200 к дистрибутивному ядру?
Friday, October 7th, 2005 03:18 pm (UTC)
он, наверное, умеет говорить "apt-get install kernel-modules-ipw2200-std26-up" =)
Friday, October 7th, 2005 03:24 pm (UTC)
а где их берут?
$ apt-cache search ipw2200
ieee80211-source - Source for the 802.11 (wireless) network stack for Linux
ipw2200-source - Source for the ipw2200 driver
ipw2200-modules-2.6.8dil3 - ipw2200 modules for Linux (kernel 2.6.8dil3).
Friday, October 7th, 2005 03:26 pm (UTC)
"в сизифе" =)
насчет дебианов и убунт - не в курсе, извините.
Friday, October 7th, 2005 03:51 pm (UTC)
Насколько я понимаю, нужно поставить kernel-headers (или linux-headers для 2.6.12-ого) и собрать из пакета ipw2200-source тот самый модуль. После чего его и пользовать.
Примерно такую херню рекомендуют делать сами дебиановцы (In order to compile these modules you need the kernel sources or the kernel headers for the kernel image packages from Debian. For compile instructions look into /usr/share/doc/ipw2200-source/README.Debian... (http://packages.debian.org/unstable/net/ipw2200-source), выделение - моё). И примерно такую херню я делаю, когда собираю модули от vmware при переезде нановое ядро.

А система сборки ядра на дебиане, да - прибитая на всю голову. Я честно неасилил-патамуча-стехи.