| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS Windows > Проблемы с CD-ROM |
| Автор: The MASTER 13.4.2005, 09:33 |
| У меня есть ещё одна проблемка, снова же у меня под Windows XP и Windows 2003, при вставке немного поцарапанного диска или ещё что, он пропадает из системы до следующей перезагрузки... |
| Автор: Snowy 13.4.2005, 12:29 |
| Свойства системы - оборудование. Сделай поиск нового оборудования или просто нажми на кнопку "Обновить" |
| Автор: The MASTER 14.4.2005, 20:28 |
| Ну ведь так всегда нельзя, нужно чтобы CD-ROM работал всегда... |
| Автор: LSD 14.4.2005, 20:31 |
| Попробуй убрать разгон (если он есть). |
| Автор: Snowy 15.4.2005, 06:56 | ||
| У меня тоже бывает пропадает ром, если в него засунуть контуженный диск, подождать пока винда его прочитает, а потом, не дождавшись вытащить. Именно в таких случаях ром и пропадает. Лечится ведь лекго - Wim+Break->Оборудование->Диспетчер устройств->обновить. 5 секунд максимум.
Ну так не суй в него царапанные диски Или напиши прогу, которая будет периодически проверять сд на существование, а при отсутствии оного, запускать поиск. |
| Автор: Akella 16.4.2005, 08:48 |
| А почему на указываешь фирму производителя привода CD-ROM`ов? Попробуй удали из диспетчера устройств CD-ROM. Перезагрузи машину. Дрова саи установятся. Можно также посмотреть какие файлы ответсвенные в качестве драйверов и удалить их, что-система сама переустановила новые. |
| Автор: Snowy 18.4.2005, 07:38 | ||||||||
Так в том-то и дело, что его и так там нету - самоликвидировался
Так об этом и речь:
Радикальный способ борьбы с царапаными дисками... Нет, здесь проблема простая. Рассказываю сказку: Получая компакт, который вроде читается, разметка корректна, но на диске есть какой-то глюк, который "умный" сидюк пытается таки проглотить. Он уверен в своих силах - ведь у него есть протокол коррекции ошибок и чтения сбойных блоков. И поэтому, ведомый своей фирмварей, написанной разумеется самыми лучшими программистами в мире, которые забыли, что блок может так и не прочитаться, поэтому просто не предусмотрели завершение цикла при таком варианте. А в это время винда, которую юзер попросил открыть диск, пытается это самое и сделать... Посылает в порт сигнал - дай данные... дай данные... дай данные... Сидюк никак на это не реагирует. Ведь самые умные разработчики фирмвари не подумали, что процесс должен прерываться, и многозадачность в фирмарю тоже не засунешь. Поэтому сидюк тихо борется с царапинкой, абсолютно никак не реагируя на сигналы виндов. Реакция от сидюка появится только, когда цикл прервется, а это случится только при вынимании диска. И вот тут возникает различие между 9х и ХР: 9х впадает в ступор, тупо долбясь к сидюку. ХР - система более умная и многозадачная, после нескольких неудачных попыток, задумается "а был ли мальчик? А может мальчика-то и небыло..." Точно! Небыло никакого сидюка! Это все приглючилось. Наверное старая запись в реестре попалась. Ну, что делать... На всякий случай пинаем порт, на предмет отзыва от устройства... Так и есть - нет никакого устройства. Ну раз нет, значит вычеркиваем... Затем уставший пользователь вытаскивает таки сидюк. Цикл прерывается. Он вставляет другой диск и с удивлением замечает, что в системе нет диска Х:, на котором раньше болтался сидюк. Что он делает? Конечно ребут. И о, чудо! Диск появляется снова. Что тут добавить. При прерывании цикла фирмвари, сидюк снова начинает воспринимать запросы. Но не генерирует никакого события. Винда же больше не посылает никаких запросов, т.к. уверена, что устройства больше нет. Так что тут только такой выход - лезем в диспетчер устройств и жмем кнопку "обновить". Только тогда винда пошлет запрос к сидюку. Единственное, что могу посоветовать дополнительно - перешить фирмарь у сидюка. Правда эффект не гарантирован, т.к. новую фирмварю пишут те же гениальные программисты. |