🏠: Viacheslav

Баллада повешенных

Ты жив, прохожий. Погляди на нас.
Тебя мы ждём не первую неделю.
Гляди — мы выставлены напоказ.
Нас было пятеро. Мы жить хотели.
И нас повесили. Мы почернели.
Мы жили, как и ты. Нас больше нет.
Не вздумай осуждать — безумны люди.
Мы ничего не возразим в ответ.
Взглянул и помолись, а бог рассудит.

Дожди нас били, ветер тряс и тряс,
Нас солнце жгло, белили нас метели.
Летали вороны — у нас нет глаз.
Мы не посмотрим. Мы бы посмотрели.
Ты посмотри — от глаз остались щели.
Развеет ветер нас. Исчезнет след.
Ты осторожней нас живи. Пусть будет
Твой путь другим. Но помни наш совет:
Взглянул и помолись, а бог рассудит.

Господь простит — мы знали много бед.
А ты запомни — слишком много судей.
Ты можешь жить — перед тобою свет,
Взглянул и помолись, а бог рассудит.

Франсуа Вийон (перевод И. Эренбурга)

Электричка с Курского

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

Понакрутили до небес мостов, развязок, переходов, турникетов, табло, терминалов, но всё грязное, замусоренное, обшарпанное и ржавое. Выглядит всё это ненадёжно и заброшенно, сильное ощущение того, что это какая-то времянка, что лет через 5-10 это опять будут сносить и строить заново такую же безжизненную реальность из дешёвого металла и пластика, пытаясь всех убеждать, что это для их же удобства и комфорта.

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

Последний бастион VMware

Сегодня на работе я выключил последнюю оставшуюся ноду после миграции всех виртуальных машин в кластер Hyper-V.

Последнее действие перед выключением Последнее действие перед выключением

Сервер был ProLiant DL380 G6, его уже давно пора было выводить из эксплуатации, но дело в том, что на нём крутилась пара серверов, «защищённых» USB-токеном. Несколько недель назад, наконец, купили железку, которая пробрасывает USB-устройства по сети — это местная аппаратная адаптация недорогого зарубежного решения VirtualHere.

Железка представляет собой keepalived-кластер из двух Banana Pi с веб-интерфейсом на ajenti и 32 портами USB, заключённых в едином корпусе:

# dmesg
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.15.93 (oe-user@oe-host) (arm-poky-linux-gnueabi-gcc (GCC) 9.3.0, GNU ld (GNU Binutils) 2.34.0.20200220) #1 SMP Thu Feb 9 10:26:48 UTC 2023
[    0.000000] CPU: ARMv7 Processor [410fc074] revision 4 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: LeMaker Banana Pi
# lsb_release -a
LSB Version:    n/a
Distributor ID: poky
Description:    Poky (Yocto Project Reference Distro) 3.1.17
Release:        3.1.17
Codename:       dunfell

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

Веб-интерфейс

На компьютерах, которым нужно подключение USB, ставится клиент, который устанавливает свои драйверы и может работать как служба. На очень старых системах, например, Windows 2003, драйверы нужно ставить самостоятельно, вытащив их из клиента с помощью командной строки. Потом, подмонтировав ключ, надо сделать так, чтобы служба сервера, зависящая от ключа (например, 1C:Enterprise 8.3 Server Agent), стартовала позже службы rhclient (USB Hub Over Network USB Sharing) — для этого нужно её перевести в режим автоматического отложенного запуска. В старых системах, где функции отложенного запуска нет, можно перевести службу сервера в ручной режим запуска и настроить планировщик задач, чтобы после загрузки ОС выполнялся скрипт наподобие

ping 127.0.0.1 -n 30
net start hwserver

Вот как выглядят устройства USB на виртуальной машине Hyper-V, где крутится 1С (напоминаю, что Hyper-V не пробрасывает USB с хоста на виртуалки, и правильно делает):

А вот так ключи выглядят с клиента:

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

Собственно, возвращаясь к тому, с чего я начал — после переноса токенов на железку оставалось только мигрировать все виртуалки на Hyper-V и выключить ноду VMware, что я и проделал. Теперь, наконец, зоопарка систем виртуализации больше нет.

