Dymo LabelManager PC - FreeBSD

Hardware info on main page.

It is interesting that the usblp driver for Linux seems to work a bit better with this printer.

Work log

2011-07-28: Today I tried with VirtualBox 4.0.12 on a 32-bit host, using the win98se vm:

root@kg-home# uname -a
FreeBSD kg-home.kg4.no 8.2-STABLE FreeBSD 8.2-STABLE #1: Tue Jul 26 22:57:22 CEST 2011     root@kg-home.kg4.no:/usr/obj/usr/src/sys/AS5672  i386

But it didn't work. I get an error from the vm, but not from VirtualBox.

2011-07-10: I have tried two different guests in VirtualBox 4.0.10; win98se, winxp_sp2. But VirtualBox just says "Failed to create a proxy device for the USB device. (Error: VERR_READ_ERROR)". The complete error message from the log is:

00:09:19.619 ERROR [COM]: aRC=NS_ERROR_FAILURE (0x80004005) aIID={515e8e8d-f932-4d8e-9f32-79a52aead882} aComponent={Console} aText={Failed to create a proxy device for the USB device. (Error: VERR_READ_ERROR)}, preserve=false

Bummer. Hmm, perhaps this is "user is not a member of the group vboxusers" error? Let us try to find out. Nope, that didn't help. AFAICT, the user in question has access to the usb device in question. I wonder what the problem is.

