r342378: usbconfig takes 3-5 minutes to read the bus

From: Matthias Apitz <guru_at_unixarea.de>
Date: Tue, 1 Jan 2019 14:51:56 +0100
I updated my amd64 laptop Acer C720 from r314251 to r342378. The OpenPGP Card 
HID Global OMNIKEY 6121 was working in r314251 nicely and after withdraw and
re-insert GnuPG was just asking for the PIN again and access to the ciphered
material or signing keys was fine.

Now with r342378, it works only after boot but not after withdraw/re-insert
anymore. To separate the problem from GnuPG and it's software stack, I have here some
small tests with usbconfig(8). First usbconfig reads fine the bus, but then
it takes 3-5 minutes to get any results, see below.

Please, what can I check or enable to get additional logs for the problem.

Thanks


# uname -a
FreeBSD c720-r342378 13.0-CURRENT FreeBSD 13.0-CURRENT r342378 GENERIC  amd64


# usbconfig list
ugen1.1: <Intel EHCI root HUB> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen0.1: <0x8086 XHCI root HUB> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.2: <SunplusIT Inc HD WebCam> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
ugen1.2: <vendor 0x8087 product 0x8000> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen0.3: <vendor 0x0489 product 0xe056> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
ugen0.4: <HID Global OMNIKEY 6121 Smart Card Reader> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)


# usbconfig -d ugen0.4 list
ugen0.4: <HID Global OMNIKEY 6121 Smart Card Reader> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)


# usbconfig -d ugen0.4 dump_device_desc
ugen0.4: <HID Global OMNIKEY 6121 Smart Card Reader> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0200
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000
  bDeviceProtocol = 0x0000
  bMaxPacketSize0 = 0x0008
  idVendor = 0x076b
  idProduct = 0x6632
  bcdDevice = 0x0103
  iManufacturer = 0x0001  <HID Global>
  iProduct = 0x0002  <OMNIKEY 6121 Smart Card Reader>
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0001


>From now it takes 3++ minutes to get the information from USB:

# date ; usbconfig -d ugen0.4 dump_device_desc ; date
Tue Jan  1 11:51:55 CET 2019
ugen0.4: <HID Global OMNIKEY 6121 Smart Card Reader> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0200
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000
  bDeviceProtocol = 0x0000
  bMaxPacketSize0 = 0x0008
  idVendor = 0x076b
  idProduct = 0x6632
  bcdDevice = 0x0103
  iManufacturer = 0x0001  <HID Global>
  iProduct = 0x0002  <OMNIKEY 6121 Smart Card Reader>
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0001

Tue Jan  1 11:54:59 CET 2019

# date ; usbconfig -d ugen0.4 dump_device_desc ; date
Tue Jan  1 14:30:19 CET 2019
ugen0.4: <HID Global OMNIKEY 6121 Smart Card Reader> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0200
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000
  bDeviceProtocol = 0x0000
  bMaxPacketSize0 = 0x0008
  idVendor = 0x076b
  idProduct = 0x6632
  bcdDevice = 0x0103
  iManufacturer = 0x0001  <HID Global>
  iProduct = 0x0002  <OMNIKEY 6121 Smart Card Reader>
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0001

Tue Jan  1 14:34:05 CET 2019

# tail -f /var/log/messages
...
Jan  1 14:34:30 c720-r342378 kernel: ugen0.4: <HID Global OMNIKEY 6121 Smart Card Reader> at usbus0 (disconnected)
Jan  1 14:34:36 c720-r342378 kernel: ugen0.4: <HID Global OMNIKEY 6121 Smart Card Reader> at usbus0


# date ; usbconfig -d ugen0.4 dump_device_desc ; date
Tue Jan  1 14:34:46 CET 2019
ugen0.4: <HID Global OMNIKEY 6121 Smart Card Reader> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0200
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000
  bDeviceProtocol = 0x0000
  bMaxPacketSize0 = 0x0008
  idVendor = 0x076b
  idProduct = 0x6632
  bcdDevice = 0x0103
  iManufacturer = 0x0001  <HID Global>
  iProduct = 0x0002  <OMNIKEY 6121 Smart Card Reader>
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0001

Tue Jan  1 14:39:13 CET 2019

-- 
Matthias Apitz, ✉ guru_at_unixarea.de, http://www.unixarea.de/ +49-176-38902045
Public GnuPG key: http://www.unixarea.de/key.pub
October, 7 -- The GDR was different: Peace instead of Bundeswehr and wars, Druschba
instead of Nazis, to live instead of to survive.
Received on Tue Jan 01 2019 - 12:52:07 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:19 UTC