Индикатор работы HDD. Добавим индикатор активности жесткого диска в системный трей Windows

Вчера на бортовой панели ПК было подмечено, что индикатор обращения к жесткому диску стал постоянно и непрерывно гореть красным цветом независимо от наличия или отсутствия активных файловых операций. Проблемы с жёстким диском?

Индикатор активности HDD горит во время записи данных на жесткий диск или же чтения данных с жесткого диска компьютером. Индикатор в частности может постоянно непрерывно гореть во время работы какой-то программы к примеру, проигрывателя компакт-дисков либо выполнения компиляции из исходного кода. В случае же, когда индикатор активности жесткого диска всегда, постоянно и непрерывно горит красным цветом независимо от наличия или отсутствия файловых операций – то это говорит о наличии проблем с жестким диском или другим оборудованием ПК.

При всём этом, в момент включения/старта компьютер может зависать выдавая 4 варианта действий:

1) Press F2 or DEL to run setup
2) Press F6 Instant Flash
3) Press F11 Boot Menu
4) Press Tab to sweetch screen

Совет "Поменяй батарейку в мат. плате" в данном случае проблему с постоянной активностью индикатора HDD не решает! Некоторые связывают это с битой/проблемной RAM-ой, однако и ОЗУ (оперативная память) здесь не при чём.

В качестве ОС на рабочей станции используется Debian GNU/Linux 8. Незадолго до появления проблем с постоянным свечением индикатора активности HDD был какой-то глюк с файловой системой: при перезагрузке ФС постоянно переводилась в состояние read-only (только для чтения) выдавая "Failed to start Remount Root and Kernel File Systems.", но это уже совсем другая история.

Решение

В блоке стоит 2 HDD (SATA и IDE) на каждом из которых стоит ОС и имеется соответствующая MBR - т.е. оба HDD загрузочные. Искать проблемный HDD было решено методом их поочерёдного исключения из системы.

Первым был отключен SATA (Western Digital, WDC WD5000AAKX), система загружена с IDE (Seagate), и проблема с индикатором активности диска исчезла. Перешевелив шлейфы (вытыкая/втыкая) SATA-интерфейса и SATA-питания на разъёмах мат.платы и самого HDD - проблема устранена полностью, система успешно была загружена с SATA-диска и никаких "тормозов" в ходе POST (Power-On Self-Test) тестирования при старте, а также никаких проблем с индикатором активности жёсткого диска ныне не наблюдается.

Проходят годы, контакты окисляются и соединение между ними слабеет или же пропадает вовсе. В данном случае можно с большей долей уверенности сказать, что затронутые в этой теме проблемы были прямо связаны с плохим контактом на шлейфе SATA-интерфейса имхо контакты на SATA-питании ржаветь не успевают по той простой причине, что каждые 3-4 месяца из системного блока полностью изымается, разбирается и чистится блок питания, "кулеры" с радиаторами и т.д.. При этом интерфейсные шлейфы подключения жестких дисков оставались без внимания нетронутыми (около 3-х лет).

Мораль такова, что при следующем сан.тех. обслуживании системного блока нужно будет по ходу дела заодно шевелить и интерфейсные шлейфы жёстких дисков - чтобы не заржавели.

Что ещё можно сделать если шевеление интерфейсных шлейфов не решает проблему с жёстким диском (в порядке приоритетности):

  1. Подключить проблемный жёсткий диск к другому, полностью и без проблем рабочему, системному блоку в качестве обычного (не загрузочного) вторичного;
  2. Хорошенько почистить контакты шлейфов и разъёмы их подключения;
  3. Полностью заменить шлейфы;
  4. Заменить блок питания;
  5. Заменить батарейку питающую CMOS, и, монитор протереть заодно.

Если в другом, полностью и без проблем рабочем, системном блоке диск никаких проблем с индикатором не вызывает, то целесообразны будут все остальные выше описанные шаги.

Если диск вызывает проблемы с индикатором активности HDD только в случае если он подключён как загрузочный, то вероятнее всего эти проблемы связаны с наличием в системе какого-то вредоносного процесса, который стартует вместе с операционной системой и в таком случае нужно:

  1. Найти процесс выполняющий много файловых операций чтения/записи и попробовать отключить/убить его;
  2. Проверить систему антивирусом.

