KERNEL.PRO
19/05/2011
Добавлена версия стандарта C++
В главном меню сайта добавлена ссылка на нашу версию оформления кода на C++.
0

11/05/2011
Запуск сайта
Сегодня запущен портал
0


 › Статьи › Бубны с программами › Некорректная работа USB-COM Prolific
Версия для печати RSS

Некорректная работа USB-COM Prolific с QSerialDevice и .NET2.0

Имею 4 шнурка типа Prolific. Даже разбирал их: оказалось, у одно другая плата. И по мелочам: в Win7 32bit к одному подошел драйвер только 3.5, а к другим - 3.2. Марка - TU-S9. Очевидно, один был поддельным.


Глюк №1 (.NET 2.0)
Стандартная библиотека из .NET2.0. Модем перестает реагировать на команды и ничего не шлет приложению.
Естественно, сначала сваливал все на свои кривые руки. Однако, после перезапуска программы не заработало, терминалом не подключилось. Тогда я без отключения питания модема переткнул USB-кабель. После этого модем заработал... где-то часов на 10... и снова ушел в глубокое молчание. Переткнул USB шнурок без отключения проги - все снова заработало на несколько часов.

Глюк №2 (QSerialDevice 2.0)
Аналогично. Вывел закономерность, что модем уходит в молчание быстрее, если ему посылать команды. Если модем работает только на прием - не зависает. Однако, и эта закономерность не подтвердилсь - после суток работы выяснилось, что сигнал ReadyRead() не вызывается, хотя данные на модем были посланы. Перезапуск проги ничего не дал! 
Наученный горьким опытом глюка №1, решил, что глюк аналогичный. Закрыл прогу и подключился терминалом - через порт стало вываливаться то, что модем должен был послать еще очень давно.

В компе еще вставлены PCI-COM платы MosChip - они работают как часы, претензий нет.

Глюк №3.
Шнурки зависают либо быстро либо медленно либо работают. После аккуратного вскрытия первого девайса (на защелках, TU-S9) и рассматривания платы проводок экрана отвалился от платы сам собой. Он был припаян только поверхностно - даже в дырку не просунули китайцы. Ну и чего вы от этих проводков хотите? Устройство будет отваливаться после любого чиха и подключаться снова, и где-то на этом пути, скорее всего меняется виртуальный идентификатор.

И тут я вспомнил: аналогичный баг начал проявляться с SpRecord, когда я заменил штатный добротный USB-провод, идущий в комплекте, на китайский. Устройство после замены кабеля работало ровно до нового звонка - 100 вольт/25 Герц по проводам делали устройство недоступным.

А если учесть то, что я сделал обойму из 4-х GPRS модемов с антеннами 7db и все это располагается в телемеханическом шкафу по соседству с несколькими компами, то неудивительно, что USB стало глючить.




      Копирование материалов сайта возможно только при размещении прямой ссылки на www.kernel.pro