Alan Stern wrote:

>>> Isn't that exactly what it's supposed to do?  What good is a driver if it
>>> doesn't wait for the device to send data?
>> Right, it waits, but I does not if I want it to wait...
> 
> You mean, sometimes you want it to wait for data and sometimes you don't?  
> I still don't understand.  Is the real problem caused by the driver or is 
> it caused by the device?

I'm not sure. Because I do not have any further documentation about the
device, I must solve it without it.

>>> Your question isn't clear.  It looks like you're asking how to restart the
>>> transfer.  The answer is obvious: Change the driver back so that it _does_
>>> call usb_submit_urb() inside atp_complete().
>> Yes will call the 'usb_submit_urb' in each invocation of the 'atp_complete'
>> function. And if I do this the 'atp_complete' function will be called
>> continuously.
> 
> That isn't right.  It should be called only when the device transfers some 
> data, not continuously.  Are you saying that the device constantly sends 
> data, even when you aren't touching the pad?  You should try using usbmon 
> to examine the data you receive.

It constantly sent data, because the touchpad consist of temperature sensors
and the driver has to constantly save the current value to get precise
readings. I think that is the reason why the device did not stop sending
the data.

>> My problem is: If I decide (upon the data I received from the touchpad), that
>> there isn't a finger any longer on the pad, I want to stop the calling of the
>> 'atp_complete' function until I'm sure the touchpad is touched again.
> 
> It sounds like you need to tell the touchpad not to send any data when it 
> isn't being touched.

Lack of documentation is here the problem. Does anybody know, where I can get
the doc for Geyser (is this the name of the firm?) Touchpads? :-(

>> After I suspend and resume the computer this works. How can I archive this
>> within the interrupt-handler-code?
> 
> How can you prevent the completion handler from being called?  There are
> two ways: (1) Stop resubmitting the URB, or (2) Tell the device not to
> send any data.

I tried to stop resubmitting (by NOT calling "usb_submit_urb" again) and I
hoped the the interrupt handler will continue when the touchpad is pressed
again, but it does not work.

>> Another possibility (for me) would be to make the interval (in the untouched
>> times)
>> longer. Is this possible?
> 
> The interval doesn't matter very much.  The touchpad should not be sending 
> any data at all when nothing is happening.

A longer interval would solve it in some way:
  I could get constantly new temperature update (each second or more) and if
  the touchpad is touch, I can reduce the interval to the normal settings.

> Does the touchpad use the HID protocol?  If it does, did you remember to 
> send a Set-Idle request to prevent the device from sending any data when 
> no events have occurred?

I will check!


For explanation:
 I want this to reduce the power consumption by letting the processor enter
 the power-saving states more often (and longer).


Regards
 Sven

-- 
 Sven Anders <[EMAIL PROTECTED]>                 () Ascii Ribbon Campaign
                                                 /\ Support plain text e-mail
 ANDURAS service solutions AG
 Innstra?e 71 - 94036 Passau - Germany
 Web: www.anduras.de - Tel: +49 (0)851-4 90 50-0 - Fax: +49 (0)851-4 90 50-55

Rechtsform: Aktiengesellschaft - Sitz: Passau - Amtsgericht Passau HRB 6032
Mitglieder des Vorstands: Sven Anders, Marcus Junker
Vorsitzender des Aufsichtsrats: Dipl. Kfm. Thomas Tra"ger

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to