В случае если жёсткие диск в любом системном блоке и на любых шлейфах (блоках питания) вызывает проблемы с индикатором активности HDD, независимо от наличия или отсутствия активных файловых операций (например в безопасном или однопользовательском режиме), то нужно:

  1. Осмотреть сам диск и состояние контактов/шлейфов на его внешней плате;
  2. Из под глухого DOSа либо загрузившись с Live-CD выполнить полную проверку диска (MHDD, fsck etc) на наличие битых секторов, осиртевших инодов (orphan inodes) и исправить их по возможности;
  3. Выполнить полное форматирование если поиск и исправление ошибок не дало результата.

Ну, а если совсем ничего из вышеперечисленного не помогает, то юзать диск пока он полностью не крякнет или же начинать им колоть орехи вже сегодня - имхо хождение по сервисным центрам обойдётся не дешевле покупки нового HDD ;)

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

Есть и другие преимущества наличия такого индикатора, конечно, но компьютеры всё реже оснащают им. К счастью, есть программное решение: TrayStatus - бесплатная утилита для Windows от компании BinaryFortress.


TrayStatus фактически предлагает ряд функций мониторинга, большинство из них отражают информацию о состоянии клавиатуры. Таким образом, вы можете увидеть как загорается значок, когда вы нажмёте, скажем, Caps Lock или Num Lock. Для наших целей, однако, давайте сосредоточимся на индикаторе жёсткого диска.

Шаг 1: Загрузите, установите и запустите TrayStatus. (Последняя версия, 2.0, включает поддержку Windows 10.)

Шаг 2: Найдите значок TrayStatus в системном трее, нажмите на нём правой кнопкой мыши и выберите "TrayStatus Settings".

Шаг 3: Убедитесь, что установлена галочка "Show Hard Drive Activity", нажмите кнопку "ОК".




Шаг 4: Вы должны увидеть значок жёсткого диска TrayStatus в системном трее. Он будет мигать зелёным, когда идёт чтение, и красным, когда идёт запись. Тем не менее, по умолчанию, этот новый значок обычно спрятан в системном трее, и доступен только по нажатию стрелки, что вряд ли удобно. В этом случае, можно покопаться в настройках Windows, как описано на следующих шагах.

Шаг 5: В Windows 10 (этот процесс может немного отличаться в более ранних версиях), нажмите "Пуск> Параметры". Затем выберите "Система", затем "Уведомления и действия".




Шаг 6: Нажмите ссылку "Выберите значки, отображаемые в панели задач", а затем прокрутите вниз, пока не найдете "TrayStatus Hard Drive". Нажмите на тумблер, чтобы установить его на "Вкл". (Здесь так же можно включить другие индикаторы TrayStatus).

Нашим постоянным читателям достаточно хорошо известны работы специалистов из Исследовательского центра кибербезопасности (Cyber Security Research Center) университета Бен-Гуриона (Ben-Gurion University), Израиль, которые специализируются на изобретении необычных способов взлома и похищения информации из недр самых защищенных компьютерных систем . И недавно им удалось обнаружить еще один потенциальный источник утечки информации, которым является привычный всем нам светодиодный индикатор, отображающий активность жесткого диска компьютера.

Напомним нашим читателям, что компьютеры, выполняющие критичные операции или содержащие сверхсекретную информацию, в большинстве случаев защищают методом так называемого "воздушного барьера". Это означает, что этот компьютер не подключен сам, ни к другим компьютерам, подключенным к сетям, имеющим выход в Интернет. Это делает невозможным обычный хакерский взлом и для того, чтобы выудить информацию из недр такого компьютера, требуется прибегать к очень изощренным уловкам.

В своих исследованиях исследователи установили, что, запрограммировав определенным образом последовательность обращений программы к жесткому диску компьютера, можно заставить светодиодный индикатор активности мигать со скоростью около шести тысяч раз в секунду. Такой частоты вполне достаточно для передачи данных со скоростью до 4 тысяч бит в секунду. Конечно, передача одного мегабайта данных на такой скорости займет немногим более получаса, но для того, чтобы передать украденные сообщения, пароли, ключи шифрования и другую подобную информацию, потребуется совсем немного времени.

Для использования светодиода жесткого диска в качестве передатчика потребуется установка на атакуемый компьютер специальной программы-шпиона LED-it-GO, уже разработанной израильскими исследователями. В настоящее время работа этой системы была проверена на компьютерах, работающих под управлением операционной системы Linux, однако исследователи уверены, что точно таким же способом можно организовать похищение информации и с компьютеров под управлением Windows. Положительной чертой данного способа является то, что все люди уже давно привыкли к хаотичному миганию индикатора жесткого диска компьютера и вряд ли смогут заметить изменения в характере его работы. А модуляция свечения светодиода с частотой в несколько килогерц находится далеко за пределами возможностей восприятия глаза человека.

