How to connection IDWedgeKB using USB Serial CDC driver to Linux Operating system
IDWedgeKB is a drivers license scanner with embedded drivers license parsing that interfaces to a computer as a USB Keyboard or USB Serial port.
This post details how to connect from Linux to the IDWedgeKB when it’s setup as a serial device and is targeted at developers who which to communicate directly with the IDwedgeKB via the USB Serial port on Linux computers.
Most clients will use the USB keyboard interface which is plug and play on Linux, Windows and Apple operating systems.
Step By Step instructions
Configure IDWedgeKB to use USB Serial Port instead of USB Keyboard. This is done by changing configuration parameters stored in config.txt file inside IDwedgeKB flash drive. See IDwedgeKB User manual for details – visit www.idscanner.us for IDWedgeKB user manual.
Plug in IDWedgeKB into any USB port of computer. The IDWedgeKY LED will blink green for about 3 seconds and a flash drive named upload disk may be recognized by the computer. Then the IDwedgeKB LED will blink WHITE which indicates its in serial port mode.
Start a terminal window on linux and
type— lsusb – which lists the USB devices. The screenshots shown in this post are for a Raspberry Pi.
The device 2d94:0004 is the CDC USB Serial driver of the IDWedgeKB.
Type — dmesg | grep ‘2d94’ — 2d94 is TokenWorks USB.org vendor ID
Note: the usb value 1-1.3 – the product ID 0001 is the upload disk which appears briefly during boot and the product ID 0004 is the Serial USB CDC driver.
Type — dmesg grep | ‘usb 1-1.3′ to list details about this USB device
This displays all the information known to linux based on the IDwedgeKB based on its USB descriptors.
The IDwedgeKB is recognized as a ttyACM0 device. To find all the TTY devices recognized by LINUX,
type — dmesg |grep ‘tty‘ to list all the tty devices
There are a few TTY devices, The USB ACM device ttyACM0 is the IDWedgeKB.
To check the baud rate, type — stty -F /dev/ttyACM0
The baud rate is at 9600, but IDWedgeKB uses 115200, so set the baud rate to 115200 by
Type — stty -F /dev/ttyACM0 115200 – this will set the baud rate to 115K
Note: The baud rate has been changed on the Raspberry Pi to 115200
Next – run the screen application to open a serial emulator and interface with the IDWedgeKB.
If the screen app is not installed on the computer – type — sudo apt-get install screen – note: an internet connection is required
Type — screen /dev/ttyACM0 – this will launch screen and allow communication with IDWedgeKB
A new terminal screen will open.
Hit the enter key a couple of times, you should see ?? which is IDwedgeKB’s response to an unrecognized command.
Scan a drivers license in IDWedgeKB – it will output a comma delimited string of fields to the serial port which is displayed below.
This shows the drivers license field data output via the USB serial port from IDWedgeKB
Other IDWedgeKB serial commands are
eseek – this displays the IDwedgeKB serial number
rawdata – this displays the raw data from the last scan
lastscan – this displays the last parsed scan data.
This concludes the post. Hopefully it helps developers who which to communicate directly with the IDwedgeKB via the USB Serial port on Linux computers
Note: This has been tested on a Dell C610 laptop running Ubuntu and a Raspberry Pi Zero W running RASPBIAN STRETCH WITH DESKTOP Version:August 2017