2015-11-04 3 views
0

Я пытаюсь написать простую программу, которая использует libftdi, и я столкнулся с какой-то странной проблемой.Ubuntu, libftdi priviliges, seg fault при запуске программы пользователя без полномочий root

При запуске программы, как некорневыми это выглядит следующим образом:

./BoxDriver Naruszenie Ochrony pamięci (zrzut pamięci)

И Dmesg последняя строка я вижу:

[+3320,467864] BoxDriver [4205]: при 0 выдаёт ошибку сегментации ф 00007f05c2821f7a зр 00007ffd9c6c9c00 ошибки 4 в libftdi.so.1.20.0 [7f05c2820000 + 7000]

Я использую Ubuntu:

Linux AdamsPC 3.19.0-30-родовое # 34-Ubuntu SMP пт 2 октября 22:08:41 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

И FTDI устройство:

Bus 001 Device 011: ID 0403: 6010 Future Technology Devices International, Ltd FT2232C Dual USB-UART/FIFO IC

программа прекрасно работает, когда он работает как корень:

Судо ./BoxDriver

OK, начал

Я также попытался отлаживать исходный код (в затмение анг НКУ, не произошло никакой ошибки SEG), и проблема с:

ftdi_usb_open(ftc, 0x0403, 0x6010) 

Он всегда возвращается -8, что означает: «получить описание продукта не удалось»

у меня есть шептало чтобы получить ответ, большинство из них касается добавления пользователя в группу dialout или добавления правила в udev, но ни один из ответов, которые я создал, не работал.

Любые предложения приветствуются. Спасибо

+0

Помните, как вы исправили эту проблему. Я столкнулся с такой же проблемой здесь – Ragav

ответ

0

Существует несколько различных способов исправить это, но обычно звучит так, как будто ваша учетная запись пользователя не имеет права на интерфейс с USB-устройством. Вы можете добавить пользователя в соответствующую группу, которую я считаю для ubuntu, которая является dialout.

sudo usermod -a -G dialout user 

В качестве альтернативы, если несколько учетных записей нужно использовать его, но все они должны иметь права доступа можно изменить файловую систему он установлен на иметь полные права доступа.

sudo chmod 777 /media/drive_name 
+0

Я сделал это, и все равно никакого результата. – AdamsP

+0

Прошу прощения за двойное сообщение, не удалось изменить сообщение после 5 минут. Я добавил пользователя для группового набора, но это не решило мою проблему. Мой пользователь также находится в группе udev, но безрезультатно. Также я попытался удалить пакет modemmanager из системы, другой сбой. Это устройство не видно на/media /. Это не устройство хранения данных, просто интерфейс для непосредственного взаимодействия устройства. Именно этот чип: [link] (http://www.ftdichip.com/Products/ICs/FT2232D.htm). Устройство полностью работоспособно, под окнами, с тем же кодом, которым он отлично работает. – AdamsP

+0

Ahhh ok это чип FTDI, который получил. Сначала просто убедитесь, что когда вы добавляете себя в группу, выходите из системы и заходите, чтобы изменения вступили в силу. Другое предположение тогда будет искать что-то вроде/dev/ttyUSB0 (или подобное в зависимости от того, сколько у вас USB-устройств). Я бы попытался в основном подключиться и выйти и найти разницу в каталоге/dev /. Попробуйте изменить разрешения этого устройства, это нужно будет повторять каждый раз, когда устройство подключено, хотя это не идеально. – arduic

Смежные вопросы