реклама на сайте
подробности

 
 
> ARM linux ft2232H, подключение FTDI к ARM под linux libusb libftdi
Gorobey
сообщение Oct 16 2011, 10:53
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 4-01-06
Пользователь №: 12 829



Всем привет.

Есть проблема с подключением микросхемы FT2232H через USB host микроконтроллера ARM9SAM9G45.
установлен на АРМ линукс с ядром 2.6.30 + libusb 1.0.8 + ftdilib 0.19.
При подключении FTDI все вроде как определяется хорошо:

hub 1-0:1.0: unable to enumerate USB device on port 2
usb 2-2: new full speed USB device using at91_ohci and address 2
usb 2-2: not running at top speed; connect to a high speed hub
usb 2-2: New USB device found, idVendor=0403, idProduct=6010
usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-2: Product: USB <-> Serial Converter
usb 2-2: Manufacturer: FTDI
usb 2-2: SerialNumber: FTUOYSAY
usb 2-2: configuration #1 chosen from 1 choice
ftdi_sio 2-2:1.0: FTDI USB Serial Device converter detected
usb 2-2: Detected FT2232C
usb 2-2: FTDI USB Serial Device converter now attached to ttyUSB0
ftdi_sio 2-2:1.1: FTDI USB Serial Device converter detected
usb 2-2: Detected FT2232C
usb 2-2: FTDI USB Serial Device converter now attached to ttyUSB1

при попытке открытия устройства получаю ошибку:

find ftdi vid=1027 pid=24592 device: 0
unable to open ftdi vid=1027 pid=24592 device: -3 (device not found)

Исходный код программы:

int main(void)
{
int ret;
struct ftdi_context ftdic;
if (ftdi_init(&ftdic) < 0)
{
fprintf(stderr, "ftdi_init failed\n");
return EXIT_FAILURE;
}
int vid=0x0403;
int pid=0x6010;
struct ftdi_device_list** devlist;
if ((ret = ftdi_usb_find_all(&ftdic,devlist,vid, pid)) < 0)
{
fprintf(stderr, "unable to find ftdi vid=%d pid=%d device: %d (%s)\n", vid, pid,ret, ftdi_get_error_string(&ftdic));
return EXIT_FAILURE;
}
else
{
fprintf(stderr, "find ftdi vid=%d pid=%d device: %d\n", vid, pid,ret);
}

if ((ret = ftdi_usb_open(&ftdic,vid, pid)) < 0)
{
fprintf(stderr, "unable to open ftdi vid=%d pid=%d device: %d (%s)\n", vid, pid,ret, ftdi_get_error_string(&ftdic));
return EXIT_FAILURE;
}

Может кто сталкивался с подобной проблемой ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
sasamy
сообщение Oct 16 2011, 11:31
Сообщение #2


Знающий
****

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



Цитата(Gorobey @ Oct 16 2011, 14:53) *
Исходный код программы:


Пример самой библиотеки работает ?
http://developer.intra2net.com/git/?p=libf...72d;hb=HEAD#l26

UPD просмотрел - не там ошибка.

Сообщение отредактировал sasamy - Oct 16 2011, 11:40
Go to the top of the page
 
+Quote Post
Gorobey
сообщение Oct 16 2011, 12:12
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 4-01-06
Пользователь №: 12 829



Цитата(sasamy @ Oct 16 2011, 14:31) *
Пример самой библиотеки работает ?
http://developer.intra2net.com/git/?p=libf...72d;hb=HEAD#l26

UPD просмотрел - не там ошибка.


Я конечно проверил - но:
Number of FTDI devices found: 0
Go to the top of the page
 
+Quote Post
sasamy
сообщение Oct 16 2011, 12:20
Сообщение #4


Знающий
****

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



Цитата(Gorobey @ Oct 16 2011, 16:12) *
Я конечно проверил - но:
Number of FTDI devices found: 0


Проверьте - смонтированы ли sysfs и usbfs и есть ли доступ на запись юзеру от чьего имени запускаете.
Go to the top of the page
 
+Quote Post
Gorobey
сообщение Oct 16 2011, 13:25
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 4-01-06
Пользователь №: 12 829



Цитата(sasamy @ Oct 16 2011, 15:20) *
Проверьте - смонтированы ли sysfs и usbfs и есть ли доступ на запись юзеру от чьего имени запускаете.


Ура !!! все дело было в usbfs: 1111493779.gif

find ftdi vid=1027 pid=24592 device: 1

Премного благодарен за подсказку ! biggrin.gif
Go to the top of the page
 
+Quote Post
Gorobey
сообщение Oct 16 2011, 14:59
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 4-01-06
Пользователь №: 12 829



Радость была не долгой sm.gif

при вызове функции open :

ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
ftdi_sio 2-2:1.0: device disconnected
open ok

исходный код:

int ret;
struct ftdi_context *ftdic;

if ((ftdic = ftdi_new()) ==0)
{
fprintf(stderr, "ftdi new failed\n");
return EXIT_FAILURE;
}
ftdi_set_interface(ftdic, INTERFACE_A);
int vid=0x0403;
int pid=0x6010;
ret = ftdi_usb_open(ftdic,vid, pid);
if ( ret < 0 && ret!=-5)
{
fprintf(stderr, "unable to open ftdi vid=%X pid=%X device: %d (%s)\n", vid, pid,ret, ftdi_get_error_string(ftdic));
ftdi_deinit(ftdic);
exit(-1);
return EXIT_FAILURE;
}
else printf("open ok \n");

Мысли ?
Go to the top of the page
 
+Quote Post
sasamy
сообщение Oct 16 2011, 15:36
Сообщение #7


Знающий
****

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



Цитата(Gorobey @ Oct 16 2011, 18:59) *
Радость была не долгой sm.gif

при вызове функции open :

ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
ftdi_sio 2-2:1.0: device disconnected
open ok


Непонятно - что тут может огорчать ? так и должно быть, там помоему где-то в недрах автоматом драйвер serial отключается при инициализации, о чем ядро и сообщает.

Сообщение отредактировал sasamy - Oct 16 2011, 15:39
Go to the top of the page
 
+Quote Post
Gorobey
сообщение Oct 17 2011, 08:46
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 4-01-06
Пользователь №: 12 829



Цитата(sasamy @ Oct 16 2011, 18:36) *
Непонятно - что тут может огорчать ? так и должно быть, там помоему где-то в недрах автоматом драйвер serial отключается при инициализации, о чем ядро и сообщает.


Да действительно так. Последовательный драйвер отключается, на работоспособность не влияет, все работает за что Вам "sasamy" отдельное спасибо.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 08:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01393 секунд с 7
ELECTRONIX ©2004-2016