Index: sys/dev/usb/usb_device.c =================================================================== --- sys/dev/usb/usb_device.c +++ sys/dev/usb/usb_device.c @@ -1940,8 +1940,9 @@ udev->ugen_symlink = usb_alloc_symlink(udev->ugen_name); /* Announce device */ - printf("%s: <%s> at %s\n", udev->ugen_name, + printf("%s: <%s %s> at %s\n", udev->ugen_name, usb_get_manufacturer(udev), + usb_get_product(udev), device_get_nameunit(udev->bus->bdev)); #endif @@ -2150,8 +2151,9 @@ #if USB_HAVE_UGEN if (!rebooting) { - printf("%s: <%s> at %s (disconnected)\n", udev->ugen_name, - usb_get_manufacturer(udev), device_get_nameunit(bus->bdev)); + printf("%s: <%s %s> at %s (disconnected)\n", udev->ugen_name, + usb_get_manufacturer(udev), usb_get_product(udev), + device_get_nameunit(bus->bdev)); } /* Destroy UGEN symlink, if any */ Index: sys/dev/usb/usb_util.c =================================================================== --- sys/dev/usb/usb_util.c +++ sys/dev/usb/usb_util.c @@ -72,7 +72,7 @@ { struct usb_attach_arg *uaa; struct usb_device *udev; - struct usb_interface *iface; + size_t len; char *temp_p; usb_error_t err; uint8_t do_unlock; @@ -87,27 +87,24 @@ return; } udev = uaa->device; - iface = uaa->iface; - - if ((iface == NULL) || - (iface->idesc == NULL) || - (iface->idesc->iInterface == 0)) { - err = USB_ERR_INVAL; - } else { - err = 0; - } /* Protect scratch area */ do_unlock = usbd_ctrl_lock(udev); temp_p = (char *)udev->scratch.data; - if (err == 0) { - /* try to get the interface string ! */ - err = usbd_req_get_string_any(udev, NULL, temp_p, - sizeof(udev->scratch.data), - iface->idesc->iInterface); + temp_p[0] = '\0'; + err = usbd_req_get_string_any(udev, NULL, temp_p, + sizeof(udev->scratch.data), udev->ddesc.iManufacturer); + len = strlen(udev->scratch.data); + + if (len < sizeof(udev->scratch.data) - 1) { + temp_p[len] = ' '; + len++; + err = usbd_req_get_string_any(udev, NULL, temp_p + len, + sizeof(udev->scratch.data) - len, udev->ddesc.iProduct); } + if (err != 0) { /* use default description */ usb_devinfo(udev, temp_p,