ЗАО «ЗЭО»

Техническая поддержка пользователей => ОС Linux, U-Boot => Тема начата: squir от 14 Января, 2011, 10:10:02

Название: Linux и FT232BM
Отправлено: squir от 14 Января, 2011, 10:10:02
Добрый день!

Может быть кто-то уже сталкивался подобным...
Имеется датчик, который принимает и передает данные при помощи микросхемы FT232BM. При подключении к Тион Про2 получаем:

ftdi_sio 1-2:1.0: FTDI USB Serial Device converter detected
drivers/usb/serial/ftdi_sio.c: Detected FT232BM
usb 1-2: FTDI USB Serial Device converter now attached to ttyUSB0


Вроде все красиво, но при попытке взаимодействия с устройством, например такой:

/# stty -F /dev/ttyUSB0

Получаем в ответ:

stty: /dev/ttyUSB0: Inappripriate ioctl for device

Буду рад любой информации по этому поводу=)
Название: Re: Linux и FT232BM
Отправлено: laborer от 14 Января, 2011, 10:37:25
Посмотрите с помощью strace какой именно ioctl выполняется.
Название: Re: Linux и FT232BM
Отправлено: squir от 14 Января, 2011, 12:49:01
Вот тут вываливается.
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbefbabc8) = -1 ENOTTY (Inappropriate ioctl for device)

Название: Re: Linux и FT232BM
Отправлено: asv от 14 Января, 2011, 13:18:02
Попробуйте запустить более новый драйвер ftdi-sio.
Название: Re: Linux и FT232BM
Отправлено: askh от 17 Марта, 2011, 22:43:12
Пробежавшись по форуму, заметил, что в некоторые сборки ядра или КФС включены драйвера usbserial и ftdi_sio (для ТионПро2, к примеру).
Подскажите, есть ли готовые сборки для ТионПро270 (модулями или в ядре)?
Судя по логам ядра (при старте системы и подключении FTDI-устройства), таковые в заводской поставке моего контроллера отсуствуют.

(на всякий случай приложу лог)
 
Название: Re: Linux и FT232BM
Отправлено: pav2000 от 18 Марта, 2011, 09:43:00
Для Тиона 270 модули usbserial ftdi_sio отсутствуют в ядре.
Но можно без проблем их скомпилировать и потом загружать командами insmod или modprobe.
Сначала грузите usbserial потом ftdi_sio.
Компиляция ядра полно описана Wiki, в меню (make menuconfig) ставите буковки М напротив требуемых модулей и они соберутся  (расширение ko).

Учтите одно для ядра 2.6.22.19 максимальная скорость FTDI точно не больше 460800 бит/сек. если датчик дает большей поток то драйвер будет захлебываться как происходит у меня (мне нужно 1.8 Мбита). Нужно более свежее ядро там скорость ограничена 3 Мбитами (нужные исправления кажется появились в 2.6.25 или 2.6.27 ядре).


Название: Re: Linux и FT232BM
Отправлено: askh от 18 Марта, 2011, 16:17:01
pav2000, спасибо за информацию, сверхскоростей не требуется, 115200 - потолок.
соберу, пожалуй, модулями, чтоб ядро не трогать в контроллере.

Название: Re: Linux и FT232BM
Отправлено: askh от 24 Марта, 2011, 15:36:16
модуль FTDI для Тион-Про270 собрался нормально, на всякий случай выкладываю результат:

берём

# make tion-pro270_defconfig и в полученном конфиге ядра корректируем:
# комментируем, чтобы не было ошибок Unknown symbol __aeabi_idiv, __aeabi_uidiv при загрузке модуля ftdi_sio
# CONFIG_AEABI=y
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_FTDI_SIO=m

# make clean modules и в папке drivers/usb/serial/ находим заветные файлы usbserial.ko и ftdi_sio.ko, заливаем на tion

# insmod ./usbserial.ko; insmod ./ftdi_sio.ko
[ 3388.210000] usbcore: registered new interface driver usbserial
[ 3388.210000] drivers/usb/serial/usb-serial.c: USB Serial Driver core
[ 3388.250000] drivers/usb/serial/usb-serial.c: USB Serial support registered for FTDI USB Serial Device
[ 3388.260000] ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
[ 3388.270000] Detected FT232BM
[ 3388.270000] Number of endpoints 2
[ 3388.280000] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
[ 3388.280000] usbcore: registered new interface driver ftdi_sio

# stty -F /dev/ttyUSB0 115200 raw -echo
stty: /dev/ttyUSB0: cannot perform all requested operations
stty ворчит, но параметры выставляет.

готовые модули для тиона в аттаче...
Название: Re: Linux и FT232BM
Отправлено: asv от 24 Марта, 2011, 16:05:14
У вас модули получились "not stripped", можно их подвергнуть arm-linux-strip'у