вторник, 21 мая 2024 г.

Не работает VT-x в VirtualBox после обновления на Windows 11

После обновления до Windows 11 перестал работать VT-x в VirtualBox.

00:00:05.852762 HM: HMR3Init: Attempting fall back to NEM: VT-x is not available
00:00:05.966704 NEM:  info: Found optional import WinHvPlatform.dll!WHvQueryGpaRangeDirtyBitmap.
00:00:05.966717 NEM:  info: Found optional import vid.dll!VidGetHvPartitionId.
00:00:05.966722 NEM:  info: Found optional import vid.dll!VidGetPartitionProperty.
00:00:05.966788 NEM: WHvCapabilityCodeHypervisorPresent is TRUE, so this might work...
00:00:05.966793 NEM: WHvCapabilityCodeExtendedVmExits      = 0x0000000000007fff

[пропущено для краткости]

00:00:05.968227 NEM: Adjusting APIC configuration from X2APIC to APIC max mode.  X2APIC is not supported by the WinHvPlatform API!
00:00:05.968230 NEM: Disable Hyper-V if you need X2APIC for your guests!
00:00:05.968455 NEM:
00:00:05.968456 NEM: NEMR3Init: Snail execution mode is active!
00:00:05.968456 NEM: Note! VirtualBox is not able to run at its full potential in this execution mode.
00:00:05.968456 NEM:       To see VirtualBox run at max speed you need to disable all Windows features
00:00:05.968456 NEM:       making use of Hyper-V.  That is a moving target, so google how and carefully
00:00:05.968456 NEM:       consider the consequences of disabling these features.
00:00:05.968456 NEM:
00:00:05.968487 CPUM: No hardware-virtualization capability detected

В Windows 10 эта часть лога выглядела так:

00:00:08.088362 HM: HMR3Init: VT-x w/ nested paging and unrestricted guest execution hw support
00:00:08.088503 CPUM: fXStateHostMask=0x7; initial: 0x7; host XCR0=0x1f

"Грязное" исправление выглядит так: bcdedit /set hypervisorlaunchtype off. После этого перезагрузился и теперь VirtualBox работает как и прежде. Скорее всего есть более правильный способ выключить такое поведение, но разбираться пока времени нет.

.

понедельник, 1 апреля 2024 г.

Переделка трансформатора - часть 2

Это вторая часть по переделке трансформатора для блока питания на 5 выходов. В первой части я описывал расчёты для переделки трансформатора. В этой части будет описан результат и нюансы с которыми я столкнулся.

Изначально трансформатор содержал только одну вторичную обмотку на 16.8V (18V холостой ход) и нужно было уменьшить напряжение до 13V и намотать вторую обмотку на такое же напряжение. По моим расчётам с существующей обмотки нужно было отмотать 31 виток и затем намотать ещё одну обмотку, состоящую из 96 витков.

пятница, 29 марта 2024 г.

Не стоит доверять встроенной проверке обновлений GitLab

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

Пример: есть инсталляция GitLab CE 16.7.7 и недавняя рассылка GitLab Security Release: 16.10.1, 16.9.3, 16.8.5. Там упоминаются CVE-2023-6371 (High) и CVE-2024-2818 (Medium) которым подвержены все версии до 16.8.5.

При этом в дашборде показывает только "Update available", а не "Update ASAP"

Т.е. не стоит доверять этому виджету если вы не используете последнюю версию GitLab. Ещё не хватает сообщения о неподдерживаемой версии.

Переделка трансформатора - часть 1

При сборке блока питания на 5 выходов был использован тороидальный трансформатор на 40VA. Его номинальное напряжение вторичной обмотки 16.8V, а напряжение холостого хода 18V. Это давало около 25V после выпрямителя на холостом ходу или около 20V при токе 1A. В случае двухполярного питания +12V/-12V на стабилизаторах рассеивается около 16W тепла. Это не проблема для системы охлаждения, которая может рассеивать до 75W тепла, но вентилятор включается чаще чем хотелось бы.

Чтобы уменьшить выделение тепла буду дорабатывать трансформатор:

  • уменьшать напряжение существующей вторичной обмотки чтобы получить 14-15V с выпрямителя под нагрузкой 1A.
  • наматывать вторую вторичную обмотку чтобы получить одну с отводом от середины и заменять однополупериодный выпрямитель на диодный мост.

понедельник, 18 марта 2024 г.

Блок питания на 5 выходов

Мой регулируемый линейный блок питания на 30V 3A имеет только один выход. Для работы с операционными усилителями мне потребовалось двухполярное питание. Тогда я использовал два аккумулятора формата 6F22 "Крона", включённых последовательно со средней точкой (о вариантах получения двухполярного питания я писал тут). Аккумуляторы приходится периодически заряжать и их напряжение максимум 8.4, а в номинале 7.4V.

Больше сложностей возникает если совмещается аналоговая часть с цифровой и появляется еще одно или несколько напряжений питания (например -12V и +12V для операционных усилителей и +3.3V или +5V для цифровой части). Чтобы не возиться с аккумуляторами я собрал простенький линейный блок питания у которого 5 выходов: -12V, -5V, +3.3V, +5V и +12V. У блока нет регулировки ограничения тока (только токовая защита самого блока).

суббота, 24 февраля 2024 г.

Включение VoLTE в сети МТС Беларусь

МТС анонсировал поддержку технологии VoLTE в Беларуси в апреле 2022 года. Тогда я пробовал перезагружать телефон, отключать проверку поддержки VoLTE у оператора через набор *#*#86583#*#*, звонил в техподдержку - ничего из этого не помогло.

Сегодня это заняло всего 5 минут - достаточно позвонить в контакт-центр (номер 0890 в сети МТС) и попросить оператора подключить услугу "VoLTE (технологическая настройка)". После этого активировать VoLTE в настройках телефона согласно инструкции на сайте МТС и на всякий случай перезагрузить телефон.

Восстановление сервера через последовательный порт

 Вчера проигнорировал правило "ничего не делать в пятницу вечером" и заплатил за это ранним подъёмом в субботу. Началось всё с небольшой "уборки" на домашнем сервере в результате которой был удалён LVM том, который использовался для раздачи файловой системы для Raspberry PI. До перехода на SSD я использовал SD карты только для загрузчика, а корень файловой системы лежал на NFS. В этом случае SD карта не изнашивалась от постоянной записи, да и работало через NFS быстрее (особенно сборка пакетов для Debian/Ubuntu).

В общем отмонтировал файловую систему, удалил LVM том, а вот почистить /etc/fstab забыл. После установки обновлений ядра отправил сервер на перезагрузку из которой ему было не суждено было выйти. Казалось бы - подключи монитор и клавиатуру и поправь одну строчку в конфиге и всё заработает... но у этого сервера нет видеокарты. За давностью лет не помню почему так вышло, но как есть так есть. Полистал местную барахолку на предмет б/у PCI-Express видеокарт с пассивным охлаждением, добавил пару штук в закладки и пошёл спать.

Утром в свежую голову пришла идея как восстановить сервер без видеокарты.