После того, как USB-устройство подключено, устройству требуется время для перечисления в Windows и подключения в качестве COM-порта (виртуального последовательного). Кажется, что это может занять 2 секунды или более, если устройство подключено напрямую, или 10 секунд или более, если подключено через концентратор.
В настоящее время я повторяю каждые 2 секунды, если при попытке открыть COM-порт я получаю сообщение «файл не найден» максимум на 8 попыток. Это означает, что я повторяю попытку в течение примерно 16 секунд, прежде чем выдать сообщение об ошибке. Однако иногда я все еще вижу сообщение об ошибке в удаленном ведении журнала, означающее, что на некоторых машинах устройства могут открываться дольше, чем 16 секунд, прежде чем их можно будет открыть через COM-порт.
Есть ли разумная верхняя граница, которую я могу использовать в качестве таймаута?