Но, обеспечение передачи информации через светодиод жесткого диска - это только половина процесса похищения информации. Вторую часть работы на себя может взять крошечный шпионский беспилотный летательный аппарат, оснащенный быстродействующей камерой и фотосенсорами. Объектив камеры может быть сфокусирован исключительно на светодиоде компьютера и тогда чувствительности датчиков будет достаточно для съема информации даже через тонированное стекло закрытого окна.

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

И, в качестве последней меры израильские исследователи советуют просто заклеить светодиодный индикатор куском непрозрачной ленты. Этот метод является яркой демонстрацией того, как распространенные и простые материалы, такие, как кусок обычной изоленты, могут оказать эффективное противодействие самым изощренным и современным шпионским технологиям.

Введение

Индикаторы загрузки, о которых пойдет речь, являются не только улучшением внешнего вида, но и несут чисто практическую пользу.

Эта статья состоит из двух независимых частей: индикатор загрузки процессора и винчестера.

Индикатор загрузки винчестера

Перед началом создания индикатора я решил поискать наиболее оптимальную схему. Пролистав ряд сайтов, я обнаружил относительно небольшое разнообразие схем. Один из самых главных критериев - получить качественный мод за сравнительно малые деньги. В большинстве схем применяются микросхемы LM3914, которые не так уж дешевы. Поэтому я стал искать микросхему индикатора уровня с выводом на 5-8 светодиодов. Выбор пал на AN6884 по причине своей малой цены и широкой доступности. Эта микросхема имеет на выходе пять светодиодов, и пропускает через каждый ток 7mA.

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

При нулевой загрузке - фототранзистор внутри оптрона заперт - при этом С6 разряжается через R11. При повышении загрузки винчестера - фототранзистор открыт, и через него начинает заряжаться С6. Напряжение на С6 изменяется пропорционально уровню загрузки. В зависимости от емкости С6 изменяется скорость изменения уровня загрузки.

Напряжение с С6 снимается через делитель R12, R14. Подстроечный резистор R14 используется для изменения чувствительности индикатора.

Светодиоды можно устанавливать любые и на свое усмотрение. У себя я установил для трех меньших уровней - зеленые, а для двух больших - красные.

Схема индикатора винчестера

Настройка индикатора сводится к установке его чувствительности при помощи R14.

Индикатор загрузки процессора

Когда индикатор винчестера был уже сделан, я стал подумывать об индикаторе чего-то еще. Выбор пал на индикатор загрузки процессора.

В процессе поисков было найдено два варианта - через LPT и через COM.

Я выбрал COM порт только потому, что он не был задействован, в отличие от LPT. В процессе поисков нашел статью Clear66, в которой он рассказывал о подключении автомобильного тахометра к COM порту. Эта идея мне понравилась больше всего тем, что не нужно делать специальные схемы преобразования цифровых значений в аналоговый сигнал. Для управления используется программа PCTach (ссылка на скачивание - в конце статьи).

Но так как под рукой в тот момент не оказалось хоть какого-то тахометра пришлось делать самодельный вариант фабричного. После сборки и настройки индикатор загрузки процессора стал показывать более-менее точно.

Но мне не нравилась повышенная скорость отображения уровня загрузки, что выражалось излишним дерганьем стрелки индикатора при неравномерной загрузке процессора. Но это исправилось добавлением дополнительного конденсатора параллельно микроамперметру.

Вид стрелочного индикатора меня мало устраивал, и я решил искать ему альтернативу. В конечном итоге индикатор стал светодиодным, причем не шкала из светодиодов, а два направленные навстречу друг другу светодиоды разного цвета свечения. Отображение величины уровня загрузки производится за счет плавного изменения яркости светодиодов.

Для изготовления индикатора я использовал оргстекло 4-5мм и два светодиода: красного и синего цвета свечения. Из оргстекла вырезается полоска размерами 150мм на 15мм. После этого по краям полоски вырезаются места под светодиоды. Торцы и одну сторону полоски нужно зашкурить нулевой наждачной бумагой до равномерного матового состояния. Это нужно для равномерного рассеивания света. К обратной стороне (которая не обработана наждачной бумагой) и по бокам полоски приклеивается полоска из фольги для отражения лучей светодиодов. Когда полоска готова - приклеиваются светодиоды.

Расположение светодиодов в полоске оргстекла

