1

Got a customer request but no idea can it be done. So need your opinions on this. This might be a utterly stupid thing to ask but yet need some facts so can work out best solution.

Scenario,

My Customer is an OEM Manufacturer. They make an automated system with a embedded touch screen (Windows XPe) this system got a button panel with some LED indicators (apart from keyboard) and 7 USB Ports. These button panels and USB ports are checked before sending to QC process. Currently a USB thumb drive with standalone executable with all indicators and controls flags is inserted to one of the USBs and then will run the exe. This exe capture user inputs from button panel and indicate which button is pressed so that it can be verify as working. And from program user can set LED indicators to different states (flashing, steady and off) so they can be verified as well. Once this is done then USB thumb drive will be inserted to each port and will verify it recognise. But after each verify step it needs to safely remove the drive from task bar. Once each test is finish user required to fill up the sheet with all pass and fail states for the entire button panel, indicators and USB ports. This is a quite length process when its come to mass production.

Apart from this embedded system all other components which suppose to connect to one of above embedded systems are tested via a program which I make and records all test outputs as they are tested. This program installed and components are connected to a testing embedded system.

Requirement,

What customer asks, can my program test completed embedded system with our host system (testing embedded system, may be via USB to USB) Its more like Testing a PC from another PC. Any ideas ?

Additional Info. Apart from USBs there is one Network Port.

Thanks for looking, Feel Free to ask any questions. Any opinion is appreciated.

Joel Coehoorn
  • 399,467
  • 113
  • 570
  • 794
Randi Ratnayake
  • 674
  • 9
  • 23
  • Does the customer understand that it will still be necessary to physically plug in something to each USB port, and have someone press the buttons to verify they are working, and look at the LEDs as well (unless you want to use robotics and optical sensors)? The main possible improvement is to use a quicker check for each USB port (perhaps by using something with a simpler protocol and drivers than a standard mass-storage device, eliminating the "safely remove hardware" step), and improving the test operator user interface. – Justin May 06 '11 at 15:49
  • Hi Justin, Well it is doing by humans. What mostly needed is to record each button and indicators are tested. So if I can use my other program said in the question above I can grab the info out. But Customer do not want to do any installation as this testing PC going to be for customers and they do not need any extra software along with it. – Randi Ratnayake May 08 '11 at 13:51

1 Answers1

1

I'm not an expert on this topic, but it seems like this would be problematic because USB is an assymetrical protocol. There are hosts and there are devices. Hosts make the requests, and devices fulfill the requests. The problem is that PCs are USB hosts, not USB devices, so you would have two hosts trying to get the guy on the other side to do what he wants. Testing with a USB thumb drive worked because the thumb drive is a device.

It sounds like the unit to be tested doesn't have an ethernet port, which is a shame, because that would be the easiest way to go. If it has a serial port you could do it that way, but that is both slow and a hassle.

Jim Clay
  • 963
  • 9
  • 24
  • He did say "there is one Network Port" (presumably ethernet). How would you use that to do the testing? – Justin May 06 '11 at 15:23
  • @user684030, Use that for your testing then. Make it a simple client/server interface. – Jim Clay May 06 '11 at 15:48
  • @Justin, Assuming that they can have test support code running on the units, they can have a server listening on a port that will run tests when commanded to and report results. You could even use this to run tests remotely (at, say, a user site) when a customer reports that something has gone wrong. – Jim Clay May 06 '11 at 15:51