Основная идея ремонта на этой стадии состоит в проверке цепи CPU (процессор) -> NB (северный мост) -> SB (южный мост) -> PCI (и распаяные на маме устройства PCI) -> ISA (и распаяные на маме устройства ISA) -> BIOS.
Как искать неисправность? Это оказалось несложно. Идея такая:
MOV eax, 55AA00FFh
MOV dx, 110h ; первая 32-х битная посылка
OUT dx, eax
MOV dx, 114h ; вторая 32-х битная посылка
OUT dx, eax
Что в результате? Если данные не искажены, это значит, что в цепочке до Южного моста (шина 64 бита, с оговорками) ->PCI (шина 32 бита) -> ISA (шина 16 бит) -> BIOS (8 бит, с оговорками) проблем нет. Для надежности необходимо повторить эту же операцию с инверсными данными, например 0AA55FF00h. Если есть четыре симметричных искажения, то проблема в связке ISA-BIOS, если два, то в PCI-ISA и т.д. (Хотя на практике все немного сложнее).
Содержание |
Осмотр
При ремонте многое можно заметить просто при внимательном осмотре. Перебитые или процарапанные при установке дополнительных плат или закручивании/откручивании винтов, установке/съеме радиатора дорожки, сколупнутые и царапанные smd-элементы, вздутые конденсаторы, дырки и трещины в микросхемах после сильных перенапряжений и статики, горелые транзисторы из-за перегрузки или короткого. Сколупнутые резисторные сборки - терминаторы процессорной шины на 56 Ом (иногда 100 Ом). У Acorp'овских мамок (и других) под s370 - это вообще песня. Кто додумался разместить их так, чтобы при установке/съеме, например, боксового радиатора от iCeleron 333..466, они сколупываются почти обязательно, а при установке любого другого - при малейшей неосторожности... Сборки бывают 2-х видов - в первом четыре отдельных резистора, во втором - 8 резисторов в виде 2-х групп по 4 с одним общим проводом. Паять матрицу можно, разогрев одну сторону большим паяльником с большим количеством канифоли и без припоя - после прогрева вторая сторона отпаяется и припаяется сама, останется проверить на сопли. На новых материнках третьего эшелона пару раз встречались недопаяные пассивные элементы, например, резистор запаян перпендикулярно плате :), лечится простой запайкой на место.
CMOS и батарейка
Обязательно надо проверить напряжение на литиевой 3-х вольтовой батарейке (CR-2032, 32 mah) - до сих пор попадаются мамки, которые при посаженной батарейке не запускаются совсем или глючат. Из старых наиболее памятны 5STX, а последнее, что я видел - было от Microstar на i810. Чем там при разработке думали - мне не понятно :) Если на батарейке меньше, чем 2.9 В - менять и проверить ток потребления, должен быть в пределах 3..10 мкА, если больше - мамка высаживает батарейку. Причины точной я не нашел, если ток очень большой - вероятно, кто-то щелкнул статикой по батарейке, а вот если 10..50 мкА - непонятно, или это утечки в южном мосте, или во флюсе под ним? Кварц и конденсаторы менял - не помогает :( Несколько раз такое попадалось на томатах на i810 чипсете. Замечены случаи на 430TX. Бывают ещё керамические CMD конденсаторы (танталы), которые уходят в утечку. Обычно так: работает - не работает, отлежится - снова работает... Но, к сожалению, найти их где-то еще, кроме как в цепи батарейки, где все и так очевидно, у меня не получается :( Изредка в цепях батарейки попадаются пробитые или оборванные диоды. Еще в природе есть нелепые гибридные сборки, включающие в себя батарейку. На ODIN-ах крышка снимается отверткой после пары пропилов. Dallas-ы осторожно пропиливаются в районе 20 вывода или просто расковыриваются острым ножом (там микросхема в DIP-корпусе, с одного торца над ней висит часовой кварц, с другого - батарейка), там загнутая наверх нога - это плюс батареи, минус на земле.
Как не глупо это звучит, в некоторых случаях достаточно просто сбросить cmos, не забыв при этом отключить дежурное питание (ATX). У некоторых tomato'вских мамок с soft-menu мамка просто не запустится с другим процессором, пока не нажмешь F (clear CMOS) или J (re-detect CPU) при включении питания, о чем часто забывают. Или, по разным причинам, в CMOS может оказаться установлена частота шины, на которой используемый процессор неработоспособен, и т.п.
Плохое питание
Конденсаторы
Вздувшиеся электролитические конденсаторы в импульсных стабилизаторах - болезнь многих современных мамок. Причин тут несколько. Во-первых, некачественные электролиты, которые вздуваются даже в цепях постоянного тока! Особое внимание обращать на кондеры, промаркированые GSC, G-Luxon, Licon (или Li-con, или Lycon), Jackcon, JPcon, D.S VENT, Chssi, OST - это просто фуфло, которое рекомендуется менять в любом случае, даже если они выглядят нормально.
Подробнее: Производители и самые часто встречающиеся серии
Во-вторых, перегрев от расположенных рядом силовых полевиков и собственный разогрев потерями на ВЧ после того, как электролит уже частично высох, отсутствие запаса по напряжению, плохая вентиляция и перегрев в тесном корпусе, когда все закрыто шлейфами. Глюки у материнки при этом возникают самые разнообразнейшие и необъяснимые. Например, мама может упорно молчать, а может вдруг начать нормально стартовать после прогрева или нажатия на резет. Если в процессе работы мама самопроизвольно перезагружается или достают недопустимые ошибки, синие экраны смерти и глухие зависания (при этом БП, винт и память в полном порядке, а ось свежепереставлена), то это, скорее всего, та же самая проблема кондеров... Менять крайне желательно на конденсаторы с +105 C и LOW ESR (LOW ESR - это низкое эквивалентное последовательное сопротивление), иногда их проще снять с другой мамки, чем купить. Номинальная емкость обычно некритична, если край надо, можно поставить и в 2 раза меньше. А вот напряжение лучше побольше, только где ж его возьмешь ;). Перед заменой не полениться протереть вытекший электролит с платы, он может наделать проблем. Также рекомендуется сделать небольшую доработку. Заключается она в добавлении керамических конденсаторов. Желающим понять теоретическую часть вопроса читать журнал "Радио" №1 за 2003 год. Так вот, нам необходимо шунтировать цепи питания процессора двумя дополнительными керамическими конденсаторами 3,3 - 4,7 мкф после электролитов или параллельно им, и 0,033 мкф в непосредственной близости от выводов процессора. Размещать эти конденсаторы удобнее всего с обратной стороны материнки: - 3,3 - 4,7 мкф "распараллелить" на несколько равных емкостей (не забудьте - параллельные складываются!), по числу электролитов в цепи питания, и напаять керамические конденсаторы прямо на выводы электролитических; - 0,033 мкф напаять на соответствующие выводы сокета/слота.
Подробнее: Аспекты надежности
Если на маме кондеры нормального вида, а она все равно не стартует, при этом, показывая на POST-карте дергающиеся в беспорядке цифры - не спешите паять мультик. Сначала с пристрастием проверьте кондеры питания проца, а лучше их сразу поменять...
Немного теории: Краткий обзор конденсаторов
Мосфеты
тоже дохнут
ШИМы
(полу)дохлые шимы
Нарушение БГАпайки
Все отпадает, и чипсеты, и сокеты...
Сдох северник
Бывает, особенно после проблем с его питателем...
Сдох мультик (южник)
При загрузке ПОСТ кажет C0-C1-0C-03-05, потом через пару секунд ресет-лед смаргивает и пошло поновой... Камень, память и видео многократно проверены. Очень похоже, что накрылся мульт (Super I/O), ибо неслабо греется, зараза, да и по коду соответствует. На первопнях, да и не только действительно такое хождение по кругу с большой степенью вероятности указывает на дохлую портовку. Хотя есть и другие причины. Ну а уж если она греется - то сам бог велел менять в первую очередь. А уж если прочесть, что 05 код у аварда это ошибка КБ контроллера, а он в ВХ чипсете снаружи, то вопрос вообще лентяйский.
Post карта показывает следующее: 00 03 05 С1 и опять 00 03 05 С1... Была почти такая неприятность на мамке MSI-6163Pro, когда Post карта показывала C1 и мать выключалась или практически уходила в резет, поменяли мультик, и всё заработало. (Произошло такое после скачка напряжения в сети). Точно, скорее всего, мультик, и на сколько я помню, из двух микросхем состоящий - 8679(8671) и 8687 ITE-шки, правда, не на 100% помню, а под рукой нет. Менять обычно надо обе. 8671 можно менять на 8679, но не наоборот. Правда при этом какие-то глюки с ATX-ным включением происходят, а с AT-шным работает нормально. Было еще 2 случая с дохлым южным мостом и такими же признаками. Но это редкость.
Gigabyte GA-7VA обе ревизии: ведут себя одинаково - стоят в нулях, на PCI есть мелкое шевеление и в ступор, даже ресет не работает (но отпущен), питания все в норме... Собственно, мультик кривой... Похоже, партия такая попалась, но смущает, что ревизии разные, а косяк один...
Сдохла встроенная звуковуха, сетевуха, рейд, еще какой-нибудь чип.
Сдохли и садят шину, не дают работать остальным...
Скопились 6 плат с одной и той же проблемкой - не стартует. После долгих поисков обратил внимание на звуковую микруху (AD1980), а именно, на еле заметное даже под лупой потемнение надписи на ней. Снял ее, и плата заработала. Дефект одинаков на всех 6 платах.
Флешка и жизнь на ней
Смотреть осцилом адресные ноги на PCI и "жизнь" на биосной флешке, если импульсы бегут (адреса перебираются), но машина не стартует, попробовать перешить bios (это можно сделать и раньше, чтобы быть уверенным в нем). Если же не бегут, значит процессору или мостам таки чего-то не хватает и придется перепроверить питания, стабильность прохождение ресета и стабильность клоков на всех элементах платы.
Как проверить флешь? На "обыкновенной параллелке" должны присутствовать сигналы CE# OE# и "перебираться" адреса и данные, иначе на всех линиях адреса/данных "1"(5В) на перебитой "полуеденица"(3.5в). CE#(ChipEnable) - "чипселект" (разрешение на работу с микросхемой), есть "1"... т.е. типа проц завелся. CE# на флешке должен быть "1" до начала загрузки винды. OE#(OutputEnable) - RE (возможность считать байт данных), "0"- постоянно. т.е. ошибка происходит в Boot Block'e (памяти)... WE#(WriteEnable) - WE (возможность записать байт данных)
Дополнительно смотреть качество питания на предмет плохой фильтрации.
Самый нудный вариант, когда СЕ# на флеше нет, проц горячий, а не стартует… Тут нужно брать большую лупу и искать, искать, искать... Но копать нужно только "системах жизнеобеспечения" ЦПУ...
Здравствуйте! Я все внимательно прочитал, и мне очень понравилось. Но подскажите, пожалуйста, где можно взять осциллограммы правильных сигналов? И что означают сигналы CE# OE#? Где можно найти теорию по этим сигналам? Где конкретно их мерять? Заранее благодарен.
При CE#=0 микросхема (в данном случае флешка) будет реагировать на остальные сигналы. При CE#=1 микросхема не будет реагировать на остальные сигналы (если у микросхемы есть двунаправленные линии, то при CE#=1 такие линии обычно переходят в высокоимпедансное состояние aka Z-состояние aka HIGH-Z aka 3-е состояние).
OE# - сигнал разрешения перехода двунаправленных линий в состояние выходов.
При OE#=0 двунаправленные линии переходят в состояние выходов. При OE#=1 двунаправленные линии переходят в Z-состояние.
P.S. Неплохо было бы понимать, что вышеописанное относится к флешкам с параллельным интерфейсом, которые в настоящее время практически не используются (да и в потоке ремонтируемых плат попадаются не часто).
Подскажите что означает прочерки на POST-плате? при этом мать не стартует
Карта вот такая freedelivery.in.ua/shop/details/85/36/dlya-kompyuterov/post-karti-testeri-... модель на ней не написано, контролер Atmel AT89C51.
Я как раз ДОГАДАЛСЯ прочитать инструкцию к своей POST-карте, но там НЕТУ расшифровки прочерков, если было бы написано я б сюда не писал с подобным вопросом. Так что прошу помочь с подобным кодом, что он означает.
-->
Сколько раз за два года возвращаюсь к данной главе, и понимание того о чём идёт речь не добавляется. Вижу что нарвался на "поди - почитай", но чёрт возьми, это же wiki!! Вы же новичков в первую очередь сюда шлёте.
Уважаемые мастера. Те кто в курсе о каких действиях идёт речь, и есть время и желание помочь, разжуйте пожалуйста без изысканной грубости (за 5тыс километров не то что глаза в глаза), на сколько позволяет простой русский язык и/или возможно ссылки на темы и доп. знания, прямо относящиеся к данной методе... Такое состояние МВ очень таки часто встречается (чаще всего), и чем внятнее способы диагностики, тем меньше мусора на форуме. Будем благодарны - это не те слова...МИР от отходов спасаем!
"стабильность прохождение ресета" уже второй раз за день натыкаюсь на вашем сайте на одно и то же понятие
как это проверить???
Проверка заключается в измерении (или наблюдении формы сигнала с помощью осциллографа) интересующих сигналов сброса во всех точках вышеуказанной схемы и анализе полученных значений на предмет адекватности.
Соглашусь с тем, что вики недоработана, информация не везде полная.
Нужно брать пример с "главной" википедии рунета. То есть, к примеру, фраза "стабильность прохождения ресета" должна быть выделена синим цветом и при нажатии на неё мы должны попасть на отдельную статью из википедии, в которой подробно описывается как и где это прохождение проверять, какое для этого нужно измерительное оборудование, а так же всякие схемы распространиения сигналов сброса, пояснения к этим схемам, примеры разных адекватных и неадекватных осцилограмм.
То же самое с фразой "проверить качество питания на предмет плохой фильтрации". Жмем и попадаем на страницу с подробным разбором этого вопроса, ит.д.
Разумеется, без каких-то пояснений, новичку не будут понятны ни первая, ни вторая фраза. Получается эффект, как от обучения в университете, когда некое аморфное знание студенту передается, но толку от этого очень мало.
Я тоже раз за разом перечитываю вики, и с каждым разом все-таки становится немного понятнее, но не потому что я внимательнее читаю, а потому, что я смог урвать еще крупицу информации откуда-то из интернета или проработать какие-то методы диагностики на личном опыте. Если бы информация была полнее и подробнее, было бы просто здорово.
Кстати, тоже интересует вот это. Прием, я так понимаю, позволяет резко сузить область поиска неисправности.
С азами ассемблера я знаком, но вот две вещи никак не могу понять: во-первых, каким образом можно занести данные в регистры процессора на нестартующей материнке?! Во-вторых, где потом проверять исказились они или нет?
Вот что я сам нагуглил по этому поводу. Хоть понимания это мне и не прибавило:
Хм, кажется сам разобрался откуда растут ноги.
Попробую описать все это так, как я понимаю.
Возможно кому-то другому, попавшему в мою ситуацию, не прийдется ломать себе голову.
Итак, идея заключается в использовании для диагностики bootblok'a системного BIOS. Бутблок это такой маленький кусочек биосной флэшки, к которому система при старте обращается в первую очередь. То есть, если мы напишем какую-то собственную программу на ассэмблере и запихнем её в этот бутблок, то она начнет выполнятся, при условии что процессор вообще завелся.
В данном случае командой MOV eax, 55AA00FFh мы помещаем шестнадцатиричное число 55AA00FF в регистр eax процессора, поддершивающего архитектуру х86.
Далее, командой MOV dx, 110h мы помещаем в регистр dx число 110h, это адрес определенного порта ввода-вывода.
Теперь, при выполнении команды OUT dx, eax произойдет запись значения регистра eax в порт 110h. То есть в этот порт попадет число 55AA00FFh.
Следующими двумя строчками кода мы делаем то же самое, только уже для порта 114h.
Далее, необходимо проверить, правильно ли вывелось наше число 55AA00FF.
В идеале для этого нужна специальная пост карта PCI, которая будет выводить значения из соответствующих портов. Причем не какая-нибудь пост-карта, а специально "заточенная" под наши манипуляции (обычные пост-карты считывают только значения порта 80h).
Но если такой пост-карты у нас нет, можно попробовать считать значения вручную. Для этого нужно хорошо понимать какие адресные ноги PCI отображают состояние того или иного порта. Я например, все еще в этом не разобрался. Но если провести аналогию с портом 80h, тогда, предположительно, процедура будет следующей:
Берем тестер и проверяем напряжения на всех адресных ногах слота PCI. Если какое-то напряжение есть, это логическая 1, если его нету - логический 0. Записываем на бумажку номера портов и напротив каждого из них значения 0 или 1.
Значение ног Address 0 - Address 31 будет показывать значение порта 110h
Значение ног Address 32 - Address 63 будет показывать значение порта 114h
Или наоборот (данный вопрос требует дополнительного изучения через какие адресные ноги какой порт передает сигнал. Я лишь показываю общий принцип).
В результате мы получим два длинных 32-битных числа в двоичном виде. Теперь их нужно перевести в шестнадцатиричный.
Для этого записываем число задом на перед (начинаем с 31 адресной ноги и заканчиваем нулевой) затем, при помощи втроенного в Windows калькулятора, переводим число в 16-ричный вид.
Преобразовав, например, число 1010101101010100000000011111111 - получим 55AA00FF. Если мы получили именно такое число на выходе порта, это будет означать, что в цепочке "процессор – северный мост – южный мост – PCI (и устройства на этой шине) – ISA (и устройства на ISA) – BIOS" все работает просто прекрасно. Если же мы получаем "симметричные искажения", значит что-то не работает. Идею симметричных искажений я сам не вполне понимаю. Если кто-то мне её пояснит - скажу спасибо. Предполагаю, что если опробовать метод на практике, из полученного числа сразу станет понятно 4 там искажения или два или одно. По количеству этих искажений, если верить автору, можно определить участок материнки, на котором что-то вышло из строя. Принцип этой косвенной зависимости для меня так же не совсем понятен. Буду признателен за объяснение. А покачто можно просто доверится автору и принять как аксиому то что, при четырех искажениях у нас сломалось что-то на участке ISA – BIOS, при двух PCI - ISA, а при одном SB - PCI (если следовать логике "продолжи последовательность"), а дальше... загадка))
Вообще, насколько я понял, авторами этой идеи, являются разработчики проекта LiteBIOS. Разработкой данного конкретного метода диагностики они занимались в 2006 году, когда их проект и скончался. И скончался он, если я все правильно понимаю, еще ДО того, как метод был доведен до ума. Другими словами, все что тут описано, на самом деле существует только в виде абстрактной идеи, которая так и не была реализована. И не факт, что это вообще осуществимо на практике!
В связи с вышеизложенным становится вообще непонятно что данный материал делает в вики.
Тем не менее, как выяснилось, участники этого проекта все же сделали много других полезных для диагностики вещей. Они разработали специальную тестовую прошивку BIOS, которая посылает на пост-карту свои собственные коды. Когда читаешь к ней документацию, начинают аж слюнки течь от того, сколько у неё всяких возможностей. К сожалению, данной прошивкой они не пожелали делится бесплатно даже после смерти проекта. Я сгуглил пальцы в кровь, но так и не нашел где можно её скачать. Эту прошивку они поставляли в комплекте со своей собственной пост картой. На их сайте можно скачать тестовую версию прошивки, эдакая демо-версия, но она по сути не делает ничего полезного. Так же вселенская грусть-печаль состоит в том, что похоже это работает только на платвормах старее 462 сокета.
Обсуждение на форуме "идеи": rom.by/opros/Vashe_mnenie_o_LiteBIOS (именно отсюда, ИМХО, материал был скопипастен в википедию)
Сайт разработчиков: icbook.com.ua/
Документация к посткарте и биосу: rom.by/files/ic80.pdf
Видеообзор этого чуда: rom.by/blog/Obzor_vozmozhnostey_IC80
Один из разработчиков, похоже до сих пор обитает на нашем форуме, его ник icbook. Буду признателен если он как-то прокомментирует мой пост.
Доброго Вам времени суток. Сейчас ремонтирую старую мать ASUS P5GV-MX с флешкой PLCC32. Не сталкивались с выводами на данной микрухе? Заранее спасибо.
Я перестал ремонтировать старые материнки. До 775 сокета. Смысла в них нет. Просто распаиваю на запчасти.
Отправить комментарий