Архив рубрики: Shorts

Короткие заметки из жизни, 1-3 предложения.

Накрылся очередной SSD от Kingspec

Накупил в конце 2023-го / начале 2024-го несколько SSD от Kingspec – сначала вторым для ноута, потом еще несколько для различных целей. Дешевые ж – на тот момент.

На сейчас – в ноуте иногда отваливается до перезагрузки, но пока живет. Терабайтник mini SATA, поставленный в плеер (т.е., крайне редкая запись и немногие чтения) накрылся некоторое время назад, остался без плеера.

Сейчас пришел черед мелкого диска на 256 ГБ, поставленный в малом сервере в пару с диском, шедшим с HP 820. Куплен был 13-го февраля 2024-го – т.е., хватило на полтора года. Сначала отвалился до перезагрузки, потом пропал насовсем. Купил замену на “Розетке” на 512 ГБ – объем про запас, смысл брать снова на 256? А в целом, цены на 256 локально сейчас дешевле, чем на Али “тогда”.

Сохранил SMART на тот момент, когда диск еще опознавался:

SMART

root@melissa:/home/rain# smartctl -a /dev/nvme1n1
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.1.0-39-amd64] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number: XF-256 2280
Serial Number: 0009556000221
Firmware Version: 0629479F
PCI Vendor ID: 0xfe19
PCI Vendor Subsystem ID: 0x1d89
IEEE OUI Identifier: 0x000000
Total NVM Capacity: 250 059 350 016 [250 GB]
Unallocated NVM Capacity: 0
Controller ID: 0
NVMe Version: 1.4
Number of Namespaces: 1
Namespace 1 Size/Capacity: 250 059 350 016 [250 GB]
Namespace 1 Formatted LBA Size: 512
Namespace 1 IEEE EUI-64: 4f0000 000023c1ab
Local Time is: Tue Sep 23 10:33:27 2025 UTC
Firmware Updates (0x02): 1 Slot
Optional Admin Commands (0x0007): Security Format Frmw_DL
Optional NVM Commands (0x0016): Wr_Unc DS_Mngmt Sav/Sel_Feat
Log Page Attributes (0x02): Cmd_Eff_Lg
Maximum Data Transfer Size: 64 Pages
Warning Comp. Temp. Threshold: 100 Celsius
Critical Comp. Temp. Threshold: 110 Celsius

Supported Power States
St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat
0 + 4.00W – – 0 0 0 0 1 1
1 + 4.00W – – 1 1 1 1 10 10
2 + 4.00W – – 2 2 2 2 50 50
3 – 0.1000W – – 3 3 3 3 10000 5000
4 – 0.0050W – – 4 4 4 4 20000 125000

Supported LBA Sizes (NSID 0x1)
Id Fmt Data Metadt Rel_Perf
0 + 512 0 0

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 35 Celsius
Available Spare: 83%
Available Spare Threshold: 10%
Percentage Used: 223%
Data Units Read: 12 537 201 [6,41 TB]
Data Units Written: 22 550 782 [11,5 TB]
Host Read Commands: 85 562 699
Host Write Commands: 586 078 813
Controller Busy Time: 29 138
Power Cycles: 19
Power On Hours: 13 721
Unsafe Shutdowns: 11
Media and Data Integrity Errors: 23 534
Error Information Log Entries: 171
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0
Temperature Sensor 1: 45 Celsius
Temperature Sensor 2: 35 Celsius

Error Information (NVMe Log 0x01, 4 of 4 entries)
Num ErrCount SQId CmdId Status PELoc LBA NSID VS
0 171 2 0x90ed 0x2281 – 2465024 1 –
1 170 2 0x80ed 0x2281 – 2465024 1 –
2 169 2 0x90f8 0x2281 – 11612896 1 –
3 168 2 0x80f8 0x2281 – 11612896 1 –

[свернуть]

Примечательно “Percentage Used: 223%”. У “Тошибы”, стоявшей в паре (которая до того была в ноуте) – только 26%.

На сейчас из живых Kingspec’ов остался только терабайтник в USB-кармане, который пока не использовал.

Несчастливые они какие-то.

ping и код завершения процесса

Давно уже использую в скрипте, рулящем маршрутами на несколько ISP, проверку доступности канала через ping несколькими пакетами на 8.8.8.8. Основной канал частенько переподключался без видимых на то причин. При этом пускал отдельно свой ping – там потерь пакетов вообще не было. Дошли руки подебажить. Если из 5 проверочных пингов пролазят только 2 – то ping -q отдает false. При 3 нормально. Вероятно, граница проходит по половине заданного числа попыток. В man’е вроде ничего на этот счет.

Переделал логику; теперь канал считается мертвым при полной потере пакетов на интерфейсе. Пока полет нормальный.

Пара малогабаритных БП с APFC с Али

По мотивам обзора на Mysku обзавелся парой симпатичных БП с APFC. Вышло около 22$ за штуку.

Дублирую сюда то, что писал на Mysku в комментариях:

В 12В стоят NCEP40T11 с TEA1995. В 48В внизу с отдельной термопрокладкой стоят 4 MBRD20150CT (смотрел один), по 2 впараллель.

