On Mon, Dec 29, 2008 at 4:58 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > > On Mon, 29 Dec 2008, Erik Ekman wrote: > > > It may be that thinkfinger and fprint uses usbfs in some bad way which > > by luck has worked so far. I have not looked at the code, nor do I > > know the usbfs details. > > That seems likely. > > > The tftool complains with > > ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/) > > Copyright (C) 2006, 2007 Timo Hoenig <thoenig@xxxxxxx> > > > > Initializing...Could not claim USB device. > > > > which seem related to the dmesg errors I saw. Full strace of a failed > > tf-tool run below. > > Can you get a dmesg log showing a run of tf-tool after enabling the > usbfs_snoop module parameter for usbcore? > > Alan Stern > Here it is (from stock 2.6.28 kernel): (resending as text-plain for linux-usb to accept it, rows will be wrapped, sorry) usb usb4: opened by process 5432: tf-tool usb usb4: usbdev_ioctl: CONNECTINFO usb usb4: opened by process 5432: tf-tool usb usb4: usbdev_ioctl: IOCTL usb 5-2: opened by process 5432: tf-tool usb 5-2: usbdev_ioctl: CONNECTINFO usb 5-1: opened by process 5432: tf-tool usb 5-1: usbdev_ioctl: CONNECTINFO usb usb5: opened by process 5432: tf-tool usb usb5: usbdev_ioctl: CONNECTINFO usb 5-2: opened by process 5432: tf-tool usb 5-2: usbdev_ioctl: IOCTL usb 5-1: opened by process 5432: tf-tool usb 5-1: usbdev_ioctl: IOCTL usb usb5: opened by process 5432: tf-tool usb usb5: usbdev_ioctl: IOCTL usb usb3: opened by process 5432: tf-tool usb usb3: usbdev_ioctl: CONNECTINFO usb usb3: opened by process 5432: tf-tool usb usb3: usbdev_ioctl: IOCTL usb usb2: opened by process 5432: tf-tool usb usb2: usbdev_ioctl: CONNECTINFO usb usb2: opened by process 5432: tf-tool usb usb2: usbdev_ioctl: IOCTL usb usb1: opened by process 5432: tf-tool usb usb1: usbdev_ioctl: CONNECTINFO usb usb1: opened by process 5432: tf-tool usb usb1: usbdev_ioctl: IOCTL usb 5-2: opened by process 5432: tf-tool usb 5-2: usbdev_ioctl: CLAIMINTERFACE usb 5-2: usbdev_ioctl: CONTROL usb 5-2: control write: bRequest=09 bRrequestType=00 wValue=0001 wIndex=0000 wLength=0000 usb 5-2: control write: data: usb 5-2: usbdev_ioctl: CONTROL usb 5-2: control write: bRequest=0c bRrequestType=40 wValue=0100 wIndex=0400 wLength=0001 usb 5-2: control write: data: 10 usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: bulk urb usb 5-2: direction=IN usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=64 usb 5-2: actual_length=0 usb 5-2: data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: urb complete usb 5-2: direction=IN usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=64 usb 5-2: actual_length=64 usb 5-2: data: 43 69 61 6f 03 00 05 01 20 32 2e 32 56 8e 74 ed 01 00 01 00 00 00 01 00 00 00 00 00 00 00 0a 00 0a 00 64 00 f4 01 32 00 00 00 00 10 00 00 00 00 00 00 00 00 08 00 d6 66 00 00 64 01 00 00 00 00 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: bulk urb usb 5-2: direction=OUT usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=17 usb 5-2: actual_length=0 usb 5-2: data: 43 69 61 6f 04 00 08 01 00 e8 03 00 00 ff 07 db 24 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: urb complete usb 5-2: direction=OUT usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=17 usb 5-2: actual_length=17 usb 5-2: data: 43 69 61 6f 04 00 08 01 00 e8 03 00 00 ff 07 db 24 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: bulk urb usb 5-2: direction=IN usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=64 usb 5-2: actual_length=0 usb 5-2: data: 43 69 61 6f 03 00 05 01 20 32 2e 32 56 8e 74 ed 01 00 01 00 00 00 01 00 00 00 00 00 00 00 0a 00 0a 00 64 00 f4 01 32 00 00 00 00 10 00 00 00 00 00 00 00 00 08 00 d6 66 00 00 64 01 00 00 00 00 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: urb complete usb 5-2: direction=IN usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=64 usb 5-2: actual_length=64 usb 5-2: data: 43 69 61 6f 05 00 01 01 55 9f 03 00 00 ff 07 db 24 00 01 00 00 00 01 00 00 00 00 00 00 00 0a 00 0a 00 64 00 f4 01 32 00 00 00 00 10 00 00 00 00 00 00 00 00 08 00 d6 66 00 00 64 01 00 00 00 00 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: bulk urb usb 5-2: direction=OUT usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=16 usb 5-2: actual_length=0 usb 5-2: data: 43 69 61 6f 00 00 07 28 04 00 00 00 06 04 c0 d6 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: urb complete usb 5-2: direction=OUT usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=16 usb 5-2: actual_length=16 usb 5-2: data: 43 69 61 6f 00 00 07 28 04 00 00 00 06 04 c0 d6 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: bulk urb usb 5-2: direction=IN usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=64 usb 5-2: actual_length=0 usb 5-2: data: 43 69 61 6f 05 00 01 01 55 9f 03 00 00 ff 07 db 24 00 01 00 00 00 01 00 00 00 00 00 00 00 0a 00 0a 00 64 00 f4 01 32 00 00 00 00 10 00 00 00 00 00 00 00 00 08 00 d6 66 00 00 64 01 00 00 00 00 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: urb complete usb 5-2: direction=IN usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=64 usb 5-2: actual_length=64 usb 5-2: data: 43 69 61 6f 00 00 37 28 34 00 00 00 06 14 13 00 02 04 13 00 02 04 01 00 00 20 6f 00 03 00 18 00 03 00 00 00 00 00 01 00 00 00 00 00 00 80 20 00 00 f8 f8 00 68 01 00 00 00 00 01 00 02 00 93 f8 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: bulk urb usb 5-2: direction=OUT usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=16 usb 5-2: actual_length=0 usb 5-2: data: 43 69 61 6f 00 10 07 28 04 00 00 00 07 04 0f b6 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: urb complete usb 5-2: direction=OUT usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=16 usb 5-2: actual_length=16 usb 5-2: data: 43 69 61 6f 00 10 07 28 04 00 00 00 07 04 0f b6 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: bulk urb usb 5-2: direction=IN usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=64 usb 5-2: actual_length=0 usb 5-2: data: 43 69 61 6f 00 00 37 28 34 00 00 00 06 14 13 00 02 04 13 00 02 04 01 00 00 20 6f 00 03 00 18 00 03 00 00 00 00 00 01 00 00 00 00 00 00 80 20 00 00 f8 f8 00 68 01 00 00 00 00 01 00 02 00 93 f8 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: urb complete usb 5-2: direction=IN usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=64 usb 5-2: actual_length=64 usb 5-2: data: 43 69 61 6f 00 10 0f 28 0c 00 00 00 07 14 01 f6 17 75 f5 ae 25 fd 21 7f 00 20 6f 00 03 00 18 00 03 00 00 00 00 00 01 00 00 00 00 00 00 80 20 00 00 f8 f8 00 68 01 00 00 00 00 01 00 02 00 93 f8 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: bulk urb usb 5-2: direction=OUT usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=40 usb 5-2: actual_length=0 usb 5-2: data: 43 69 61 6f 00 20 1f 28 1c 00 00 00 08 04 83 00 2c 22 23 97 c9 a7 15 a0 8a ab 3c d0 bf db f3 92 6f ae 3b 1e 44 c4 9a 45 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: urb complete usb 5-2: direction=OUT usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=40 usb 5-2: actual_length=40 usb 5-2: data: 43 69 61 6f 00 20 1f 28 1c 00 00 00 08 04 83 00 2c 22 23 97 c9 a7 15 a0 8a ab 3c d0 bf db f3 92 6f ae 3b 1e 44 c4 9a 45 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: bulk urb usb 5-2: direction=IN usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=64 usb 5-2: actual_length=0 usb 5-2: data: 43 69 61 6f 00 20 1f 28 1c 00 00 00 08 04 83 00 2c 22 23 97 c9 a7 15 a0 8a ab 3c d0 bf db f3 92 6f ae 3b 1e 44 c4 9a 45 00 00 00 00 00 80 20 00 00 f8 f8 00 68 01 00 00 00 00 01 00 02 00 93 f8 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: urb complete usb 5-2: direction=IN usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=64 usb 5-2: actual_length=64 usb 5-2: data: 43 69 61 6f 00 20 0f 28 0c 00 00 00 08 14 01 f6 17 75 f5 ae 25 fd 93 0b 8a ab 3c d0 bf db f3 92 6f ae 3b 1e 44 c4 9a 45 00 00 00 00 00 80 20 00 00 f8 f8 00 68 01 00 00 00 00 01 00 02 00 93 f8 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: bulk urb usb 5-2: direction=OUT usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=20 usb 5-2: actual_length=0 usb 5-2: data: 43 69 61 6f 00 30 0b 28 08 00 00 00 0c 04 03 00 00 00 6d 7e usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: urb complete usb 5-2: direction=OUT usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=20 usb 5-2: actual_length=20 usb 5-2: data: 43 69 61 6f 00 30 0b 28 08 00 00 00 0c 04 03 00 00 00 6d 7e usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: bulk urb usb 5-2: direction=IN usb 5-2: userurb=bf98d784 usb 5-2: transfer_buffer_length=64 usb 5-2: actual_length=0 usb 5-2: data: 43 69 61 6f 00 20 0f 28 0c 00 00 00 08 14 01 f6 17 75 f5 ae 25 fd 93 0b 8a ab 3c d0 bf db f3 92 6f ae 3b 1e 44 c4 9a 45 00 00 00 00 00 80 20 00 00 f8 f8 00 68 01 00 00 00 00 01 00 02 00 93 f8 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: urb complete usb 5-2: direction=IN usb 5-2: userurb=bf98d784 usb 5-2: transfer_buffer_length=64 usb 5-2: actual_length=64 usb 5-2: data: 43 69 61 6f 00 30 6b 28 68 00 00 00 0c 14 60 00 00 00 03 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 f4 01 00 00 64 01 00 00 00 00 00 00 02 00 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: bulk urb usb 5-2: direction=IN usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=52 usb 5-2: actual_length=0 usb 5-2: data: 43 69 61 6f 00 30 6b 28 68 00 00 00 0c 14 60 00 00 00 03 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 f4 01 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: urb complete usb 5-2: direction=IN usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=52 usb 5-2: actual_length=52 usb 5-2: data: 02 00 00 00 00 00 00 00 00 00 03 00 01 00 01 00 00 00 01 00 00 00 00 00 00 00 0a 00 0a 00 64 00 f4 01 32 00 00 00 00 10 00 00 04 00 02 00 02 00 08 00 cd 8b usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: bulk urb usb 5-2: direction=OUT usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=120 usb 5-2: actual_length=0 usb 5-2: data: 43 69 61 6f 00 40 6f 28 6c 00 00 00 0b 04 03 00 00 00 60 00 00 00 03 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 f4 01 00 00 64 01 00 00 00 00 00 00 02 00 02 00 00 00 00 00 00 00 00 00 03 00 01 00 01 00 00 00 01 00 00 00 00 00 00 00 0a 00 0a 00 64 00 f4 01 32 00 00 00 00 10 00 00 00 00 00 00 00 00 08 00 d6 66 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: urb complete usb 5-2: direction=OUT usb 5-2: userurb=bf98ab24 usb 5-2: transfer_buffer_length=120 usb 5-2: actual_length=120 usb 5-2: data: 43 69 61 6f 00 40 6f 28 6c 00 00 00 0b 04 03 00 00 00 60 00 00 00 03 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 f4 01 00 00 64 01 00 00 00 00 00 00 02 00 02 00 00 00 00 00 00 00 00 00 03 00 01 00 01 00 00 00 01 00 00 00 00 00 00 00 0a 00 0a 00 64 00 f4 01 32 00 00 00 00 10 00 00 00 00 00 00 00 00 08 00 d6 66 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: bulk urb usb 5-2: direction=IN usb 5-2: userurb=bf98d814 usb 5-2: transfer_buffer_length=64 usb 5-2: actual_length=0 usb 5-2: data: 00 5c 54 f6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 04 00 02 00 02 00 08 00 cd 8b 00 00 64 01 00 00 00 00 00 00 02 00 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: urb complete usb 5-2: direction=IN usb 5-2: userurb=bf98d814 usb 5-2: transfer_buffer_length=64 usb 5-2: actual_length=64 usb 5-2: data: 43 69 61 6f 00 40 07 28 04 00 00 00 0b 14 74 ed 01 00 01 00 00 00 01 00 00 00 00 00 00 00 0a 00 0a 00 64 00 f4 01 32 00 00 00 00 10 00 00 00 00 00 00 00 00 08 00 d6 66 00 00 64 01 00 00 00 00 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: bulk urb usb 5-2: direction=OUT usb 5-2: userurb=bf98d7a4 usb 5-2: transfer_buffer_length=10 usb 5-2: actual_length=0 usb 5-2: data: 43 69 61 6f 07 00 01 00 1c 62 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: urb complete usb 5-2: direction=OUT usb 5-2: userurb=bf98d7a4 usb 5-2: transfer_buffer_length=10 usb 5-2: actual_length=10 usb 5-2: data: 43 69 61 6f 07 00 01 00 1c 62 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: bulk urb usb 5-2: direction=IN usb 5-2: userurb=bf98d7a4 usb 5-2: transfer_buffer_length=64 usb 5-2: actual_length=0 usb 5-2: data: 43 69 61 6f 00 40 07 28 04 00 00 00 0b 14 74 ed 01 00 01 00 00 00 01 00 00 00 00 00 00 00 0a 00 0a 00 64 00 f4 01 32 00 00 00 00 10 00 00 00 00 00 00 00 00 08 00 d6 66 00 00 64 01 00 00 00 00 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: urb complete usb 5-2: direction=IN usb 5-2: userurb=bf98d7a4 usb 5-2: transfer_buffer_length=64 usb 5-2: actual_length=64 usb 5-2: data: 43 69 61 6f 01 00 00 30 37 62 00 00 0b 14 74 ed 01 00 01 00 00 00 01 00 00 00 00 00 00 00 0a 00 0a 00 64 00 f4 01 32 00 00 00 00 10 00 00 00 00 00 00 00 00 08 00 d6 66 00 00 64 01 00 00 00 00 usb 5-2: usbdev_ioctl: REAPURBDELAY usb 5-2: usbdev_ioctl: RELEASEINTERFACE usb usb4: opened by process 5432: tf-tool usb usb4: usbdev_ioctl: CONNECTINFO usb usb4: opened by process 5432: tf-tool usb usb4: usbdev_ioctl: IOCTL usb 5-2: opened by process 5432: tf-tool usb 5-2: usbdev_ioctl: CONNECTINFO usb 5-1: opened by process 5432: tf-tool usb 5-1: usbdev_ioctl: CONNECTINFO usb usb5: opened by process 5432: tf-tool usb usb5: usbdev_ioctl: CONNECTINFO usb 5-2: opened by process 5432: tf-tool usb 5-2: usbdev_ioctl: IOCTL usb 5-1: opened by process 5432: tf-tool usb 5-1: usbdev_ioctl: IOCTL usb usb5: opened by process 5432: tf-tool usb usb5: usbdev_ioctl: IOCTL usb usb3: opened by process 5432: tf-tool usb usb3: usbdev_ioctl: CONNECTINFO usb usb3: opened by process 5432: tf-tool usb usb3: usbdev_ioctl: IOCTL usb usb2: opened by process 5432: tf-tool usb usb2: usbdev_ioctl: CONNECTINFO usb usb2: opened by process 5432: tf-tool usb usb2: usbdev_ioctl: IOCTL usb usb1: opened by process 5432: tf-tool usb usb1: usbdev_ioctl: CONNECTINFO usb usb1: opened by process 5432: tf-tool usb usb1: usbdev_ioctl: IOCTL usb 5-2: opened by process 5432: tf-tool usb 5-2: usbdev_ioctl: CLAIMINTERFACE usb 5-2: usbdev_ioctl: CONTROL usb 5-2: control write: bRequest=09 bRrequestType=00 wValue=0001 wIndex=0000 wLength=0000 usb 5-2: control write: data: usb 5-2: usbdev_ioctl: CONTROL usb 5-2: control write: bRequest=0c bRrequestType=40 wValue=0100 wIndex=0400 wLength=0001 usb 5-2: control write: data: 10 usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: usbdev_ioctl: SUBMITURB usb 5-2: usbdev_ioctl: RELEASEINTERFACE -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html