Полцарства за прямые руки

В начале марта 2010 в www.rcc-penza.ru я (kkatarn@rambler.ru) заказал запчасти (без сборки, согласился на 6-мес. гарантию: её обычно достаточно) для платформы на 1366-м сокете.

В финале - незабываемые 30 часов плясок с бубном.

Бэкграунд.

Основной состав:

  1. Core i7 920. Потому что 930 ещё не было - да и нет смысла переплачивать за мелкую разницу в частоте - а остальные камни под 1366 (1366 это стильно) - удивительных денег.
  2. ASUS P6TD Deluxe (исходя из предпочтений в операционках, да и недорогая она для платформы 1366).
  3. Три двухгиговые планки неторопливого Кингстона. Куда торопиться при восьмимеговом кэше третьего уровня?
  4. Кулер IH-4405+. Рекомендовали уже потом, там где всё покупал (заказанный кулер не пришёл).

По мелочи, из того на что можно обратить внимание:

  1. Однопластинный велосераптор. Под системы, пару любимых игр и важные файлы: заявленное WD MTBF этого винчестера - очень приличное.
  2. Заглушку для слота PEG: Gainward 210 с пассивным охлаждением.
  3. Башню Chieftec BA.
  4. PSU Corsair TX-950.
  5. Йапонские вентиляторы Scythe (120-слипстрим-800, 120-СФлекс-1600, 92-джентлтайфун-1200).

Прежде чем собирать дорогую платформу решил в очередной раз потренироваться. Благо и цель есть - собрать машинку, которая кушала бы поменьше электричества и выполняла роль торрентокачалки+фтп-сервера. За смешные деньги куплены (там же):

Тренировка.

Всё прошло без сюрпризов. За исключением того, что через сутки непрерывной работы сдох велосераптор (sic!; UPD: по ходу, из-за гнилого 12-ти вольтового рейла. Но БП покупался там же, моя совесть чиста). Надо отдать должное www.rcc-penza.ru - быстро протестили, вернули деньги.

Взял два терабайтных Самсунга Ф3. Впоследствии действительно оказалось, что они в нулевом рейде работают существенно быстрее велосераптора (в линейном чтении): и это при емкости в 2 TiB против 150 GiB! Велосераптор отдыхает.

Фряшное ядро отлично заработало на оборудовании материнки GA-G41M-ES2H (драйвер сети "if_re", звук - стандартный "snd_hda"). С иксами сложнее: под линухом (LiveCD OpenSUSE 11.3) всё отлично (OpenGL - аппаратный!). На фряхе (релизы 7.2 и 8.0) родная поддержка для G41 стухла. Гуглением нашёл, что надо внести в код драйвера DRM (он, как и на линухе, в ядре а не в самих иксах) идентификационные записи для чипа G41. Внес, пересобрал ядро, чип G41 радостно распознался, иксы с первого раза не стартовали. Даже не посмотрел на содержимое /var/log/Xorg.0.log: плюнул, надоело. Потому что:

Кулер Cl5-9HDSF-PL-GP при умолчальной скорости вентилятора отличается очень шумным нравом. Как оказалось, тем, кто его проектировал, хорошо бы выдернуть руки: поток воздуха на входе почти на всей площади поперечного сечения перпендикулярен оребрению. Тот, кто придумал на вентиляторе кулера «Silence» нарисовать - или неслабый шутник, или подразумевал тишину в другом месте. Под вендой вылечил программной регулировкой соответствия температуры и скорости вентиля, под ФриБСД спасения нет. Прощай, тихая торрентокачалка!

