Issue / Question
I am unable to wake up a QLn220 printer by using MC32N0 while it is possible with MC3190 after clicking the ‘Test Print’ option in a test application.
MC32CE7.0, MC92CE7.0, WT41CE7.0, MC18CE7.0, VC70CE7.0, and all Zebra Mobile Printers.
Resolution / Answer
My printer is not waking up from suspend mode upon receiving the print command from Zebra’s MPA 3 devices running CE 7 with the serial class interface.
The same printer wakes up upon receiving the print command from Zebra’s MPA 2 devices running CE 6.0 with the serial class interface.
The transition of the Data Terminal Ready RS232 command line from low to high is the wake up source for many printers.
Zebra’s MPA 2 devices running CE 6 would set DTR low upon close which means when re-opened, it would be able to wake up the printer from sleep. The DTR line is not forced low upon closing the serial port on Zebra’s MPA 3 devices running CE 7, so a subsequent port open does not wake up the printer.
A low to high-level Data Terminal Ready (DTR) transition will trigger the printer to wake up from sleep mode.
To overcome such an issue, an application developer should call DTR clear to make DTR-based auto wake up work correctly.
For example: For managed code, call the EscapeCommFunction API with CLRDTR function code.
Use the API below if you are using the managed serial port class:
BOOL WINAPI EscapeCommFunction(_In_ HANDLE hFile,_In_ DWORD dwFunc);
hPort -> Handle to COM port
dwFunc = CLRDTR (0x06);