Support for additional devices
maresb opened this issue · 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.)
-
# 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 #30 (comment) - Also @Tahx #20 (comment)
- No success yet.
-
LabelManager 280
-
Active discussion in #40
-
ID 0922:1005 Dymo-CoStar Corp. DYMO LabelManager 280
Not a HID, but recognized by CUPS.
- @Scorcerer #40 (comment)
-
-
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
As the tool asks, I'm reporting I have a almost-success on the 420P! (issue #80)
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 #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
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.
Hey!
I'd be glad to help out with this :)
Tell me what to do, and I'll do so!
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).