|
From: Xiaofan C. <xia...@gm...> - 2012-05-13 10:10:51
|
On Sat, Mar 10, 2012 at 3:14 AM, Mathias K. <ke...@fr...> wrote: > >> Debug: 165 52 stlink_usb.c:1068 stlink_usb_open(): transport: 1 vid: 0483 pid: 3744 >> Debug: 166 53 stlink_usb.c:1078 stlink_usb_open(): claim interface failed >> Debug: 167 53 stlink_layout.c:50 stlink_layout_open(): failed >> Debug: 168 53 command.c:630 run_command(): Command failed with error code -4 >> User : 169 54 command.c:668 command_run_line(): in procedure 'transport' >> Debug: 170 54 command.c:630 run_command(): Command failed with error code -4 >> User : 171 54 command.c:668 command_run_line(): in procedure 'init' >> Debug: 172 54 stlink_interface.c:100 stlink_interface_quit(): stlink_interface_quit >> dos@DoS-Aspire-7740:/mount/10.10/dos/INF/Projects/ARM/openocd6/openocd/tcl$ > > > Please reconnect you hardware and check the log messages from the dmesg command: > > usb 1-1.1: USB disconnect, device number 50 > usb 1-1.1: new full speed USB device number 53 using ehci_hcd > usb 1-1.1: New USB device found, idVendor=0483, idProduct=3744 > usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 > usb 1-1.1: Product: STM32 STLink > usb 1-1.1: Manufacturer: STMicroelectronics > usb 1-1.1: SerialNumber: 7 > usb-storage 1-1.1:1.0: device ignored > > The last line is very important. Anyway i think there is no problem if > you send your log messages to this list. Just wondering what is the minimum kernel version to ignore the device for usb-storage, I am running Ubuntu 12.04 (kernel 3.2.0-24) and it still does not ignore the device. On the other hand, it is possible to manually detach the driver using the instruction from Alan Stern. +++++++++ From Alan Stern ++++++ http://libusb.6.n5.nabble.com/How-to-dump-HID-report-descriptor-under-Linux-tp5971p5973.html You can detach and attach drivers by hand. To unbind hiddev from a device: cd /sys/bus/usb/drivers/hiddev ls Find the filename for the interface you want to unbind. Interface filenames have the form B-P:C.I where B is the bus number, P is a string of port numbers separated by periods, C is the configuration value, and I is the interface number. Having found the filename for the interface you want to unbind, do echo -n interface-filename >unbind To re-attach the driver, do echo -n interface-filename >bind ++++++++++++++++ For the usb-storage, it is similar. mcuee@GX620Ubuntu:/sys/bus/usb/drivers/usb-storage$ ls 5-2:1.0 bind module remove_id uevent unbind mcuee@GX620Ubuntu:/sys/bus/usb/drivers/usb-storage$ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 005: ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter Bus 003 Device 002: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC Bus 003 Device 003: ID 046d:c315 Logitech, Inc. Classic New Touch Keyboard Bus 004 Device 002: ID 413c:3010 Dell Computer Corp. Optical Wheel Mouse Bus 005 Device 002: ID 046d:c52f Logitech, Inc. Wireless Mouse M305 Bus 005 Device 003: ID 0483:3744 SGS Thomson Microelectronics STLINK Pseudo disk mcuee@GX620Ubuntu:/sys/bus/usb/drivers/usb-storage$ echo -n 5-2:1.0 | sudo tee -a unbind [sudo] password for mcuee: 5-2:1.0 mcuee@GX620Ubuntu:/sys/bus/usb/drivers/usb-storage$ ls bind module remove_id uevent unbind -- Xiaofan |