Просмотр полной версии : Починка КНЖМД ДВК
Кто-нибудь пробовал чинить такую штуку (двухтранзисторную)?
У них, похоже, типовая неисправность - забываеют как читать: при чтении любого сектора ошибка 10000.
То есть форматирование и позиционирование работают, testdw радостно форматирует, но при проверке чтения - ошибка в каждом секторе.
Процессор и ПЗУшки проверены в такой же плате.
Я понимаю что там не две детальки в узле чтения, но может кто-то чинил несколько штук и знает куда в первую очередь смотреть.
- - - Добавлено - - -
Ну и заодно может кто разбирался с программами testdw и tdw?
Например, есть две разные tdw 05.10 (50 и 51 блок). Они и по меню разные и форматируют по разному.
Вроде как господин andyTh осуществлял квалифицированный ремонт КЖД на Фанто-Саннате в прошлом году, с заменой специфических ИС.
ИМХО - если входы на плате целы, то это как искать иголку в стоге сена.
Интересно, у меня есть один mfm hdd который ведет себя именно так, типа как форматирует а читать не может. Знаю что на выходе стоят хитрые преобразователи TTL в "дифференциальный" уровень сигнала. Вполне возможно начать с того что проверить доходит ли сигнал до контроллера от самого HDD и что на выходе приемника (должен же быть TTL сигнал по идее).
Есть предположение что эти самые дифференциальные приемники\передатчики могут вылететь при каком-то неудачном стечении обстоятельств.
Простое шаманство (проверка входного приемника) не помогла - тут всё путём.
Зато выяснил очень обнадеживающую подробность: один из контроллеров при попытки с него загрузиться начинает загрузку и даже выдает полную строку "DW v05...", а потом виснет.
Однако при попытке теста чтения программой TDW дает ошибку 10000 на каждый сектор.
Пробовал после рестарта по питанию и загрузки с флопа тестировать только дорожку 00 - тоже ошибка на каждый сектор. То есть дело не в позиционировании.
Похоже что информацию-то он читает, но выдает ошибку.
Правильно ли я понимаю что загрузчик из ПЗУ не проверяет корректность чтения? То есть он грузит загрузчик системы, передает ей управление, а вот дальше при попытке продолжить загрузку уже проверяются ошибки, ловит ошибку и виснет?
В DESSе составьте таблицу тех секторов ( с самого начала диска ), с которых возможно чтение, и с которых невозможно. Испытывать лучше винт, заведомо исправный и записанный ( проволочку "запись" в нем можно и перерезать - так, для гарантии сохранности.)
Вероятные причины - невыбор поверхности, ошибка позиционирования 00 трека, неверные тайминги перемещения коловки, ошибочная конфигурация винта, гнилой кабель.
Если хоть 1 сектор загружен правильно - 90% вероятности исправент тракт данных, 9% - ошибка СОЗУ контроллера, 1% - ХЗ. ( читается "Икс Три" :v2_dizzy_facepalm: ).
Не-не-не. Вы не поняли. программа TDW говорит что вообще ни один сектор не читается.
При этом начало загрузки проходит. И как я писал выше дело не в позиционировании. Проблем в винтом и кабелем тоже нет - с другим контроллером всё ОК.
При невыборе поверхности загрузчик из ПЗУ ничего бы не прочитал.
Методика испытания тракта чтения:
1. Включить ДВК к сети 220 вольт выключателем ( или прочистить ДОЗУ Т0 ).
2. В 134 ПЗУ загрузить 0 сектор с DW загрузчиком из ПЗУ 134.
3. После останова/перезапуска сделать скриншот участка ДОЗУ 0-20 ( 8 ) - т.е. если там "000240 000415" - тракт данных исправен, дело в управлени винтом.
Иллюстрация 1 : Загрузчик DW: см. от маркера
http://storage8.static.itmages.ru/i/16/0224/h_1456341175_5996102_8f987720f8.jpg (http://itmages.ru/image/view/3921890/8f987720)
- - - Добавлено - - -
http://storage4.static.itmages.ru/i/16/0113/s_1452704971_9956829_72a39137d7.jpg (http://itmages.ru/image/view/3399125/72a39137)
Если по 174004 установлено число "010000" - это и есть ошибка управления винтом ( бит 12 ).
Да мы с Вами опять о разном.
Попробую упростить ситуацию:
1) ПЗУ 134 читает самый первый сектор диска, это факт, иначе бы на экране при попытке загрузиться с DW0 не было бы строки "DW v05...."
2) программа TDW не читает этот же сектор или читает его с ошибкой 10000
Вот я и пытаюсь понять: ПЗУ 134, прочитав этот сектор, проверяет считался ли он нормально или просто передает на управление на считанный сектор?
Ошибка 10000 по мануалу - это "ошибка поиска адреса", то есть не то что данные, а даже заголовок сектора не найден. А ПЗУ 134 при этом нормально читает данные.
Ошибку данных ставит контроллер.
Дальше - можно перейти к составлению таблицы нечитаемых секторов ( или даже поверхностей ). Видимо, они будут за пределами 0 поверхности.
>Дальше - можно перейти к составлению таблицы нечитаемых секторов
Да все, ВСЕ сектора читаются с такой ошибкой. На ВСЕХ поверхностях
Ну сколько же раз я должен написать что тот же самый сектор, что нормально читает ПЗУ 134 при чтении программой TDW читается с ошибкой.
- - - Добавлено - - -
О, так у меня при загрузке читается не только самый первый сектор, раз даже выводится строка "DW v05....".
Это значит что и boot сектор нормально прочитался, и дальше пошло чтение.
А TDW ругается на все сектора, даже на boot сектор
>Дальше - можно перейти к составлению таблицы нечитаемых секторов
Да все, ВСЕ сектора читаются с такой ошибкой. На ВСЕХ поверхностях
Ну сколько же раз я должен написать что тот же самый сектор, что нормально читает ПЗУ 134 при чтении программой TDW читается с ошибкой.
Т.е. при загрузке с дискеты и поблочным ( с 0 блока винта ) вычитыванием винта в DESSe все секторы нечитаются ?
При загрузке с дискеты программой TDW делаю тестовое чтение нулевой дорожки. Все сектора на всех сторонах читаются с ошибкой 10000.
Хотя головки 100% стоят на нулевой дорожке
- - - Добавлено - - -
Завтра попробю DESS'ом посмотреть нормально ли читаются данные. А DESS покажет данные если контроллер выдаст ошибку при чтении?
- - - Добавлено - - -
Но ведь и ПЗУ как-то читает boot сектор. и Boot сектор начинает грузить систему....
...
Завтра попробю DESS'ом посмотреть нормально ли читаются данные. А DESS покажет данные если контроллер выдаст ошибку при чтении?
80% - не переключаются поверхности.
В RT-11 все операции ввода-вывода верифицируются контроллерами и драйверами.
В DESS можно определить ошибку по затягиванию процесса чтения и необновлению контента в массиве данных ( на экране ). Кроме того, он сообщит об ошибке текстом.
Насчет посмотреть контент ошибочного сектора - в МХ это возможно, но DW может не выдать блок ошибочных данных, т.к. ошибка имеется внутри контроллера винта - именно он не может найти нужный сектор.
Завтра попробю DESS'ом посмотреть нормально ли читаются данные. А DESS покажет данные если контроллер выдаст ошибку при чтении?Зависит от драйвера.
Чтобы читать DW напрямую - можно использовать: CopyDW_v1.3 (http://emulator.pdp-11.org.ru/misc/CopyDW_v1.3.zip)
но DW может не выдать блок ошибочных данных, т.к. ошибка имеется внутри контроллера винта
Откуда тогда на экране берется строка "DW v05...."
ПЗУ 134 эту строку само сочиняет? ;-)
Andrey_Ak
25.02.2016, 05:40
А если взять драйвер DW V05.08 [RYG] Рождевствин Ю.Г. 1990 г. (с) т. 322-12-14
и сделать им разбивку винта, на одну поверхность?
т.е. использовать только одну сторону одного диска, и так попробовать отформатировать и загрузится?
Еще есть смысл попробовать отформатировать диск программой TESTDW.SAV из ОС ФОДОС В03.00
Andrey_Ak, Андрей, тебе уже в пору в гадалки переквалифицироваться.
Любое предложение должно иметь какой-то практический или хотя бы теоретический смысл.
Драйвер и так такой, поверхность и так одна. И на другом 100% таком же, но рабочем контроллере все летает. Задача локализовать проблему на этом.
>Еще есть смысл попробовать отформатировать диск программой TESTDW.SAV из ОС ФОДОС В03.00
Можно узнать какой смысл? Что это чисто теоретически может дать?
Andrey_Ak
25.02.2016, 08:40
Andrey_Ak, Андрей, тебе уже в пору в гадалки переквалифицироваться.
Любое предложение должно иметь какой-то практический или хотя бы теоретический смысл.
Драйвер и так такой, поверхность и так одна. И на другом 100% таком же, но рабочем контроллере все летает. Задача локализовать проблему на этом.
Тут высказали предположение, что "80% - не переключаются поверхности." теоретически, если предположить
эту неисправность, именно на данном контроллере, то смысл есть проверить использование на диске только одну поверхность?
Разве в этом нет теоретического смысла? Или может я глупость какую сказал?
Разве в этом нет теоретического смысла? Или может я глупость какую сказал?
Ты просто невнимательно читал. Читаются с выставлением ошибки все поверхности. В том числе нулевая. Хотя именно чтение информации при загрузке как-то проходит, то есть с выбором нулевой поверхности точно проблем нет. Предположить что ПЗУ справляется выбрать нулевую поверхность, а TDW при загрузке с дискеты после включения питания не справляется - я не могу. Поэтому и спрашиваю смысл твоего предложения.
Хотя мой вопрос про смысл больше относился ко второму твоему предложению - отформатировать testdw вместо tdw. Что этим хочешь проверить?
Andrey_Ak
25.02.2016, 08:50
Ты просто невнимательно читал. Читаются с выставлением ошибки все поверхности. В том числе нулевая. Хотя именно чтение информации при загрузке как-то проходит, то есть с выбором нулевой поверхности точно проблем нет. Предположить что ПЗУ справляется выбрать нулевую поверхность, а TDW при загрузке с дискеты после включения питания не справляется - я не могу. Поэтому и спрашиваю смысл твоего предложения.
Хотя мой вопрос про смысл больше относился ко второму твоему предложению - отформатировать testdw вместо tdw. Что этим хочешь проверить?
TDW не совсем корректно форматирует, т.е. форматирует, но может не писать ошибки при форматировании..
А TESTDW после форматирования пишет ошибки, если они были..
TDW не совсем корректно форматирует, т.е. форматирует, но может не писать ошибки при форматировании..
Повторю: другой контроллер нормально всё читает. То есть проблем с форматированием нет.
кстати, а это хороший вопрос: насколько я понял ни одна программа форматирования ни на DEC ни на ДВК при форматировании не проверяет удачно отформатировалось. То есть контрольного чтения не выполняет.
У меня есть TDW1, которая форматирует заметно дольше, чем остальные. TDW и TESTDW судя по скорости форматирования никаких чтений не делают.
Andrey_Ak
25.02.2016, 10:16
Повторю: другой контроллер нормально всё читает. То есть проблем с форматированием нет.
кстати, а это хороший вопрос: насколько я понял ни одна программа форматирования ни на DEC ни на ДВК при форматировании не проверяет удачно отформатировалось. То есть контрольного чтения не выполняет.
У меня есть TDW1, которая форматирует заметно дольше, чем остальные. TDW и TESTDW судя по скорости форматирования никаких чтений не делают.
Приведу пример, у меня два винта 4096, оба форматировались через программу TDW без ошибок, но один винт дохлый,
и только программа TESTDW давала ошибки на дохлом винте..
Спасибо за пример. Только он не про мой случай.
Еще раз повторю - у меня винт 100% рабочий. Поэтому проверять еще несколько раз рабочий ли винт и нормально ли он форматируется смысла ни практического, ни теоретического я пока не вижу.
Andrey_Ak
25.02.2016, 10:32
Спасибо за пример. Только он не про мой случай.
Еще раз повторю - у меня винт 100% рабочий. Поэтому проверять еще несколько раз рабочий ли винт и нормально ли он форматируется смысла ни практического, ни теоретического я пока не вижу.
Так зачем проверять винт, мы не винт проверяем, а форматирует ли неисправный контроллер винт...
Погоди, зачем проверять форматирование?
Я пытаюсь с чтением разобраться. Какая связь? Или ты как в том анекдоте про техникум торговли и отсутствие туалетной бумаги?
Я вот уже несколько сообщений пытаюсь понять связь между твоими советами и локазизацией неисправности ЧТЕНИЯ.
Andrey_Ak
25.02.2016, 10:48
Погоди, зачем проверять форматирование?
Я пытаюсь с чтением разобраться. Какая связь? Или ты как в том анекдоте про техникум торговли и отсутствие туалетной бумаги?
Я вот уже несколько сообщений пытаюсь понять связь между твоими советами и локазизацией неисправности ЧТЕНИЯ.
Ну ты писал:
"Ну и заодно может кто разбирался с программами testdw и tdw?
Например, есть две разные tdw 05.10 (50 и 51 блок). Они и по меню разные и форматируют по разному. "
- Вот я и сказал свои наблюдения, что TDW не проверяет правильность формата, а TESTDW проверяет...
У меня testdw не проверяет нифига, форматирует с той же скоростью что и tdw.
И ты меня совсем запутал:
1) "мы не винт проверяем, а форматирует ли неисправный контроллер винт... "
то есть речь явно о проверке форматирования
2) Вот я и сказал свои наблюдения
Или ты не только меня запутал, но и сам не понимаешь что пишешь?
- - - Добавлено - - -
Ну вот, коллеги в соседней ветке ответили что ПЗУ при чтении не проверяет ошибки контроллера: читается загрузчик, если его первый байт совпадает с ожидаемым - выполняется переход на загрузчик.
То есть контроллер нормально читает данные, но зачем-то выставляет ошибку 10000 (сектор не найден).
.
Судя по симптомам - неисправен байт ошибки микроконтроллера. Поиск и чтение сектора проходят штатно, содержимое сектора сохраняется в буфере данных, после чего в байт ошибки записывается ноль. На этапе завершения операции из байта ошибки считывается ненулевое значение, что и приводит к наблюдаемому поведению.
- - - Добавлено - - -
Если единственным местом хранения байта ошибки является ячейка, видимая на шине, как старший байт регистра 174004 - значит там и глючит.
Да, спасибо, я как раз собирался сегодня "пошарить" по регистрам что к чему. Там проблема в том, что есть два регистра - в одном хранится код ошибки, а в другом (регистр состояния)-бит наличия ошибки.
Там проблема в том, что есть два регистра - в одном хранится код ошибки, а в другом (регистр состояния)-бит наличия ошибки.Об том и речь, что при выполнении подпрограммы завершения - микроконтроллер решает, нужно устанавливать бит ошибки в CSR или нет, исключительно по прочитанному содержимому байта ошибки ( переменных-то кроме регистров нет ).
Подпрограмма чтения ( после успешного завершения ) пишет в байт ошибки ноль, а подпрограмма завершения читает из байта ошибки НЕ НОЛЬ и ПОЭТОМУ устанавливает бит ошибки в CSR.
Научите серого как из пульта посмотреть адреса 174000...174020. Такое впечатление что по умолчанию с какой-то другой страницы памяти отдаются эти адреса. После включения питания (я выждал пока КНЖМД проинициализируется) все адреса равны нулю и всё что запишешь - все и читается. А ожидалось что 174000 будет всегда 401.
---
Нашел какую-то версию testdw, которая при чтении диска выдает ошибку "нет сигнала завершения операции".
И правда в пульте не бывает в 1 бит завершения готовности операции даже после программного сброса в НУ.
На рабочем контроллере все нормально.
На обоих признака ошибки и кода ошибки в региcтрах не бывает.
Далее буду на выходных смотреть осцилографом где теряем сигнальчик.
Спасибо всем большое за помощь!!!!!
Научите серого как из пульта посмотреть адреса 174000...174020.
Надо смотреть 22-разрядные адреса, т.е. 17774000...17774020.
Да, спасибо, я уже разобрался когда вторую часть предыдущего поста писал.
Просто сходу ошибся в количестве семерок и подумал что иду неверным путем.
Так что теперь точно понятно что теряется битик завершение операции. А программа TDW оказывается просто кака в некоторых вопросах.
...
Нашел какую-то версию testdw, которая при чтении диска выдает ошибку "нет сигнала завершения операции".
Следует читать "непроходит прерывание".
Спасибо всем за помощь.
Починил.
Спасибо всем за помощь.
Починил.
И что оказалось? МЛЗ?
А каким боком МЛЗ может относится к описанной проблеме?
Так что в итоге оказалось? А то попалась мне пара контроллеров с таким же глюком.
Так я осцилом по схеме посмотрел.
Там всего две микросхемы этот сигнал генерируют. Причем по цепочке. В результате поменял 1818, не помню какую, но ту у которой половинка - обработчик прерываний.
Поменял 1818ВК12 - ничего не изменилось. Или я не туда смотрю?
А у тебя именно такая же неисправность? Что осцилографом-то видишь?
А у тебя именно такая же неисправность? Что осцилографом-то видишь?
Такая же 1 в 1.
Я и осциллографа не вижу. Нет его у меня.
Я и осциллографа не вижу. Нет его у меня.
Тогда ты прав:
Или я не туда смотрю?
Тогда ты прав:
Посмотрел туда - все заработало.
Поздравляю! Если что - завсегда обращайся ;-)
Еще на двух контроллерах ошибка 20000 (ошибка CRC адреса).
Куда копать?
А это самое плохое.
Если ты уверен что проблема именно в тракте чтения (то есть попробовал винт, отформаченный на другом КНЖМД) - это плохо.
Причин может быть масса: от битого ОЗУ и глюкавости ФАПЧ до неправильного срабатывания детектора маркера.
Думаю что в "бытовых" условиях (без анализатора и т.д.) можно только посмотреть везде ли в тракте чтения проходит сигнал данных. Если же проблема не в его "потере", а в некорректной работе, например, ФАПЧ - тут я даже не подскажу на что посмотреть. Тем более раз у тебя нет осцилографа.
С 20000 починил.
Еще один контроллер при форматировании TDW пишет: Контроллер не выходит из состояния "занят".
Куда копать?
Сначала ручками почитать РСНУ на предмет бита "занят". Он всегда занят или только после операции "форматирование"?
Сначала ручками почитать РСНУ на предмет бита "занят". Он всегда занят или только после операции "форматирование"?
После форматирования, иначе бы он не читал и не грузился с него.
Откуда же я знаю грузится он с него или нет.
ПЗУшки пробовал менять?
- - - Добавлено - - -
И проблемы только с форматированием, запись нормально проходит?
Откуда же я знаю грузится он с него или нет.
ПЗУшки пробовал менять?
- - - Добавлено - - -
И проблемы только с форматированием, запись нормально проходит?
ПЗУ и проц. менял - все то же самое.
Запись тоже не проходит.
SKcorp., По-моему у тебя сложилось заблуждение что мне это нужно больше чем тебе ;-)
Ты же не блондинка, первичную диагностику вроде раньше умел делать.
А то пишешь что не работает форматирование с такой-то ошибкой.
Дальше клещами из тебя вытянули что чтение работает, а запись нет. И что ПЗУ и проц пробовал менять.
Теперь еще клещами тянуть с какой ошибкой не проходит запись?
Или спросить все ли детали на месте на плате?
Тракт записи там простой до безобразия. Осцилографом пробежать - 5 минут.
Теперь еще клещами тянуть с какой ошибкой не проходит запись?
Или спросить все ли детали на месте на плате?
Дык с такой же ошибкой: Контроллер не выходит из состояния "занят".
Ну вот, еще одну деталь клещами вытянули ;-)
- - - Добавлено - - -
Теперь осталось посмотреть осцилографом проходит ли сигнал "запись" на диск и идут ли данные записи.
Чисто теоретически я бы рискнул предположить что сигнал с ноги 16 D45 (вв5) не проходит куда надо, но это на осцилом смотреть. Как мне, неопытному, кажется - больше в тракте записи ничего тормозить процесс не может (с учетом рабочего чтения).
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot