При выполнении не из под root, данная ошибка воспроизводится на lin-test eterkeytest --eutron USB: libusb couldn't open USB device /dev/bus/usb/001/001: Permission denied. libusb requires write access to USB device nodes. Ошибка сегментирования Под root eterkeytest работает корректно.
eterkeytest падает на (gdb) r --hasp Starting program: /home/baraka/tmp/eterkeytest --hasp [Thread debugging using libthread_db enabled] [New Thread -1209772352 (LWP 16984)] USB: 1d6b:0002 Linux 2.6.25-std-def-alt9 ehci_hcd, EHCI Host Controller (0000:00:13.5) libusb couldn't open USB device /dev/bus/usb/002/001: Permission denied. libusb requires write access to USB device nodes. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1209772352 (LWP 16984)] 0xb7f9a3ab in usb_get_string_simple () from /usr/lib/libusb-0.1.so.4 (gdb) bt #0 0xb7f9a3ab in usb_get_string_simple () from /usr/lib/libusb-0.1.so.4 #1 0x0804a4a4 in print_usb () at eterkeytest.c:591 #2 0x0804b37f in main (argc=2, argv=0xbfacf9a4) at eterkeytest.c:664 Ошибка в выводе списка USB-устройств. Вот strace конца выполнения: open("/dev/bus/usb/002/001", O_RDWR) = -1 EACCES (Permission denied) write(2, "libusb couldn't open USB device /"..., 123libusb couldn't open USB device /dev/bus/usb/002/001: Permission denied. libusb requires write access to USB device nodes. ) = 123 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
Исправил ошибку, вызывающую падение eterkeytest. Закоммитил исправление в cvs wine-etersoft. Вообще, на lin-test libusb (0.9.3-alt2.0) почему-то каждый раз сообщает о том, что не удалось открыть устройство: $ ./eterkeytest --eutron USB: 1d6b:0002 Linux 2.6.25-std-def-alt9 ehci_hcd, EHCI Host Controller (0000:00:13.5) libusb couldn't open USB device /dev/bus/usb/002/001: Permission denied. libusb requires write access to USB device nodes. 1d6b:0001 [none], [none] (none) libusb couldn't open USB device /dev/bus/usb/003/001: Permission denied. libusb requires write access to USB device nodes. 1d6b:0001 [none], [none] (none) libusb couldn't open USB device /dev/bus/usb/003/002: Permission denied. libusb requires write access to USB device nodes. 093a:2510 [none], [none] (none) libusb couldn't open USB device /dev/bus/usb/004/001: Permission denied. libusb requires write access to USB device nodes. 1d6b:0001 [none], [none] (none) libusb couldn't open USB device /dev/bus/usb/005/001: Permission denied. libusb requires write access to USB device nodes. 1d6b:0001 [none], [none] (none) libusb couldn't open USB device /dev/bus/usb/006/001: Permission denied. libusb requires write access to USB device nodes. 1d6b:0001 [none], [none] (none) Eutron: . ERROR: No Smartkey present А на cellar (libusb-0.1.12-alt1.0) ничего такого не пишется, хотя права на запись тоже не на все устройства есть: $ ./eterkeytest --eutron USB: 0a89:0003 Aktiv Co., Guardant Stealth/Net II (none) 09da:000a [none], [none] (none) 04b9:0300 [none], [none] (none) 0529:0001 [none], [none] (none) Eutron: . ERROR: No Smartkey present
В новой сборке такая же картина, везде кроме lin-test eterkeytest отрабатывает нормально.
> В новой сборке такая же картина, везде > кроме lin-test eterkeytest отрабатывает нормально. Такая же - это ошибка сегментирования?
eterkeytest --list USB: libusb couldn't open USB device /dev/bus/usb/001/001: Permission denied. libusb requires write access to USB device nodes. Vendor:Product: 1d6b:0002 [hab denied], [hab denied] libusb couldn't open USB device /dev/bus/usb/002/001: Permission denied. libusb requires write access to USB device nodes. Vendor:Product: 1d6b:0001 [hab denied], [hab denied]
Это libusb пишет, а не eterkeytest, так что я не могу с этим ничего сделать.