Windows 7 Forums

Welcome to Windows 7 Forums. Our forum is dedicated to helping you find support and solutions for any problems regarding your Windows 7 PC be it Dell, HP, Acer, Asus or a custom build. We also provide an extensive Windows 7 tutorial section that covers a wide range of tips and tricks.


Windows 7: Tablet PC Input Service Stopped after USB reset in Win7


01 Oct 2009   #1

 
 
Tablet PC Input Service Stopped after USB reset in Win7

Hi ,
I am new to this forum and need a quick help on the following issue.
We have developed a touch device driver on a micro-controller which works with Windows 7 through USB HID interface.
When the device is connected to the Windows 7 host, it enumerates properly and we are able to see the touch gestures working on the Windows 7 and "Tablet PC Input Service" service is in running state.
But when we do a restart or replug of the device then "Tablet PC Input Service" service is going to stopped state, even though the enumeration is proper and we can see that in the device manager.


But if we do the Rest or Replug for the next time then "Tablet PC Input Service" service is moving to running state i.e every alternate replug or reset is making the service to be stopped.

But when we delay this replugging of the USB for some time say(Till the device manager completely de-enumerates(removes) the device), then the "Tablet PC Input Service" service is moving to running state properly.


To Summarize "Fast replugs or resets of the USB device is making the "Tablet PC Input Service" service to go ON and OFF"

Please help me to solve this , its turning out to be critical for us.

Thanks in Advance
Siva


My System SpecsSystem Spec
.

01 Oct 2009   #2

Win7 Build 7600 x86
 
 

If I understand this correctly:

When you unplug and replug the device too fast,
(before the device manager had a chance to remove the device),
the service goes to "stopped".

When you wait until device manager successfully completes the removal,
and replug the device, the service stays "started".

So what you need would be a way to make the detection of plugged-in devices wait until removal of unplugged devices is completed, right?

Greetz
My System SpecsSystem Spec
01 Oct 2009   #3

Win7 Build 7600 x86
 
 

Hi again pothirs,

While this may not apply directly for your problem, it might set you in the right direction.

A guy posted this question which he then answered himself.

Especially note the second quote

Quote:
Hello,

I wrote a bootloader for the STR912, sitting in BANK1. The main application sits in BANK0, and incorporates a virtual COM port via the USB stack.

Now, I don't have enough code space to incorporate the USB stack in the bootloader, and the bootloader takes about 200 milliseconds before launching the application (there are many reasons for this, which I won't go into).

During these 200 milliseconds, Windows detects the device because of a pull-up resistor on USBD+, starts plug-and-play, which fails because the bootloader (which is still running) does not contain a USB driver.

Is there a way, via a few lines of code, to force the USB transceiver to drive USBD+ low, hence disabling plug-and-play until the main application has started ?
Quote:
Nah, forget it, my bad.
My hardware design should have incorporated a GPIO to enable or disable the pull-up resistor on USBD+ (like on the STR912-SK).
Another quote that might be helpful
Quote:
As far as knowing when Windows is through enumerating each device,
monitor WM_DEVICECHANGE and look DBT_DEVICEARRIVAL .
Maybe this artical about USB will set you on the right track.
Isolating USB - Maxim

Hope it is somewhat helpful to you.

Greetz
My System SpecsSystem Spec
.


01 Oct 2009   #4

Win7 Build 7600 x86
 
 

One thing I found in services.

When you double click the "Tablet PC Input Service", and go to the third tab,
you'll see 1st error = restart service, 2nd error = restart service,
and the "next errors" is set to no action.

Try setting it to "restart service" also.

I realize this will only have any effect if the stopping of the service generates an error, so it might not be helpful in your case.

I am unable to answer your direct question, but I hope by giving you input from different angles, I might accidentally point you in the right direction.

Greetz
My System SpecsSystem Spec
01 Oct 2009   #5

 
 

Hi Greetz,
Thank u very much for your replies
On the device side we don't have any issues with hardware(Pull up resistors etc).
This is confirmed because even in the situation when the "Tablet PC Input Service" is stopped device is able to send touch report packets to the Host , this we have seen in the analyzer.

The only issue is after each plug and play "Tablet PC Input Service" is going in to the states of Running and stopped alternatively.

Regarding your Query "So what you need would be a way to make the detection of plugged-in devices wait until removal of unplugged devices is completed, right?"
This should be taken care in the Host side right? so that when there is a detach event happening it should stop the "Tablet PC Input Service" and as soon as an attach event happens it should start running.

Thanks
Siva
My System SpecsSystem Spec
01 Oct 2009   #6

 
 

I tried the 3rd error setting to "restart service" even then the issue is there

Thanks
Siva
My System SpecsSystem Spec
01 Oct 2009   #7

Win7 Build 7600 x86
 
 

Quote   Quote: Originally Posted by pothirs View Post
Hi Greetz,
Thank u very much for your replies
On the device side we don't have any issues with hardware(Pull up resistors etc).
This is confirmed because even in the situation when the "Tablet PC Input Service" is stopped device is able to send touch report packets to the Host , this we have seen in the analyzer.

The only issue is after each plug and play "Tablet PC Input Service" is going in to the states of Running and stopped alternatively.

Regarding your Query "So what you need would be a way to make the detection of plugged-in devices wait until removal of unplugged devices is completed, right?"
This should be taken care in the Host side right? so that when there is a detach event happening it should stop the "Tablet PC Input Service" and as soon as an attach event happens it should start running.

Thanks
Siva
My guess is that unplugging a device shouldn't lead to the service being stopped.

Even people without a tablet PC's have this service running by default.

The "Tablet PC Input Service" depends on two other services.
Namely, Plug & play service and RPC (remote procedure call service)

Are those services affected as well, when the Tablet service is stopped?

Greetz

Michel
My System SpecsSystem Spec
01 Oct 2009   #8

 
 

No Greetz the other two services are not stopped, they are in runninng state

Thanks
Siva
My System SpecsSystem Spec
01 Oct 2009   #9

Win7 Build 7600 x86
 
 

Quote   Quote: Originally Posted by pothirs View Post
No Greetz the other two services are not stopped, they are in runninng state

Thanks
Siva


My name is not Greetz, it's slang for greetings.
My System SpecsSystem Spec
18 Jan 2010   #10

Lots
 
 

We see a similar problem. I'm just wondering if we can work around this by starting the service from our application. Does anyone know if there's a Windows command to do this in C?

Thanks.
My System SpecsSystem Spec
Reply

 Tablet PC Input Service Stopped after USB reset in Win7




Thread Tools



Similar help and support threads for2: Tablet PC Input Service Stopped after USB reset in Win7
Thread Forum
Solved Tablet PC Input Panel General Discussion
Tablet PC Input Panel Software
Tablet input toolbar in Taskbar > random size Customization
Tablet Input Panel--HATE Transparency Customization
Ink Input and Tablet PC News

Our Sites

Site Links

About Us

Find Us

Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

Designer Media Ltd

All times are GMT -5. The time now is 06:00 PM.
Twitter Facebook Google+



Windows 7 Forums

Seven Forums Android App Seven Forums IOS App
  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33