Backup USB connection for Test Cell - USB splitter design?

5

1

Diagram

This is a question for a project I am working on involving an unusual use of some USB equipment. Please see the diagram.

Our existing setup consists solely of a single link between the device and the laptop - this is the USB-over-Cat5 link shown as the top link on the diagram.

Essentially, the 2nd line (the bottom one) is a redundancy feature that we are proposing to install (the 'splitter' will also be required to be added). We experienced a failure of one of the USB-over-Cat5 extenders on one occasion recently, so we now want the ability to be able to switch to a backup line in the event this happens again during a test (we are working in a test environment and simply stopping the test to replace a failed component and restarting is not an option).

I am unclear about the nature of how this might work and am hoping for some clarification. Do I need to:

a) Buy a USB peripheral switch that can be controlled remotely (e.g. https://www.startech.com/uk/Cards-Adapters/USB-2/Hub/4-to-1-USB-Peripheral-Sharing-Switch~USB421HS) which will so where the 3-way splitter is in my diagram?

b) Simply splice into a USB cable at the point of the split, do a bit of soldering, breaking out one cable into two?

c) Something else?

Guest1

Posted 2018-01-24T10:53:46.187

Reputation: 51

1The USB protocol only permits one Host per bus, so the soldering option is out. – I say Reinstate Monica – 2018-01-24T13:36:06.700

Unfortunately, it's not so simple. USB is not, and can not be, "split". Every USB hub is an active switching device (which is what the IC you'll find in them does). – Bob – 2018-01-24T13:37:16.980

As you're saying it's a test environment it should especially be supported to replace failed components. After all it's a test and not live environment. What motor controller is it? What options exist to connect to it? If you're switching manually anyway just change the cable physically on both ends? Is the motor controller a client or host for the adapters? – Seth – 2018-01-24T13:40:18.700

@Seth One reason this might not be practical to stop the test and replace failed components is if running the test takes a lot of time and is very expensive, and isn't primarily about computers. For example, the "Remote Location" might be a shed where they test giant gas turbines. Starting a turbine and running it takes a lot of fuel and time... a failed USB adapter in some of their diagnostic equipment is no good reason to waste all that time and money while replacing it. A backup makes good sense. – allquixotic – 2018-01-25T14:13:03.113

@allquixotic different definitions of test environment I guess. A test environment in IT usually is a place where its fine to break stuff. But good point to bring it up, didn't think about a different kind of test environment. – Seth – 2018-01-26T06:35:10.910

Answers

1

With simple USB cabling, this isn't possible. USB is a single-host design, so you can't just split the cable to two potential host connections.

A USB sharing device might work. This highly depends on when the sharing device decides to switch from A to B - it's quite possible that the extender connection is sufficient to make the sharing device believe the host is still connected when it really isn't any more. This scenario will require extensive testing.

A remotely controlled sharing device should work - adding the complexity of running a separate control connection which could also fail.

A somewhat cleaner solution would be to use a USB server network device, allowing you to run the USB connection over Ethernet/IP (and not only over Cat-5). When the network has redudant links, it can't easily fail. These USB server devices can cause compatibility problems though and will require some testing in addition to the increased cost.

However, the simplest solution is to move the laptop next to the motor controller, connect it to a (potentially redundant) network and access the laptop remotely, e.g. remote desktop.

Zac67

Posted 2018-01-24T10:53:46.187

Reputation: 999

1

Don’t use USB for this. What you seem to be doing is trying to build ICS or PLC systems using hardware that is not designed for this.

You may have better luck using RS485 or ethernet as those are designed for this type of wired remote operation. If you already have the USB based motor controller, you could do something like attaching an SBC with USB and Ethernet to it, and use some software that controls the USB device on one end and accepts control via ethernet on the other.

You could also check the motor controller for serial control. Often, those pieces of hardware just use a serial port internally and have a built in USB to serial converter. If you disconnect that and use a serial to ethernet converter with TCP/IP you can use a known good solution that has been used for ages.

John Keates

Posted 2018-01-24T10:53:46.187

Reputation: 266

0

I posted this question and have since tested the proposed configuration.

I purchased one of these: 4-to-1 USB 2.0 Peripheral Sharing Switch (Product ID: USB421HS) https://www.startech.com/uk/Cards-Adapters/USB-2/Hub/4-to-1-USB-Peripheral-Sharing-Switch~USB421HS

Which has the ability to switch via software.

It worked as hoped. As Zac67 said though, in a general scenario it is probably heavily dependant on the exact nature of the switch and the device being used, and testing is the easiest way to determine.

P.S. allquizotic was on the right lines regarding the nature of this test.

Guest1

Posted 2018-01-24T10:53:46.187

Reputation: 51

RE: "However, the simplest solution is to move the laptop next to the motor controller, connect it to a (potentially redundant) network and access the laptop remotely, e.g. remote desktop."

  • Correct, except the test cell is too violent for a laptop to survive (temperature/vibration), so this is not an option.
  • < – Guest1 – 2018-03-12T10:21:36.973

1

It looks like you have created a second account, which will interfere with your ability to comment within your thread and to accept an answer. See Merge my accounts to get your accounts merged, which will solve the problem. After merging, you can accept your own answer to indicate that the problem has been solved.

– fixer1234 – 2018-03-12T10:23:39.837