How to debug a misbehaving usb device (DYMO LabelManager PC)?

Hans Petter Selasky hselasky at c2i.net
Sun Jul 3 17:35:42 UTC 2011


On Sunday 03 July 2011 18:33:20 Torfinn Ingolfsen wrote:
> Hello,
> 
> So, I have this misbehaving usb device, a label printer which I use to
> label things in my house (which poweradapter belongs to which device, and
> so on).
> It is a DYMO LabelManager PC[1], which is an old device. Not to be confused
> with the LabelManager PC II. Based on information found on the web, this
> device isn't following the usb specification 100%. And no driver exists
> for FreeBSD. I do not plan on changing that.
> What I try to do, is to "pass" the usb device from a FreeBSD host, to a
> virtual machine running windows (in VirtualBox).
> So far, I have managed to get the win vm to regocnize the label printer,
> adn install drivers for it. But - it will not print, claiming there is
> some error with the usb port. And that might be true.
> 
> On the host side, I am using the latest FreeBSD 8.2-stable:
> root at kg-v7# uname -a
> FreeBSD kg-v7.kg4.no 8.2-STABLE FreeBSD 8.2-STABLE #6: Sat Jul  2 18:39:45
> CEST 2011     root at kg-v7.kg4.no:/usr/obj/usr/src/sys/GENERIC  amd64 And in
> /var/log/messages, I see this when the device is attached:
> Jul  3 18:09:59 kg-v7 kernel: usb_alloc_device: Failure selecting
> configuration index 0:USB_ERR_STALLED, port 4, addr 3 (ignored) Jul  3
> 18:09:59 kg-v7 kernel: ugen0.3: <vendor 0x0922> at usbus0
> 
> And usbconfig info:
> root at kg-v7# usbconfig -u 0 -a 3
> ugen0.3: <product 0x0011 vendor 0x0922> at usbus0, cfg=255 md=HOST spd=LOW
> (1.5Mbps) pwr=ON root at kg-v7# usbconfig -u 0 -a 3 dump_device_desc
> ugen0.3: <product 0x0011 vendor 0x0922> at usbus0, cfg=255 md=HOST spd=LOW
> (1.5Mbps) pwr=ON
> 
>   bLength = 0x0003
>   bDescriptorType = 0x0001
>   bcdUSB = 0x0209
>   bDeviceClass = 0x0021
>   bDeviceSubClass = 0x0000
>   bDeviceProtocol = 0x0001
>   bMaxPacketSize0 = 0x0001
>   idVendor = 0xc000
>   idProduct = 0x0901
>   bcdDevice = 0x0004
>   iManufacturer = 0x0000  <no string>
>   iProduct = 0x0002  <retrieving string failed>
>   iSerialNumber = 0x0003  <retrieving string failed>
>   bNumConfigurations = 0x0001
> 
> What is the best way to debuug this device?
> I am hoping to get it to a state where it can be forwarded to the virtual
> machine, and work there.
> 
> More details  on the FreeBSD page for my label printer[2]
> 
> References:
> 1) http://global.dymo.com/ieIE/Products/LabelManager_PC.html
> 2) http://sites.google.com/site/tingox/lm_pc_freebsd

You could try running usbdump on the bus the device is connected to and see 
what happens.

--HPS


More information about the freebsd-usb mailing list