Dell Inspiron 14-3452 - укрощение строптивого

Принесли ноутбук 2015-го года выпуска (Celeron N3050/4GB RAM/500GB HDD), который нужно было привести в порядок. Судя по виду, он использовался мало, но, тем не менее, имел одну ярко выраженную проблему — при включении он оглушительно пищал и выдавал сообщение, что не может распознать, что за блок питания в него воткнули, поэтому он снижает производительность и не будет заряжать аккумулятор.

Оказалось, что фирма Делл делает блоки питания с микросхемкой, которая по центральному контакту в разъёме передаёт информацию о блоке ноутбуку. Блок питания был оригинальным, и я отнёс его на работу, где прекрасный коллега Геннадий, разобрав блок, прозвонил провод тестером и установил, что центральный провод оборван в районе разъёма. Видимо, за провод либо сильно дёрнули, либо изогнули.

Был заказан новый «кабель для блока питания Dell 4.5x3.0мм с центральным контактом» и впаян на место старого, а корпус блока питания аккуратно склеен изолентой. Ноутбук начал распознавать блок питания как родной, но громкий писк при запуске никуда не делся, к тому же оказалось, что аккумулятор сдох окончательно — он не заряжался, даже простояв воткнутым в розетку всю ночь.

Из-за неисправности аккумулятора нельзя прошить новый BIOS — для этого нужно как минимум 10% заряда. Я заказал новую батарею и SSD Samsung 870 EVO 500GB на замену медленной хрустящей штатной Тошибы. Но вернёмся к оглушительно громким сигналам POST.

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

Пять коротких сигналов означают, что разряжена батарейка CMOS (CR2032). После её замены, для чего пришлось разбирать ноутбук почти полностью, он, наконец, начал включаться бесшумно.

Жёсткий диск приехал, и я поставил в качестве системы Windows 10 Home 22H2 x64, которую собрал с помощью сайта uupdump.net. Что приятно, система активировалась сама без каких-либо действий с моей стороны. Всё вроде бы нормально, но операционка даже после всех обновлений почему-то ни в какую не видела микрофона. В BIOS никаких настроек по этому поводу нет, Xubuntu Linux, загруженный с флешки, тоже ничего не увидел, что косвенно указывает на то, что проблема может быть и аппаратной, хотя выглядит это очень странно. Я решил отложить вопрос с микрофоном до прошивки нового BIOS.

Наконец, я получил аккумулятор. Я брал не самый дешёвый, а тот, где было написано «оригинал» или что-то подобное, на Озоне есть такой фильтр. Установил его в ноутбук — и при загрузке получаю предупреждение, что батарея не рекомендована для этой системы и заряжаться она не будет.

Изображение без описания

Тем не менее, аккумулятор нормально работает и заряжается. Единственная проблема — для загрузки системы теперь нужно нажимать на кнопку Continue на экране этого предупреждения про батарею. Но фокус стоит уже на ней, поэтому надо просто нажать клавишу «ввод».

Информация о новом аккумуляторе из HWInfo:

Battery #0

[Общие свойства]
    Имя устройства: DELL 991XP55
    Имя производителя:  Samsung SD
    Серийный номер: 708
    Уникальный идентификатор:   708Samsung SDDELL 991XP55
    Химия:  
    Расчетная мощность: 32560 mWh
    Полная заряженная емкость:  32560 mWh
    Уровень износа: 0.0 %

[Текущее состояние питания]
    Состояние питания:  Разрядка
    Текущая вместимость:    29230 mWh (89.8 %)
    Текущее напряжение: 15.895 V
    Скорость разряда:   -5535 mW 

Ну, батарейка есть, теперь можно и BIOS прошивать. Скачал последнюю версию 4.4.0, доступную для этого ноутбука, запускаю. Что?

Изображение без описания

Система несовместима сама с собой! Опять полез в поиск и нашёл обходной путь. Оказывается, есть недокументированный ключ запуска /writehdrfile, который извлекает из .exe файл .hdr, подходящий для прошивки альтернативным способом.

rem Перейти в рабочий каталог (здесь: C:\temp)
cd C:\temp
rem Извлечение BIOS из exe-файла
Inspiron_3452_3552_4.4.0.EXE /writehdrfile

