Различия между командами ls и l [duplicate]

16 мая 2011 г.: проблема решена, см. обновление ниже!

Хорошо, после многотысячи и подталкивания (и новой сборки компьютера) у меня установлены ROS, OpenCV и libdc1394 и (по-видимому ) функционирует правильно. Я написал файл запуска ROS, который должен запустить камеру и отобразить вывод в окне на моем компьютере. Однако, когда я запускаю этот файл запуска, я получаю следующие ошибки из libusb и libdc1394:

libusb couldn't open USB device /dev/bus/usb/002/007: Permission denied.
libusb requires write access to USB device nodes.
libdc1394 warning: usb: Failed to open device for config ROM
libdc1394 warning: Failed to get config ROM from usb device
libusb couldn't open USB device /dev/bus/usb/002/007: Permission denied.
libusb requires write access to USB device nodes.
libdc1394 warning: usb: Failed to open device for config ROM
libdc1394 warning: Failed to get config ROM from usb device
libusb couldn't open USB device /dev/bus/usb/002/007: Permission denied.
libusb requires write access to USB device nodes.
libdc1394 warning: usb: Failed to open device for config ROM
libdc1394 warning: Failed to get config ROM from usb device

Вслед за ожидаемой ошибкой от ROS:

[ERROR] [1305210297.868750292]: [camera] device open failed: [Camera1394::open]: No cameras found

I Предполагая, что это связано с правилами udev, но я не уверен, как это исправить (я не знаком с возиться с правилами udev в целом).

Если это помогает, вот разрешения для конкретного устройства:

bradpowers@bp-rosdev:~/ros/launch$ ls -la /dev/bus/usb/002/007
crw-rw-r-- 1 root root 189, 134 2011-05-12 08:16 /dev/bus/usb/002/007

===================== =========================================

Хорошо, проблема решена! Проблема заключалась в том, что для моего устройства требовалось правило udev. Я создал его, и теперь камера отлично работает. Вот что я сделал:

Во-первых, я использовал lsusb с подключенной камерой, чтобы определить идентификаторы USB и идентификаторы продуктов для моей камеры:

bradpowers@bp-rosdev:~$ lsusb
Bus 002 Device 009: ID 1e10:2000 Point Grey Research, Inc. 
Bus 002 Device 008: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 002 Device 007: ID 05ac:0220 Apple, Inc. Aluminum Keyboard (ANSI)
Bus 002 Device 006: ID 05ac:1006 Apple, Inc. Hub in Aluminum Keyboard
Bus 002 Device 005: ID 05ac:921c Apple, Inc. 
Bus 002 Device 004: ID 0cf3:3002 Atheros Communications, Inc. 
Bus 002 Device 003: ID 05ac:911c Apple, Inc. 
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Устройство I Это касается устройства Point Grey Research вверху. Я скопировал идентификационный номер 1e10:2000.

Оттуда мне нужно было создать правило udev для добавления устройства в группу plugdev при подключении:

bradpowers@bp-rosdev:~$ sudo gedit /etc/udev/rules.d/10-pointgrey.rules

В этом файле я ввел следующее:

# udev rules file for Point Grey Firefly-MV
BUS=="usb", SYSFS{idVendor}=="1e10", SYSFS{idProduct}=="2000", GROUP="plugdev"

После сохранения и перезагрузки запуск моего файла roslaunch работал отлично. Спасибо Энди Барри за телефонный звонок и решение так быстро.

1
задан 22 June 2016 в 17:27

0 ответов

Другие вопросы по тегам:

Похожие вопросы: