Re: disable appletouch when plugging in mouse

2006-06-23 Thread Sven Henkel

Hi,


Huh? What button?


The one named Open button in this pic:
http://www.amersol.edu.pe/ms/images/ibookeyboard_1.jpg


For me, it also happens without touching it at all,
just by moving from one room to another or such.


Well, this also happens on my iBook from time to time, but frequently
pushing the button given above leads to a 100% chance of appletouch
fuzziness.

Cheers,
Sven


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: disable appletouch when plugging in mouse

2006-06-22 Thread Sven Henkel

Hi,

On 6/22/06, Stelian Pop [EMAIL PROTECTED] wrote:

Le jeudi 22 juin 2006 à 15:44 +0200, Johannes Berg a écrit :
 That was supposedly fixed by the patch that was floating around, but I
 haven't dug it up again yet.

No, that patch didn't fix this issue for me (but introduced other
issues...).


If you mean the patch I sent on May 2nd, it does indeed not totally
fix the problem, but should makes it appear less frequently. But,
meanwhile I found the cause for my appletouch fuzziness problems: When
I frequently push and release the button which unlocks the closed lid
of my iBook, the xy-values measured by appletouch start going crazy.
Even just touching the button suffices, so I guess it might be some
kind of electrostatic thingy (i.e. a hardware problem, and not really
a problem in the appletouch driver). So, simple solution: don't touch
that button. ;)

Cheers,
Sven



Re: [RFC][Patch] Cirumvent appletouch fuzziness

2006-05-03 Thread Sven Henkel

Hi,

On 5/3/06, Stelian Pop [EMAIL PROTECTED] wrote:

I'm not sure if this changes something but do you have all the Apple
firmware updates installed ?


Firmware updates? If these are automatically installed by Tiger's
shiny software update function, then: yes. Otherwise: no idea. ;)


Sven: What Powerbook model do you have ? I know Johannes has the hi-res
Powerbook, and I have the slighly older lo-res Powerbook...


It's actually an iBook G4, 12, 1.33 GHz, identifies itself as
PowerBook6,7. Should still be equal to the current 12 version sold
by Apple.

Cheers,
Sven



[RFC][Patch] Cirumvent appletouch fuzziness

2006-05-02 Thread Sven Henkel

Hi!

I frequently experience problems with the fuzziness of the touchpad
in my iBook, using the appletouch driver. From time to time the
pointer jumps around and clicks randomly and the touchpad becomes
unusable. The only way out is to reload the appletouch module.

Digging around in the appletouch sources, the problems seems to be
that the accumulated xy values increase over time (due to temperature
changes, sweat, or whatever reason ;-) ), eventually become bigger
than ATP_THRESHOLD and start to influence the pointer position.

Now, two main solution ideas come into my mind:

1) Increase ATP_THRESHOLD. This turns out to be a bad idea, as it
mainly just delays the effect and moreover badly affects fine
pointer-movements.

2) Counteract the slow growth of xy_acc. See appended patch for an
implementation of this idea. The values of xy_acc are slowly decreased
if they are under a certain threshold. To avoid decreasing real
values in xy_acc (i.e. values which are actually the result of a
finger on the touchpad, and not some fuzziness problem) big values
(which are more likely caused by some finger) are decreased slowly,
small values (which more probably result from fuzziness) are decreased
a bit faster.

So, some questions for you guys: I have never read a report on this
fuzziness problem. Am I the only one experiencing it? If yes, forget
about my patch, as I'd probably be the only happy user of it. ;)

The current patch should probably be called ugly but effective: it
kind of helps, but I guess there are better ways to implement this.
So, if someone comes up with some better algorithmic idea, let me
know.

Cheers,
Sven
--- linux-2.6.17-rc3.orig/drivers/usb/input/appletouch.c	2006-03-20 06:53:29.0 +0100
+++ linux-2.6.17-rc3/drivers/usb/input/appletouch.c	2006-05-02 18:49:31.0 +0200
@@ -99,7 +99,10 @@ MODULE_DEVICE_TABLE (usb, atp_table);
  * Threshold for the touchpad sensors. Any change less than ATP_THRESHOLD is
  * ignored.
  */
