У меня 2 устройства FTDI, одно работает с драйвером последовательного порта (ftdi_sio), другое использует драйвер ftd2xx. Мне нужно управлять этими устройствами из одного приложения.
Я знаю о конфликте между этими двумя драйверами и написал простой переключатель, который загружает или выгружает драйвер ядра ftdi_sio и вызывает его из моего приложения. Поэтому, когда мне нужно связаться с первым устройством, я загружаю модуль ftdi_sio, используя мой переключатель, и выполняю свою работу. Когда мне нужно связаться со вторым устройством, я удаляю модуль ftdi_sio и работаю с ним.
Проблема в том, что сразу после загрузки драйвера ftdi_sio я получаю такой вывод lsmod:
ftdi_sio 53248 2
usbserial 45056 5 ftdi_sio
У меня нет Представьте, что это за 2 процесса, использующие драйвер ftdi_sio. Если я пытаюсь открыть устройство сейчас, я получаю сообщение об ошибке «Порт занят». Через ~ 20 секунд оно становится:
ftdi_sio 53248 0
usbserial 45056 1 ftdi_sio
И только после этого я могу открыть свое устройство.
Итак, я хочу знать, кто использует мои устройства ftdi в течение 20 секунд после загрузки драйвера. И можно ли уменьшить это время.