dymoprint icon indicating copy to clipboard operation
dymoprint copied to clipboard

Support for additional devices

Open maresb opened this issue 3 years ago • 6 comments

This issue has been migrated here. Please continue discussion there.

There is a lot of discussion all over the place about support for other devices. Let's try to bring it all under one place.

  • LabelManager 420P:

    • Apparent but unconfirmed success:

      I had to change the product ID in the code, from 0x1002 to 0x1004. (Also, in the USB rules, I had to change 0x1001 to 0x1003.)

      - @jpetazzo, https://github.com/computerlyrik/dymoprint/issues/30#issuecomment-536518402

    • usb-modeswitch-data

      # Dymo LabelManager 420P
      TargetVendor= 0x0922
      TargetProduct= 0x1004
      MessageEndpoint=0x01
      ResponseEndpoint=0x01
      MessageContent="1b5a01"
      
  • LabelManager Wireless PnP

    • Status unknown
    • usb-modeswitch-data
      # Dymo LabelManager Wireless PnP
      TargetVendor= 0x0922
      TargetProduct= 0x1008
      MessageEndpoint=0x01
      ResponseEndpoint=0x01
      MessageContent="1b5a01"
      
  • MobileLabeler

    • No success yet.

      ID 0922:1009 Dymo-CoStar Corp. DYMO MobileLabeler - @fssup https://github.com/computerlyrik/dymoprint/issues/30#issuecomment-984676496

    • Also @Tahx https://github.com/computerlyrik/dymoprint/pull/20#issuecomment-881606298
  • LabelManager 280

    • Active discussion in #40

    • ID 0922:1005 Dymo-CoStar Corp. DYMO LabelManager 280

      Not a HID, but recognized by CUPS. - @Scorcerer https://github.com/computerlyrik/dymoprint/issues/40#issuecomment-1021702772

  • LabelWriter 450

    • ~This uses a different technology, more like a regular printer, so I don't see how we'd be able to support it anytime soon.~ This should be doable, and in fact there is a reference manual.
  • LabelPoint 350

    • This supports 19mm tape. Implemented in #73
  • LabelManager PC

    • See #83
  • LabelWriter 400

    • See #117

maresb avatar Jan 27 '22 22:01 maresb

As the tool asks, I'm reporting I have a almost-success on the 420P! (issue #80)

Mousketeer avatar Sep 16 '23 17:09 Mousketeer

Hello!

Tried running this with Dymo LabelWriter 550. Got the following error (I've hidden my username with "hiddenusername"):

Found one Dymo device: <DEVICE ID 0922:0028 on Bus 003 Address 010> manufacturer: DYMO product: DYMO LabelWriter 550 serial: 04216007483201 configurations:

  • <CONFIGURATION 1: 4 mA> interfaces:
    • <INTERFACE 0: Printer>

Unrecognized device: 0x28. WARNING: This device is not confirmed to work with this software. Please report your experiences in https://github.com/computerlyrik/dymoprint/issues/44 Active device configuration already found. Opened printer interface: <INTERFACE 0: Printer> Printing label.. Traceback (most recent call last): File "/home/[hiddenusername]/.local/bin/dymoprint", line 8, in sys.exit(main()) File "/home/hiddenusername/.local/pipx/venvs/dymoprint/lib/python3.10/site-packages/dymoprint/command_line.py", line 249, in main print_server.print_label(label_bitmap, margin=args.m, tape_size=args.t) File "/home/hiddenusername/.local/pipx/venvs/dymoprint/lib/python3.10/site-packages/dymoprint/dymo_print_engines.py", line 509, in print_label lm.printLabel(label_matrix, margin=margin) File "/home/hiddenusername/.local/pipx/venvs/dymoprint/lib/python3.10/site-packages/dymoprint/labeler.py", line 203, in printLabel self.rawPrintLabel(lines, margin=margin) File "/home/hiddenusername/.local/pipx/venvs/dymoprint/lib/python3.10/site-packages/dymoprint/labeler.py", line 225, in rawPrintLabel response = self.sendCommand() File "/home/hiddenusername/.local/pipx/venvs/dymoprint/lib/python3.10/site-packages/dymoprint/labeler.py", line 72, in sendCommand rspBin = self.devin.read(8) File "/home/hiddenusername/.local/pipx/venvs/dymoprint/lib/python3.10/site-packages/usb/core.py", line 423, in read return self.device.read(self, size_or_buffer, timeout) File "/home/hiddenusername/.local/pipx/venvs/dymoprint/lib/python3.10/site-packages/usb/core.py", line 1029, in read ret = fn( File "/home/hiddenusername/.local/pipx/venvs/dymoprint/lib/python3.10/site-packages/usb/backend/libusb1.py", line 846, in bulk_read return self.__read(self.lib.libusb_bulk_transfer, File "/home/hiddenusername/.local/pipx/venvs/dymoprint/lib/python3.10/site-packages/usb/backend/libusb1.py", line 954, in __read _check(retval) File "/home/hiddenusernamea/.local/pipx/venvs/dymoprint/lib/python3.10/site-packages/usb/backend/libusb1.py", line 602, in _check raise USBTimeoutError(_strerror(ret), ret, _libusb_errno[ret]) usb.core.USBTimeoutError: [Errno 110] Operation timed out

oyvindremme avatar Sep 19 '23 10:09 oyvindremme

Thanks a lot @oyvindremme for the report!

Looking at the stack trace and debug output, the printer is recognized and we can send data to the printer, but it's not answering. I'm not sure why. Maybe the protocol is different.

Having a different protocol wouldn't be surprising, because the 550 seems to be for printing mailing labels, while the LabelManager PnP prints on much smaller labels.

On the other hand, the 450 seems to be very similar to the 550, and there's a technical menu suggesting that the protocols are the same.

In order to move forward with the 550, someone (possibly you, if you're up for it) needs to put in the time, possibly with a USB sniffer, to figure out how to make it print.

maresb avatar Sep 19 '23 11:09 maresb

Hey!

I'd be glad to help out with this :)

Tell me what to do, and I'll do so!

oyvindremme avatar Sep 19 '23 12:09 oyvindremme

Great! I can't really give you that much guidance, but you just need to figure out which commands to send to the printer in order to print something. So you could start looking at both the dymoprint source code and the reference manual for the 450 (linked above).

maresb avatar Sep 19 '23 12:09 maresb

This issue has been migrated here. Please continue discussion there.

maresb avatar Apr 14 '24 13:04 maresb