Сервер оставлен в виде:

  1. Купленная 2 года назад материнка ASUS M2N-E под сокет AM2+. Попутно выяснил, что она не дружит с той памятью (хиндай/хиникс DDR2-800), которая в ней торчала до этого: при попытке подключения нескольких винчестеров плата периодически начинала сбрасываться (сначала грешил на встроенный рейд-контроллер nVidia MegaShield). Вылечилось заменой памяти на кингстон DDR2-800.
  2. Atlon X2 5600+, множитель сброшен до 14 (что эстетичнее чем 14.5), напряжение понижено на 0.1 В; кулер - сцише сюрикен. После пары лет эксплуатации штатный низкопрофильный вентилятор на кулере начал шуметь, повесил вместо него 92-сцише джентлтайфун-1200 (над вентилем пришлось поработать ножовкой, его корпус изначально не приспособлен на крепление проволочными скобками). Красота! Вентиль - несмотря на двойной подшипник качения - очень тихий. И достаточно производительный (сравнительно плотное оребрение кулера нормально продувается на скорости 1200).
  3. Корпус - тот Чифтех, в котором хотел собрать Кору. Потому что он красивый. Потому что он по-человечески сделан. Потому что у него вентилируемая корзина под восемь винтов. Потому что рука не поднялась его уродовать, выпиливая решётки на задней стенке (поставил туда тихоходный сцише слипстрим, от него поток воздуха на решётке не шумит) и боковых стенках (на охлаждение корзины с винтами, чипсета и видео - 92 мм глациалтех сайлентблэйды, гидродинамика, запитаны от 7 вольт).
  4. Видео - 16-процессорный Gainward 210. Потому что драйверы под фрибсд (правда, некоторые из них и именно этой платой не очень дружили с ядром на 7.2; остановился на версии 185.18.14). Потому что он очень холодный. Потому что его вполне хватает и для фильмов, и чтобы поиграться (под фряхой, через wine - мы, комсомольцы, сами себе сложности создаём) в игрушки на движке от кваке2/3 (виват, «Half-Life», «Alice» и «Jedi Outcast»!).
  5. 4 винчестера. Самсунги Ф3 - в зеркало, WD10EADS - система и некритичные архивы, WD15EARS - файлопомойка. Последний винт - отдельная тема. Он с четырехкилобайтными секторами. Это тихий ужас для схемы разбивки, использующей MBR (и умолчальных разбивочных средств хрюши; UPD: о последних - еще один печальный опыт). Главную загрузочную запись на нём создавать вообще не стал, на весь винчестер (не на раздел, именно на винчестер) - одну файловую систему UFS2 (newfs -U -f 4096 -b 32768 /dev/ad8), даже без создания фряшного слайса. Теперь этот винт нельзя подключать к венде NT/XP/и_дальше: при попытке записи сигнатуры она изгадит содержимое суперблока файловой системы. Прощай, венда!
  6. PSU от корпуса ASCOT 6SR1. БП хороший, его бы и на Кору хватило - но для коры уже куплен киловаттный Корсар. В аскоте решил собрать Кору, торжественно отнадфилил решетку на задней стенке аскота, и...

Приступаем.

Вынул айсхаммер 4405+. Оребрение хлипкое и болтается. Пара центральных тепловых трубок не прилегает к нижней подошве кулера. Сэкономил, блин! Спасибо сервисцентру - сходил, поменял на монстра CoolerMaster Z600R. Айсхаммер 4405+ отдыхает: у кулермастера и с контактом тепловых трубок всё в порядке, и оребрение (человеческое: с переменным шагом!) не болтается. Кулермастер Z600R, конечно, тяжеловат (в момент крепления плату к камнем нужно надевать сверху - она в разы легче кулера); но для сокета 1366 всё не так печально: дырки расположены не квадратно, а прямоугольником, ориентированным вдоль платы (инженеры Intel учат в школе статику). Только комплектный термопластилин у кулера плохо распределяемый.

Вставил Кору, намазал подошву кулера алсилом-3, надел плату на кулер, навесил обратную пластину, нежно привернул, вставил 3 планки кингстона, навесил вентилятор. Вставил в ПЦИ-слот видео (Матрокс MGA2164W «Миллениум II», который для открытого тестирования использую). Прицепил Корсар (к БП претензий не было: до этого прогонял его с двумя другими платформами). Запустил. Ура, экспресс-гейт грузится, биос (нагружено единственное ядро) рапортует об установившейся температуре проца в 40 градусов. При переходе к пассиву проц очень медленно начинает греться примерно до 55-ти: тепловой контакт проца с кулером нормальный, у тепловых трубок температура практически как у проца.

Пару слов об операционках, которые хотел видеть на Коре.

  1. 32-bit FreeBSD. Потому что люблю её иррационально. Потому что жефорсные драйверы под 64-bit FreeBSD (для 7.3/8.0 - энвидиа говорит что у нижних 64-битных фрях ядро не позволяет по человечески реализовать драйвер) пока ещё кривые. Прощайте, 3 Гб памяти из 6-ти!
  2. 32-bit Венда ХР. Потому что игрушки под Директ3Д и потому что Ворд с Экселем (большинство нужных вендоус-программ через вайн под унихами вполне нормально себя чувствуют). Таки не говорите мне про ОпенОфис: у меня куча старых вордовских файлов с формулами и экселевских с кодом на Васике. Трех гигов памяти хватит.
  3. 64-bit Линух. Какой-нибудь клон шапки (только не точный клон, такой как центос, сайнтифик линукс или полигон-федора). Потому что памяти установлено 6 гигов. Потому что энвидиа КУДА, которая не предвидится на фрибсд (на венде она, конечно, есть: но у венды будет только указанная область применения). На энвидевском сайте явно упоминается ОпенСЮЗИ.

«It has begun!».

Прицепил ДВД привод и винт (2.5 дюймовый корейский самсунг на 160, шёл вместе с ноутом но был после покупки ноута заменён на 320-сигейт). БИОС родной, настройки дефолтные.

Пробую загрузить венду на одном процессорном ядре (LiveCD WindowsPE, ядро сборки которой не поддерживает спецификацию интел СМП) - работает.

Мне стрёмно: может я проц криво установил? (до этого с сокетом 1366 дела не имел). Откручиваю кулер (пятно термопасты нормальное), аккуратно удаляю термопасту (на подошве кулера замечены очень мелкие неровности, похожие на отслоения никелевого покрытия от подошвы; далее оказалось, что на тепловом сопротивлении они не сказываются). Вынимаю проц. Отпечатки ножек сокета вроде попадают на контактные пластины проца. Ставлю проц назад, мажу кулер пастой КПТ-8, прикручиваю к плату к кулеру. Запуск, биос рапортует о той же температуре.