-#define ATP_THRESHOLD	 5
+#define ATP_THRESHOLD	 3
+
+#define ATP_SHRINK_THRESHOLD 20
+#define ATP_SHRINK_PENALTY_THRESHOLD 375 * (ATP_SHRINK_THRESHOLD - 1)
 
 /* Structure to hold all of our device specific stuff */
 struct atp {
@@ -118,6 +121,8 @@ struct atp {
 	signed char		xy_old[ATP_XSENSORS + ATP_YSENSORS];
 		/* accumulated sensors */
 	int			xy_acc[ATP_XSENSORS + ATP_YSENSORS];
+		/* penalty values for shrinking */
+	int			xy_shrink[ATP_XSENSORS + ATP_YSENSORS];
 	int			overflowwarn;	/* overflow warning printed? */
 	int			datalen;	/* size of an USB urb transfer */
 };
@@ -297,6 +302,23 @@ static void atp_complete(struct urb* urb
 		/* prevent down drifting */
 		if (dev-xy_acc[i]  0)
 			dev-xy_acc[i] = 0;
+
+		/* Fix fuzziness. If a value in xy_acc is less than ATP_SHRINK_THRESHOLD
+		 * long enough to let the shrinking penalty grow beyond 
+		 * ATP_SHRINK_PENALTY_THRESHOLD, decrease that value in xy_acc.
+		 */
+		if ((dev-xy_acc[i]  0)  (dev-xy_acc[i]  ATP_SHRINK_THRESHOLD ))
+		{
+			dev-xy_shrink[i] += ATP_SHRINK_THRESHOLD - dev-xy_acc[i];
+			if (dev-xy_shrink[i] = ATP_SHRINK_PENALTY_THRESHOLD)
+			{
+dev-xy_shrink[i] = 0;
+dev-xy_acc[i]--;
+printk(appletouch: trying to fix fuzziness. changed xy_acc[%d]: %d\n, i, dev-xy_acc[i]);
+			}
+		} else {
+			dev-xy_shrink[i] = 0;
+		}
 	}
 
 	memcpy(dev-xy_old, dev-xy_cur, sizeof(dev-xy_old));




Re: [RFC][Patch] Cirumvent appletouch fuzziness

2006-05-02 Thread Sven Henkel

Hi,

On 5/2/06, Stelian Pop [EMAIL PROTECTED] wrote:

Le mardi 02 mai 2006 à 18:52 +0200, Sven Henkel a écrit :
 Hi!

 I frequently experience problems with the fuzziness of the touchpad
 in my iBook, using the appletouch driver. From time to time the
 pointer jumps around and clicks randomly and the touchpad becomes
 unusable. The only way out is to reload the appletouch module.

 Digging around in the appletouch sources, the problems seems to be
 that the accumulated xy values increase over time (due to temperature
 changes, sweat, or whatever reason ;-) ), eventually become bigger
 than ATP_THRESHOLD and start to influence the pointer position.

Hmm, xy_acc should be reset to 0 each time you stop touching the pad.
You do raise your finger from the pad once in a while, don't you ? :)


Heh, yes :) But that's exactly my problem: xy_acc _should_ be all
zeros when there's no finger on the touchpad, but from time to time
some entries in it grow to values 0, and even ATP_THRESHOLD. So,
when I use the touchpad in such a failure scenario, it looks to the
appletouch driver as if I had two fingers on the touchpad (one caused
by me, the other one by the failures in xy_acc). Hence moving the
pointer becomes quite ugly and taps result in the wrong mouse-buttons.


 Now, two main solution ideas come into my mind:

 1) Increase ATP_THRESHOLD. This turns out to be a bad idea, as it
 mainly just delays the effect and moreover badly affects fine
 pointer-movements.

 2) Counteract the slow growth of xy_acc. See appended patch for an
 implementation of this idea. The values of xy_acc are slowly decreased
 if they are under a certain threshold. To avoid decreasing real
 values in xy_acc (i.e. values which are actually the result of a
 finger on the touchpad, and not some fuzziness problem) big values
 (which are more likely caused by some finger) are decreased slowly,
 small values (which more probably result from fuzziness) are decreased
 a bit faster.

 So, some questions for you guys: I have never read a report on this
 fuzziness problem. Am I the only one experiencing it? If yes, forget
 about my patch, as I'd probably be the only happy user of it. ;)

Do you use the synaptics X driver ?


Yes.


I think most of the appletouch users
(including me) use it exclusively through the synaptics driver, which
applies extra algorithms for fuzz and acceleration detection. Maybe you
don't, and this could be a part of the explanation.


Well, unfortunately not. I suspect that I'm the proud owner of an
extremly sensitive touchpad. Note that I'm seeing the very same
problem under MacOS from time to time: Eventually moving the pointer
becomes impossible, but the MacOS driver usually recovers after a few
seconds. Imho, the linux appletouch driver is currently missing such a
recovery mechanism.

Cheers,
Sven



Re: sleep with ibook G4 (july05-modell)

2005-10-03 Thread Sven Henkel
Hi,

 ...
 Is there somebody with a _new_ ibook G4 from july2005 (or later) with
 working suspend-to-ram?

Yes. I published 2 patches for the vanilla 2.6.13.2 kernel, which enable 
suspend-to-ram on new iBooks (at least for the 12 version, perhaps it also 
works for 14). Have a look at

http://lkml.org/lkml/2005/10/1/30/index.html
http://lkml.org/lkml/2005/10/1/36/index.html

The patches went into Linus' kernel-tree yesterday, so we'll have them in 
2.6.14.

Cheers,
Sven

-- 
[Unix] is not necessarily evil, like OS/2. - Peter Norton


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [debian-powerpc] New Ibook no sound , Works only for the headphones

2005-09-16 Thread Sven Henkel
Hi!

