I’m using a Micro Maestro 6 to simulate jack plugging on a notebook. My simulation involved cycling the notebook into sleep(S3) and wakeup after every jack plugging action.
My problem is that the maestro will loss detection from UscCmd or Maestro Control Center after 100+ cycle of system sleep. I noticed the link led will blink slowly and both UscCmd or Control Center cannot find it. Need to replug USB connection to detect again. I have tried checking the [Ignore USB suspend] option and disable power management on [USB Root Hub] but with no help.
I also tried to measure the USB port voltage during system sleep and found that it will gradually drop voltage below 5V. But then I have already wired maestro to use exteral power so it shouldn’t be affected. Correct?
My Ctrl Code:
Meastro Vin wired to Servo V+ Pin.
2 x Hitec HS-82MG
5V 2.5A Power Adapter
Windows 7 64-Bit
Latest Maestro Windows Driver
Dell Alienware Notebook
I’m sorry you are having trouble with the Maestro.
The next time the system gets into this bad state, could you please look in your Device Manager and see if there are any entries at all for the Maestro? I wouldn’t expect the usual entries to show up, but maybe there is an “Unknown device” in the “Other Devices” category? After checking that, could you try shorting the Maestro’s RST line to GND? This will put the Maestro’s processor into its reset state. To the USB port, this should look like the Maestro was disconnected. I’d like to know if the Maestro’s USB connection recovers after doing this.
Yes, because of the power supply you connected to VIN, the Maestro can operate even when there is no power coming from USB. However the Maestro is still affected by the USB port turning off. When the Maestro detects that power from the USB port has been lost, it has to turn off its USB pull-up resistor and reset its USB device state, as required by the USB specification. When the power to the USB port is restored, the Maestro enables its USB pull-up resistor and expects the computer to go through the whole USB enumeration process again. This is the same process that happens when the Maestro was first plugged in, and allows the computer to detect what type of device it is and load the proper drivers.
Do you actually need the Maestro to do something while the computer is sleeping? If not, I might try disconnecting the power supply from VIN, so that the Maestro actually powers down whenever the notebook goes to sleep.
Here is a screen capture for your reference, the Masetro is still listed inside device manager when it’s loss. There is no additional unknown devices as you have said (I didn’t install driver for some of the existing devices.)
When I short the RST pin to GND, the Masetro is temperory disappear and listed back inside the device manager. After that I can control it again using UscCmd or Masetro Control Center.
Currently, I don’t need to do anything on Masetro when notebook is sleeping. Do you mean that I can solve this problem by powering Mesetro from USB port instead: In order to let Maestro fully power down, I should wait for the notebook USB port to drop voltage until 0V.
Thanks for the screenshot. ( For future reference, it shows a correct-looking entry for the Micro Maestro native USB interface in the Device Manager and an error message box from the Maestro Control Center saying: “There was an error initializing the device. Access was denied when trying to connect to the device. Try closing all programs using the device.” )
Did you already try the advice in the error message? Are there any programs running that might have an open connection to the Maestro? Maybe the program you wrote is still running? Only one program can be connected to the Maestro’s native USB interface at a time.
In your first post, you said the “link LED will blink slowly”. I assumed you meant the green LED, but now I am not so sure. What color LED was that?
Thanks for shorting RST to GND; since that works we might be able to find a way to automate that. But at this point I’m still hoping that your problem is just a software problem.
I open up the Masetro Control Center to show you because the UscCmd exe just run faulty when Masetro is not detected. I think the dialog is refering to this.
For the slow blinking led, it’s the Green LED.
Currently, the solution I found is to increase the system sleep duration from 30s to 60s. Let Masetro powered from USB port. So far chances of hitting the error is less often. Maybe the voltage drain of the USB port during sleep is not low enough to cause a proper shutdown of Mastro, increasing the duration allow more time for the voltage to drain further.
I still think problem maybe on the fw side. I’m currently using Microsoft DTM PwrTest.exe and some AutoIt script to simulate such scenario, maybe you you can repro it at your side.