sttub30 sys что это

Если драйвер cFosSpeed не дает установить Windows 11

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

В этой связи вкратце о том.

как удалит драйвер cFosSpeed и нормально обновиться до Windows 11

Если в двух словах, то этот самый cFosSpeed — это один из драйверов, которым некоторые компании-производители ПК стандартно комплектуют свои изделия.

Поэтому если у вас комп с «материнкой» Asus, ASRock, Gigabyte или MSI и предустановленным «программным центром» (software center), то очень вероятно, драйвер cFosSpeed в нем тоже уже есть по умолчанию. И вероятнее всего, тоже будет мешать поставить Windows 11.

Проблема неприятная, но устранимая. И устраняется она на этапе апгрейда ОС двумя методами (как минимум):

Первая метода вроде как правильнее и интереснее, но только при условии, что получится быстро накопать свежую версию cFosSpeed, которая совместима с Windows 11 (и такая, к слову есть — вот ССЫЛКА на официальный сайт разработчика).

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

В общем, чтобы удалить cFosSpeed, делаем следующее:

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

Источник

[FIX] Не удается включить целостность памяти с изоляцией ядра

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

Не удается включить целостность памяти с изоляцией ядра из-за несовместимого драйвера ‘WDCSAM64_PREWIN8.SYS’

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

wdcsam64_prewin8.sys Дата драйвера: 29.11.2017 Версия драйвера: 1.2.0.0 Опубликованное имя: oem16.infsttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

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

Решение: удалите проблемный драйвер WD и удалите его из DriverStore.

Проблема может быть результатом поврежденного драйвера вашего запоминающего устройства WD (в основном внешнего). В этом случае удаление поврежденного драйвера может решить проблему.

Если проблема возникла снова, попробуйте удалить все скрытые устройства WD из диспетчера устройств, и, надеюсь, вы сможете без проблем включить изоляцию ядра.

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

Источник

Программирование флэш-памяти в STM32F107 через USB

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

Микроконтроллеры STM32 из группы Connectivity Line, в которую входят схемы STM32F105 и STM32F107, могут быть запрограммированы двумя основными способами: с помощью интерфейса JTAG и с помощью загрузчика, расположенного в памяти микроконтроллера.

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

В статье мы покажем, как запрограммировать память с помощью класса USB-интерфейса DFU (Device Firmware Upgrade).

Загрузчик находится в системной памяти микроконтроллеров STM32F105 и STM32F107. Он предоставляет три основных канала связи, по которым вы можете загрузить программу во флэш-память: UART, CAN и USB — класс DFU. Загрузчик, используемый в микроконтроллерах STM32F105 и STM32F107, стандартно оснащен поддержкой DFU.

Некоторые микроконтроллеры из группы Connectivity Line имеют недостаток, который в крайних случаях препятствует использованию загрузчика. Этот дефект возникает в случае микроконтроллеров, помеченных кодом даты производства менее 937, и влияет на работу всех каналов связи с загрузчиком.

Необходимо подключить к дополнительному источнику питания линии GPIO: PA10, PB5 и PD6 (рис. 1). Вы также должны помнить, чтобы ввести логическую «1» в BOOT0 и «0» в BOOT1. После выполнения этих действий и подключения источника питания микроконтроллер должен запускаться из системной памяти.

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

Рис. 1. Фрагмент электрической схемы устройства с микроконтроллером STM32F107, запрограммированным в режиме DFU

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

Для этого соедините плату с микроконтроллером с помощью кабеля USB A-B с ПК. Windows должна обнаружить новое устройство DFU и начать установку драйверов. После того, как мастер попросит автоматически найти подходящий драйвер, он должен найти соответствующий драйвер и установить его.

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

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

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

Рис. 2. Окно демонстрационной программы DfuSe

После установки драйвера запустите демонстрационную программу DfuSe (рис. 2). Программа должна обнаружить микроконтроллер, расположенный на плате, как устройство STM в режиме DFU. В поле DFU Mode отображаются данные, идентифицирующие устройство USB: VID, PID и номера версий.

Микроконтроллер STM32F107VBT6 имеет две программируемые области памяти:

Поскольку механизм DFU предназначен для обновления программного обеспечения, он обычно является дополнением к программному обеспечению, встроенному в устройство, которое использует интерфейс USB для других целей.

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

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

Рис. 3. Окно файлового менеджера DFU

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

Рис. 4. Окно для ввода параметров созданного файла DFU

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

Рис. 5. Информация о правильно завершенной генерации файла DFU

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

Рис. 8. Сообщение о правильном сохранении флэш-памяти микроконтроллера

