|
|
  |
Виснет USBXpreess Silabs, Непонятные зависания |
|
|
|
Aug 14 2009, 21:09
|
Участник

Группа: Участник
Сообщений: 48
Регистрация: 4-11-08
Пользователь №: 41 361

|
Устройство сделано на C5081F321, софт на компе написан на шарпе. Так вот, запускаю программу на компе, все работает, данные принимает, но через пару секунд все зависает.... Иногда так, что диспетчер задач не спасает.... Также прошивал в мк Silab-овские примеры, при запуске Host программы тоже самое  В чем может быть причина?
Сообщение отредактировал Left Radio - Aug 14 2009, 21:11
|
|
|
|
|
Aug 18 2009, 00:30
|
Участник

Группа: Участник
Сообщений: 48
Регистрация: 4-11-08
Пользователь №: 41 361

|
Ну раз никто мне не отвечает, то придется самому себе ответить.... Может еще у кого-то будут подобные проблемы... Собственно за три дня мозголамания и чтения всего что касается UsbXpress, причина зависаний так и не была найдена. А оказалось что проблема была скрыта в БИОСе компа, а точнее в опции USB Legacy Suport(USB Keyboard & USB Mouse). После ее отключения все заработало без проблем, хоть это и очень странно  Проверялось на нескольких компах(Atlon X2, Semptron) везде одно и тоже, неужели у всех так ? Или у всех нормально, а я такой невезучий ?
|
|
|
|
|
Aug 19 2009, 04:15
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 14-06-06
Пользователь №: 18 062

|
У меня проблема была (есть) поинтереснее. Между основной программой и устройством идет очень интенсивный обмен данными, на одноядерных процах все работает просто замечательно. На двухядерных (Athlon X2, со всеми заплатками), периодически, SI_Write задумывается на неопределенное число секунд, затем продолжает работу. Данные при этом не портятся и не теряются, сама функция возвращает SI_SUCCESS. Таймауты установлены. Проблема была на разных мат платах (чипсеты от NVIDIA и AMD) и на разных процессорах. Отписал в Silab - молчат.
|
|
|
|
|
Aug 19 2009, 06:07
|
Участник

Группа: Участник
Сообщений: 48
Регистрация: 4-11-08
Пользователь №: 41 361

|
Очень похоже на мою проблему, только функция у меня не возвращала SI_SUCCESS, попробуйте в биосе отключить USB Legacy и/или USB2.0 support.
Сообщение отредактировал Left Radio - Aug 19 2009, 06:07
|
|
|
|
|
Aug 19 2009, 07:45
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 14-06-06
Пользователь №: 18 062

|
USB Legacy еще можно попробовать отключить, но по-моему эта штука работает только во время загрузки компьютера. А вот за отключение USB 2.0 можно узнать о себе массу нового и неприятного от конечных пользователей. Да и не решение это проблемы. Не могут, гады, дать исходники, хотя бы под NDA - больше чем уверен, что это где-то у них...
|
|
|
|
|
Aug 19 2009, 08:20
|
Участник

Группа: Участник
Сообщений: 48
Регистрация: 4-11-08
Пользователь №: 41 361

|
Понятно что это не решение проблемы... Это так ради эксперимента, а вдруг заработает? У меня проблема решилась именно отключением USB Legacy, хотя ни где об этом производитель не упоминает...
|
|
|
|
|
Aug 19 2009, 08:28
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 14-06-06
Пользователь №: 18 062

|
Ну если бы проблема хоть как то четко вылавливалась.. Просто был случай что 48 часов и ни одной заминки и на двухядерном, а после буквально в течении каждого часа задержки на несколько секунд. Так что отпишу о результатах попозже.
|
|
|
|
|
Sep 9 2009, 10:59
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 14-06-06
Пользователь №: 18 062

|
Отключение USB Legacy - не помогло.
|
|
|
|
|
Sep 9 2009, 17:20
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 14-06-06
Пользователь №: 18 062

|
Если вопрос был адресован мне, то сообщаю: Кабели используем достаточно хорошие: http://www.nix.ru/autocatalog/cables/Defen...0406_56778.htmlКогда только начинали работать с этими МК, достаточно быстро обнаружили, что с обычными лучше не связываться. Ставили 2 компа, отличавшихся только процессором - двухядерный достаточно часто "замирал", с одноядерным таких проблем не было. Эксперимент многократно повторялся с разными процессорами (надо же и рабочие компы обновлять  ). Не думаю что дело в помехах.
|
|
|
|
|
Nov 5 2009, 00:44
|
Группа: Участник
Сообщений: 6
Регистрация: 12-02-05
Пользователь №: 2 589

|
Цитата(exeron @ Sep 9 2009, 20:20)  Ставили 2 компа, отличавшихся только процессором - двухядерный достаточно часто "замирал", с одноядерным таких проблем не было. Эксперимент многократно повторялся с разными процессорами (надо же и рабочие компы обновлять  ). Не думаю что дело в помехах. Пару лет назад при работе с USB-мс FT2232 от FTDI (интенсивный обмен с использованием D2XX-драйвера) обнаружилась такая же проблема (одноядерный ЦП - OK, двухядерный (Pentium HT) - сбои и зависы). Было найдено "гениальное" решение - лишить ЦП многоядерности (естественно только для свого приложения). А недавно, уже при работе с USBXpreess Silabs (ЦП - Athlon X2), - та же беда! Но и решение - то же! Для проверки эффективности решения производим следующие манипуляции: - запускаем приложение; - запускаем Диспетчер задач; - на вкладке "Процессы" находим своё приложение, правой кнопкой вызываем для него контекстное меню, выбираем там "Задать соответствие" и оставляем галочку только у одного из ЦП. В случае положительного результата проверки - добавляем в приложение несколько строк, лишающих ЦП многоядерности уже программно.
|
|
|
|
|
Nov 10 2009, 09:35
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 14-06-06
Пользователь №: 18 062

|
"Лечили" с помощью SetProcessAffinityMask?
PS Может ребята из Silabs "одолжили" часть кода драйвера у FTDI и по этому не хотят показывать, или просто у дураков мысли сходятся? ))
|
|
|
|
|
Nov 12 2009, 19:12
|
Группа: Участник
Сообщений: 6
Регистрация: 12-02-05
Пользователь №: 2 589

|
Цитата(exeron @ Nov 10 2009, 12:35)  "Лечили" с помощью SetProcessAffinityMask? Да. Цитата(exeron @ Nov 10 2009, 12:35)  PS Может ребята из Silabs "одолжили" часть кода драйвера у FTDI и по этому не хотят показывать, или просто у дураков мысли сходятся? )) Возможно, они пользовались одними и теми же рекомендациями и ЦУ от Microsoft , и не всё в них поняли
|
|
|
|
|
Nov 26 2009, 11:46
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 14-06-06
Пользователь №: 18 062

|
Похоже Silab все же соизволили посмотреть на баги в USBXpress - во всяком случае в свежей версии копали именно в направлении многопоточности, насколько хорошо поработали пока не проверял, благо AMD еще производить одноядерные процы.
|
|
|
|
|
Dec 11 2009, 11:03
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 1-05-06
Из: Одесса
Пользователь №: 16 644

|
Проверил старый (2й) USBXpreess на четырехядерном Атлоне под Windows 7 - работает нормально с CP2102! Следовательно, нет смысла переходить на третий USBXpreess - он (третий) не поддерживает Windows 98.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|