While investigating customer problem with Zebra ZXP Series 3 Card printers, I tried to install the printer in Windows. I do not have the actual device at hand, but it is also not needed because the problem we are chasing is some kind of spooler resource exhaustion when the application sends jobs to paused printer.
The OS is Windows 7 x64 and I got the drivers from ZXP Series 3 product page
I succeeded installing the drivers in system but while trying to Add Local Printer, either "Zebra ZXP Series 3 Network Card Printer" or "Zebra ZXP Series 3 USB Card Printer" I get error "Unable to install printer. Operation could
not be completed (error 0x0000000d)." There is nothing extra in the Event Log.
I have tried different port types, like FILE:, network etc. I guess the printer driver wants to have some kind of bi-directional communication with the device during setup and when that fails, the setup does not continue? Is there a way to circumvent such problem or should I conclude that the driver is simply temperamental and I need to go looking for a physical device?
Related
I have a HP Color Laserjet Pro 454dn printer connected to CUPS, but some of my Windows 10 computers can't print Duplex to it. Android and IOS devices have no problem printing duplex. I did notice that the driver on the working Windows 10 computer is a "Microsoft IPP driver". I cannot find this driver on the other computers. Does anyone know how to install this? I have turned the "Internet Printing Client" on, but this does not help. Also, I have tried the universal and device specific drivers from HP both with post script and PCL, some print only greyscale and others don't print duplex.
Android and iOS can print without drivers. I have looked into driverless printing for Windows, have made no progress. This would be my favourite solution.
Thank you all very much.
The IPP Driver is built into Windows 10. You might want to look at adding SAMBA to your CUPS implementation. Especially for older Windows and Android clients wanting to see your printer.
Click the 'The Printer that I want isn't listed'.
Then the radio button of "Select a shared printer by name".
Then put the printer network name in the window using this format:
http://hostname-or-ip-of-your-pi:631/printers/Printer_Name
Windows will now find the printer and ask for a print driver for it.
This link tells you all you ever wanted to know about CUPS printing but assumes your using Ubuntu to make a network printer: http://www.auxnet.org/index.php/the-news/214-installing-an-ipp-printer-in-windows-10
Why? Well HP managed to ship two totally different printers, both called the 'Laserjet 6L'. One supports Postscript, the other only PCL5e. Now there is no official Windows 10 driver for the PCL5e version but the Windows NT driver supports a number of PCL5e models, including some that are supported on Windows 10. So I want to try replacing the PS version GDP file on Windows 10 with the PCL5e version and see whether this will convince Windows 10 to use the same driver it uses for the other models to run my printer in the correct manner. Except that I can't seem to get permission to write to my own hard driver - grrr!
OK, the answer to my main problem of 'my printer doesn't work' was simpler than it might have been. There were three errors working together and preventing the supplied Windows 10 drivers from working correctly:
Windows 10 has two drivers for an "HP Laserjet 6L" and chose the wrong one. It installed "HP Laserjet 6L PS", a postscript driver whereas the 6L Pro requires the "HP Laserjet 6L" driver, a PCL5e driver; from printer properties, select the correct driver by hand.
Windows 10 has a 'Legacy Plug and Play' option for LPT devices; this printer is old and seems to need this set from Administrative Tools, Component Management, Devices, Ports
Windows 10 needs to be explicitly told how much memory the printer has. I have an extra 4MB card so I needed to explicitly tell Windows the printer has 5MB total; set from printer properties again.
Having fixed all of these the printer works.
I have a Metrologic MS1690 Barcode scanner that I'm trying to use with Windows 8.1, I get a Unrecognized Device: Device descriptor request failed error in devices and printers. The scanner gets no power from the computer when it is plugged in because of this. It usually shows up as a usb keyboard in windows 8 and 7, but with 8.1 it does not and I can't find an answer anywhere. Please help! Or even if someone could tell me how to get a generic usb keyboard driver for this thing that may help as well. Thanks.
The scanner gets no power from the computer when it is plugged in
Bit of a guess, but there was a change in Win8.1 that can affect HID devices like this. Such devices are now suspended when no application or service is accessing it. This can cause the device to misbehave if it depends on receiving timely power to operate correctly.
The workaround is to disable Enhanced Power Management for the device. The instructions are pretty elaborately spelled-out in this blog post. At break-neck speed: use Regedit.exe, locate the device in the HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Enum\ USB key and set the EnhancedPowerManagementEnabled value to 0.
The "solution" for me has been to add a PCI-E USB card, and use that for the scanner. I went with this one from Rosewill because it uses an NEC chipset which I have heard good things about.
After installing the provided drivers for the PCI-E card, the scanner seems to enumerate consistently (I have only been able to test it for a couple days so far).
According to the person I bought my scanner from, it's an issue with the USB chipset on the motherboard. Some are compatible and some aren't. If I had to do it over again, I would go with an RS232 cable and a power adapter instead of USB. I haven't tested that setup, but if your app needs serial data like mine does, it should be more reliable given that it's not dependent on the vagaries of integrated USB chipsets.
Does anyone out there who has developed on a dev board attached to a Mac OSX machine's USB port know how to send AT tty modem commands to the board? Arduino folks? Anyone?
TL;DR
I purchased a development STEVAL-SPBT2ATV2 "USB Dongle for the Bluetooth class 2 SPBT2532C2.AT module", which, according to the docs and spec has "downloaded FW, enabling the user to create a Bluetooth link with simple AT commands."
Which would be great, except all the documentation is only for old MS Windows, and doesn't give any hints on how to program this device from OSX or Linux.
Do I need to install a driver of some sort? Everything I've tried is like talking to a brick wall: I send commands, but nothing comes back from the board.
Things I've tried:
/dev/tty.Bluetooth-Modem already existed. Didn't seem to do anything. I think that's the built-in bluetooth device.
/dev/tty.AmpedUp-AMP-SPP and /dev/cu.AmpedUp-AMP-SPP showed up when I went to "Network -> set up bluetooth device" - which is good (correct device name) but strange, why under network?
Then under Bluetooth I can add a "serial port used to connect to this computer" and get the choice of Modem or RS-232. I guessed Modem.
I really hope I don't have to mess with the /etc/tty files
Nothing. the device never seems to react, or send any data back. I've tried several ways to send data to the device. Silence.
echo "AT+AB GPIOConfig 2 O^M" > /dev/cu.AmpedUp-AMP-SPP # ctrl-v ctrl-m for the ^M
screen /dev/tty.AmpedUp-AMP-SPP
cat /dev/tty.AmpedUp-AMP-SPP
minicom # via brew
chat /dev/cu.AmpedUp-AMP-SPP
From the docs:
Each dongle has the following factory default:
UART: 115200 baud, no parity,1 stop bit,8 data bits
Local name: “Amp'ed UP!’
Class of device: Misc Device
Profile: SPP (serial port profile)
Service name: “AMP-SPP”
Deep sleep: disabled
Page and inquiry scan: 1.28s interval, 11 ms duration
Security: disabled
Bonding PIN: “1234”
Bonding allowed: always enabled
I figured out where I was wayyy off-base with some help from a friend.
I thought that I was trying to establish a OSX->Terminal->Serial (Over USB)->Chip communication channel to program the chip.
When in reality, I was trying to establish a OSX->Terminal->Serial (over Bluetooth->Bluetooth) -> Chip channel to talk to the chip using the existing firmware, which includes enough defaults to have 4 GPIO/LED outputs. The USB only comes in later if I want to change the firmware.
Which means plugging the board into my laptop's USB port isn't necessary and only complicates the issue - better is plugging it into a spare USB charger next to my laptop.
... Which let me narrow down the problem to 2 things:
OSX isn't holding an open bluetooth communication channel to the BT device, so of course I won't be able to talk to it, even if the serial port is set up right
Even if I could talk to it, Apple iOS is so locked down that I won't be able to connect to it from an iPhone/iPad. :(
In the world of printers, particularly the POS ones, there are two common approaches, OPOS and Windows print queues. And there's also the work-around like the virtual serial port. But there seems to be another approach out there too ... the driver is installed but the software seems to be writing directly to the port rather than using the windows spooler.
If you look at the spooler ports when an Epson USB printer is installed for example, there is a ESDPRT001 ... could it be that the POS app is writing to the port directly and bypassing the whole spooler?
According to Epson's product description of OmniLink no driver is required. It is quite possible that the spooler has been outsourced to the powerful onboard computer, which is operating at ~400Mhz. Just a guess.
You don't need a driver for Epson's OmniLink. If your spoolsv.exe isn't working, look into this though.