Программирование с использованием DFU следует рассматривать как «экстренное» решение при отсутствии памяти для программирования с другим, более удобным способом программирования памяти.

Источник

Windows: достучаться до железа

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

Меня всегда интересовало низкоуровневое программирование – общаться напрямую с оборудованием, жонглировать регистрами, детально разбираться как что устроено. Увы, современные операционные системы максимально изолируют железо от пользователя, и просто так в физическую память или регистры устройств что-то записать нельзя. Точнее я так думал, а на самом деле оказалось, что чуть ли не каждый производитель железа так делает!

В чём суть, капитан?

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что этоРежимы работы x86 процессора

В «Ring 3» программам запрещены потенциально опасные действия, такие как доступ к I/O портам и физической памяти. По логике разработчиков, настолько низкоуровневый доступ обычным программам не нужен. Доступ к этим возможностям имеют только операционная система и её компоненты (службы и драйверы). И всё бы ничего, но однажды я наткнулся на программу RW Everything:

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что этоRW Everything действительно читает и пишет практически всё

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что этоСмотрим последний установленный драйвер через OSR Driver Loader

Прокси-драйвера

В итоге получается обходной манёвр – всё, что программе запрещено делать, разработчик вынес в драйвер, программа устанавливает драйвер в систему и уже через него программа делает, что хочет! Более того – выяснилось, что RW Everything далеко не единственная программа, которая так делает. Таких программ не просто много, они буквально повсюду. У меня возникло ощущение, что каждый уважающий себя производитель железа имеет подобный драйвер:

Софт для обновления BIOS (Asrock, Gigabyte, HP, Dell, AMI, Intel, Insyde…)

Софт для разгона и конфигурации железа (AMD, Intel, ASUS, ASRock, Gigabyte)

Софт для просмотра сведений о железе (CPU-Z, GPU-Z, AIDA64)

Софт для обновления PCI устройств (Nvidia, Asmedia)

Во многих из них практически та же самая модель поведения – драйвер получает команды по типу «считай-ка вот этот физический адрес», а основная логика – в пользовательском софте. Ниже в табличке я собрал некоторые прокси-драйвера и их возможности:

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что этоРезультаты краткого анализа пары десятков драйверов. Могут быть ошибки!

Mem – чтение / запись физической памяти

PCI – чтение / запись PCI Configuration Space

I/O – чтение / запись портов I/O

Alloc – аллокация и освобождение физической памяти

Map – прямая трансляция физического адреса в вирутальный

MSR – чтение / запись x86 MSR (Model Specific Register)

Жёлтым обозначены возможности, которых явно нет, но их можно использовать через другие (чтение или маппинг памяти). Мой фаворит из этого списка – AsrDrv101 от ASRock. Он устроен наиболее просто и обладает просто огромным списком возможностей, включая даже функцию поиска шаблона по физической памяти (!!)

Неполный перечень возможностей AsrDrv101

Чтение / запись RAM

Чтение / запись PCI Configuration Space

Чтение / запись MSR (Model-Specific Register)

Чтение / запись CR (Control Register)

Чтение TSC (Time Stamp Counter)

Чтение PMC (Performance Monitoring Counter)

Alloc / Free физической памяти

Поиск по физической памяти

Через Python в дебри

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

Первым делом нужно установить драйвер в систему и запустить его. Делаем «как положено» и сначала кладём драйвер (нужной разрядности!) в System32:

Раньше в похожих ситуациях я извращался с папкой %WINDIR%\Sysnative, но почему-то на моей текущей системе такого алиаса не оказалось, хотя Python 32-битный. (по идее, на 64-битных системах обращения 32-битных программ к папке System32 перенаправляются в папку SysWOW64, и чтобы положить файлик именно в System32, нужно обращаться по имени Sysnative).

Затем регистрируем драйвер в системе и запускаем его:

А дальше запущенный драйвер создаёт виртуальный файл (кстати, та самая колонка «имя» в таблице с анализом дров), через запросы к которому и осуществляются дальнейшие действия:

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что этоИ ещё одна полезная программа для ползания по системе, WinObj

Тоже ничего особенного, открываем файл и делаем ему IoCtl:

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

А дальше просто реверсим драйвер и реализуем все нужные нам вызовы:

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что этоЛегко и непринуждённо в пару команд читаем физическую память

PCI Express Config Space

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что этоЧтение и запись PCI Config Space

Но через этот метод доступны только 0x100 байт конфигурационного пространства, в то время как в стандарте PCI Express размер Config Space у устройств может быть достигать 0x1000 байт! И полноценно вычитать их можно только обращением к PCI Extended Config Space, которая замаплена где-то в адресном пространстве, обычно чуть пониже BIOS:

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что этоАдресное пространство современного x86 компа, 0-4 ГБ