Когда светодиоды уже приклеены - по концам полоски приклеивается изолента или самоклеющаяся пленка. Это нужно для того, чтобы светодиоды светили только в нужной части полоски.

Синий сверху символизирует холод, т.е. низкую загрузку процессора. Красный снизу символизирует нагрев, т.е. большую загрузку. Загрузка процессора пропорциональна переходу цветов между собой. Провода, идущие к плате, и резистор 68-100 Ом фиксируется с одного края полоски при помощи термоклея.

Для плавного изменения яркости светодиодов используется схема формирования ШИМ сигнала. При таком способе управления яркость светодиодов изменяется от отношения времени свечения и времени, когда он не горит. Такой способ лучше управления напряжением тем, что яркость светодиодов изменяется пропорционально напряжению.

Схема состоит из следующих блоков:

    формирователь напряжения на DA1.1

    генератор пилообразного сигнала на DA2

    блок сравнения напряжений на DA1.2 DA1.3

Резисторный делитель R4,R3 устанавливает напряжение равное 1,2 вольт, которое приблизительно равно минимальному напряжению пилообразных импульсов DA2. Импульсы снимаются с третьего вывода COM порта компьютера. При высоком входном уровне конденсатор C1 заряжается через резистор R1 и диод D1. При низком входном уровне конденсатор C1 разряжается через R2. На C1 формируется напряжение пропорциональное уровню загрузки процессор. Так как амплитуда этого напряжения меньше амплитуды пилообразных импульсов DA2 в схеме присутствует усилитель на DA1.1. Регулировка максимального уровня индикатора производится путем изменения коэффициента усиления при помощи R6. Цепочка R7,C3 окончательно сглаживает пульсации напряжения с выхода усилителя. ШИМ формируется посредством сравнения измеряемого напряжения и пилообразных импульсов.

DA1.2 формирует прямой, а DA1.3 инвертированный сигнал ШИМ. Эти два сигнала далее поступают на светодиоды, предварительно усиленные ключами на транзисторах T3,T4.

Схема индикатора процессора


Исполнение

Так как оба индикатора расположены на передней панели - плату я делал для них общую. С одного края платы расположены две дорожки в виде полосок. К этим полоскам припаиваются две гайки М3. Впереди в каркасе корпуса просверливается два отверстия 3мм так, чтобы они соответствовали расстоянию между центрами гаек на плате. Далее в эти гайки на плате закручивается два винта М3, которые проходят через отверстия в каркасе.




Индикатор загрузки процессора с различными уровнями загрузки:


Один из распространенных модов компа - замена стандартных светодиодов на корпусе на какие-либо другие. Однако, согласитесь, это слишком просто. А почему бы не сделать своеобразный VU-индикатор загрузки винчестера на нескольких светодиодах? Нечто типа VU-meter’а на усилителях.
На вышеуказанном сайте была найдена подходящая схемка:

Все просто. Питание +5В, слева на схеме. Справа внизу к выводам светодиода оптопары (ножки 1 и 2) подключаем выводы на маме, именуемые HDD Led. Если перепутать полярность на этом светодиоде, ничего страшного не произойдет, просто светодиоды гореть не будут. А вот на входе +5В полярность желательно не путать.
Достоинство такой схемы в том, что сигнал HDD Led от мамы не используется вашей схемой непосредственно (используется изменение сопротивления эмиттерно-коллекторного перехода оптотранзистора в оптопаре). И, следовательно, если вы подключили маму к правильным выводам оптопары, то как бы неправильно не была собрана ваша схемка, она никогда не повредит (читай: накроет) маму. :-)
Джампер (jumper) на схеме определяет режим работы светодиодной шкалы. Если замкнут, то светодиоды загораются один за другим справа на лево (по картинке), если разомкнут, то будет гореть всегда только один светодиод, т.е. получится нечто типа «прыгающей точки». Т.к. последний вариант мне не понравился, то я схему изготовил без джампера (просто замкнул этот участок).
Так, смотрим… Что нам для этого понадобится:

  • LM3914 сама, собственно, микруха, управляющая светодиодами (led bargraph driver chip);
  • 4N25 (или 4N26, или 4N28 или TIL111) - оптопара (optoisolator);
  • Конденсатор электролитический: 220мкФ на 25В (с запасом по напрягу берем);
  • Резисторы (по одной штуке): 3.3КОм, 10КОм, 470Ом, 330Ом, все на 0.25Вт.
  • Светодиоды на 2.5-3.5В - 10шт, прикольно - разноцветные.