Потом нужно залезть на сайт American Megatrends, которая пишет биосы, зайти в раздел Developers → Tools & Utilities → BIOS / UEFI и скачать там Aptio V AMI Firmware Update Utility. Так как система у нас 64-битная, надо распаковать из скачанного архива afu\afuwin\64\AfuWin64.zip\AfuWin64\AFUWINx64.exe в каталог, где лежит наш .hdr. В оригинальном описании обходного пути прошивка запускается после загрузки компьютера под DOS, но в этом нет никакой необходимости, всё прекрасно делается и из-под Windows.

Наконец-то добрались и до самой прошивки:

rem Сохранить старый BIOS в файл
AFUWINx64.exe oldBios.rom /O

rem Сравнение GUID старого и нового биосов
AFUWINx64.exe /S
AFUWINx64.exe Inspiron_3452_3552_4.4.0.hdr /U
rem Проверить процесс без реальной прошивки
AFUWINx64.exe Inspiron_3452_3552_4.4.0.hdr /D

rem Прошить новый BIOS
AFUWINx64.exe Inspiron_3452_3552_4.4.0.hdr

Успешный результат прошивки

После перезагрузки новый BIOS требует ввести номер модели, но вводить его некуда — это какой-то мелкий глюк, впоследствии не проявляющийся. Но главное — Windows, загрузившись с новой прошивкой, узрел микрофон и ещё несколько устройств, которые он спокойно установил самостоятельно без посторонней помощи.

Признаться, я не припомню в своей практике настолько капризной машинки. Тем не менее, остались только мелкие недостатки, а именно:

  • Предупреждение о неоригинальном аккумуляторе, требующее нажатия Enter для дальнейшей загрузки.
  • Не работают клавиши регулировки яркости (F11-F12). Советы в интернете включать-выключать устройства видеоадаптера и монитора ни к чему не приводят.

Вот он, этот тип гражданской наружности после всех манипуляций, лет 5-7 ещё может проработать:

Стоимость деталей:

  1. Аккумулятор — 2857 руб.
  2. Жёсткий диск — 3539 руб.
  3. Провод БП — 335 руб.
  4. Батарейка CR2032 — 159 руб.

Итого: 6890 руб.

P. S. Процессор N3050 по сегодняшним меркам очень медленный — Youtube, например, сильно тормозит. Дело в том, что стандартно вещание там идёт в формате VP9, для которого у этого процессора семейства Braswell (8 поколение) нет аппаратного декодера. Чтобы заставить браузер выбирать видео в формате H.264, для которого у N3050 декодер есть, я установил расширение h264ify. Не сказать, чтобы проблема вообще исчезла, но нагрузка на процессор упала на 15-20 процентных пунктов и работать стало получше.

Нагрузка при воспроизведении VP9
Нагрузка при воспроизведении AVC

Утро

Ты грустна, ты страдаешь душою:
Верю — здесь не страдать мудрено.
С окружающей нас нищетою
Здесь природа сама заодно.

Бесконечно унылы и жалки
Эти пастбища, нивы, луга,
Эти мокрые, сонные галки,
Что сидят на вершине стога;

Эта кляча с крестьянином пьяным,
Через силу бегущая вскачь
В даль, сокрытую синим туманом,
Это мутное небо… Хоть плачь!

Но не краше и город богатый:
Те же тучи по небу бегут;
Жутко нервам — железной лопатой
Там теперь мостовую скребут.

Начинается всюду работа;
Возвестили пожар с каланчи;
На позорную площадь кого-то
Провезли — там уж ждут палачи.

Проститутка домой на рассвете
Поспешает, покинув постель;
Офицеры в наемной карете
Скачут за город: будет дуэль.

Торгаши просыпаются дружно
И спешат за прилавки засесть:
Целый день им обмеривать нужно,
Чтобы вечером сытно поесть.

Чу! из крепости грянули пушки!
Наводненье столице грозит…
Кто-то умер: на красной подушке
Первой степени Анна лежит.

Дворник вора колотит — попался!
Гонят стадо гусей на убой;
Где-то в верхнем этаже раздался
Выстрел — кто-то покончил с собой…

Н. А. Некрасов