2.2 KiB
Honeywell Barcode Reader Config Tool
What?
A Linux tool for configuring Honeywell barcode scanners via USB.
Why?
I had obtained a used Honeywell Hyperion 1300G scanner, however it was locked down and secured with a password, and the password was unknown. There is a Windows-only configuration tool from Honeywell called "EZconfig" with which the barcode scanners can be configured via USB, even when locked down. To not rely on a Windows VM for configuring the scanner, I sniffed the USB traffic using Wireshark and extracted the relevant messages, and wrapped them in this tool.
Usage
First of all, compile the program using make
. It depends only on libusb-1.0
.
The configuration strings need to be provided as command line arguments. You can provide multiple:
./honeywell-config <string1> [... <stringN>]
In general, please refer to your scanner's manual for configuration strings.
Here are some examples. Please not that this tool most likely needs to run as root.
Factory Reset
./honeywell-config DEFOVR. DEFALT.
Switch Operation Mode
USBHID:
./honeywell-config PAP131.
Keyboard:
./honeywell-config PAP124.
Add Prefix to Output
The following adds the string FCKAFD
(ASCII hex 46 43 4B 41 46 44 20
) in front of every scanned barcode:
./honeywell-config PREBK246434B41464420.
Note how this behaves differently from if you were to configure the scanner in-band via scanning config barcodes. There you would scan a lot of individual codes from the manual:
PREBK2.
K4K.
K6K.
- ...
K2K.
K0K.
MNUSAV.
On the USB config interface, all of that goes into a single string instead.
Adapting for Other Scanners
The tool currently has hardcoded USB vendor/product IDs for a Honeywell Hyperion 1300G in Keyboard or USBHID modes. If you have a different Honeywell scanner, and the tool doesn't find it, you can try making this tool work for it:
-
Obtain the USB vendor and product IDs for your scanner, e.g. through
lsusb
. -
Replace the VID/PID in the following line of code in
honeywell-config.c
:libusb_device_handle *devh = libusb_open_device_with_vid_pid(ctx, 0x0c2e, 0x0b07);
-
Recompile the tool with
make clean; make
License
MIT License