Я все нашел в магазине как на схеме (LM3914В, 4N25).
Т.к. схему я нашел на импортном сайте, то сначала решил собрать все на картонке и проводах, чтобы проверить работоспособность, зацените:

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

  • Провода цветные (черные и красные) для подключения к маме и БП;
  • Разъем Molex для подключения к стандартному БП; можно купить 2 (папа и мама для крепления на провод) и сделать еще ответвитель, если нет свободных разъемов на БП;
  • Тонкие провода, шлейфик, или колодку с винтиками на плату для подключения светодиодов;
  • Кроватки под микросхемы (на 18 и на 6 ножек) - настоятельно рекомендую;
  • То, на чем будете все это дело распаивать: монтажная плата, фольгированный текстолит/гетинакс, картон (ghetto-mod:-)).
Я все это делал на плате из фольгированного текстолита. Вообще-то крутые парни сами рисуют платы… Но для вас я привожу уже готовую, как я делал (стрелка над светодиодами показывает порядок их зажигания):

В принципе, можно сделать покомпактнее, но задача у меня так не стояла. Не забудьте про крепежные отверстия в плате, если они вам понадобятся!

Плату я изготовлял следующим образом. Связываться с хлорным железом, лаком и растворителем мне не хотелось, поэтому я наклеил клеящим карандашом на текстолит со стороны фольги напечатанную на бумаге в формате 1:1 плату (зря смеетесь, им [клеящим карандашом] легко пользоваться, обеспечивает хорошее сцепление бумаги с фольгой и, в то же время, бумагу легко потом отодрать без применения дополнительных инструментов) . Прямо так в ней просверлил отверстия. Оторвал бумагу от фольги, соединил карандашом нужные отверстия согласно разводке платы и вырезал дорожки ножом. Отверстия для проводов питания можно сделать диаметром около 1.5мм, если собираетесь использовать стандартные провода от БП (я так и сделал, взяв их от старого БП).
В общем, здесь ничего сложного, но надо очень аккуратно паять узкие дорожки, идущие от микрухи к светодиодам, т.к. их много и толстыми их не сделать. Хоть я и в свое время напаялся вдоволь, но все равно это было не очень просто… Главное, после вырезания хорошо зачистить и обезжирить плату перед пайкой. Чем лучше зачистите/обезжирите, том легче будет приставать олово к фольге и тем меньше шанс, что она отклеится от платы. Паять лучше сразу после зачистки, и, причем сразу все элементы, не откладывая на следующий день, а то, если половину припаять сегодня и, никак не обработав плату, оставить на неделю, то потом придется геморройно зачищать площадки заново или сильнее прогревать с флюсом, от чего, скорее всего, дорожки отклеятся.
Вот, что у меня получилось:

Я решил не связываться с кучей светодиодов и установил набор из десяти светодиодов в одном корпусе, соединив его с платой 11-ти жильным шлейфом, обрезав соответствующим образом шлейф от дисковода. Я впаял шлейф прямо в плату, но уже потом мне пришла в голову мысль, что надо было там установить разъемчик.
Очень рекомендую использовать кроватки под микросхемы. Во-первых, не перегреете при пайке на плату (микрухи вставляются в последнюю очередь), а во-вторых, если обнаружится микруха с производственным браком (не рабочая, короче), то ее сможете легко поменять в магазине, где купили, а паяную вам не заменят.

Когда вы все это дело спаяли можно проверить работоспособность следующим образом:

  • При включении питания ни один светодиод не должен гореть;
  • Если замкнуть контакты 4 и 5 оптопары (те, которые идут в схему), то должны загореться все светодиоды (или только последний, если вы собрали схему с разрывом вместо джампера).
Если все так, то подключаем к компу наслаждаемся кульным девайсом в действии, иначе - проверяем правильность сборки схемы.
Если все заработало, можно поэкспериментировать, например, с порядком подключения светодиодов, например, чтобы загорались сначала четные в ряду, а потОм - нечетные и т.п.

Аналоговый индикатор загрузки винчестера

Для фанатов аналоговой техники можно предложить такой вариант:

Т.е. вместо схемы и светодиодов, можно подключить какой-нибудь имеющийся стрелочный индикатор с приличным внутренним сопротивлением, например, от какого-нибудь магнитофона. Потенциометром выставляем ограничение тока. Подключаем к разъему HDD-Led на маме. В отличие от предыдущего варианта, здесь, если возьмете слишком мощный и не очень чувствительный прибор (с малым внутренним сопротивлением), то можно легко повредить материнку и тогда у вас не будет никакого индикатора работы HDD.