1
\$\begingroup\$

I have a label printer connected to a PC via standard USB 2.0 A to B cable. What I need in terms of functionality is a USB Y cable that would send the print data stream down both cables simultaneously. I know.... I know... these cables don't exist, and due to the characteristics of the USB com protocol, it's not as simple as splicing in another cable. However, I know there must be a way to create a redundant data stream.

REQUIREMENT: The printer must still generate a label and the 2nd data stream will be routed to a PC and captured for logging purposes and further processing.

Due to security issues, I wont be allowed to touch the computer or printer, therefore whatever solution I use must reside between the PC and Printer.

References: Present question is similar to this previous one.

\$\endgroup\$
10
\$\begingroup\$

Since you can't modify the printer or the pc, a networked printer setup is out of the question. So you need a USB Protocol Analyzer. Those are a few hundred dollars a piece. Enjoy.

enter image description here

\$\endgroup\$
  • \$\begingroup\$ You'd still have to decode the data. Know how the printer driver sent it, and then command the printer again. It won't be stateless, thus simply replicating to another printer won't work. Development costs for this will be at least 5 digits. \$\endgroup\$ – Jeroen3 Jun 25 '18 at 13:14
  • \$\begingroup\$ Throwing random numbers is not helpful @jeroen \$\endgroup\$ – Passerby Jun 25 '18 at 13:40
  • \$\begingroup\$ can you do it in less than one week? \$\endgroup\$ – Jeroen3 Jun 25 '18 at 14:02
  • \$\begingroup\$ So 2 weeks means over 10000 dollars? \$\endgroup\$ – Passerby Jun 25 '18 at 14:20
8
\$\begingroup\$

For a specific known device, you do not necessarily need a generic test instrument - you could, with sufficient knowledge of it's operation, use a microcontroller with both USB host and device ports to man-in-the-middle the traffic by pretending to be each end to the other and passing traffic between the two emulations.

That drops the unit cost to the $20-30 range, but likely increases the software development cost substantially... It also changes the failure mode from "failure to capture" to "failure to print"

\$\endgroup\$
0
\$\begingroup\$

You can't touch the computer during printing? Or can't touch it ever?

If you can install USB logging software on the host PC, you can capture all the incoming and outgoing USB traffic. No "man in the middle" hardware is required. Check out options like Free USB Analyzer or USBlyzer.

From the Free USB Analyzer site:

Program installs the filter driver between the USB host controller driver and the device driver and then monitors all USB Request Blocks (URBs), displaying them to the user in easily readable format.

This Free USB monitoring and analyzing software utility is designed for effective intercepting, capturing and decoding of communication traffic generated by any USB application passing through USB interfaces to and from devices connected to local or remote PC.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.