Пытаюсь повторить установку каждой из трех операционок - те же яйца, только в профиль.

Вынимаю Матрокс, вставляю G92b. Пытаюсь повторить установку каждой из трех операционок - опять те же яйца в профиль. Вынимаю 2 планки памяти из 3-х. Всё по старому.

Гуглю. Самое информативное из всего, что нашел: «причина может быть во всём - от БП до памяти». Но БП до этого уже подключал к другим платформам, а память memtest86 проходит, да и на замену у меня нету ничего.

Прошиваю последнюю версию БИОС-а - 0501. (из биосного ез-флеша, пришлось применить гуглом найденный фокус с переименованием файла прошивки). Безрезультатно, всё по старому.

Пытаюсь грузить фряшное ядро через двойку (выключить АПИК, потеряв гипертридинг и три ядра) - как не странно, видны четыре ядра (гипертридинг не виден), ядро грузится через раз, установка до конца не проходит.

Пытаюсь грузить ядро линуха с ключом -noapic - «ошибка назначения векторов прерываний», ступор, хотя ресетом пересбрасывается.

Зверею, выключаю нафиг APIC в БИОСЕ. Теперь уже фря не может распределить ресурсы, ядро стопорится. Венда мне уже не интересна. Ядро линуха радостно грузится в не-СМП ипостаси, установка проходит, сеть, звук и файрвайр работают.

Ну, установили Линух. Что видим?

#cat /proc/interrupts
           CPU0       
  0:        128    XT-PIC-XT        timer
  1:        865    XT-PIC-XT        i8042
  2:          0    XT-PIC-XT        cascade
  3:         42    XT-PIC-XT        uhci_hcd:usb5, uhci_hcd:usb7
  4:        456    XT-PIC-XT        HDA Intel
  7:          0    XT-PIC-XT        uhci_hcd:usb4
  8:         14    XT-PIC-XT        rtc0
  9:          0    XT-PIC-XT        acpi
 10:          2    XT-PIC-XT        ehci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb6, pata_marvell
 11:       3526    XT-PIC-XT        ata_piix, ehci_hcd:usb1, uhci_hcd:usb8, ohci1394
 14:       4788    XT-PIC-XT        ata_piix
 15:          0    XT-PIC-XT        ata_piix
 16:          0  DMAR_MSI-edge      dmar0
 17:          0  DMAR_MSI-edge      dmar1
 25:         17  IR-PCI-MSI-edge      eth0
 26:         27  IR-PCI-MSI-edge      eth1
NMI:          0   Non-maskable interrupts
LOC:      45176   Local timer interrupts
SPU:          0   Spurious interrupts
CNT:          0   Performance counter interrupts
PND:          0   Performance pending work
RES:          0   Rescheduling interrupts
CAL:          0   Function call interrupts
TLB:          0   TLB shootdowns
TRM:          0   Thermal event interrupts
THR:          0   Threshold APIC interrupts
MCE:          0   Machine check exceptions
MCP:          3   Machine check polls
ERR:          0
MIS:          0

Как и ожидалось, АПИК-а нет и в помине. Контроллер прерываний работает в «доисторическом» режиме. Спасает отсутствие ISA-устройств (ком-портов) - звук повис на 4-м прерывании. На 11-м висят аж кусочек сата-контроллера, кусочек контроллера усб и файр-вайр. Я, конечно, понимаю - PCI-устройства разшаривают прерывания, но всё равно нехило!

Хорошо хоть для сети message-signaled прерывания используются...

Самое главное (и - вновь ожидаемое):

#cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 26
model name	: Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz
stepping	: 5
cpu MHz		: 2668.000
cache size	: 8192 KB
physical id	: 0
siblings	: 1
core id		: 0
cpu cores	: 1
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 11
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts rep_good xtopology tsc_reliable nonstop_tsc pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ida tpr_shadow vnmi flexpriority ept vpid
bogomips	: 5345.59
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:

И это все содержимое /proc/cpuinfo!

Ура, за тридцать килорублей я собрал одноядерную платформу.

01.04.2010. Ничего себе первое апреля. Мне - в сервис.

Отвёз. Респект сервис-центру: им было не лень почти сразу сюда заглянуть.

07.04.2010. Говорят, что ничего не делали. Тем не менее: ядра линуха и фряхи грузятся!. Проверяю...

07.04.2010. Елки! Всего-то: прицепил IDE-шный привод, запитал от другого блока... но: венда установилась, разогнанный шиной до 3.3 ГГц проц оставляет взаде все остальные 8-ядерники в рейтинге Эвереста... ацкая машинка )))...

Нашёл причину! Это всё было из-за Корсара... Вот уж не думал на него... Первый раз из-за БП такое.

Прикрутил старый 450-ваттный БП от инвина (пришлось брать паяльник - у аскота БП размещается снизу, чеырёхконтактный провод ATX не доставал до разьёма). Всё работает.