Автор: Dmitry-r , 30 марта 2007
Со слов клиента пока холодная - может несколько часов поработать, а потом начинается...
У меня комп завис после 10 минут работы. Самое интересное - после зависания RESET не помогает, только выключение питания любым доступным образом. Повиснуть может в абсолютно любом месте, начиная с первого видимого кода C0 и заканчивая тестом 3dMark. При нажатии RESET светодиод "RESET" на POST-карте гаснет, если на экране была картинка - моник уходит в спячку. При отпускании RESET светодиод загорается, но POST-код остается тот, что был в процессе зависания. Если выключить питание (хоть с кнопки, хоть с БП) и включить снова - мать стабильно грузится до следующего внезапного зависания. Все кроме проца и оперативки менял, до этих пока не добрался. Все напруги на матери в норме, видимых внешних повреждений не нашел....
Кто-нить сталкивался с таким интересным глюком? У кого какие мысли? :)
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
icbook Я не знаю ассемблер. А вот у тебя это сколько бы стоило?

icbook

18 лет 11 месяцев назад

Предлагаю дождаться ответа автора - Dmitry-r - и обсудить этот вопрос в отдельной теме.

Dmitry-r

18 лет 11 месяцев назад

Для поиска всяких микротрещин и температурных глюков можно применять баллончик с сжиженным газом (азотом наверно, уж не знаю что именно там внутри - применяется для продувки техники), только баллончик нужно перевернуть вверх дном - при этом из трубки капает жидкий азот.

Методика эта давно известна, тока не надо путать баллончики для продувки и баллончики для охлаждения - это разные вещи (последние не нужно переворачивать :D ). Жидкого азота ни в тех, ни в других в принципе быть не может, т.к. азот при комнатной температуре не сжижается. :)

Лучше написать циклический фрагмент кода под ДОС с выводом в порт 80 своих контрольных точек, а затем соображать, где возникает проблема: от CPU до NB, от NB до SB, на PCI или где-то в другом месте. И это при условии, что в ДОС повиснет, ибо не факт.

Не думаю что в данном случае это даст заметный конечный результат, а заморочек достаточно, тем более что я тоже не знаю ассемблер... Могу, конечно, что-нить изобразить на паскале, но после компилирования это будет далеко не 2-3 десятка команд... :D Если бы icbook смог предоставить подобный набросок на асме, я бы провел эсксперименты - авось чего интересного узнаем... :)
Если бы мать просто висла - я даже тему не создавал бы, просто пустил на фарш... Но после зависания она не сбрасывается в полный ноль ресетом, вот что интересно... Приходится отключать и включать питание. Интересна не сама мать, а причина такой неисправности. Мои подозрения на мультик и/или южник... :)

icbook

18 лет 11 месяцев назад

Идея, описанная ниже уже была использована и опробована в LiteBIOS, посему изложу ее вкратце с купюрами и двусмысленностями :)

Предположение
Будем надеяться, что на исследуемой платформе под ДОС безболезненно можно использовать порты 80h...87h. Хотя можно использовать и любой другой подходящий диапазон портов, например, 180h...187h. Только в этом случае придется выводить в порт 80 доп.информацию.

1) Каким образом работать через 80h...87h?
А очень, оказывается, просто. Конструкция
MOV eax, 55AA00FFh
OUT 80h, eax
обеспечивает наличие в портах 80h...83h байтов, из которых состоит EAX. Факт может очевидный, а может и не очевидный.

2) Как искать неисправность?
Идея такая:
MOV eax, 55AA00FFh
OUT 80h, eax ; первая 32-х битная посылка
OUT 84h, eax ; вторая 32-х битная посылка
Что в результате? Если данные не искажены, это значит, что в цепочке до Южного моста (шина 64 бита, с оговорками) ->PCI (шина 32 бита) -> ISA (шина 16 бит) -> BIOS (8 бит, с оговорками) проблем нет. Для надежности необходимо повторить эту же операцию с инверсными данными, например 0AA55FF00h. Если есть четыре симметричных искажения, то проблема в связке ISA-BIOS, если два, то в PCI-ISA и т.д. (Хотя на практике все немного сложнее).

3) И так до бесконечности...
:)
Наметка кода такова:
[code:1]mov bx, offset _LOOP
MOV eax, 55AA00FFh
_LOOP:
not eax
OUT 80h, eax
OUT 84h, eax
not eax
OUT 80h, eax
OUT 84h, eax
jmp bx[/code:1]