100 / 20 / 4
Регистрация: 19.11.2014
Сообщений: 200
1

Перестал работать драйвер для USB-COM

10.01.2025, 17:51. Показов 340. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Win7/32
Переходник USB–COM-порт CH340

Работал нормально несколько лет, за исключением Синий экран при отправке 0x13 через CH340
Вдруг перестал без явных причин – не отправляет и не принимает.

Раньше при запуске проги, использующей COM, без воткнутого CH340 система ворчала, что-то вроде «Оращение к отсутствующему COM-порту. Пропустить или закрыть?». Сейчас молча запускает прогу.
В диспетчере устройств откуда-то взялось, что COM4 якобы используется (кем?), раньше этого не было (я использую COM1).

На всякий случай: между «работало» и «перестало» были следующие события:
- пытался доустановить тулбокс матлаба, после чего матлаб вообще свалился;
- установил free pascal.

Снесение free pascal и переустановка дров для CH340 ничего не изменили.

Где копать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.01.2025, 17:51
Ответы с готовыми решениями:

Перестал работать USB
Само по себе перестало работать USB. Причем на передней панели системника порежднему всё нормально. Откат системы не помог. Обновление...

Перестал работать usb 2.0
После чистки ноута в сервисе со слетом винды и последующей её установкой там же перестал работать usb 2.0 порт. Порт не реагирует ни при...

Драйвер дисплея nv4_disp перестал правильно работать
такая трабла вылазиет кода запускаешт приложения : игры фильмы игроманию бенчмарки что делать)))????

Драйвер экрана nv4_disp перестал правильно работать
Видеокарта : zotac geforce gt 220 1 gb http://www.pcgameshardware.com/screenshots/medium/2009/10/Zotac_Geforce_GT_220_1G_K_hler.jpg ...

Перестал работать аккумулятор и USB порты
Аккумулятор перестал работать. Показывает 100% заряжен. Но когда отключаю от сети тут же ноутбук выключается... Индикатор мигает то...

19
Native x86
Эксперт Hardware
 Аватар для quwy
5681 / 3415 / 965
Регистрация: 13.02.2013
Сообщений: 10,844
10.01.2025, 19:08 2
Для начала выясните, какой COM-порт появляется и исчезает в диспетчере устройств при втыкании/вытыкании вашего адаптера. Проверьте в разных USB. Все остальные COM-порты, если они есть, пока игнорируем. Пробуем подключиться к появляющемуся порту, о результатах доложите.

Цитата Сообщение от Diusha Посмотреть сообщение
установил free pascal
Был бы очень удивлен, если бы он имел хоть какое-то отношение к вопросу.
0
 Аватар для MallSerg
109 / 40 / 11
Регистрация: 16.11.2018
Сообщений: 173
11.01.2025, 00:08 3
Цитата Сообщение от Diusha Посмотреть сообщение
... и переустановка дров для CH340 ничего не изменили.
Некоторые CH340 не совсем CH340. Т.е. есть реальные а есть китайские подделки которые можно отличить от оригинала тока по глюкам

Можно погуглить в сторону "драйвер CH340 для китайских подделок" но врят ли ченить разумное найдешь могу только посоветовать подбирать драйвер с наименьшим количеством глюков.

Подделки это отдельная боль в радиоэлектронике характеристики заметно отличаются от оригиналов и понять это можно только методом научного тыка (методом подбора значений), ну или через обмен опытом в телеграмме или на форумах ремонтников.
0
100 / 20 / 4
Регистрация: 19.11.2014
Сообщений: 200
11.01.2025, 00:28  [ТС] 4
Цитата Сообщение от MallSerg Посмотреть сообщение
Т.е. есть реальные а есть китайские
Дело в том, что не китайских нет. Это китайская разработка.
Есть разные версии чипов. И старые версии с последней версией драйвера вообще не работают.
У меня ситуация другая: работало и вдруг перестало.
0
100 / 20 / 4
Регистрация: 19.11.2014
Сообщений: 200
13.01.2025, 20:59  [ТС] 5
Цитата Сообщение от quwy Посмотреть сообщение
Для начала выясните, какой COM-порт появляется и исчезает в диспетчере устройств при втыкании/вытыкании вашего адаптера. Проверьте в разных USB. Все остальные COM-порты, если они есть, пока игнорируем. Пробуем подключиться к появляющемуся порту,
Сорри, почему-то я раньше не заметил это сообщение.

