100 / 20 / 4
Регистрация: 19.11.2014
Сообщений: 200
|
|
1 | |
Перестал работать драйвер для USB-COM10.01.2025, 17:51. Показов 340. Ответов 19
Метки нет (Все метки)
Win7/32
Переходник USB–COM-порт CH340 Работал нормально несколько лет, за исключением Синий экран при отправке 0x13 через CH340 Вдруг перестал без явных причин – не отправляет и не принимает. Раньше при запуске проги, использующей COM, без воткнутого CH340 система ворчала, что-то вроде «Оращение к отсутствующему COM-порту. Пропустить или закрыть?». Сейчас молча запускает прогу. В диспетчере устройств откуда-то взялось, что COM4 якобы используется (кем?), раньше этого не было (я использую COM1). На всякий случай: между «работало» и «перестало» были следующие события: - пытался доустановить тулбокс матлаба, после чего матлаб вообще свалился; - установил free pascal. Снесение free pascal и переустановка дров для CH340 ничего не изменили. Где копать?
0
|
10.01.2025, 17:51 | |
Ответы с готовыми решениями:
19
Перестал работать USB Перестал работать usb 2.0 Драйвер дисплея nv4_disp перестал правильно работать Драйвер экрана nv4_disp перестал правильно работать Перестал работать аккумулятор и USB порты |
Native x86
5681 / 3415 / 965
Регистрация: 13.02.2013
Сообщений: 10,844
|
|
10.01.2025, 19:08 | 2 |
Для начала выясните, какой COM-порт появляется и исчезает в диспетчере устройств при втыкании/вытыкании вашего адаптера. Проверьте в разных USB. Все остальные COM-порты, если они есть, пока игнорируем. Пробуем подключиться к появляющемуся порту, о результатах доложите.
Был бы очень удивлен, если бы он имел хоть какое-то отношение к вопросу.
0
|
109 / 40 / 11
Регистрация: 16.11.2018
Сообщений: 173
|
|
11.01.2025, 00:08 | 3 |
Некоторые CH340 не совсем CH340. Т.е. есть реальные а есть китайские подделки которые можно отличить от оригинала тока по глюкам
Можно погуглить в сторону "драйвер CH340 для китайских подделок" но врят ли ченить разумное найдешь могу только посоветовать подбирать драйвер с наименьшим количеством глюков. Подделки это отдельная боль в радиоэлектронике характеристики заметно отличаются от оригиналов и понять это можно только методом научного тыка (методом подбора значений), ну или через обмен опытом в телеграмме или на форумах ремонтников.
0
|
100 / 20 / 4
Регистрация: 19.11.2014
Сообщений: 200
|
|
11.01.2025, 00:28 [ТС] | 4 |
Дело в том, что не китайских нет. Это китайская разработка.
Есть разные версии чипов. И старые версии с последней версией драйвера вообще не работают. У меня ситуация другая: работало и вдруг перестало.
0
|
100 / 20 / 4
Регистрация: 19.11.2014
Сообщений: 200
|
|
13.01.2025, 20:59 [ТС] | 5 |
Сорри, почему-то я раньше не заметил это сообщение.
Если снести драйвер, то после первого втыкания автоматически устанавливается драйвер и назначается COM3. По-моему, раньше было COM1. Назначаю тот, который хочу (COM1), и при последующих вытыканиях/втыканиях всегда остается назначенный мной. В другом USB (их у меня на ноуте всего 2) все то же самое, только сам ставит COM1. Пробовал назначать и COM2. Программой пытаюсь посылать в тот, который назначен. Странность: откуда-то взялось, что COM4 используется. Как узнать, кто его "использует"? Еще бόльшая странность: Т.е. без адаптера винда думает, что COM-порт есть -- ??? Сейчас перестала проходить автоматическая установка драйвера. Ставится только при запуске установщика с диска. Еще важное дополнение. COM-порт работает с программами, работающими, видимо, через API, а перестало работать только с прямой записью в порты. Добавлено через 8 минут Мне подсказали, что что-то подобное вылечилось после ручной чистки реестра от ошметков драйвера. Но я понятия не имею, где и что в реестре нужно искать по этому поводу.
0
|
Native x86
5681 / 3415 / 965
Регистрация: 13.02.2013
Сообщений: 10,844
|
|
13.01.2025, 21:38 | 6 |
0. Выдернуть проблемное устройство.
1. Win+R, ввести cmd, нажать Enter. 2. В черном окне ввести две команды: Код
set DEVMGR_SHOW_NONPRESENT_DEVICES=1 devmgmt.msc 4. Раскрыть куст "Порты", поудалять все серые порты с установкой галки "Удалить программы драйверов для этого устройства". 5. Перезагрузиться. 6. Воткнуть устройство. Этой последовательностью действия вы максимально вернетесь к исходному состоянию системы. В современных ОС с портами напрямую могут работать только драйвера устройств и ядро системы. Все EXE-программы к порту могут обратиться исключительно по API.
0
|
100 / 20 / 4
Регистрация: 19.11.2014
Сообщений: 200
|
|
13.01.2025, 22:25 [ТС] | 7 |
Непонятный COM4 убрался, но все остальное по-прежнему (
Непонятно, что значит «могут». Вы имеете в виду (приходится in English из-за неоднозначности русского) “may” или “can”?
0
|
Native x86
5681 / 3415 / 965
Регистрация: 13.02.2013
Сообщений: 10,844
|
|
14.01.2025, 00:00 | 8 |
Надо бы проверить с другим экземпляром. Желательно не на CH340/аналоге.
Это значит, что программам пользовательского режима в принципе недоступны команды прямого чтения/записи портов. Система представляет порты в виде файлов \\.\COMx, и только с ними программы могут работать как с обычными файлами (обычными файловыми функциями ReadFile/WriteFile).
0
|
109 / 40 / 11
Регистрация: 16.11.2018
Сообщений: 173
|
|
14.01.2025, 01:29 | 9 |
Пока похоже на конфликт различных драйверов на одно устройство.
Стоит проверить нет ли пары драйверов для одного pid vid в системе
0
|
100 / 20 / 4
Регистрация: 19.11.2014
Сообщений: 200
|
|
14.01.2025, 20:07 [ТС] | 10 |
Это не совсем так. Для каких-то портов недоступны, для других доступны. Распространен миф, что недоступны для всех – и точка.
Настраивается где-то в реестре, есть утилиты для настройки. По умолчанию для COM во всех виндах, по крайней мере, до 7-ки включительно разрешено, сам постоянно пользуюсь. Для LPT по умолчанию запрещено, начиная, кажется, с 2000. Знаю, что LPT настройками разрешают, по крайней мере, до 10-ки включительно. Не подскажете, как это сделать?
0
|
109 / 40 / 11
Регистрация: 16.11.2018
Сообщений: 173
|
|
14.01.2025, 20:15 | 11 |
0
|
Native x86
5681 / 3415 / 965
Регистрация: 13.02.2013
Сообщений: 10,844
|
|
14.01.2025, 20:38 | 12 |
И как вы представляете себе доступ к COM-порту из программы пользовательского режима, минуя WinAPI?
Просто интересно, что, куда, и какими средствами вы будете записывать, чтобы отправить байт в порт. Хотя бы чисто теоретически.
0
|
100 / 20 / 4
Регистрация: 19.11.2014
Сообщений: 200
|
|
14.01.2025, 21:17 [ТС] | 13 |
Горстка портов, начиная с 0x3F8. Пишу, читаю )
И теоретически, и практически Добавлено через 17 минут Там несколько сотен записей с VID/PID моего девайса. Похоже, записываются не только переустановки драйвера, но и каждое втыкание. Но как я могу узнать, это мой девайс или где-то замаскировался двойник?
0
|
Native x86
5681 / 3415 / 965
Регистрация: 13.02.2013
Сообщений: 10,844
|
|
15.01.2025, 00:47 | 14 |
Да ну?
Доступ к некоторым диапазонам ввода-вывода (включающем COM-порты) действительно был доступен в Windows из пользовательского окружения. Но это было во времена Win9x. С тех пор многое изменилось.
0
|
100 / 20 / 4
Регистрация: 19.11.2014
Сообщений: 200
|
|
15.01.2025, 06:15 [ТС] | 15 |
Ага. Могу только повторить:
Возможно, у вас винда более новая, чем 7. На этот счет я не в курсе. Возможно, ваш компилятор добавляет в программу проверку на "нехорошие" операции; она (проверка) и генерит exception.
0
|
Native x86
5681 / 3415 / 965
Регистрация: 13.02.2013
Сообщений: 10,844
|
|
15.01.2025, 13:41 | 16 |
Винда-то десятая, но доступ к портам обрубили еще в WinNT. Я в свое время на это налетел лично.
Да, существуют драйверы, которые устанавливаются в систему, и предоставляют юзерленду доступ к I/O через свой нестандартный API. Но я не думаю, что какое-то коммерческое ПО всерьез использует этот полу-хакерский костыль.
0
|
100 / 20 / 4
Регистрация: 19.11.2014
Сообщений: 200
|
|
15.01.2025, 17:38 [ТС] | 17 |
Опять же: обрубили не ко всем портам. К COM не обрубили по меньшей мере до 7-ки включительно. Я на это налетел лично: постоянно использую COM без всяких дополнительных настроек и драйверов. Даже экспериментально установлено, что программы, работающие как будто с железным COM-портом (через прямые запись/чтение), при его отсутствии работают и с адаптерами USB-COM. Но это уже не всегда. CH340 таким путем работает, CP2102 – нет (на 7-ке).
Возможно. Я использую для отладки и настройки приборов на микроконтроллерах и/или для местного применения. Если она еще и 64-разрядная, то, возможно, exception cвязан с DX и т.п. в in/out, возможно, для 64 нужно EDX. Фантазирую.
0
|
109 / 40 / 11
Регистрация: 16.11.2018
Сообщений: 173
|
|
16.01.2025, 14:34 | 18 |
Взглянуть на сам файл драйвера который должен быть там указан. Посмотреть дату его появления в системе и посмотреть журнал системы что устанавливалось/удалялось в момент появления драйвера.
Не лишним будет проверить саму железку на другой системе или проверить систему другой железкой.
0
|
Native x86
5681 / 3415 / 965
Регистрация: 13.02.2013
Сообщений: 10,844
|
|
16.01.2025, 16:07 | 19 |
Как они могут работать, если USB-COM никаких портов в процессорном I/O-пространстве не имеет?
Ексепшн связан с тем, что команды процессора in/out запрещены в пользовательском пространстве. Все и всегда.
0
|
100 / 20 / 4
Регистрация: 19.11.2014
Сообщений: 200
|
|
17.01.2025, 06:58 [ТС] | 20 |
С другой железкой то же самое, на той же системе через API работает, перестало только только через прямой доступ.
Вы имеете в виду Журнал событий? Факт – работают. Как – не знаю. Думаю так, что драйвер создает виртуальные порты. Нет. Лично у меня работают паскалевсие port[$3F8]:=data, data:=port[$3F8]. Работают, откомпилированные на turbo pascal 6.0 в чистом ДОСе, в вин98, XP/32 и 7/32 (одна и та же программа!), в том числе, с отсутствующими в процессорном I/O-пространстве портами (при установленном драйвере USB-COM). Ни разу не было, чтобы на каком-нибудь компе не заработало. И это без утилит, позволяющих разрешить прямой доступ. С утилитой приятель на 10-ке использует LPT. Вы удивляете: вам столько раз сказали, что есть факт – не верите. Судя по скриншоту, Вы in/out делаете в каком-то паскале. Возможно, он и запрещает все и всегда.
0
|
17.01.2025, 06:58 | |
17.01.2025, 06:58 | |
Помогаю со студенческими работами здесь
20
Перестал работать аудиовыход и USB на передней панеле Перестал работать USB 3.0 на MSI Z77A-G43 Перестал работать USB на Acer Aspire 3 A315-42 Драйвер экрана igxprd32 перестал правильно работать, что можно сделать? Samsumg NP300V5A - Перестал работать аккумулятор и USB порты Usb host модуль перестал работать после пайки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи | |||||
Как использовать закрытый ключ шифрования в Git. Шифрование в Git
bytestream 23.01.2025
Установка и настройка закрытых ключей в Git предоставляет дополнительный уровень безопасности для работы с репозиториями. Для начала необходимо создать пару ключей, обычно это осуществляется с. . .
|
Как клонировать все ветки (branch) в Git
bytestream 23.01.2025
Система контроля версий Git является ключевым инструментом, позволяющим командам разрабатывать проект в более организованной и упорядоченной форме. Одной из основных концепций Git являются ветки,. . .
|
Работа со временем в JavaScript. Как получить отметку времени
bytestream 23.01.2025
В JavaScript объект Date представляет собой встроенный инструмент для работы с датами и временем, предоставляющий широкий спектр возможностей для манипуляций с временными данными. При создании нового. . .
|
Как отменить слияние (merge) в Git
bytestream 23.01.2025
В процессе разработки программного обеспечения часто возникают ситуации, когда необходимо отменить слияние веток в системе контроля версий https:/ / www. cyberforum. ru/ git/ "]Git. Эта операция может. . .
|
Как узнать какой процесс блокирует файл или каталог в Windows
bt_guru 23.01.2025
При работе с операционной системой Windows пользователи нередко сталкиваются с ситуацией, когда система отказывается выполнять определенные действия с файлами или каталогами, сообщая, что они. . .
|
Как в curl узнать код статуса HTTP запроса. Коды состояния HTTP
bt_guru 23.01.2025
Коды состояния HTTP играют значимую роль в обеспечении эффективного взаимодействия между клиентами и серверами. При работе с веб-сервисами важно не только отправлять запросы, но и правильно. . .
|
Как сортировать вывод команды ls в Linux
bt_guru 23.01.2025
В операционной системе Linux команда ls является одним из наиболее часто используемых инструментов для просмотра содержимого директорий. При работе с файловой системой пользователи регулярно. . .
|
Как сделать POST запрос с помощью curl
bt_guru 23.01.2025
curl - это мощный инструмент командной строки позволяет отправлять и получать данные через различные протоколы, включая HTTP, HTTPS, FTP и множество других. Особенно полезным curl становится при. . .
|
Прокрутка в tmux с помощью мыши и клавиатуры
bt_guru 23.01.2025
Tmux представляет собой мощный терминальный мультиплексор, который позволяет пользователям создавать и управлять несколькими терминальными сессиями внутри одного окна. Одной из важнейших функций tmux. . .
|
Как проверить, содержит ли массив значение в JavaScript. Поиск в массиве
bytestream 23.01.2025
Эффективный поиск значений в массивах становится критически важным навыком для разработчиков, использующих JavaScript. Процесс поиска элементов в массиве может показаться простым на первый взгляд,. . .
|
Как удалить тег Git в удалённом репозитории (remote)
bytestream 23.01.2025
Одним из важнейших механизмов организации версий в Git являются теги, которые позволяют помечать определенные точки в истории проекта как значимые. Теги часто используются для маркировки релизов,. . .
|
Чем отличаются URL, URI и URN
bytestream 23.01.2025
Системы идентификации представляют собой фундаментальный механизм, позволяющий однозначно определять местоположение и характеристики различных информационных объектов в глобальной сети. Эти системы. . .
|