Closed Silverstar closed 7 months ago
Looks like this model is already supported and your printer is just borked. If it has a built in battery, I would start by checking its voltage.
You acan also install XP on a virtual machine and see if it's even working with original software.
Thanks tomek, I didn't want to jump hoops to get a old xp working on bare metal just to test it, because I can not attach the device to any virtualbox VM/OS on my linux mint host. Maybe it is really broken; due to the error I was rather considering I hit a bug than having a device coming up on the bus but not bringing one specific field all the time. I will test it someday in prehistoric, erm, "natural" conditions. Thank you anyway!
I can hardly stretch the fault to dymoprint if this printer can't even maintain a stable USB connection with an OS. After all, dymoprint is not a driver. :)
There are a few simple hardware things worth checking. If it is battery equipped, like I said before, I would measure its voltage. Maybe it should just sit connected via USB long enough to precharge said battery. Maybe USB cable is crap and can't deliver enough current. Battery and bad USB cable are the two sole things I can think of that deteriorate with time. Not that cables age, just we tend to lose them and replace with .. imported goods of inferior quality.
Thank you for your tips, as far as I know it is not battery equipped and it has an external psu, so I guess voltage is not an issue. After some more research I just learned, that the error is by pyusb rather than dymoprint, I thought dymoprint requested the langid but it seems pyusb does and there are devices not confirming to usb spec and throwing this error in pyusb.
So it's an pyusb issue if any. Sorry for that, thank you for your time.
~Does this mean that we broke #83 when we switched to PyUSB? :disappointed:~
EDIT: I got confused and thought that #83 was from a year ago rather than a month ago.
Thanks a lot for your investigations @Silverstar!
If the issue is that the LabelManager PC leaves langid
undefined, then I wonder if we could get around it with the approach of https://github.com/pyusb/pyusb/issues/139#issuecomment-565114069.
Thank you @maresb (and @tomek-szczesny of course) for your work on dymoprint!
I do not know if it's a faulty device or "regular" (non spec) behaviour of the device.
I found pyusb/pyusb#139 as well when I learned about non conforming devices.
I might try to patch pyusb according #139 but I have to dig into it. Can't tell when that will be. I'll report back.
@JBBgameich may I ask you, do you have the Labelmanager PC with or without "II"? My device has no "II" on it so it might be dymo made the II conforming to the specs if JBBgameich has the II or my device is faulty. I will test it (someday) with a realsteel windows xp machine when I happen to get one up in my scarce spare time.
Just saying, if something has the USB logo on it or its packaging, it must conform to USB standards. So I wouldn't count on some Dymo product being nonconformant. However the standards might have changed, but as far as I can remember all changes to date were backward compatible. I'd rather blame PyUSB for demanding things not covered by old standards.
if something has the USB logo on it or its packaging, it must conform to USB standards
:raised_eyebrow: I think Benson Leung would disagree
Well, we must not kill each other, but some people do it anyway. What I meant is that a big corporation launching products with USB trademark used in their advertising may count on legal action from USB guys if their products don't conform. That's the part of the agreement - the trademark may be used only on conforming products. Those who take the risk of breaking that agreement are mostly unknown and untraceable manufacturers of knock off cables.
@Silverstar The device is not my own, but from a hackerspace I'm sometimes at. Iirc it does not have II printed on it, but I can have another look and check USB metadata when I'm there next time. Feel free to ping me in case I forget.
Or maybe you guys are right and Dymo did release a nonconformant product. But I see in that PyUSB thread that workarounds are there so if one of them works it may be implemented.
Regarding usb standard, I think in 2001 (? year from the manual I could find) due to Windows was the dominant platform and usb just really started going and such errors in implementation of the device were simply fixed in the windows driver.
Hacky drivers been standard these days, remember that there were no general drivers and most stuff needed a reboot.
But still, maybe my unit is faulty, so I'll still test that ancient piece under the classic conditions (and or patched pyusb).
Thank for checking @JBBgameich no hurry, I won't be so fast either ;)
One of the things I want to add: thank you for your participation. I know that thing is old and I could just buy a new model but if it's not broken, it prints the same stuff as a PnP would and also even bigger, 24mm, tapes. That's my motivation to get this thing working.
I couldn't go to sleep without at least testing one thing: manually setting a langid in util.py lines 314ff by commenting out the raise ValueError
and langid = langids[0]
and setting langid = 0x409
sometimes gives me a overflow or typeerror (I'm in no way familiar with python) but on the next try it starts... to rattle. Maybe the motor or drive/gear is stuck or something (yes, its old, I know), but something happens! I might have to disassemble the unit...
My printer still works with the current version of dymoprint.
It is reported as:
Bus 001 Device 003: ID 0922:0011 Dymo-CoStar Corp. DYMO LabelMANAGER PC
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0922 Dymo-CoStar Corp.
idProduct 0x0011
bcdDevice 1.00
iManufacturer 1 DYMO
iProduct 2 DYMO LabelMANAGER PC
iSerial 3 01020412345621
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0021
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 2mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 7 Printer
bInterfaceSubClass 1 Printer
bInterfaceProtocol 2 Bidirectional
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 0
Endpoint Descriptor:
bLength 8
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 4
Device Status: 0x0001
Self Powered
Small update: I just obtained another LabelManager PC for testing. When switching the units, I found that I'm dumb. I powered my one with a wrong power supply - 9V~ ... However, even with the power supply of the "new" unit, it doesn't work. I disassembled it, found that the small cogwheel next to the worm gear of the drive motor is broken, so it gets stuck. I don't know if I'll ever find the right size wheel for that (and time to repair it). The new unit is printing, sometimes. It gives me langid errors, overflows, ... but every now and then, it prints, and I hope that's due to the power supply I got with it, its way underpowered (700mA max). I will look for another supply and come back. Maybe its just working then. Thank you for your help!
At some point someone hacked a power delivery trigger into the one at my hackerspace, so its now USB-C powered. Maybe that is an option for you as well.
I've been following the project hoping my old labelmanager PC will be supported one day and I was lucky #83 - now I'm trying to get it working, but it doesn't. I can't tell for sure if the device is working anymore at all since I don't have any windows xp around anymore and at the last windows system in this house (W10) it's just toggling connected/disconnected all the time but I guess due to different driver architecture nowadays.
dymoprint 2.2.1.post1.dev20+g0a33ed7
Permissions should be alright since
and
udevadm commands are done as given, plug out/in, logout/login, reboot, ...
dmesg snippet:
and lsusb -v:
Thank you in advance!