ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: Linux и FT232BM  (Прочитано 6536 раз)

0 Пользователей и 1 Гость просматривают эту тему.

squir

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 4
Linux и FT232BM
« : 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

Буду рад любой информации по этому поводу=)
« Последнее редактирование: 14 Января, 2011, 15:07:59 от squir »
Записан

laborer

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 29
Re: Linux и FT232BM
« Ответ #1 : 14 Января, 2011, 10:37:25 »

Посмотрите с помощью strace какой именно ioctl выполняется.
Записан

squir

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 4
Re: Linux и FT232BM
« Ответ #2 : 14 Января, 2011, 12:49:01 »

Вот тут вываливается.
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbefbabc8) = -1 ENOTTY (Inappropriate ioctl for device)

Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Linux и FT232BM
« Ответ #3 : 14 Января, 2011, 13:18:02 »

Попробуйте запустить более новый драйвер ftdi-sio.
Записан

askh

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 5
Re: Linux и FT232BM
« Ответ #4 : 17 Марта, 2011, 22:43:12 »

Пробежавшись по форуму, заметил, что в некоторые сборки ядра или КФС включены драйвера usbserial и ftdi_sio (для ТионПро2, к примеру).
Подскажите, есть ли готовые сборки для ТионПро270 (модулями или в ядре)?
Судя по логам ядра (при старте системы и подключении FTDI-устройства), таковые в заводской поставке моего контроллера отсуствуют.

(на всякий случай приложу лог)
 
Записан

pav2000

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 12
Re: Linux и FT232BM
« Ответ #5 : 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 ядре).


Записан

askh

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 5
Re: Linux и FT232BM
« Ответ #6 : 18 Марта, 2011, 16:17:01 »

pav2000, спасибо за информацию, сверхскоростей не требуется, 115200 - потолок.
соберу, пожалуй, модулями, чтоб ядро не трогать в контроллере.

Записан

askh

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 5
Re: Linux и FT232BM
« Ответ #7 : 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 ворчит, но параметры выставляет.

готовые модули для тиона в аттаче...
« Последнее редактирование: 24 Марта, 2011, 15:39:34 от askh »
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Linux и FT232BM
« Ответ #8 : 24 Марта, 2011, 16:05:14 »

У вас модули получились "not stripped", можно их подвергнуть arm-linux-strip'у
Записан