# USB disconnect (built-in Fingerprint Sensor)

## charles17

My logs get flooded with "new full-speed USB device number" messages every few seconds. *Quote:*   

> [    2.512116] usb 1-1.2: new full-speed USB device number 3 using ehci-pci
> 
> [   23.268130] usb 1-1.2: new full-speed USB device number 4 using ehci-pci
> 
> [  114.516162] usb 1-1.2: new full-speed USB device number 5 using ehci-pci
> ...

 And this happens even with nothing plugged.  

What is the matter, how could I stop that?  From lsusb I am getting *Quote:*   

> $ lsusb
> 
> Bus 001 Device 031: ID 08ff:2580 AuthenTec, Inc. AES2501 Fingerprint Sensor
> 
> Bus 001 Device 002: ID 0424:2503 Standard Microsystems Corp. USB 2.0 Hub
> ...

 

Kernel configuration is in pastebin.Last edited by charles17 on Wed Jan 28, 2015 9:07 am; edited 1 time in total

----------

## szatox

Sometimes you can find extra stuff attached directly to motherboard to be soldered to USB concentrator rather than directly connected. I have my "integrated" bluetooth attached this way. You can also find SD card adapter or stuff like that.

You can see fingerprint scanner on your output.

I'd start with `dmesg | grep -i usb` to find out at least if the port is consistent.

----------

## charles17

Thanks for your hint.  I see, it's the "AuthenTec, Inc. AES2501 Fingerprint Sensor".  

It's never been used and it never made trouble for seven years.  Only recently it started sending those messages.  

Here I have what it sent to /var/log/messages since booting.  grep -a 'usb\|mtp-probe'   /var/log/messages.

It's full of *Quote:*   

>  localhost kernel: usb 1-1.2: USB disconnect, device number 3
> 
>  localhost kernel: usb 1-1.2: new full-speed USB device number 4 using ehci-pci
> 
>  localhost mtp-probe: checking bus 1, device 4: "/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1.2"
> ...

 with increasing device numbers.  What I don't understand is why it does disconnect every few seconds.

For 00:1d.7, lspci gives

```
# lspci -vvv -s 00:1d.7

00:1d.7 USB controller: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller (rev 01) (prog-if 20 [EHCI])

        Subsystem: Hewlett-Packard Company Device 30aa

        Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

        Interrupt: pin A routed to IRQ 20

        Region 0: Memory at e8584000 (32-bit, non-prefetchable) [size=1K]

        Capabilities: [50] Power Management version 2

                Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)

                Status: D3 NoSoftRst- PME-Enable+ DSel=0 DScale=0 PME-

        Capabilities: [58] Debug port: BAR=1 offset=00a0

        Kernel driver in use: ehci-pci
```

Checking usb-devices shows (full output) *Quote:*   

> T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 8
> 
> D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
> 
> P:  Vendor=1d6b ProdID=0002 Rev=03.17
> ...

 

Any idea why it's disconnecting and how to sove that?

----------

## khayyam

 *charles17 wrote:*   

> What I don't understand is why it does disconnect every few seconds.

 

charles17 ... I suspect that USB_SUSPEND is autosuspending the device and (probably) udev is waking it.

What does the following show?

```
# cat /sys/devices/pci0000:00/0000:00:1d.7/usb1/power/control
```

Also, does udev have any rules installed that might effect this device ... perhaps this thread might offer some clues?

best ... khay

----------

## charles17

 *khayyam wrote:*   

> charles17 ... I suspect that USB_SUSPEND is autosuspending the device and (probably) udev is waking it. 
> 
> What does the following show?
> 
> ```
> ...

 It simply returns "auto".  Guess that's what you call "autosuspending"?

 *Quote:*   

> $ cat /sys/devices/pci0000:00/0000:00:1d.7/usb1/power/control
> 
> auto

 

 *khayyam wrote:*   

> Also, does udev have any rules installed that might effect this device ... perhaps this thread might offer some clues?

 Yep.  It's in */lib64/udev/rules.d/60-fprint-autosuspend.rules wrote:*   

> # AuthenTec AES2501
> 
> SUBSYSTEM=="usb", ATTRS{idVendor}=="08ff", ATTRS{idProduct}=="2500", ATTRS{dev}=="*", ATTR{power/control}="auto"
> 
> SUBSYSTEM=="usb", ATTRS{idVendor}=="08ff", ATTRS{idProduct}=="2580", ATTRS{dev}=="*", ATTR{power/control}="auto"

 So I decided to unmerge libfprint and hope this weirdness goes away.

----------

## charles17

Trouble persists even after unmerging libfprint and I am still getting  *Quote:*   

> $ cat /sys/devices/pci0000:00/0000:00:1d.7/usb1/power/control
> 
> auto

 

How could I find out what else might be controlling this device?  Or do I have to change it manually?

----------

## khayyam

 *charles17 wrote:*   

> Trouble persists even after unmerging libfprint and I am still getting
> 
>  *Quote:*   $ cat /sys/devices/pci0000:00/0000:00:1d.7/usb1/power/control auto 
> 
> How could I find out what else might be controlling this device?  Or do I have to change it manually?

 

charles .... "auto" will mean that it will decide when to suspend, you could try setting it to 'no' and seeing if this stops the error. Given that udev has a rule I suspect its running a loop, you might just remove that rule, and see what happens once udev is restarted.

best ... khay

----------

## charles17

 *khayyam wrote:*   

>  you could try setting it to 'no' and seeing if this stops the error. Given that udev has a rule I suspect its running a loop, you might just remove that rule, and see what happens once udev is restarted.

 Even overwriting it with "no" doesn't stop it. */etc/udev/rules.d/60-fingerprint-reader.rules wrote:*   

> SUBSYSTEM=="usb", ATTRS{idVendor}=="08ff", ATTRS{idProduct}=="2580", ATTRS{dev}=="*", ATTR{power/control}="no"

 

I am still getting  *Quote:*   

> # udevadm monitor
> 
> monitor will print the received events for:
> 
> UDEV - the event which udev sends out after rule processing
> ...

 And I don't have USB_SUSPEND in kernel.  There the only suspend is *Quote:*   

> CONFIG_ARCH_SUSPEND_POSSIBLE=y
> 
> CONFIG_OLD_SIGSUSPEND3=y

 

----------