Если снести драйвер, то после первого втыкания автоматически устанавливается драйвер и назначается COM3. По-моему, раньше было COM1.
Назначаю тот, который хочу (COM1), и при последующих вытыканиях/втыканиях всегда остается назначенный мной.
В другом USB (их у меня на ноуте всего 2) все то же самое, только сам ставит COM1.
Пробовал назначать и COM2. Программой пытаюсь посылать в тот, который назначен.

Странность: откуда-то взялось, что COM4 используется. Как узнать, кто его "использует"?

Еще бόльшая странность:
Цитата Сообщение от Diusha Посмотреть сообщение
Раньше при запуске проги, использующей COM, без воткнутого CH340 система ворчала, что-то вроде «Оращение к отсутствующему COM-порту. Пропустить или закрыть?». Сейчас молча запускает прогу.
Т.е. без адаптера винда думает, что COM-порт есть -- ???

Сейчас перестала проходить автоматическая установка драйвера. Ставится только при запуске установщика с диска.

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

Добавлено через 8 минут
Мне подсказали, что что-то подобное вылечилось после ручной чистки реестра от ошметков драйвера.
Но я понятия не имею, где и что в реестре нужно искать по этому поводу.
0
Native x86
Эксперт Hardware
 Аватар для quwy
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
3. В менеджере устройств выбрать Вид->Показать скрытые устройства
4. Раскрыть куст "Порты", поудалять все серые порты с установкой галки "Удалить программы драйверов для этого устройства".
5. Перезагрузиться.
6. Воткнуть устройство.

Этой последовательностью действия вы максимально вернетесь к исходному состоянию системы.

Цитата Сообщение от Diusha Посмотреть сообщение
COM-порт работает с программами, работающими, видимо, через API, а перестало работать только с прямой записью в порты.
В современных ОС с портами напрямую могут работать только драйвера устройств и ядро системы. Все EXE-программы к порту могут обратиться исключительно по API.
0
100 / 20 / 4
Регистрация: 19.11.2014
Сообщений: 200
13.01.2025, 22:25  [ТС] 7
Цитата Сообщение от quwy Посмотреть сообщение
Этой последовательностью действия вы максимально вернетесь к исходному состоянию системы.
Непонятный COM4 убрался, но все остальное по-прежнему (

Цитата Сообщение от quwy Посмотреть сообщение
Все EXE-программы к порту могут обратиться исключительно по API.
Непонятно, что значит «могут». Вы имеете в виду (приходится in English из-за неоднозначности русского) “may” или “can”?
0
Native x86
Эксперт Hardware
 Аватар для quwy
5681 / 3415 / 965
Регистрация: 13.02.2013
Сообщений: 10,844
14.01.2025, 00:00 8
Цитата Сообщение от Diusha Посмотреть сообщение
Непонятный COM4 убрался, но все остальное по-прежнему
Надо бы проверить с другим экземпляром. Желательно не на CH340/аналоге.

Цитата Сообщение от Diusha Посмотреть сообщение
Непонятно, что значит «могут»
Это значит, что программам пользовательского режима в принципе недоступны команды прямого чтения/записи портов. Система представляет порты в виде файлов \\.\COMx, и только с ними программы могут работать как с обычными файлами (обычными файловыми функциями ReadFile/WriteFile).
0
 Аватар для MallSerg
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
Цитата Сообщение от quwy Посмотреть сообщение
программам пользовательского режима в принципе недоступны команды прямого чтения/записи портов.
Это не совсем так. Для каких-то портов недоступны, для других доступны. Распространен миф, что недоступны для всех – и точка.
Настраивается где-то в реестре, есть утилиты для настройки.
По умолчанию для COM во всех виндах, по крайней мере, до 7-ки включительно разрешено, сам постоянно пользуюсь.
Для LPT по умолчанию запрещено, начиная, кажется, с 2000. Знаю, что LPT настройками разрешают, по крайней мере, до 10-ки включительно.

Цитата Сообщение от MallSerg Посмотреть сообщение
Стоит проверить нет ли пары драйверов для одного pid vid в системе
Не подскажете, как это сделать?
0
 Аватар для MallSerg
109 / 40 / 11
Регистрация: 16.11.2018
Сообщений: 173
14.01.2025, 20:15 11
Цитата Сообщение от Diusha Посмотреть сообщение
Не подскажете, как это сделать?
Ну начать можно с просмотра логов C:\Windows\inf\setupapi.dev.log
0
Native x86
Эксперт Hardware
 Аватар для quwy
5681 / 3415 / 965
Регистрация: 13.02.2013
Сообщений: 10,844
14.01.2025, 20:38 12
Цитата Сообщение от Diusha Посмотреть сообщение
Это не совсем так. Для каких-то портов недоступны, для других доступны. Распространен миф, что недоступны для всех – и точка.
И как вы представляете себе доступ к COM-порту из программы пользовательского режима, минуя WinAPI?
Просто интересно, что, куда, и какими средствами вы будете записывать, чтобы отправить байт в порт. Хотя бы чисто теоретически.
0
100 / 20 / 4
Регистрация: 19.11.2014
Сообщений: 200
14.01.2025, 21:17  [ТС] 13
Цитата Сообщение от quwy Посмотреть сообщение
И как вы представляете себе доступ к COM-порту из программы пользовательского режима, минуя WinAPI?

Хотя бы чисто теоретически..
Горстка портов, начиная с 0x3F8. Пишу, читаю )
И теоретически, и практически