Being a mac-owner for only 48 hours now, I don't really understand too much of 
the hardware-side of my iBook. So, I might be misunderstanding some of your 
questions, but I'll try and give my best in answering them. :-)

 1. Was your model detected as a snapper before your fix?

No, it was detected as an awacs-card. That's also what hwinfo tells me.

 You can also 
 check the compatible file in the open firmware 'sound' directory.

/proc/device-tree/[EMAIL PROTECTED]/[EMAIL PROTECTED]/[EMAIL PROTECTED]/[EMAIL 
PROTECTED]/sound# cat 
compatible
AOAbase

This doesn't really mean anything to me. 

 2. Can you send a listing of the open firmware 'sound' directory? It would
 be interesting to see if there are any new files here.

Sure, here it is:

/proc/device-tree/[EMAIL PROTECTED]/[EMAIL PROTECTED]/[EMAIL PROTECTED]/[EMAIL 
PROTECTED]/sound# ls -la
total 8
dr-xr-xr-x  2 root root  0 Sep 16 15:47 .
dr-xr-xr-x  3 root root  0 Sep 16 15:47 ..
-r--r--r--  1 root root  0 Sep 16 15:57 built-in
-r--r--r--  1 root root  8 Sep 16 15:57 compatible
-r--r--r--  1 root root 10 Sep 16 15:57 device_type
-r--r--r--  1 root root  4 Sep 16 15:57 layout-id
-r--r--r--  1 root root  4 Sep 16 15:57 linux,phandle
-r--r--r--  1 root root  6 Sep 16 15:57 name
-r--r--r--  1 root root  4 Sep 16 15:57 object-model-version
-r--r--r--  1 root root  4 Sep 16 15:57 platform-tas-codec-ref
-r--r--r--  1 root root  4 Sep 16 15:57 vendor-id

 Output of 'od -x sample-rates' would also be usefull.

Sorry, I don't have that file.

 Maybe others as well, 
 not sure now.

Okay, here we go:

od -x layout-id
000  0050
004

od -x linux,phandle
000 ff98 5200
004

od -x platform-tas-codec-ref
000 ff98 cdd8
004

od -x vendor-id
000  106b
004

cat device_type
soundchip

cat name
sound

 3. To get this into the kernel please post the fix to
   alsa-devel@lists.sourceforge.net
 with a signed-off line and explanation what model chip this is, or at
 least the /proc/cpuinfo output. Read Documentation/SubmittingPatches for
 more info. I can forward it as well, if you get the info and sign it off.

Well, I don't really have a clue why that patch works, so I don't like to 
submit it to mainline before I have some deeper understanding of what I 
actually did... ;-) So, I will submit it as soon as someone with more 
knowledge of apple's sound-hardware confirms that the patch looks reasonable.

Cheers,
Sven

-- 
Application has reported a 'Not My Fault' in module KRNL.EXE in line 0200:103F


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [debian-powerpc] New Ibook no sound , Works only for the headphones

2005-09-15 Thread Sven Henkel
Hi! 

 Misteriously ive found that when i use mpg321 it works with the
 headphones!!! But none of the controls in alsamixer worked with this
 sound.
 ...

I had the same problems on my brand new 12 iBook, i.e.:
- modprobing dmasound_pmac fails with No such device
- snd_powermac results in sound on headphones, no sound in speakers and an 
ineffective mixer

Those results were seen on a vanilla 2.6.13 kernel, so my scenario looks 
pretty similar to yours. ;)

Reading through latest kernel-changes, I got inspired by: 

http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=821690cdc82e4090ef6f91947f76a231fad5cbb1

Unfortunately that patch didn't help, but I modified it to exactly match my 
soundcard-model. So, here it is:

--- linux-2.6.13/sound/ppc/pmac.c   2005-08-29 14:11:45.0 +0200
+++ linux-2.6.13.patched/sound/ppc/pmac.c   2005-09-15 19:57:16.0 
+0200
@@ -988,6 +988,7 @@ static int __init snd_pmac_detect(pmac_t
case 0x33:
case 0x29:
case 0x24:
+   case 0x50:
chip-num_freqs = ARRAY_SIZE(tumbler_freqs);
chip-model = PMAC_SNAPPER;
chip-can_byte_swap = 0; /* FIXME: check this */

This patch gives me sound on speakers and headphones and a lot of working 
mixer-controls, so it looks good...

I hope it helps,

cheers,
Sven

-- 
There are two major products that come out of Berkeley: LSD and UNIX. We don't 
believe this to be a coincidence. - Jeremy S. Anderson
--- linux-2.6.13/sound/ppc/pmac.c	2005-08-29 14:11:45.0 +0200
+++ linux-2.6.13.patched/sound/ppc/pmac.c	2005-09-15 19:57:16.0 +0200
@@ -988,6 +988,7 @@ static int __init snd_pmac_detect(pmac_t
 		case 0x33:
 		case 0x29:
 		case 0x24:
+		case 0x50:
 			chip-num_freqs = ARRAY_SIZE(tumbler_freqs);
 			chip-model = PMAC_SNAPPER;
 			chip-can_byte_swap = 0; /* FIXME: check this */