На чипсетах Intel (ну, в их большинстве) указатель на эту область адресного пространства можно взять из конфига PCI устройства 0:0:0 по смещению 0x60, подробнее описано в даташитах:

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

У AMD я такого не нашёл (наверняка есть, плохо искал), но сам факт неуниверсальности пнул меня в сторону поиска другого решения. Погуглив стандарты, я обнаружил, что указатель на эту область передаётся системе через ACPI таблицу MCFG

А сами ACPI таблицы можно найти через запись RSDP, поискав её сигнатуру по адресам 0xE0000-0xFFFFF, а затем распарсив табличку RSDT. Отлично, здесь нам и пригодится функционал поиска по памяти. Получаем нечто такое:

На всякий случай оставляем вариант для чипсетов Intel

Всё, теперь осталось при необходимости заменить чтение PCI Express Config Space через драйвер на чтение через память. Теперь-то разгуляемся!

Читаем BIOS

В качестве примера применения нашего «тулкита», попробуем набросать скрипт чтения BIOS. Он должен быть «замаплен» где-то в конце 32-битного адресного пространства, потому что компьютер начинает его исполнение с адреса 0xFFFFFFF0. Обычно в ПК стоит флеш-память объёмом 4-16 МБ, поэтому будем «сканировать» адресное пространство с адреса 0xFF000000, как только найдём что-нибудь непустое, будем считать, что тут начался BIOS:

В результате получаем:

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что этоВот так в 10 строчек мы считали BIOS

Но подождите-ка, получилось всего 6 мегабайт, а должно быть 4 или 8 что-то не сходится. А вот так, у чипсетов Intel в адресное пространство мапится не вся флешка BIOS, а только один её регион. И чтобы считать всё остальное, нужно уже использовать SPI интерфейс.

Не беда, лезем в даташит, выясняем, что SPI интерфейс висит на PCI Express:

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

И для его использования, нужно взаимодействовать с регистрами в BAR0 MMIO по алгоритму:

Задать адрес для чтения в BIOS_FADDR

Задать параметры команды в BIOS_HSFTS_CTL

Прочитать данные из BIOS_FDATA

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

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что этоНемного помучившись, получаем ответ от SSD на команду идентификации

А если написать свой драйвер?

Зайдя на страницу с кодом драйвера, вы сразу наткнетесь на предупреждение:

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

Драйвер из статьи действительно подписан, и действительно неким китайским ключом:

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что этоКак оказалось, сведения о подписи можно просто посмотреть в свойствах.. А я в HEX изучал

Немного поиска этого имени в гугле, и я натыкаюсь на вот эту ссылку, откуда узнаю, что:

есть давно утёкшие и отозванные ключи для подписи драйверов

малварщики по всему миру используют это для создания вирусни

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

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что этоИ в самом деле, китайская азбука

И точно так же, как и AsrDrv101, драйвер удалось без проблем запустить!

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что этоА вот и наш драйвер запустился

Из чего делаю вывод, что старая идея с написанием своего драйвера вполне себе годная. Как раз не хватает функции маппинга памяти. Но да ладно, оставлю как TODO.

Выводы?

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

Так вот, при включении этой опции, некоторые драйвера (в том числе RW Everything и китайско-подписанный chipsec_hlpr) перестают запускаться:

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

Тем не менее, рассмотренный пример утилиты на базе AsrDrv работает:

Источник

Тема: nanoVNA из Китая

Опции темы
Поиск по теме

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

Есть какие то цифры! Толку от них мало(((

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

DiSlord,
Доброго дня, спасибо за старание, спасибо за релиз!
Объясните пожалуйста для «танкистов» по этим пунктам:
Added harmonic threshold input- для чего этот вход и как его физически осуществить.
Added TCXO frequency input (allow prescision frequency calibration)- тут понятно для чего, но как физически осуществить тоже не ясно.
Added Vbat offset input- а для каких это целей?
Спасибо!

sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это sttub30 sys что это. Смотреть фото sttub30 sys что это. Смотреть картинку sttub30 sys что это. Картинка про sttub30 sys что это. Фото sttub30 sys что это

Не забудте после внесения изменений сохранить конфиг

Добавлено через 17 минут(ы) :

Так же добавлена возможность изменить scale/ref текущего графика:

Кликая по красным зонам можно будет подвигать график вверх/вниз или увеличить/уменьшить масштаб

Источник

Добавить комментарий

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