Добавлено через 17 минут
Цитата Сообщение от MallSerg Посмотреть сообщение
Ну начать можно с просмотра логов C:\Windows\inf\setupapi.dev.log
Там несколько сотен записей с VID/PID моего девайса. Похоже, записываются не только переустановки драйвера, но и каждое втыкание.
Но как я могу узнать, это мой девайс или где-то замаскировался двойник?
0
Native x86
Эксперт Hardware
 Аватар для quwy
5681 / 3415 / 965
Регистрация: 13.02.2013
Сообщений: 10,844
15.01.2025, 00:47 14
Цитата Сообщение от Diusha Посмотреть сообщение
Горстка портов, начиная с 0x3F8. Пишу, читаю )
И теоретически, и практически
Да ну?
Перестал работать драйвер для USB-COM


Доступ к некоторым диапазонам ввода-вывода (включающем COM-порты) действительно был доступен в Windows из пользовательского окружения. Но это было во времена Win9x. С тех пор многое изменилось.
0
100 / 20 / 4
Регистрация: 19.11.2014
Сообщений: 200
15.01.2025, 06:15  [ТС] 15
Цитата Сообщение от quwy Посмотреть сообщение
Да ну?
Ага. Могу только повторить:
Цитата Сообщение от Diusha Посмотреть сообщение
Работал нормально несколько лет
Цитата Сообщение от Diusha Посмотреть сообщение
И теоретически, и практически
Цитата Сообщение от Diusha Посмотреть сообщение
Распространен миф
Возможно, у вас винда более новая, чем 7. На этот счет я не в курсе. Возможно, ваш компилятор добавляет в программу проверку на "нехорошие" операции; она (проверка) и генерит exception.
0
Native x86
Эксперт Hardware
 Аватар для quwy
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
Цитата Сообщение от quwy Посмотреть сообщение
доступ к портам обрубили еще в WinNT. Я в свое время на это налетел лично.
Да, существуют драйверы, которые устанавливаются в систему, и предоставляют юзерленду доступ к I/O через свой нестандартный API
Опять же: обрубили не ко всем портам. К COM не обрубили по меньшей мере до 7-ки включительно. Я на это налетел лично: постоянно использую COM без всяких дополнительных настроек и драйверов. Даже экспериментально установлено, что программы, работающие как будто с железным COM-портом (через прямые запись/чтение), при его отсутствии работают и с адаптерами USB-COM. Но это уже не всегда. CH340 таким путем работает, CP2102 – нет (на 7-ке).

Цитата Сообщение от quwy Посмотреть сообщение
Но я не думаю, что какое-то коммерческое ПО всерьез использует этот полу-хакерский костыль.
Возможно. Я использую для отладки и настройки приборов на микроконтроллерах и/или для местного применения.