Как резюме обсуждения – 2 отдельно закрепленных элемента могут быть транзисторами или диодами (надо смотреть обозначение на плате). Если транзисторы – там синхронный выпрямитель и снизу есть еще микросхема.  При этом в одном и том же БП (в данном случае на 12В) может быть как вариант с синхронным выпрямителем (мой случай), так и с простыми диодами (в обзоре).

Если отдельных элементов нет (как в 48В у меня) – диоды (всегда ли?) находятся с нижней стороны платы.

Косяк парсинга у apt-mirror

А может и не совсем косяк, но надо быть внимательнее.

Решил миррорить на NAS’е некоторые зеркала для Debian. В какой-то момент закинул в mirror.list строки вида

deb https://deb.debian.org/debian/ trixie main contrib non-free # Debian 13

При запуске утилита ломанулась качать вообще все – как для других архитектур, так и html’ки; каталог skel раздулся совсем уж неприлично. Не сразу нашел, что виной символ # – тот не обрабатывался как комментарий, а как какой-то wildcard. Убрал “хвосты” – все наладилось.

PD-зарядка в HP 6930p

Решил совсем уж избавиться от необходимости в старой зарядке. Добавил триггер на  20V – тот отлично вписался в выемку между штатным разъемом питания и VGA. С подпиливанием пластика чуть промахнулся, но можно немного чем-то заделать.

Сделать все можно без полной разборки ноута – снимаем только клавиатуру, блок кнопок и откручиваем часть панели вокруг этого блока. Триггер распаивается на кожух разъемов, минус отдельно можно не паять. Резистор с sense-пина на плюс – как обычно, на 360 КОм. Дополнительно подкрепил все силиконом.

Замены 18650 в технике

Заказал тут по случаю полсотни 18650 с NKON. Цена невысокая, особо требований не было. Батареи в целом вроде неплохие, емкость 3200-3300 мА*ч – вполне на свои деньги.

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

Читать далее Замены 18650 в технике

Еще чуть-чуть про Sonoff

Да, раз уж затронул эту тему – Basic’и теперь есть уже 4-й ревизии на базе ESP32 C3. Соответственно, потенциально можно использовать для чего-то Bluetooth, ну и в целом чуть быстрее грузятся. Есть некий Magic Switch, который, я так понял, триггерится при кратковременном отключении питания.

Через пару дней будет аппетитная цена по этой ссылке – в варианте “2 штуки” “Upcoming price US $6.97″ – т.е., по 3,5$ (плюс монетки / купоны) за модуль с БП, корпусом и реле. Примерно по той же цене я брал старые модули на базе ESP8285.

Надо набрать.

Паяльники тоже виснут

Первый раз такое. Ksger T12. Паяю батарею, потом в какой-то момент вижу, что конец паяльника раскалился докрасна. На дисплее все ок. Выключил, начала уходить краснота. Включил, на дисплее температура падает примерно так от 600 градусов.

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

2 подобных устройства в Home Assistant через MQTT и отсутствие сенсоров

Давно уже столкнулся с проблемой отображения сенсоров батарей из “Powerbank для дома“. Обе батареи на базе BMS от Daly, 2 очень похожих прошивки, но для мелкой батареи все сенсоры отображались, а от большой – только несколько штук. Причем, не было самых важных – например, процента заряда батареи. Добавил нужные через mqtt.yaml, потом как-то фокус сместился на новые проекты и батарею на базе JK BMS, поэтому проблему особо не копал.

Сейчас по случаю пересобрал батарею 5-ку – добавил наконец-то проставки между ячейками, а также сделал обжим всех ячеек – соответственно, занимался в том числе перепайкой обвязки и BMS’кой в целом. По мотивам того, что умеет JK – добавил в сенсоры разницу между самым высоким и самым низким значением напряжения, а пока это все стояло и балансировалось – очередной раз задумался насчет сенсоров. Уже и переименовал устройство, и удалял из MQTT-сервера, и из HA – ничего.

В общем. Если заглянуть в MQTT в ветку homeassistant – там есть кнопки / сенсоры / прочее, группированное по устройствам. Какая-то внутренняя кухня у HA при работе с MQTT. Что важно: в описании сенсора есть поле “uniq_id“. Значение – например, “ESPsensornbpu1_cell_voltage_5“, где есть “ESP, тип, имя хоста”_”название сенсора”. Так вот, для обоих daly-based-устройств имя хоста отсутствует. В итоге имеем, например, uniq_id”: ESPsensorcell_1_voltage“. Для двух устройств – т.е., про уникальность уже речь не идет. В итоге HA работает только с тем устройством, который первый “застолбил” данный uniq_id и все. В конфиге mqtt.yaml id я задавал уже другие (чисто на автомате).

Как решить: в конфиге прошивки устройства в разделе mqtt можно задать принцип генерации этих uniq_id (и кое-что еще – я задал обе опции):

discovery_unique_id_generator: mac
discovery_object_id_generator: device_name
В итоге теперь имеем id вида 678901234567-sensor-87654321. Все сенсоры появились, теперь все работает нормально. Явно баг в ESP Home, надо будет зарепортить.

В заметки: формовка конденсаторов

Весьма познавательная статья на тему напряжения формовки электролитических конденсаторов, а также по ремонту компьютерных БП (в частности – Aerocool SCAS) – недостатки, расчеты и т.п.: https://mysku.club/blog/aliexpress/82478.html