2011-07-09: with help from the freebsd-usb mailing list, a workaround was found. By using the patch in this message, and building a new kernel, the device now appears to be working (no working drivers under FreeBSD, but I'm not worried about that): Attaching the device, and

root@kg-v7# usbconfig -d 0.3
ugen0.3: <product 0x0011 vendor 0x0922> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON
root@kg-v7# usbconfig -d 0.3 dump_curr_config_desc
ugen0.3: <product 0x0011 vendor 0x0922> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON


 Configuration index 0

    bLength = 0x0009
    bDescriptorType = 0x0002
    wTotalLength = 0x0021
    bNumInterfaces = 0x0002
    bConfigurationValue = 0x0007
    iConfiguration = 0x0001  <retrieving string failed>
    bmAttributes = 0x0002
    bMaxPower = 0x0001

    Interface 0
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0000
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0002
      bInterfaceClass = 0x0007
      bInterfaceSubClass = 0x0001
      bInterfaceProtocol = 0x0002
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0008
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000

     Endpoint 1
        bLength = 0x0008
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0002  <OUT>
        bmAttributes = 0x0003  <INTERRUPT>
        wMaxPacketSize = 0x0008
        bInterval = 0x0004
        bRefresh = 0x00ff
        bSynchAddress = 0x0000

Cool! From /var/log/messages:

Jul  9 23:17:27 kg-v7 kernel: ugen0.3: <vendor 0x0922> at usbus0
Jul  9 23:17:27 kg-v7 kernel: ulpt0: <vendor 0x0922 product 0x0011, class 0/0, rev 1.10/1.00, addr 3> on usbus0
Jul  9 23:17:27 kg-v7 kernel: device_attach: ulpt0 attach returned 12

Now off to try VirtualBox.

2011-07-09: Ok, dump current config doesn't work, but dump all configs do:

root@kg-v7# usbconfig -d 0.3 dump_curr_config_desc
ugen0.3: <product 0x0011 vendor 0x0922> at usbus0, cfg=255 md=HOST spd=LOW (1.5Mbps) pwr=ON
root@kg-v7# usbconfig -d 0.3 dump_all_config_desc
ugen0.3: <product 0x0011 vendor 0x0922> at usbus0, cfg=255 md=HOST spd=LOW (1.5Mbps) pwr=ON


 Configuration index 0

    bLength = 0x0009
    bDescriptorType = 0x0002
    wTotalLength = 0x0021
    bNumInterfaces = 0x0001
    bConfigurationValue = 0x0001
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x00c0
    bMaxPower = 0x0001

    Interface 0
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0000
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0002
      bInterfaceClass = 0x0007
      bInterfaceSubClass = 0x0001
      bInterfaceProtocol = 0x0002
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0008
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000

     Endpoint 1
        bLength = 0x0008
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0002  <OUT>
        bmAttributes = 0x0003  <INTERRUPT>
        wMaxPacketSize = 0x0008
        bInterval = 0x0004
        bRefresh = 0x00ff
        bSynchAddress = 0x0000

That's interesting.

2011-07-09: A new test, this time with usbdump:

root@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@kg-v7.kg4.no:/usr/obj/usr/src/sys/GENERIC  amd64
root@kg-v7# usbconfig -u 0 -a 3
ugen0.3: <product 0x0901 vendor 0xc000> at usbus0, cfg=255 md=HOST spd=LOW (1.5Mbps) pwr=ON

usbdump command: usbdump -i usbus0 -vvvv -s 16384 And output here. More debug information:

root@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@kg-v7# usbconfig -u 0 -a 3 set_config 0
usbconfig: could not set config index: Input/output error

From /var/log/messages:

Jul  9 22:21:35 kg-v7 kernel: usbd_req_re_enumerate: addr=3, set address failed! (USB_ERR_STALLED, ignored)
Jul  9 22:21:35 kg-v7 kernel: usbd_setup_device_desc: getting device descriptor at addr 3 failed, USB_ERR_STALLED
Jul  9 22:21:35 kg-v7 kernel: usb_alloc_device: Failure selecting configuration index 0:USB_ERR_STALLED, port 4, addr 3 (ignored)
Jul  9 22:21:35 kg-v7 kernel: ugen0.3: <vendor 0xc000> at usbus0
Jul  9 22:21:35 kg-v7 kernel: ugen0.3: <vendor 0xc000> at usbus0 (disconnected)
Jul  9 22:21:36 kg-v7 kernel: usb_alloc_device: Failure selecting configuration index 0:USB_ERR_STALLED, port 4, addr 3 (ignored)
Jul  9 22:21:36 kg-v7 kernel: ugen0.3: <vendor 0x0922> at usbus0

unplug and reconnect the device, then test again:

from /var/log/messages:

Jul  9 22:24:24 kg-v7 kernel: ugen0.3: <vendor 0x0922> at usbus0 (disconnected)
Jul  9 22:24:41 kg-v7 kernel: usb_alloc_device: Failure selecting configuration index 0:USB_ERR_STALLED, port 4, addr 3 (ignored)
Jul  9 22:24:41 kg-v7 kernel: ugen0.3: <vendor 0x0922> at usbus0
root@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@kg-v7# usbconfig -u 0 -a 3 set_config 0
usbconfig: could not set config index: Input/output error

It doesn't work. Trying to reset the device:

root@kg-v7# usbconfig -d 0.3
ugen0.3: <product 0x0011 vendor 0x0922> at usbus0, cfg=255 md=HOST spd=LOW (1.5Mbps) pwr=ON
root@kg-v7# usbconfig -d 0.3 reset
root@kg-v7# usbconfig -d 0.3
ugen0.3: <product 0x0011 vendor 0x0922> at usbus0, cfg=255 md=HOST spd=LOW (1.5Mbps) pwr=ON

It is still unconfigured (cfg=255).

2011-07-03: I updated a test machine to the latest FreeBSD 8.2-stable and tested again:

root@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@kg-v7.kg4.no:/usr/obj/usr/src/sys/GENERIC  amd64

From /var/log/messages:

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

usbconfig output:

root@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@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
root@kg-v7# usbconfig -u 0 -a 3 dump_curr_config_desc
ugen0.3: <product 0x0011 vendor 0x0922> at usbus0, cfg=255 md=HOST spd=LOW (1.5Mbps) pwr=ON

No improvement here.

2011-07-02: I also tried a machine running FreeBSD 8.2-stable / amd64:

root@kg-v7# uname -a
FreeBSD kg-v7.kg4.no 8.2-STABLE FreeBSD 8.2-STABLE #5: Sat Feb 26 20:05:14 CET 2011     root@kg-v7.kg4.no:/usr/obj/usr/src/sys/GENERIC  amd64

usbconfig output:

root@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@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 = 0x0008  <retrieving string failed>
  iSerialNumber = 0x0003  <retrieving string failed>
  bNumConfigurations = 0x0001
root@kg-v7# usbconfig -u 0 -a 3 dump_curr_config_desc
ugen0.3: <product 0x0011 vendor 0x0922> at usbus0, cfg=255 md=HOST spd=LOW (1.5Mbps) pwr=ON

Not much help here. Also, I notice this in /var/log/messages:

Jul  2 16:03:39 kg-v7 kernel: usb_alloc_device: Failure selecting configuration index 0:USB_ERR_STALLED, port 4, addr 3 (ignored)
Jul  2 16:03:39 kg-v7 kernel: ugen0.3: <vendor 0x0922> at usbus0

Not good.

2011-07-02: I connected the printer to a machine running FreeBSD 8.1-stable / amd64:

tingo@kg-v2$ uname -a
FreeBSD kg-v2.kg4.no 8.1-STABLE FreeBSD 8.1-STABLE #3: Thu Sep 16 22:18:48 CEST 2010     root@kg-v2.kg4.no:/usr/obj/usr/src/sys/GENERIC  amd64

usbconfig shows:

root@kg-v2# usbconfig -a 2 -u 2
ugen2.2: <product 0x0110 vendor 0x0112> at usbus2, cfg=255 md=HOST spd=LOW (1.5Mbps) pwr=ON

dump description:

root@kg-v2# usbconfig -u 2 -a 2 dump_device_desc
ugen2.2: <product 0x0110 vendor 0x0112> at usbus2, 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 = 0x0007  <retrieving string failed>
  bNumConfigurations = 0x0001

and current config

root@kg-v2# usbconfig -u 2 -a 2 dump_curr_config_desc
ugen2.2: <product 0x0110 vendor 0x0112> at usbus2, cfg=255 md=HOST spd=LOW (1.5Mbps) pwr=ON

It doesn't look to good. Booting verbose didn't give any more messages.

2008-09-07: I tried the printer on a machine with a newer FreeBSD 7.0-stable:

tingo@kg-work2$ uname -a
FreeBSD kg-work2.kg4.no 7.0-STABLE FreeBSD 7.0-STABLE #0: Mon Jul 21 20:40:31 CEST 2008     root@kg-work2.kg4.no:/usr/obj/usr/src/sys/GENERIC  i386

But the result (from /var/log/messages) was the same:

Sep  7 21:47:59 kg-work2 kernel: uhub1: port 1, set config at addr 2 failed
Sep  7 21:47:59 kg-work2 kernel: uhub1: device problem (SHORT_XFER), disabling port 1
Sep  7 21:47:59 kg-work2 root: Unknown USB device: vendor 0x0922 product 0x0011 bus uhub1
Sep  7 21:48:01 kg-work2 root: Unknown USB device: vendor 0x0922 product 0x0011 bus uhub1
Sep  7 21:48:01 kg-work2 kernel: uhub1: port 1, set config at addr 2 failed
Sep  7 21:48:01 kg-work2 kernel: uhub1: device problem (SHORT_XFER), disabling port 1
Sep  7 21:48:03 kg-work2 root: Unknown USB device: vendor 0x0922 product 0x0011 bus uhub1
Sep  7 21:48:03 kg-work2 kernel: uhub1: port 1, set config at addr 2 failed
Sep  7 21:48:03 kg-work2 kernel: uhub1: device problem (INVAL), disabling port 1
Sep  7 21:48:05 kg-work2 root: Unknown USB device: vendor 0x0922 product 0x0011 bus uhub1
Sep  7 21:48:05 kg-work2 kernel: uhub1: port 1, set config at addr 2 failed
Sep  7 21:48:05 kg-work2 kernel: uhub1: device problem (SHORT_XFER), disabling port 1
Sep  7 21:48:07 kg-work2 root: Unknown USB device: vendor 0x0922 product 0x0011 bus uhub1
Sep  7 21:48:07 kg-work2 kernel: uhub1: port 1, set config at addr 2 failed
Sep  7 21:48:07 kg-work2 kernel: uhub1: device problem (SHORT_XFER), disabling port 1
Sep  7 21:48:09 kg-work2 root: Unknown USB device: vendor 0x0922 product 0x0011 bus uhub1

The light stays red, turns off (printer reset?) the stays red again. In short: no progress.

2008-03-23: I connected a LabelManager PC label printer (made by Dymo) to a machine running FreeBSD 7.0-stable. As expected, it didn't work. Here is the output from /var/log/messages:

Mar 23 18:46:45 kg-i82 kernel: uhub0: port 2, set config at addr 2 failed
Mar 23 18:46:45 kg-i82 kernel: uhub0: device problem (INVAL), disabling port 2
Mar 23 18:46:45 kg-i82 root: Unknown USB device: vendor 0x0922 product 0x0011 bus uhub0
Mar 23 18:46:47 kg-i82 kernel: uhub0: port 2, set config at addr 2 failed
Mar 23 18:46:47 kg-i82 kernel: uhub0: device problem (SHORT_XFER), disabling port 2
Mar 23 18:46:47 kg-i82 root: Unknown USB device: vendor 0x0922 product 0x0011 bus uhub0
Mar 23 18:46:48 kg-i82 kernel: uhub0: port 2, set config at addr 2 failed
Mar 23 18:46:48 kg-i82 kernel: uhub0: device problem (INVAL), disabling port 2

It looks like the device (the printer) repeatedly disconnects / reconnects. Also the light on the front stays red. Not good.