Цитата Сообщение от quwy Посмотреть сообщение
Винда-то десятая,
Если она еще и 64-разрядная, то, возможно, exception cвязан с DX и т.п. в in/out, возможно, для 64 нужно EDX. Фантазирую.
0
 Аватар для MallSerg
109 / 40 / 11
Регистрация: 16.11.2018
Сообщений: 173
16.01.2025, 14:34 18
Цитата Сообщение от Diusha Посмотреть сообщение
Там несколько сотен записей с VID/PID моего девайса. Похоже, записываются не только переустановки драйвера, но и каждое втыкание.
Взглянуть на сам файл драйвера который должен быть там указан. Посмотреть дату его появления в системе и посмотреть журнал системы что устанавливалось/удалялось в момент появления драйвера.

Не лишним будет проверить саму железку на другой системе или проверить систему другой железкой.
0
Native x86
Эксперт Hardware
 Аватар для quwy
5681 / 3415 / 965
Регистрация: 13.02.2013
Сообщений: 10,844
16.01.2025, 16:07 19
Цитата Сообщение от Diusha Посмотреть сообщение
Даже экспериментально установлено, что программы, работающие как будто с железным COM-портом (через прямые запись/чтение), при его отсутствии работают и с адаптерами USB-COM
Как они могут работать, если USB-COM никаких портов в процессорном I/O-пространстве не имеет?

Цитата Сообщение от Diusha Посмотреть сообщение
Опять же: обрубили не ко всем портам
Перестал работать драйвер для USB-COM


Цитата Сообщение от Diusha Посмотреть сообщение
возможно, exception cвязан с DX
Ексепшн связан с тем, что команды процессора in/out запрещены в пользовательском пространстве. Все и всегда.
0
100 / 20 / 4
Регистрация: 19.11.2014
Сообщений: 200
17.01.2025, 06:58  [ТС] 20
Цитата Сообщение от MallSerg Посмотреть сообщение
Не лишним будет проверить саму железку на другой системе или проверить систему другой железкой.
С другой железкой то же самое, на той же системе через API работает, перестало только только через прямой доступ.

Цитата Сообщение от MallSerg Посмотреть сообщение
и посмотреть журнал системы
Вы имеете в виду Журнал событий?

Цитата Сообщение от quwy Посмотреть сообщение
Как они могут работать, если USB-COM никаких портов в процессорном I/O-пространстве не имеет?
Факт – работают. Как – не знаю. Думаю так, что драйвер создает виртуальные порты.

Цитата Сообщение от quwy Посмотреть сообщение
команды процессора in/out запрещены в пользовательском пространстве. Все и всегда.
Нет. Лично у меня работают паскалевсие 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
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.01.2025, 06:58
Помогаю со студенческими работами здесь

Перестал работать аудиовыход и USB на передней панеле
После смены винды с ХР на 7 перестал работать аудиовыход и USB на передней панеле. Не могу понять в чем дело. Разъемы все на месте. Дрова...

Перестал работать USB 3.0 на MSI Z77A-G43
Доброго времени суток! Подскажите, плиз, что это может быть: неделю назад собрал свой ПК. Все отлично, все работало. Сегодня перестал...

Перестал работать USB на Acer Aspire 3 A315-42
Всем привет :yahoo: Такая проблема, вставили в USB 3.0 внешний привод с доп.питанием и вместо 5в ткнули 12в, ноут потух и после включения...

Драйвер экрана igxprd32 перестал правильно работать, что можно сделать?
драйвер экрана igxprd32 драйвер перестам правильно работать. что можно сделать? или откуда можно скачать???

Samsumg NP300V5A - Перестал работать аккумулятор и USB порты
Аккумулятор перестал работать. Показывает 100% заряжен. Но когда отключаю от сети тут же ноутбук выключается... Индикатор мигает то...

Usb host модуль перестал работать после пайки
Сразу говорю - до пайки всё 100% работало! Решил я топорно спаять (ибо травить плату нет никакого желания) на макетной плате. После пайки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как использовать закрытый ключ шифрования в 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
Системы идентификации представляют собой фундаментальный механизм, позволяющий однозначно определять местоположение и характеристики различных информационных объектов в глобальной сети. Эти системы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru