touchd-devel Mailing List for Touchd (Page 2)
Status: Alpha
Brought to you by:
tannewt
You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
(9) |
May
(17) |
Jun
(17) |
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
---|
From: Scott S. <sco...@gm...> - 2008-05-22 07:44:33
|
Hi all 6 of you, I'd like your help on two things. 1) Touchd needs a real website. Preferably it'd have the hand logo. 2) I'm just about finished with alpha 3 and would like to know that the subversion code works for you. This is what I've done so far: * I've broken most of the configuration variables so that they are loaded from a file. * I modified the data structure to go from the device to the engines to support multiple engines through reference counting. * I also modified the event data structure to support different types of events. These are uinput events and dbus events. This structure also allows an engine to claim exclusivity on generating events causing all other engines' events to get dropped. I only use this now to prevent mouse events while typing. * I refactored the icon to allow real time display of the fingers on the touchpad similar to my earlier touchview code. * The icon has an about which displays the version of the daemon running ( it only works for alpha 3+). I still need to finish up the preferences from the icon and switch the device detection to find all supported product ids. After this, I think it'll be beta 1 time which will include a generalized gesture engine that can use string definitions to define types of gestures. What do you think? Any volunteers to help with stuff? Thanks, Scott |
From: Scott S. <sco...@gm...> - 2008-05-19 06:00:28
|
Alex, I've never seen or heard of that error. However, I'd suggest using openusb from subversion because people have had problems with the released version. If that doesn't work give me more info on your system like what distro and kernel you have. ~Scott Alex Karpenko wrote: > Hi Scott, > > I've been trying to get touchd to work on my macbook pro (v4,1). I had > to download, compile and install libopenusb-1.0.1 in order for touchd > to compile. > When I run touchd, I get the following output: > ---------------------------------------------------------------------------------- > $ sudo ./touchd > ** (process:6407): DEBUG: Running touchd version alpha 2. > ** (process:6407): DEBUG: Connecting to the Session D-Bus. > ** (process:6407): DEBUG: Registering the well-known name > (org.tannewt.touchd). > ** (process:6407): DEBUG: RequestName returned 1. > ** (process:6407): DEBUG: Creating one Touchd object. > ** (process:6407): DEBUG: Initializing Touchd class. > ** (process:6407): DEBUG: Creating the signals. > ** (process:6407): DEBUG: Binding to GLib/D-Bus. > ** (process:6407): DEBUG: Initializing TouchdObject. > ** (process:6407): DEBUG: Registering it on the D-Bus. > ** (process:6407): DEBUG: Ready to serve requests. > ** (process:6407): DEBUG: Setting up uinput device. > > ** ERROR **: OpenUSB init failure: Unspecified kernel/driver failure > aborting... > Aborted > ---------------------------------------------------------------------------------- > > I have no idea what this means. I googled for the error but came up > with nothing. I figured you might know what's going on. > > Cheers, > Alex > > ------------------------------------------------------------------------ |
From: Scott S. <sco...@gm...> - 2008-05-17 22:39:10
|
Stewart, Great! I'm glad its worked. Further comments are inline. Stewart Adam wrote: > Hi, > > Before I start, I wanted to say thank you for touchd! I've been > searching for days trying to make my MacBook Pro's touchpad and keyboard > fn keys work in Linux and only touchd has worked so far. I'd like to > help, but unfortunately I don't know C/C++ very well yet so I don't > think I'd be of much help... But if you have any testing you need done > though, feel free to let me know! > Thanks! Its been really interesting for me to develop. Developments are in svn if you are daring. > I tried using touchd on Fedora 9, and although compiled perfectly (after > I installed openusb), one thing I noticed is that it won't daemonize. I > created an initscript for touchd and I've called "daemon $exec" which > should make it run in the background but it always stays in the > forground (I can't <ctrl+z> and "bg" because then the keyboard stops > working!). Would you happen to know why? > I have no idea. I'm using Ubuntu's upstart to start touchd and it works fine. I haven't tried backgrounding it. > Also, I've found that I need to start touchd many times before it > actually initializes, as the first few times (~20) will segfault just > after printing 'Initializing Hardware'. Maybe there's a race condition? > Please let me know what logs/debug output you need and I'll send them to > you. > This is also weird. I'd hate to know how you figured out it'll work eventually. Some segfaults occur when using the latest openusb package. I'm using revision 138 from subversion instead. > Last of all, when touchd initialized successfully the trackpad and > keyboard worked great (Xorg+Gnome even configured all the media and > volume keys for me) with the exception of the caplocks key. Caplocks > itself still worked, but the green LED no longer lit up. > Yup, I have not implemented this because it requires me to figure out what to send via usb and how to read from uinput. I'm no going to implement it but perhaps someone else will. I could pretty easily add a system tray icon to symbolize it though. > Regards, > Stewart > |
From: Scott S. <sco...@gm...> - 2008-05-15 15:46:10
|
Daniel, You are right! I could have sworn it was in README.txt but its not. You'll need openusb from their subversion, glib and dbus-glib. That should be it. Thanks, Scott Daniel Eisner wrote: > Hi, > > I'm impressed with the work you've been able to accomplish so far. > Unfortunately, you don't mention the dependancies required to compile > touchd. For example, I am getting the results below. Can you post on the > touchd web page what other include files are required? > > Thanks, > -Dan > > > eisner@eisner-laptop:~/Desktop/touchd-alpha2/src$ make > cc -pthread -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include > -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -Wall > -DG_DISABLE_DEPRECATED -DNO_DAEMON -DPROGNAME=\"touchd\" -c touchd.c -o > touchd.o > In file included from touchd.c:37: > multitouch.h:22:20: error: openusb.h: No such file or directory > In file included from touchd.c:37: > multitouch.h:27: error: expected specifier-qualifier-list before > ‘openusb_dev_handle_t’ > touchd.c: In function ‘touchd_object_class_init’: > touchd.c:141: error: ‘dbus_glib_touchd_object_object_info’ undeclared > (first use in this function) > touchd.c:141: error: (Each undeclared identifier is reported only once > touchd.c:141: error: for each function it appears in.) > touchd.c: In function ‘forward_fingers’: > touchd.c:185: warning: return makes pointer from integer without a cast > touchd.c: In function ‘main’: > touchd.c:269: warning: passing argument 1 of ‘g_thread_create_full’ from > incompatible pointer type > touchd.c:274: warning: passing argument 1 of ‘g_thread_create_full’ from > incompatible pointer type > touchd.c:275: warning: passing argument 1 of ‘g_thread_create_full’ from > incompatible pointer type > touchd.c:276: warning: passing argument 1 of ‘g_thread_create_full’ from > incompatible pointer type > touchd.c:282: warning: passing argument 1 of ‘g_thread_create_full’ from > incompatible pointer type > touchd.c:285: warning: passing argument 1 of ‘g_thread_create_full’ from > incompatible pointer type > touchd.c:290: error: ‘MultitouchData’ has no member named ‘running’ > make: *** [touchd.o] Error 1 > > > > |
From: Nicu P. <np...@it...> - 2008-05-11 19:23:36
|
Hi, > >> Thanks for the hard work on sniffing the multitouch protocol. It helped > >> me running multitouch on a macbook air with a small modification: > >> > >> I added macbook air multitouch ids to multitouch.c (0x05ac, 0x0223) > > Does applesmc properly recognize your macbook air? No I guess it isn't supported yet (I tried driver from 2.6.25 with mactel patches). Pommed doesn't work for me at all but I set the LCD brightness using xbacklight which I binded to the F1/F2 keys. The only thing that doesn't really work for me now is the keyboard leds and probably the microphone which might need some alsa patching. Nicu |
From: Nicu P. <np...@it...> - 2008-05-11 19:20:31
|
Hi, Very nice, works well for me, the only thing is that it hangs from suspend/resume, which might be fixed with a hald rule but I didn't have time to investigate. Nicu > Nicu, > Excellent! Thats great news! What do you think of touchd? I've cced > the touchd-devel mailing list to get this out. > ~Scott > > Nicu Pavel wrote: > > Hi, > > > > Thanks for the hard work on sniffing the multitouch protocol. It helped > > me running multitouch on a macbook air with a small modification: > > > > I added macbook air multitouch ids to multitouch.c (0x05ac, 0x0223) > > > > Thanks, > > > > Nicu Pavel > > > > > > |
From: Sergiusz P. <ser...@pa...> - 2008-05-11 09:51:39
|
On Sun, May 11, 2008 at 8:46 AM, Scott Shawcroft <sco...@gm...> wrote: > Nicu, > Excellent! Thats great news! What do you think of touchd? I've cced > the touchd-devel mailing list to get this out. > ~Scott > > Nicu Pavel wrote: >> Hi, >> >> Thanks for the hard work on sniffing the multitouch protocol. It helped >> me running multitouch on a macbook air with a small modification: >> >> I added macbook air multitouch ids to multitouch.c (0x05ac, 0x0223) Does applesmc properly recognize your macbook air? S. |
From: Scott S. <sco...@gm...> - 2008-05-11 07:46:53
|
Nicu, Excellent! Thats great news! What do you think of touchd? I've cced the touchd-devel mailing list to get this out. ~Scott Nicu Pavel wrote: > Hi, > > Thanks for the hard work on sniffing the multitouch protocol. It helped > me running multitouch on a macbook air with a small modification: > > I added macbook air multitouch ids to multitouch.c (0x05ac, 0x0223) > > Thanks, > > Nicu Pavel > > > |
From: Scott S. <sco...@gm...> - 2008-05-09 19:57:09
|
Anthony, I've attached two files I use to have it reload upon suspend and resume. I don't know how to get it going upon startup yet. touchd goes in /etc/event.d and 01upstart goes in /etc/pm/sleep.d . Please let me know what you think. ~Scott Anthony Callegaro wrote: > Hey Scott, > > I found the culprit ! It was indeed openusb I tried with revision 139 > and it's working ! > > Thanks for the help I will help somebody else as well > LeTic > > On Fri, May 9, 2008 at 1:45 AM, Anthony Callegaro <cal...@gm... > <mailto:cal...@gm...>> wrote: > > Hey Scott, > > I just tried the live 64bit Ubuntu recompile everything and I ran > into the same error, so the only difference I guess is openusb. I > will try rev 138 tomorrow, I'm running out of battery now ;o) > > FYI the lsusb you asked : > Bus 006 Device 001: ID 0000:0000 > Bus 007 Device 003: ID 05ac:0230 Apple Computer, Inc. > Bus 007 Device 002: ID 05ac:8242 Apple Computer, Inc. > Bus 007 Device 001: ID 0000:0000 > Bus 005 Device 001: ID 0000:0000 > Bus 002 Device 001: ID 0000:0000 > Bus 001 Device 003: ID 05ac:820f Apple Computer, Inc. > Bus 001 Device 002: ID 0a5c:4500 Broadcom Corp. > Bus 001 Device 001: ID 0000:0000 > Bus 004 Device 002: ID 05ac:8502 Apple Computer, Inc. > Bus 004 Device 001: ID 0000:0000 > Bus 003 Device 001: ID 0000:0000 > > Thanks for the answer > LeTic > > > On Wed, May 7, 2008 at 7:14 AM, Scott Shawcroft > <sco...@gm... <mailto:sco...@gm...>> wrote: > > Anthony, > Here are what mine are. I'm not to sure why this is not > working. However, I am using openusb from svn rev 138. The > architecture is also different. > ~Scott > > Anthony Callegaro wrote: > > Hey Scott, > > It's a clean Ubuntu 8.04 i386 install (not in use yet > except for testing) the lspci and lspci -n output : > > How bout a lsusb? > > > > ~$ uname -a > Linux christelle-laptop 2.6.24-16-generic #1 SMP Thu Apr > 10 13:23:42 UTC 2008 i686 GNU/Linux > > tannewt@wintergreen:~$ uname -a > Linux wintergreen 2.6.24-16-generic #1 SMP Thu Apr 10 12:47:45 > UTC 2008 x86_64 GNU/Linux > > > ~$ dbus-daemon --version > D-Bus Message Bus Daemon 1.1.20 > > tannewt@wintergreen:~$ dbus-daemon --version > > D-Bus Message Bus Daemon 1.1.20 > > > ~$ apt-cache show dbus > Package: dbus > Priority: optional > ... > Architecture: i386 > Version: 1.1.20-1ubuntu1 > > tannewt@wintergreen:~$ apt-cache show dbus > ... > Architecture: amd64 > > Version: 1.1.20-1ubuntu1 > > > ~$ openusb-config --version > 1.0.1 > (downloaded and compiled) > > tannewt@wintergreen:~$ openusb-config --version > 1.0.1 > > > And a bit more information provided by MacOS : MacBook Pro 4.1 > Intel Core 2 Duo 2.4 > Boot ROM Version : MBP41.00C1.B00 > > LeTic > > On Mon, May 5, 2008 at 4:53 PM, Scott Shawcroft > <sco...@gm... > <mailto:sco...@gm...> > <mailto:sco...@gm... > <mailto:sco...@gm...>>> wrote: > > LeTic, > What would help now is knowing more about your system. > What > distro? What architecture? An lspci. What version of > dbus do > you have? What version of OpenUSB? What kernel? I > don't think > its a problem with my code. However, theres always a > chance there > is. > > Thanks, > Scott > > Anthony Callegaro wrote: > > Hey Scott, > > Cheers for that. I used your new code and here is > the result > of my investigation : > > If I run touchd in the terminal this is what I get : > ./touchd > ** (process:27596): DEBUG: Running touchd version > alpha 2. > ** (process:27596): DEBUG: Connecting to the > Session D-Bus. > ** (process:27596): DEBUG: Registering the > well-known name > (org.tannewt.touchd). > ** (process:27596): DEBUG: RequestName returned 1. > ** (process:27596): DEBUG: Creating one Touchd object. > ** (process:27596): DEBUG: Initializing Touchd class. > ** (process:27596): DEBUG: Creating the signals. > ** (process:27596): DEBUG: Binding to GLib/D-Bus. > ** (process:27596): DEBUG: Initializing TouchdObject. > ** (process:27596): DEBUG: Registering it on the D-Bus. > ** (process:27596): DEBUG: Ready to serve requests. > ** (process:27596): DEBUG: Setting up uinput device. > ** (process:27596): DEBUG: Running the device. > ** (process:27596): DEBUG: Initializing the hardware. > Segmentation fault > > I next tried in gdb : > (gdb) run > Starting program: > /home/letic/Desktop/touchd-svn/src/touchd > [Thread debugging using libthread_db enabled] > ** (process:8084): DEBUG: Running touchd version > alpha 2. > ** (process:8084): DEBUG: Connecting to the Session > D-Bus. > ** (process:8084): DEBUG: Registering the > well-known name > (org.tannewt.touchd). > ** (process:8084): DEBUG: RequestName returned 1. > ** (process:8084): DEBUG: Creating one Touchd object. > ** (process:8084): DEBUG: Initializing Touchd class. > ** (process:8084): DEBUG: Creating the signals. > ** (process:8084): DEBUG: Binding to GLib/D-Bus. > ** (process:8084): DEBUG: Initializing TouchdObject. > ** (process:8084): DEBUG: Registering it on the D-Bus. > ** (process:8084): DEBUG: Ready to serve requests. > ** (process:8084): DEBUG: Setting up uinput device. > ** (process:8084): DEBUG: Running the device. > [New Thread 0xb7bd5720 (LWP 8084)] > [New Thread 0xb7bd4b90 (LWP 8093)] > ** (process:8084): DEBUG: Initializing the hardware. > [New Thread 0xb73d3b90 (LWP 8095)] > [New Thread 0xb6bacb90 (LWP 8101)] > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0xb6bacb90 (LWP 8101)] > 0xb7ca6463 in memmove () from > /lib/tls/i686/cmov/libc.so.6 > (gdb) bt > #0 0xb7ca6463 in memmove () from > /lib/tls/i686/cmov/libc.so.6 > #1 0xb7ed13b2 in ?? () from /usr/lib/libdbus-1.so.3 > #2 0x080674a0 in ?? () > #3 0x0806947f in ?? () > #4 0xffffe021 in ?? () > #5 0xb7ecf479 in ?? () from /usr/lib/libdbus-1.so.3 > #6 0x08059be0 in ?? () > #7 0x0805a470 in ?? () > #8 0x00000000 in ?? () > > As I don't know gdb that well I then used nemiver > (gnome > frontend for gdb) to get the source backtrace > manually and > here is what I get : > So in touchd.c it hangs on line 274 : > MultitouchData* md = > multitouch_init(touchdObj->device->queue); > multitouch.c line 67 : int32_t result = > openusb_init(0 , > &handle ); > usb.c line 618 : usbi_rescan_devices(); > devices.c line 258 : ibus->ops->refresh_devices(ibus); > linux.c line 2214 : device_names = > libhal_get_all_devices > (hal_ctx, &num_devices, &error); > > I can't get any further than this. I guess I would > need to > download hal sources to follow... > > Let me know if I can give you more information, and > what you > would need. > Cheers > LeTic > > On Fri, May 2, 2008 at 3:11 AM, Scott Shawcroft > <sco...@gm... > <mailto:sco...@gm...> > <mailto:sco...@gm... > <mailto:sco...@gm...>> > <mailto:sco...@gm... > <mailto:sco...@gm...> > <mailto:sco...@gm... > <mailto:sco...@gm...>>>> wrote: > > LeTic, > I totally forgot! I also checked it into > subversion. > Thanks, > Scott > > Anthony Callegaro wrote: > > Hey Scott, > > Thanks for the answer but you must have > forgot the > attachment > :o) I thought it was in the SVN... Could > you send me > your new > version of touchd.c so I could try to debug > a bit further ? > > Cheers > LeTic > > On Thu, May 1, 2008 at 3:54 AM, Scott Shawcroft > <sco...@gm... > <mailto:sco...@gm...> > <mailto:sco...@gm... > <mailto:sco...@gm...>> > <mailto:sco...@gm... > <mailto:sco...@gm...> > <mailto:sco...@gm... > <mailto:sco...@gm...>>> > <mailto:sco...@gm... > <mailto:sco...@gm...> > <mailto:sco...@gm... > <mailto:sco...@gm...>> > <mailto:sco...@gm... > <mailto:sco...@gm...> > <mailto:sco...@gm... > <mailto:sco...@gm...>>>>> wrote: > > LeTic, > Neat! I've never had that problem > before. Are you > running > Hardy > Heron? I agree with you that the main > loop was in > device_new but > am uncertain thats where the problem was > because the > backtrace had > dbus stuff in it. In fact you can see > the segfault > comes from > process 6531 and the uinput stuff should > be in 6512 > still. > > I've attached a new version of touchd.c > with more debug > statements. They'll give us a better > idea about how far > the main > loop is getting. However, I think its a > dbus problem. > Thanks, > Scott > > P.S. I cced the touchd-devel mailing list > to archive > the issue. > You can join it through the sourceforge > project page at > sf.net/projects/touchd > <http://sf.net/projects/touchd> > <http://sf.net/projects/touchd> > <http://sf.net/projects/touchd> > <http://sf.net/projects/touchd>. > > > > > Anthony Callegaro wrote: > > Hi Tannewt, > > My girlfriend bought a MacBook Pro > 4.1 like > yours being > used > to have Debian on our home box I > installed > Ubuntu for her. > When trying to get touchd working I > hit some issues. > > ./touchd > ** (process:6418): DEBUG: Running > touchd version > alpha 2. > ** (process:6418): DEBUG: Connecting > to the > Session D-Bus. > ** (process:6418): DEBUG: Registering the > well-known name > (org.tannewt.touchd). > ** (process:6418): DEBUG: RequestName > returned 1. > ** (process:6418): DEBUG: Creating > one Touchd > object. > ** (process:6418): DEBUG: > Initializing Touchd class. > ** (process:6418): DEBUG: Creating > the signals. > ** (process:6418): DEBUG: Binding to > GLib/D-Bus. > ** (process:6418): DEBUG: > Initializing TouchdObject. > ** (process:6418): DEBUG: Registering > it on the > D-Bus. > ** (process:6418): DEBUG: Ready to > serve requests. > ** (process:6418): DEBUG: Setting up > uinput device. > Segmentation fault > > The backtrace in gdb isn't very verbose > ** (process:6512): DEBUG: Setting up > uinput device. > [New Thread 0xb7cab720 (LWP 6512)] > [New Thread 0xb7caab90 (LWP 6523)] > [New Thread 0xb74a9b90 (LWP 6528)] > [New Thread 0xb6c82b90 (LWP 6531)] > > Program received signal SIGSEGV, > Segmentation fault. > [Switching to Thread 0xb6c82b90 (LWP > 6531)] > 0xb7d7c463 in memmove () from > /lib/tls/i686/cmov/libc.so.6 > (gdb) bt > #0 0xb7d7c463 in memmove () from > /lib/tls/i686/cmov/libc.so.6 > #1 0xb7fa73b2 in ?? () from > /usr/lib/libdbus-1.so.3 > #2 0x080672a0 in ?? () > #3 0x0806927f in ?? () > #4 0xffffe042 in ?? () > #5 0xb7fa5479 in ?? () from > /usr/lib/libdbus-1.so.3 > #6 0x08059b60 in ?? () > #7 0x0805a3f0 in ?? () > #8 0x00000000 in ?? () > > It might be coming from : > touchdObj->device = device_new(); > > But my uinput device is correctly > created in > /dev/input/uinput > > Any idea to get me started ? > > Anyway I would be very interested in > helping you > in this > project. Let me know what I can do. > Cheers > LeTic > > > > > > |
From: Anthony C. <cal...@gm...> - 2008-05-09 19:53:47
|
Hey Scott, I found the culprit ! It was indeed openusb I tried with revision 139 and it's working ! Thanks for the help I will help somebody else as well LeTic On Fri, May 9, 2008 at 1:45 AM, Anthony Callegaro <cal...@gm...> wrote: > Hey Scott, > > I just tried the live 64bit Ubuntu recompile everything and I ran into the > same error, so the only difference I guess is openusb. I will try rev 138 > tomorrow, I'm running out of battery now ;o) > > FYI the lsusb you asked : > Bus 006 Device 001: ID 0000:0000 > Bus 007 Device 003: ID 05ac:0230 Apple Computer, Inc. > Bus 007 Device 002: ID 05ac:8242 Apple Computer, Inc. > Bus 007 Device 001: ID 0000:0000 > Bus 005 Device 001: ID 0000:0000 > Bus 002 Device 001: ID 0000:0000 > Bus 001 Device 003: ID 05ac:820f Apple Computer, Inc. > Bus 001 Device 002: ID 0a5c:4500 Broadcom Corp. > Bus 001 Device 001: ID 0000:0000 > Bus 004 Device 002: ID 05ac:8502 Apple Computer, Inc. > Bus 004 Device 001: ID 0000:0000 > Bus 003 Device 001: ID 0000:0000 > > Thanks for the answer > LeTic > > > On Wed, May 7, 2008 at 7:14 AM, Scott Shawcroft <sco...@gm...> > wrote: > >> Anthony, >> Here are what mine are. I'm not to sure why this is not working. >> However, I am using openusb from svn rev 138. The architecture is also >> different. >> ~Scott >> >> Anthony Callegaro wrote: >> >>> Hey Scott, >>> >>> It's a clean Ubuntu 8.04 i386 install (not in use yet except for testing) >>> the lspci and lspci -n output : >>> >> How bout a lsusb? >> >>> >>> >>> ~$ uname -a >>> Linux christelle-laptop 2.6.24-16-generic #1 SMP Thu Apr 10 13:23:42 UTC >>> 2008 i686 GNU/Linux >>> >> tannewt@wintergreen:~$ uname -a >> Linux wintergreen 2.6.24-16-generic #1 SMP Thu Apr 10 12:47:45 UTC 2008 >> x86_64 GNU/Linux >> >>> >>> ~$ dbus-daemon --version >>> D-Bus Message Bus Daemon 1.1.20 >>> >> tannewt@wintergreen:~$ dbus-daemon --version >> D-Bus Message Bus Daemon 1.1.20 >> >>> >>> ~$ apt-cache show dbus >>> Package: dbus >>> Priority: optional >>> ... >>> Architecture: i386 >>> Version: 1.1.20-1ubuntu1 >>> >> tannewt@wintergreen:~$ apt-cache show dbus >> ... >> Architecture: amd64 >> Version: 1.1.20-1ubuntu1 >> >> >>> ~$ openusb-config --version >>> 1.0.1 >>> (downloaded and compiled) >>> >> tannewt@wintergreen:~$ openusb-config --version >> 1.0.1 >> >>> >>> And a bit more information provided by MacOS : MacBook Pro 4.1 >>> Intel Core 2 Duo 2.4 >>> Boot ROM Version : MBP41.00C1.B00 >>> >>> LeTic >>> >>> On Mon, May 5, 2008 at 4:53 PM, Scott Shawcroft < >>> sco...@gm... <mailto:sco...@gm...>> wrote: >>> >>> LeTic, >>> What would help now is knowing more about your system. What >>> distro? What architecture? An lspci. What version of dbus do >>> you have? What version of OpenUSB? What kernel? I don't think >>> its a problem with my code. However, theres always a chance there >>> is. >>> >>> Thanks, >>> Scott >>> >>> Anthony Callegaro wrote: >>> >>> Hey Scott, >>> >>> Cheers for that. I used your new code and here is the result >>> of my investigation : >>> >>> If I run touchd in the terminal this is what I get : >>> ./touchd >>> ** (process:27596): DEBUG: Running touchd version alpha 2. >>> ** (process:27596): DEBUG: Connecting to the Session D-Bus. >>> ** (process:27596): DEBUG: Registering the well-known name >>> (org.tannewt.touchd). >>> ** (process:27596): DEBUG: RequestName returned 1. >>> ** (process:27596): DEBUG: Creating one Touchd object. >>> ** (process:27596): DEBUG: Initializing Touchd class. >>> ** (process:27596): DEBUG: Creating the signals. >>> ** (process:27596): DEBUG: Binding to GLib/D-Bus. >>> ** (process:27596): DEBUG: Initializing TouchdObject. >>> ** (process:27596): DEBUG: Registering it on the D-Bus. >>> ** (process:27596): DEBUG: Ready to serve requests. >>> ** (process:27596): DEBUG: Setting up uinput device. >>> ** (process:27596): DEBUG: Running the device. >>> ** (process:27596): DEBUG: Initializing the hardware. >>> Segmentation fault >>> >>> I next tried in gdb : >>> (gdb) run >>> Starting program: /home/letic/Desktop/touchd-svn/src/touchd >>> [Thread debugging using libthread_db enabled] >>> ** (process:8084): DEBUG: Running touchd version alpha 2. >>> ** (process:8084): DEBUG: Connecting to the Session D-Bus. >>> ** (process:8084): DEBUG: Registering the well-known name >>> (org.tannewt.touchd). >>> ** (process:8084): DEBUG: RequestName returned 1. >>> ** (process:8084): DEBUG: Creating one Touchd object. >>> ** (process:8084): DEBUG: Initializing Touchd class. >>> ** (process:8084): DEBUG: Creating the signals. >>> ** (process:8084): DEBUG: Binding to GLib/D-Bus. >>> ** (process:8084): DEBUG: Initializing TouchdObject. >>> ** (process:8084): DEBUG: Registering it on the D-Bus. >>> ** (process:8084): DEBUG: Ready to serve requests. >>> ** (process:8084): DEBUG: Setting up uinput device. >>> ** (process:8084): DEBUG: Running the device. >>> [New Thread 0xb7bd5720 (LWP 8084)] >>> [New Thread 0xb7bd4b90 (LWP 8093)] >>> ** (process:8084): DEBUG: Initializing the hardware. >>> [New Thread 0xb73d3b90 (LWP 8095)] >>> [New Thread 0xb6bacb90 (LWP 8101)] >>> >>> Program received signal SIGSEGV, Segmentation fault. >>> [Switching to Thread 0xb6bacb90 (LWP 8101)] >>> 0xb7ca6463 in memmove () from /lib/tls/i686/cmov/libc.so.6 >>> (gdb) bt >>> #0 0xb7ca6463 in memmove () from /lib/tls/i686/cmov/libc.so.6 >>> #1 0xb7ed13b2 in ?? () from /usr/lib/libdbus-1.so.3 >>> #2 0x080674a0 in ?? () >>> #3 0x0806947f in ?? () >>> #4 0xffffe021 in ?? () >>> #5 0xb7ecf479 in ?? () from /usr/lib/libdbus-1.so.3 >>> #6 0x08059be0 in ?? () >>> #7 0x0805a470 in ?? () >>> #8 0x00000000 in ?? () >>> >>> As I don't know gdb that well I then used nemiver (gnome >>> frontend for gdb) to get the source backtrace manually and >>> here is what I get : >>> So in touchd.c it hangs on line 274 : MultitouchData* md = >>> multitouch_init(touchdObj->device->queue); >>> multitouch.c line 67 : int32_t result = openusb_init(0 , >>> &handle ); >>> usb.c line 618 : usbi_rescan_devices(); >>> devices.c line 258 : ibus->ops->refresh_devices(ibus); >>> linux.c line 2214 : device_names = libhal_get_all_devices >>> (hal_ctx, &num_devices, &error); >>> >>> I can't get any further than this. I guess I would need to >>> download hal sources to follow... >>> >>> Let me know if I can give you more information, and what you >>> would need. >>> Cheers >>> LeTic >>> >>> On Fri, May 2, 2008 at 3:11 AM, Scott Shawcroft >>> <sco...@gm... <mailto:sco...@gm...> >>> <mailto:sco...@gm... >>> <mailto:sco...@gm...>>> wrote: >>> >>> LeTic, >>> I totally forgot! I also checked it into subversion. >>> Thanks, >>> Scott >>> >>> Anthony Callegaro wrote: >>> >>> Hey Scott, >>> >>> Thanks for the answer but you must have forgot the >>> attachment >>> :o) I thought it was in the SVN... Could you send me >>> your new >>> version of touchd.c so I could try to debug a bit further ? >>> >>> Cheers >>> LeTic >>> >>> On Thu, May 1, 2008 at 3:54 AM, Scott Shawcroft >>> <sco...@gm... >>> <mailto:sco...@gm...> >>> <mailto:sco...@gm... >>> <mailto:sco...@gm...>> >>> <mailto:sco...@gm... >>> <mailto:sco...@gm...> >>> <mailto:sco...@gm... >>> <mailto:sco...@gm...>>>> wrote: >>> >>> LeTic, >>> Neat! I've never had that problem before. Are you >>> running >>> Hardy >>> Heron? I agree with you that the main loop was in >>> device_new but >>> am uncertain thats where the problem was because the >>> backtrace had >>> dbus stuff in it. In fact you can see the segfault >>> comes from >>> process 6531 and the uinput stuff should be in 6512 >>> still. >>> >>> I've attached a new version of touchd.c with more debug >>> statements. They'll give us a better idea about how far >>> the main >>> loop is getting. However, I think its a dbus problem. >>> Thanks, >>> Scott >>> >>> P.S. I cced the touchd-devel mailing list to archive >>> the issue. >>> You can join it through the sourceforge project page at >>> sf.net/projects/touchd >>> <http://sf.net/projects/touchd> <http://sf.net/projects/touchd> >>> <http://sf.net/projects/touchd>. >>> >>> >>> >>> >>> Anthony Callegaro wrote: >>> >>> Hi Tannewt, >>> >>> My girlfriend bought a MacBook Pro 4.1 like >>> yours being >>> used >>> to have Debian on our home box I installed >>> Ubuntu for her. >>> When trying to get touchd working I hit some issues. >>> >>> ./touchd >>> ** (process:6418): DEBUG: Running touchd version >>> alpha 2. >>> ** (process:6418): DEBUG: Connecting to the >>> Session D-Bus. >>> ** (process:6418): DEBUG: Registering the >>> well-known name >>> (org.tannewt.touchd). >>> ** (process:6418): DEBUG: RequestName returned 1. >>> ** (process:6418): DEBUG: Creating one Touchd >>> object. >>> ** (process:6418): DEBUG: Initializing Touchd class. >>> ** (process:6418): DEBUG: Creating the signals. >>> ** (process:6418): DEBUG: Binding to GLib/D-Bus. >>> ** (process:6418): DEBUG: Initializing TouchdObject. >>> ** (process:6418): DEBUG: Registering it on the >>> D-Bus. >>> ** (process:6418): DEBUG: Ready to serve requests. >>> ** (process:6418): DEBUG: Setting up uinput device. >>> Segmentation fault >>> >>> The backtrace in gdb isn't very verbose >>> ** (process:6512): DEBUG: Setting up uinput device. >>> [New Thread 0xb7cab720 (LWP 6512)] >>> [New Thread 0xb7caab90 (LWP 6523)] >>> [New Thread 0xb74a9b90 (LWP 6528)] >>> [New Thread 0xb6c82b90 (LWP 6531)] >>> >>> Program received signal SIGSEGV, Segmentation fault. >>> [Switching to Thread 0xb6c82b90 (LWP 6531)] >>> 0xb7d7c463 in memmove () from >>> /lib/tls/i686/cmov/libc.so.6 >>> (gdb) bt >>> #0 0xb7d7c463 in memmove () from >>> /lib/tls/i686/cmov/libc.so.6 >>> #1 0xb7fa73b2 in ?? () from /usr/lib/libdbus-1.so.3 >>> #2 0x080672a0 in ?? () >>> #3 0x0806927f in ?? () >>> #4 0xffffe042 in ?? () >>> #5 0xb7fa5479 in ?? () from /usr/lib/libdbus-1.so.3 >>> #6 0x08059b60 in ?? () >>> #7 0x0805a3f0 in ?? () >>> #8 0x00000000 in ?? () >>> >>> It might be coming from : >>> touchdObj->device = device_new(); >>> >>> But my uinput device is correctly created in >>> /dev/input/uinput >>> >>> Any idea to get me started ? >>> >>> Anyway I would be very interested in helping you >>> in this >>> project. Let me know what I can do. >>> Cheers >>> LeTic >>> >>> >>> >>> >>> > |
From: Anthony C. <cal...@gm...> - 2008-05-06 19:55:19
|
Hey Scott, It's a clean Ubuntu 8.04 i386 install (not in use yet except for testing) the lspci and lspci -n output : ~$ lspci 00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 03) 00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root Port (rev 03) 00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03) 00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03) 00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03) 00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03) 00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03) 00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03) 00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 03) 00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (rev 03) 00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03) 00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03) 00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03) 00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3) 00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 03) 00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03) 00:1f.2 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE Controller (rev 03) 00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03) 01:00.0 VGA compatible controller: nVidia Corporation GeForce 8600M GT (rev a1) 0b:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 05) 0c:00.0 Ethernet controller: Marvell Technology Group Ltd. Marvell Yukon 88E8058 PCI-E Gigabit Ethernet Controller (rev 13) 0d:03.0 FireWire (IEEE 1394): Texas Instruments TSB82AA2 IEEE-1394b Link Layer Controller (rev 02) ~$ lspci -n 00:00.0 0600: 8086:2a00 (rev 03) 00:01.0 0604: 8086:2a01 (rev 03) 00:1a.0 0c03: 8086:2834 (rev 03) 00:1a.1 0c03: 8086:2835 (rev 03) 00:1a.7 0c03: 8086:283a (rev 03) 00:1b.0 0403: 8086:284b (rev 03) 00:1c.0 0604: 8086:283f (rev 03) 00:1c.2 0604: 8086:2843 (rev 03) 00:1c.4 0604: 8086:2847 (rev 03) 00:1c.5 0604: 8086:2849 (rev 03) 00:1d.0 0c03: 8086:2830 (rev 03) 00:1d.1 0c03: 8086:2831 (rev 03) 00:1d.2 0c03: 8086:2832 (rev 03) 00:1d.7 0c03: 8086:2836 (rev 03) 00:1e.0 0604: 8086:2448 (rev f3) 00:1f.0 0601: 8086:2815 (rev 03) 00:1f.1 0101: 8086:2850 (rev 03) 00:1f.2 0101: 8086:2828 (rev 03) 00:1f.3 0c05: 8086:283e (rev 03) 01:00.0 0300: 10de:0407 (rev a1) 0b:00.0 0280: 14e4:4328 (rev 05) 0c:00.0 0200: 11ab:436a (rev 13) 0d:03.0 0c00: 104c:8025 (rev 02) ~$ uname -a Linux christelle-laptop 2.6.24-16-generic #1 SMP Thu Apr 10 13:23:42 UTC 2008 i686 GNU/Linux ~$ dbus-daemon --version D-Bus Message Bus Daemon 1.1.20 ~$ apt-cache show dbus Package: dbus Priority: optional ... Architecture: i386 Version: 1.1.20-1ubuntu1 ~$ openusb-config --version 1.0.1 (downloaded and compiled) And a bit more information provided by MacOS : MacBook Pro 4.1 Intel Core 2 Duo 2.4 Boot ROM Version : MBP41.00C1.B00 LeTic On Mon, May 5, 2008 at 4:53 PM, Scott Shawcroft <sco...@gm...> wrote: > LeTic, > What would help now is knowing more about your system. What distro? What > architecture? An lspci. What version of dbus do you have? What version of > OpenUSB? What kernel? I don't think its a problem with my code. However, > theres always a chance there is. > Thanks, > Scott > > Anthony Callegaro wrote: > >> Hey Scott, >> >> Cheers for that. I used your new code and here is the result of my >> investigation : >> >> If I run touchd in the terminal this is what I get : >> ./touchd >> ** (process:27596): DEBUG: Running touchd version alpha 2. >> ** (process:27596): DEBUG: Connecting to the Session D-Bus. >> ** (process:27596): DEBUG: Registering the well-known name >> (org.tannewt.touchd). >> ** (process:27596): DEBUG: RequestName returned 1. >> ** (process:27596): DEBUG: Creating one Touchd object. >> ** (process:27596): DEBUG: Initializing Touchd class. >> ** (process:27596): DEBUG: Creating the signals. >> ** (process:27596): DEBUG: Binding to GLib/D-Bus. >> ** (process:27596): DEBUG: Initializing TouchdObject. >> ** (process:27596): DEBUG: Registering it on the D-Bus. >> ** (process:27596): DEBUG: Ready to serve requests. >> ** (process:27596): DEBUG: Setting up uinput device. >> ** (process:27596): DEBUG: Running the device. >> ** (process:27596): DEBUG: Initializing the hardware. >> Segmentation fault >> >> I next tried in gdb : >> (gdb) run >> Starting program: /home/letic/Desktop/touchd-svn/src/touchd >> [Thread debugging using libthread_db enabled] >> ** (process:8084): DEBUG: Running touchd version alpha 2. >> ** (process:8084): DEBUG: Connecting to the Session D-Bus. >> ** (process:8084): DEBUG: Registering the well-known name >> (org.tannewt.touchd). >> ** (process:8084): DEBUG: RequestName returned 1. >> ** (process:8084): DEBUG: Creating one Touchd object. >> ** (process:8084): DEBUG: Initializing Touchd class. >> ** (process:8084): DEBUG: Creating the signals. >> ** (process:8084): DEBUG: Binding to GLib/D-Bus. >> ** (process:8084): DEBUG: Initializing TouchdObject. >> ** (process:8084): DEBUG: Registering it on the D-Bus. >> ** (process:8084): DEBUG: Ready to serve requests. >> ** (process:8084): DEBUG: Setting up uinput device. >> ** (process:8084): DEBUG: Running the device. >> [New Thread 0xb7bd5720 (LWP 8084)] >> [New Thread 0xb7bd4b90 (LWP 8093)] >> ** (process:8084): DEBUG: Initializing the hardware. >> [New Thread 0xb73d3b90 (LWP 8095)] >> [New Thread 0xb6bacb90 (LWP 8101)] >> >> Program received signal SIGSEGV, Segmentation fault. >> [Switching to Thread 0xb6bacb90 (LWP 8101)] >> 0xb7ca6463 in memmove () from /lib/tls/i686/cmov/libc.so.6 >> (gdb) bt >> #0 0xb7ca6463 in memmove () from /lib/tls/i686/cmov/libc.so.6 >> #1 0xb7ed13b2 in ?? () from /usr/lib/libdbus-1.so.3 >> #2 0x080674a0 in ?? () >> #3 0x0806947f in ?? () >> #4 0xffffe021 in ?? () >> #5 0xb7ecf479 in ?? () from /usr/lib/libdbus-1.so.3 >> #6 0x08059be0 in ?? () >> #7 0x0805a470 in ?? () >> #8 0x00000000 in ?? () >> >> As I don't know gdb that well I then used nemiver (gnome frontend for gdb) >> to get the source backtrace manually and here is what I get : >> So in touchd.c it hangs on line 274 : MultitouchData* md = >> multitouch_init(touchdObj->device->queue); >> multitouch.c line 67 : int32_t result = openusb_init(0 , &handle ); >> usb.c line 618 : usbi_rescan_devices(); >> devices.c line 258 : ibus->ops->refresh_devices(ibus); >> linux.c line 2214 : device_names = libhal_get_all_devices (hal_ctx, >> &num_devices, &error); >> >> I can't get any further than this. I guess I would need to download hal >> sources to follow... >> >> Let me know if I can give you more information, and what you would need. >> Cheers >> LeTic >> >> On Fri, May 2, 2008 at 3:11 AM, Scott Shawcroft < >> sco...@gm... <mailto:sco...@gm...>> wrote: >> >> LeTic, >> I totally forgot! I also checked it into subversion. >> Thanks, >> Scott >> >> Anthony Callegaro wrote: >> >> Hey Scott, >> >> Thanks for the answer but you must have forgot the attachment >> :o) I thought it was in the SVN... Could you send me your new >> version of touchd.c so I could try to debug a bit further ? >> >> Cheers >> LeTic >> >> On Thu, May 1, 2008 at 3:54 AM, Scott Shawcroft >> <sco...@gm... <mailto:sco...@gm...> >> <mailto:sco...@gm... >> <mailto:sco...@gm...>>> wrote: >> >> LeTic, >> Neat! I've never had that problem before. Are you running >> Hardy >> Heron? I agree with you that the main loop was in >> device_new but >> am uncertain thats where the problem was because the >> backtrace had >> dbus stuff in it. In fact you can see the segfault comes from >> process 6531 and the uinput stuff should be in 6512 still. >> >> I've attached a new version of touchd.c with more debug >> statements. They'll give us a better idea about how far >> the main >> loop is getting. However, I think its a dbus problem. >> Thanks, >> Scott >> >> P.S. I cced the touchd-devel mailing list to archive the issue. >> You can join it through the sourceforge project page at >> sf.net/projects/touchd <http://sf.net/projects/touchd> >> <http://sf.net/projects/touchd>. >> >> >> >> >> Anthony Callegaro wrote: >> >> Hi Tannewt, >> >> My girlfriend bought a MacBook Pro 4.1 like yours being >> used >> to have Debian on our home box I installed Ubuntu for her. >> When trying to get touchd working I hit some issues. >> >> ./touchd >> ** (process:6418): DEBUG: Running touchd version alpha 2. >> ** (process:6418): DEBUG: Connecting to the Session D-Bus. >> ** (process:6418): DEBUG: Registering the well-known name >> (org.tannewt.touchd). >> ** (process:6418): DEBUG: RequestName returned 1. >> ** (process:6418): DEBUG: Creating one Touchd object. >> ** (process:6418): DEBUG: Initializing Touchd class. >> ** (process:6418): DEBUG: Creating the signals. >> ** (process:6418): DEBUG: Binding to GLib/D-Bus. >> ** (process:6418): DEBUG: Initializing TouchdObject. >> ** (process:6418): DEBUG: Registering it on the D-Bus. >> ** (process:6418): DEBUG: Ready to serve requests. >> ** (process:6418): DEBUG: Setting up uinput device. >> Segmentation fault >> >> The backtrace in gdb isn't very verbose >> ** (process:6512): DEBUG: Setting up uinput device. >> [New Thread 0xb7cab720 (LWP 6512)] >> [New Thread 0xb7caab90 (LWP 6523)] >> [New Thread 0xb74a9b90 (LWP 6528)] >> [New Thread 0xb6c82b90 (LWP 6531)] >> >> Program received signal SIGSEGV, Segmentation fault. >> [Switching to Thread 0xb6c82b90 (LWP 6531)] >> 0xb7d7c463 in memmove () from /lib/tls/i686/cmov/libc.so.6 >> (gdb) bt >> #0 0xb7d7c463 in memmove () from >> /lib/tls/i686/cmov/libc.so.6 >> #1 0xb7fa73b2 in ?? () from /usr/lib/libdbus-1.so.3 >> #2 0x080672a0 in ?? () >> #3 0x0806927f in ?? () >> #4 0xffffe042 in ?? () >> #5 0xb7fa5479 in ?? () from /usr/lib/libdbus-1.so.3 >> #6 0x08059b60 in ?? () >> #7 0x0805a3f0 in ?? () >> #8 0x00000000 in ?? () >> >> It might be coming from : >> touchdObj->device = device_new(); >> >> But my uinput device is correctly created in >> /dev/input/uinput >> >> Any idea to get me started ? >> >> Anyway I would be very interested in helping you in this >> project. Let me know what I can do. >> Cheers >> LeTic >> >> >> >> |
From: Scott S. <sco...@gm...> - 2008-05-05 15:53:34
|
LeTic, What would help now is knowing more about your system. What distro? What architecture? An lspci. What version of dbus do you have? What version of OpenUSB? What kernel? I don't think its a problem with my code. However, theres always a chance there is. Thanks, Scott Anthony Callegaro wrote: > Hey Scott, > > Cheers for that. I used your new code and here is the result of my > investigation : > > If I run touchd in the terminal this is what I get : > ./touchd > ** (process:27596): DEBUG: Running touchd version alpha 2. > ** (process:27596): DEBUG: Connecting to the Session D-Bus. > ** (process:27596): DEBUG: Registering the well-known name > (org.tannewt.touchd). > ** (process:27596): DEBUG: RequestName returned 1. > ** (process:27596): DEBUG: Creating one Touchd object. > ** (process:27596): DEBUG: Initializing Touchd class. > ** (process:27596): DEBUG: Creating the signals. > ** (process:27596): DEBUG: Binding to GLib/D-Bus. > ** (process:27596): DEBUG: Initializing TouchdObject. > ** (process:27596): DEBUG: Registering it on the D-Bus. > ** (process:27596): DEBUG: Ready to serve requests. > ** (process:27596): DEBUG: Setting up uinput device. > ** (process:27596): DEBUG: Running the device. > ** (process:27596): DEBUG: Initializing the hardware. > Segmentation fault > > I next tried in gdb : > (gdb) run > Starting program: /home/letic/Desktop/touchd-svn/src/touchd > [Thread debugging using libthread_db enabled] > ** (process:8084): DEBUG: Running touchd version alpha 2. > ** (process:8084): DEBUG: Connecting to the Session D-Bus. > ** (process:8084): DEBUG: Registering the well-known name > (org.tannewt.touchd). > ** (process:8084): DEBUG: RequestName returned 1. > ** (process:8084): DEBUG: Creating one Touchd object. > ** (process:8084): DEBUG: Initializing Touchd class. > ** (process:8084): DEBUG: Creating the signals. > ** (process:8084): DEBUG: Binding to GLib/D-Bus. > ** (process:8084): DEBUG: Initializing TouchdObject. > ** (process:8084): DEBUG: Registering it on the D-Bus. > ** (process:8084): DEBUG: Ready to serve requests. > ** (process:8084): DEBUG: Setting up uinput device. > ** (process:8084): DEBUG: Running the device. > [New Thread 0xb7bd5720 (LWP 8084)] > [New Thread 0xb7bd4b90 (LWP 8093)] > ** (process:8084): DEBUG: Initializing the hardware. > [New Thread 0xb73d3b90 (LWP 8095)] > [New Thread 0xb6bacb90 (LWP 8101)] > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0xb6bacb90 (LWP 8101)] > 0xb7ca6463 in memmove () from /lib/tls/i686/cmov/libc.so.6 > (gdb) bt > #0 0xb7ca6463 in memmove () from /lib/tls/i686/cmov/libc.so.6 > #1 0xb7ed13b2 in ?? () from /usr/lib/libdbus-1.so.3 > #2 0x080674a0 in ?? () > #3 0x0806947f in ?? () > #4 0xffffe021 in ?? () > #5 0xb7ecf479 in ?? () from /usr/lib/libdbus-1.so.3 > #6 0x08059be0 in ?? () > #7 0x0805a470 in ?? () > #8 0x00000000 in ?? () > > As I don't know gdb that well I then used nemiver (gnome frontend for > gdb) to get the source backtrace manually and here is what I get : > So in touchd.c it hangs on line 274 : MultitouchData* md = > multitouch_init(touchdObj->device->queue); > multitouch.c line 67 : int32_t result = openusb_init(0 , &handle ); > usb.c line 618 : usbi_rescan_devices(); > devices.c line 258 : ibus->ops->refresh_devices(ibus); > linux.c line 2214 : device_names = libhal_get_all_devices (hal_ctx, > &num_devices, &error); > > I can't get any further than this. I guess I would need to download > hal sources to follow... > > Let me know if I can give you more information, and what you would need. > Cheers > LeTic > > On Fri, May 2, 2008 at 3:11 AM, Scott Shawcroft > <sco...@gm... <mailto:sco...@gm...>> wrote: > > LeTic, > I totally forgot! I also checked it into subversion. > Thanks, > Scott > > Anthony Callegaro wrote: > > Hey Scott, > > Thanks for the answer but you must have forgot the attachment > :o) I thought it was in the SVN... Could you send me your new > version of touchd.c so I could try to debug a bit further ? > > Cheers > LeTic > > On Thu, May 1, 2008 at 3:54 AM, Scott Shawcroft > <sco...@gm... <mailto:sco...@gm...> > <mailto:sco...@gm... > <mailto:sco...@gm...>>> wrote: > > LeTic, > Neat! I've never had that problem before. Are you running > Hardy > Heron? I agree with you that the main loop was in > device_new but > am uncertain thats where the problem was because the > backtrace had > dbus stuff in it. In fact you can see the segfault comes from > process 6531 and the uinput stuff should be in 6512 still. > > I've attached a new version of touchd.c with more debug > statements. They'll give us a better idea about how far > the main > loop is getting. However, I think its a dbus problem. > Thanks, > Scott > > P.S. I cced the touchd-devel mailing list to archive the issue. > You can join it through the sourceforge project page at > sf.net/projects/touchd <http://sf.net/projects/touchd> > <http://sf.net/projects/touchd>. > > > > > Anthony Callegaro wrote: > > Hi Tannewt, > > My girlfriend bought a MacBook Pro 4.1 like yours being > used > to have Debian on our home box I installed Ubuntu for her. > When trying to get touchd working I hit some issues. > > ./touchd > ** (process:6418): DEBUG: Running touchd version alpha 2. > ** (process:6418): DEBUG: Connecting to the Session D-Bus. > ** (process:6418): DEBUG: Registering the well-known name > (org.tannewt.touchd). > ** (process:6418): DEBUG: RequestName returned 1. > ** (process:6418): DEBUG: Creating one Touchd object. > ** (process:6418): DEBUG: Initializing Touchd class. > ** (process:6418): DEBUG: Creating the signals. > ** (process:6418): DEBUG: Binding to GLib/D-Bus. > ** (process:6418): DEBUG: Initializing TouchdObject. > ** (process:6418): DEBUG: Registering it on the D-Bus. > ** (process:6418): DEBUG: Ready to serve requests. > ** (process:6418): DEBUG: Setting up uinput device. > Segmentation fault > > The backtrace in gdb isn't very verbose > ** (process:6512): DEBUG: Setting up uinput device. > [New Thread 0xb7cab720 (LWP 6512)] > [New Thread 0xb7caab90 (LWP 6523)] > [New Thread 0xb74a9b90 (LWP 6528)] > [New Thread 0xb6c82b90 (LWP 6531)] > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0xb6c82b90 (LWP 6531)] > 0xb7d7c463 in memmove () from /lib/tls/i686/cmov/libc.so.6 > (gdb) bt > #0 0xb7d7c463 in memmove () from > /lib/tls/i686/cmov/libc.so.6 > #1 0xb7fa73b2 in ?? () from /usr/lib/libdbus-1.so.3 > #2 0x080672a0 in ?? () > #3 0x0806927f in ?? () > #4 0xffffe042 in ?? () > #5 0xb7fa5479 in ?? () from /usr/lib/libdbus-1.so.3 > #6 0x08059b60 in ?? () > #7 0x0805a3f0 in ?? () > #8 0x00000000 in ?? () > > It might be coming from : > touchdObj->device = device_new(); > > But my uinput device is correctly created in > /dev/input/uinput > > Any idea to get me started ? > > Anyway I would be very interested in helping you in this > project. Let me know what I can do. > Cheers > LeTic > > > |
From: Anthony C. <cal...@gm...> - 2008-05-05 12:26:16
|
Hey Scott, Cheers for that. I used your new code and here is the result of my investigation : If I run touchd in the terminal this is what I get : ./touchd ** (process:27596): DEBUG: Running touchd version alpha 2. ** (process:27596): DEBUG: Connecting to the Session D-Bus. ** (process:27596): DEBUG: Registering the well-known name (org.tannewt.touchd). ** (process:27596): DEBUG: RequestName returned 1. ** (process:27596): DEBUG: Creating one Touchd object. ** (process:27596): DEBUG: Initializing Touchd class. ** (process:27596): DEBUG: Creating the signals. ** (process:27596): DEBUG: Binding to GLib/D-Bus. ** (process:27596): DEBUG: Initializing TouchdObject. ** (process:27596): DEBUG: Registering it on the D-Bus. ** (process:27596): DEBUG: Ready to serve requests. ** (process:27596): DEBUG: Setting up uinput device. ** (process:27596): DEBUG: Running the device. ** (process:27596): DEBUG: Initializing the hardware. Segmentation fault I next tried in gdb : (gdb) run Starting program: /home/letic/Desktop/touchd-svn/src/touchd [Thread debugging using libthread_db enabled] ** (process:8084): DEBUG: Running touchd version alpha 2. ** (process:8084): DEBUG: Connecting to the Session D-Bus. ** (process:8084): DEBUG: Registering the well-known name (org.tannewt.touchd). ** (process:8084): DEBUG: RequestName returned 1. ** (process:8084): DEBUG: Creating one Touchd object. ** (process:8084): DEBUG: Initializing Touchd class. ** (process:8084): DEBUG: Creating the signals. ** (process:8084): DEBUG: Binding to GLib/D-Bus. ** (process:8084): DEBUG: Initializing TouchdObject. ** (process:8084): DEBUG: Registering it on the D-Bus. ** (process:8084): DEBUG: Ready to serve requests. ** (process:8084): DEBUG: Setting up uinput device. ** (process:8084): DEBUG: Running the device. [New Thread 0xb7bd5720 (LWP 8084)] [New Thread 0xb7bd4b90 (LWP 8093)] ** (process:8084): DEBUG: Initializing the hardware. [New Thread 0xb73d3b90 (LWP 8095)] [New Thread 0xb6bacb90 (LWP 8101)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb6bacb90 (LWP 8101)] 0xb7ca6463 in memmove () from /lib/tls/i686/cmov/libc.so.6 (gdb) bt #0 0xb7ca6463 in memmove () from /lib/tls/i686/cmov/libc.so.6 #1 0xb7ed13b2 in ?? () from /usr/lib/libdbus-1.so.3 #2 0x080674a0 in ?? () #3 0x0806947f in ?? () #4 0xffffe021 in ?? () #5 0xb7ecf479 in ?? () from /usr/lib/libdbus-1.so.3 #6 0x08059be0 in ?? () #7 0x0805a470 in ?? () #8 0x00000000 in ?? () As I don't know gdb that well I then used nemiver (gnome frontend for gdb) to get the source backtrace manually and here is what I get : So in touchd.c it hangs on line 274 : MultitouchData* md = multitouch_init(touchdObj->device->queue); multitouch.c line 67 : int32_t result = openusb_init(0 , &handle ); usb.c line 618 : usbi_rescan_devices(); devices.c line 258 : ibus->ops->refresh_devices(ibus); linux.c line 2214 : device_names = libhal_get_all_devices (hal_ctx, &num_devices, &error); I can't get any further than this. I guess I would need to download hal sources to follow... Let me know if I can give you more information, and what you would need. Cheers LeTic On Fri, May 2, 2008 at 3:11 AM, Scott Shawcroft <sco...@gm...> wrote: > LeTic, > I totally forgot! I also checked it into subversion. > Thanks, > Scott > > Anthony Callegaro wrote: > >> Hey Scott, >> >> Thanks for the answer but you must have forgot the attachment :o) I >> thought it was in the SVN... Could you send me your new version of touchd.c >> so I could try to debug a bit further ? >> >> Cheers >> LeTic >> >> On Thu, May 1, 2008 at 3:54 AM, Scott Shawcroft < >> sco...@gm... <mailto:sco...@gm...>> wrote: >> >> LeTic, >> Neat! I've never had that problem before. Are you running Hardy >> Heron? I agree with you that the main loop was in device_new but >> am uncertain thats where the problem was because the backtrace had >> dbus stuff in it. In fact you can see the segfault comes from >> process 6531 and the uinput stuff should be in 6512 still. >> >> I've attached a new version of touchd.c with more debug >> statements. They'll give us a better idea about how far the main >> loop is getting. However, I think its a dbus problem. >> Thanks, >> Scott >> >> P.S. I cced the touchd-devel mailing list to archive the issue. >> You can join it through the sourceforge project page at >> sf.net/projects/touchd <http://sf.net/projects/touchd>. >> >> >> >> >> Anthony Callegaro wrote: >> >> Hi Tannewt, >> >> My girlfriend bought a MacBook Pro 4.1 like yours being used >> to have Debian on our home box I installed Ubuntu for her. >> When trying to get touchd working I hit some issues. >> >> ./touchd >> ** (process:6418): DEBUG: Running touchd version alpha 2. >> ** (process:6418): DEBUG: Connecting to the Session D-Bus. >> ** (process:6418): DEBUG: Registering the well-known name >> (org.tannewt.touchd). >> ** (process:6418): DEBUG: RequestName returned 1. >> ** (process:6418): DEBUG: Creating one Touchd object. >> ** (process:6418): DEBUG: Initializing Touchd class. >> ** (process:6418): DEBUG: Creating the signals. >> ** (process:6418): DEBUG: Binding to GLib/D-Bus. >> ** (process:6418): DEBUG: Initializing TouchdObject. >> ** (process:6418): DEBUG: Registering it on the D-Bus. >> ** (process:6418): DEBUG: Ready to serve requests. >> ** (process:6418): DEBUG: Setting up uinput device. >> Segmentation fault >> >> The backtrace in gdb isn't very verbose >> ** (process:6512): DEBUG: Setting up uinput device. >> [New Thread 0xb7cab720 (LWP 6512)] >> [New Thread 0xb7caab90 (LWP 6523)] >> [New Thread 0xb74a9b90 (LWP 6528)] >> [New Thread 0xb6c82b90 (LWP 6531)] >> >> Program received signal SIGSEGV, Segmentation fault. >> [Switching to Thread 0xb6c82b90 (LWP 6531)] >> 0xb7d7c463 in memmove () from /lib/tls/i686/cmov/libc.so.6 >> (gdb) bt >> #0 0xb7d7c463 in memmove () from /lib/tls/i686/cmov/libc.so.6 >> #1 0xb7fa73b2 in ?? () from /usr/lib/libdbus-1.so.3 >> #2 0x080672a0 in ?? () >> #3 0x0806927f in ?? () >> #4 0xffffe042 in ?? () >> #5 0xb7fa5479 in ?? () from /usr/lib/libdbus-1.so.3 >> #6 0x08059b60 in ?? () >> #7 0x0805a3f0 in ?? () >> #8 0x00000000 in ?? () >> >> It might be coming from : >> touchdObj->device = device_new(); >> >> But my uinput device is correctly created in /dev/input/uinput >> >> Any idea to get me started ? >> >> Anyway I would be very interested in helping you in this >> project. Let me know what I can do. >> Cheers >> LeTic >> >> >> |
From: Anthony C. <cal...@gm...> - 2008-05-01 22:09:19
|
Hey Scott, Thanks for the answer but you must have forgot the attachment :o) I thought it was in the SVN... Could you send me your new version of touchd.c so I could try to debug a bit further ? Cheers LeTic On Thu, May 1, 2008 at 3:54 AM, Scott Shawcroft <sco...@gm...> wrote: > LeTic, > Neat! I've never had that problem before. Are you running Hardy Heron? I > agree with you that the main loop was in device_new but am uncertain thats > where the problem was because the backtrace had dbus stuff in it. In fact > you can see the segfault comes from process 6531 and the uinput stuff should > be in 6512 still. > > I've attached a new version of touchd.c with more debug statements. > They'll give us a better idea about how far the main loop is getting. > However, I think its a dbus problem. > Thanks, > Scott > > P.S. I cced the touchd-devel mailing list to archive the issue. You can > join it through the sourceforge project page at sf.net/projects/touchd. > > > > Anthony Callegaro wrote: > >> Hi Tannewt, >> >> My girlfriend bought a MacBook Pro 4.1 like yours being used to have >> Debian on our home box I installed Ubuntu for her. When trying to get touchd >> working I hit some issues. >> >> ./touchd >> ** (process:6418): DEBUG: Running touchd version alpha 2. >> ** (process:6418): DEBUG: Connecting to the Session D-Bus. >> ** (process:6418): DEBUG: Registering the well-known name >> (org.tannewt.touchd). >> ** (process:6418): DEBUG: RequestName returned 1. >> ** (process:6418): DEBUG: Creating one Touchd object. >> ** (process:6418): DEBUG: Initializing Touchd class. >> ** (process:6418): DEBUG: Creating the signals. >> ** (process:6418): DEBUG: Binding to GLib/D-Bus. >> ** (process:6418): DEBUG: Initializing TouchdObject. >> ** (process:6418): DEBUG: Registering it on the D-Bus. >> ** (process:6418): DEBUG: Ready to serve requests. >> ** (process:6418): DEBUG: Setting up uinput device. >> Segmentation fault >> >> The backtrace in gdb isn't very verbose >> ** (process:6512): DEBUG: Setting up uinput device. >> [New Thread 0xb7cab720 (LWP 6512)] >> [New Thread 0xb7caab90 (LWP 6523)] >> [New Thread 0xb74a9b90 (LWP 6528)] >> [New Thread 0xb6c82b90 (LWP 6531)] >> >> Program received signal SIGSEGV, Segmentation fault. >> [Switching to Thread 0xb6c82b90 (LWP 6531)] >> 0xb7d7c463 in memmove () from /lib/tls/i686/cmov/libc.so.6 >> (gdb) bt >> #0 0xb7d7c463 in memmove () from /lib/tls/i686/cmov/libc.so.6 >> #1 0xb7fa73b2 in ?? () from /usr/lib/libdbus-1.so.3 >> #2 0x080672a0 in ?? () >> #3 0x0806927f in ?? () >> #4 0xffffe042 in ?? () >> #5 0xb7fa5479 in ?? () from /usr/lib/libdbus-1.so.3 >> #6 0x08059b60 in ?? () >> #7 0x0805a3f0 in ?? () >> #8 0x00000000 in ?? () >> >> It might be coming from : >> touchdObj->device = device_new(); >> >> But my uinput device is correctly created in /dev/input/uinput >> >> Any idea to get me started ? >> >> Anyway I would be very interested in helping you in this project. Let me >> know what I can do. >> Cheers >> LeTic >> > |
From: Scott S. <sco...@gm...> - 2008-04-28 16:01:36
|
James, Thats weird. Its magical dbus stuff. For me its in touchd-dbus-stub.h. ~Scott James Vautin wrote: > Hey, > > Thanks for the hardy updates. > > My MBP should be here in 2 days. Trying to familiarise myself with what > you've done. > > I just pulled the latest svn updates and I'm trying to build. > > I got this: > > touchd.c:141: error: ‘dbus_glib_touchd_object_object_info’ undeclared > (first use in this function) > > I'm trying to find this struct (dbus_glib_touchd_object_object_info) > instantiated or declared somewhere. (it should be one of these I > believe:http://dbus.freedesktop.org/doc/api/html/struct__DBusGObjectInfo.html) > > I don't see it. Am I missing something? > > James > > On Tue, 2008-04-22 at 22:19 -0700, Scott Shawcroft wrote: > >> Hi all, >> I got touchd working in Hardy. I was not mimicking the mouse well enough. >> >> So, I've released Alpha 2. It features improved click detection and >> Hardy support. It also shutdowns down gracefully. I've switched the >> USB library from libusb to OpenUSB because libusb was not threadsafe. >> >> You can get it here: >> https://sourceforge.net/project/showfiles.php?group_id=223329&package_id=269954 >> >> Thanks, >> Scott >> >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >> Don't miss this year's exciting event. There's still time to save $100. >> Use priority code J8TL2D2. >> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone >> _______________________________________________ >> Touchd-devel mailing list >> Tou...@li... >> https://lists.sourceforge.net/lists/listinfo/touchd-devel >> > > > |
From: Scott S. <sco...@gm...> - 2008-04-23 05:19:38
|
Hi all, I got touchd working in Hardy. I was not mimicking the mouse well enough. So, I've released Alpha 2. It features improved click detection and Hardy support. It also shutdowns down gracefully. I've switched the USB library from libusb to OpenUSB because libusb was not threadsafe. You can get it here: https://sourceforge.net/project/showfiles.php?group_id=223329&package_id=269954 Thanks, Scott |
From: Luciano S. - U. <lu...@in...> - 2008-04-22 19:56:37
|
On 21/04/08 18:45 -0700, Scott Shawcroft wrote: > Luciano Silva - UFPR wrote: > >Hi Scott. > > > >On 17/04/08 20:17 -0700, Scott Shawcroft wrote: > > > >>Luciano, > >>I have Gutsy with the latest amd64 kernel. I didn't have to mess with > >> > > > >Thanks. I installed Gutsy amd64 but Fn key did not work at first. Then, > >I had to compile a new kernel changing only the hid-quirks.c > >(USB_DEVICE_ID_APPLE_GEYSER4_ISO to 0x0230) and Fn, and other > >apple keys (f1, f2, f10-f12) is now working. But one key of the us keyboard > >mysteriously has changed, the dead_grave/dead_tilde (the one just bellow > >esc) is not on keycode 49 anymore, this key is mapped now as keycode 94. > >So, I had to edit the xmodmap.us_intl to fix this issue. > > > Was this when you were using Touchd? Touchd doesn't support Fn. It Hi Scott. No. This occurs with my new kernel without touchd installed. > automatically sends special events according to the other function of > the F# keys. For example, F8 is a play/pause key instead. See keys.c > for more on this. ok. Thanks. > >Another surprise was that with this new kernel, I can't have the > >touchpad moviments anymore, I don't know why, since I used the same > >config file as the default kernel amd64 from the install cd. If you > >have a new compiled kernel that has Fn and others working, including > >the touchpad movements, please let me know about your config file. > >Maybe my xorg.conf is now ok. I'm having some difficult to find > >updated information about ubuntu on macbook pro 4.1 (penryn). I think > >it will be important to contact people directly. Sorry about this > >inconvenient... > > > I've lost my touchpad movement when upgrading to Hardy Heron. Hopefully > I'll get it sorted out tonight after I do my homework. I haven't had to > do anything special with the kernel besides modprobing uinput. > > Its alright to email me. I don't mind. I've also cced the touchd-devel > email list this email. > > > >>the settings at all. Are you using touchd for the keyboard? > >> > > > >I compiled and install your touchd with success and I noticed that > >the movements and fingers' touch works. However, when I finished the touchd > >in the xterm, the keyboard hangs (i.e. stop working)and the only way I > >found to put it working again was to restart the X. I don't know if this > >is expected or not, but I'll investigate this issue. > > > This is normal. Once touchd is run it boots the kernel off of the > device. As far as I know, after touchd is finished the kernel does not > regrab the device and thus it does not work. I develop with an external > keyboard and external mouse. I understood. I'll check this out. I'll keep you informed abount any news. Luciano. > >Thank you very much for your attention. I hope to help you with > >the touchd debugging and updates. > > > Your help will be much appreciated. > Thanks, > Scott > >Best, > > > >Luciano > > |
From: Scott S. <sco...@gm...> - 2008-04-22 01:45:23
|
Luciano Silva - UFPR wrote: > Hi Scott. > > On 17/04/08 20:17 -0700, Scott Shawcroft wrote: > >> Luciano, >> I have Gutsy with the latest amd64 kernel. I didn't have to mess with >> > > Thanks. I installed Gutsy amd64 but Fn key did not work at first. Then, > I had to compile a new kernel changing only the hid-quirks.c > (USB_DEVICE_ID_APPLE_GEYSER4_ISO to 0x0230) and Fn, and other > apple keys (f1, f2, f10-f12) is now working. But one key of the us keyboard > mysteriously has changed, the dead_grave/dead_tilde (the one just bellow > esc) is not on keycode 49 anymore, this key is mapped now as keycode 94. > So, I had to edit the xmodmap.us_intl to fix this issue. > Was this when you were using Touchd? Touchd doesn't support Fn. It automatically sends special events according to the other function of the F# keys. For example, F8 is a play/pause key instead. See keys.c for more on this. > Another surprise was that with this new kernel, I can't have the > touchpad moviments anymore, I don't know why, since I used the same > config file as the default kernel amd64 from the install cd. If you > have a new compiled kernel that has Fn and others working, including > the touchpad movements, please let me know about your config file. > Maybe my xorg.conf is now ok. I'm having some difficult to find > updated information about ubuntu on macbook pro 4.1 (penryn). I think > it will be important to contact people directly. Sorry about this > inconvenient... > I've lost my touchpad movement when upgrading to Hardy Heron. Hopefully I'll get it sorted out tonight after I do my homework. I haven't had to do anything special with the kernel besides modprobing uinput. Its alright to email me. I don't mind. I've also cced the touchd-devel email list this email. > >> the settings at all. Are you using touchd for the keyboard? >> > > I compiled and install your touchd with success and I noticed that > the movements and fingers' touch works. However, when I finished the touchd > in the xterm, the keyboard hangs (i.e. stop working)and the only way I > found to put it working again was to restart the X. I don't know if this > is expected or not, but I'll investigate this issue. > This is normal. Once touchd is run it boots the kernel off of the device. As far as I know, after touchd is finished the kernel does not regrab the device and thus it does not work. I develop with an external keyboard and external mouse. > Thank you very much for your attention. I hope to help you with > the touchd debugging and updates. > Your help will be much appreciated. Thanks, Scott > Best, > > Luciano > |
From: Scott S. <sco...@gm...> - 2008-04-21 22:11:05
|
Christoph Pittracher wrote: > Hello tannewt, > I got a brand new MacBook Pro4,1 last week and installed Ubuntu hardy on > it. Now I'm playing around with your multitouch stuff. > > touchd doesn't work for me, but I didn't take a deeper look in it. Keyboard > is mostly working but no mouse movement. One thing I recognized is that I > wasn't able to generate the function events of the FXX Keys (regardless of > pressing Fn or not I always got the FXX keysyms), with the touchd daemon I > always get the special functions, but again, pressing Fn does not change > anything. > I'm having the same problem. I upgraded to Hardy last night and the mouse stuff doesn't work. The Fn keys are doing that by design. I decided to have the special macbook keys emit corresponding events rather than the F# event. You can switch this by changing the TRUEs on lines 270-275 in multitouch.c which begin with key_down to FALSE. This may be a kernel upgrade issue actually. > I took a look at touchview.py and it works. One thing I had to change was > the USB product id. My keyboard/touchpad has ID 05ac:0231. > I think there's a small bug in usbreader.py line 61. You detachKernelDriver > id 2 but afterwards claimInterface 1. I had to change line 61 to > h.detachKernelDriver(1). > Another person had the 0230 hardware but they said it wasn't working. The bug in usbreader may be a result of the Hardy upgrade. I have not run any of the tools on Hardy. > So far I get the GTK window and see my fingers on the touchpad :-) > Looks like it works fine. > > How's development going on? Did you have time to make some improvements? > Any roadmap? > I really want to get this device working in Linux perfectly. Where should I > start to help you improving this? > Are you aware if there are any major differences between the multitouch > with usb id 0230 and id 0231? > Development is going decently. You can see the progress in svn of sourceforge. Since alpha I've improved the click detection and switch to openusb which is threadsafe as opposed to libusb. It'd be great to get it work in Hardy. :-D I think one of the next things that needs to be done is to hook up a configuration interface through touchd.py. That would involve expanding the dbus stuff. I have not heard of any differences between 0230 and 0231 but would love to hear if there are any. > best regards and thanks for your hard work on reverse engineering this > stuff, > Christop I've forwarded this to the touchd-devel mailing list too. Thanks, Scott |
From: Scott S. <sco...@gm...> - 2008-04-18 15:56:33
|
Felipe, I don't see why it couldn't be done. I might want to add some checks to ensure that an alt down event isn't sent twice but that could probably be ignored. :-) The code to look for that gesture would not be too bad. One problem is that the finger ordering may not be consistent. I was thinking that instead of supporting alt-tab I'd do a gesture to support expose. However, that would be more compiz specific. Other changes I'll probably make are to make the whole pipeline more thorough with debugging along the way. Cheers, Scott Felipe Sere wrote: > Hi > > Would it be possible to have a gesture to replace ALT-TAB? something > like keeping one finger on the pad and having another slide from left > to right above or below it. > I dont have a macbook so I cant write or test... > > |
From: Felipe S. <do...@gm...> - 2008-04-18 11:43:14
|
Hi Would it be possible to have a gesture to replace ALT-TAB? something like keeping one finger on the pad and having another slide from left to right above or below it. I dont have a macbook so I cant write or test... -- Felipe Sere |
From: Scott S. <sco...@gm...> - 2008-04-16 16:34:25
|
Felipe Sere wrote: >> Nothing is Ubuntu specific. Its just that I'm using it and have no reports >> of another other distro. Touchd sends events into the kernel which get >> pushed to X and should thus work fine with XFCE. However, there is no way >> of sending custom events which are not defined in the kernel. >> > > So the some of the really cool stuff can not be done yet? I would LOVE > to see the one for resizing windows: move the fingers diagonally > together to make it smaller, move them apart to make the window > bigger. > > That would be way cool. The best way of doing that would probably be through dbus to a compiz plugin. Another person was talking about writing one. >>> How configurable are the gestures? >>> >>> >>> >> Not very at the moment. However, I've designed it such that additional >> detection engines can run in parallel. At the moment though I've written >> only one which does the advanced mouse stuff. >> > > Are these engines responsible for triggering the right "reaction"? > What can it already do? From the vids I saw the "next Workspace" and > the two-finger-scrolling. > Well, the engines are responsible for interpretting the finger data and outputing input events. Right now it supports the mouses REL_X and REL_Y, left, middle and right clicks. What you saw for workspaces was just scrolling vertically on the desktop. So far, I've only got an engine to mimic a fancier mouse. > When can we expect a new release? I am waiting for my MacBook Pro > which will come May 4th...*sigh* > I'll release again when I feel like enough has improved. Already I've made significant improvements to click detection and may also add a consistent debug output too. I also have to fix up support for multiple engines. All of the code is on Sourceforge at sf.net/projects/touchd. I'm also CCing this to the new mailing list. Thanks, Scott |
From: Scott S. <sco...@gm...> - 2008-04-15 20:17:34
|
Florian, Its neat you found it! More comments inline. I've cced this to the new touchd mailing list. Florian wrote: > Hi! > > I'm currenty trying to get the touchpad of my brand newMacBook Pro to > work in Ubuntu (well, the pointer works fine, but no right click, > scrolling etc...) so I did some research and found your program. > I decided to give it a go. So far, I got it to compile, and when I ran > it as root, it segfaulted because it could not find the USB device for > the touchpad. So I dug out my "lsusb" and found that instead of having > a productId of 0x0230, my touchpad is at 0x231... so I changed that in > multitouch.c, recompiled, and when I ran it, it did find the device > (obviously), started doing some stuff, but I never got the pointer to > move again, and the keyboard became unresponsive. I had to go for hard > reboot (long press on power button). Obviously, after a reboot, I > tried again :) and it crashed just the same. Here is the log, if it's > any help: > It makes sense that you lost the keyboard and mouse, touchd steals it from the kernel. I'd suggest using an external keyboard and mouse instead of a hard restart. > touchd:main Connecting to the Session D-Bus. > touchd:main Registering the well-known name (org.tannewt.touchd) > touchd:main RequestName returned 1. > touchd:main Creating one Touchd object. > touchd:touchd_object_class_init: Called > touchd:touchd_object_class_init: Creating signals > touchd:touchd_object_class_init: Binding to GLib/D-Bus > touchd:touchd_object_class_init: Done > touchd:touchd_object_init: Called > touchd:main Registering it on the D-Bus. > touchd:main Ready to serve requests (daemonizing). > touchd: Not daemonizing (built with NO_DAEMON-build define) > touchd: Setting up uinput device. > device run > found on bus 3 > got vendor: 0x5AC product: 0x231 > return value 8 > There are 1 engine queues > > > > So my question is this, I see you do some voodoo a couple of lines > below the find_device function. Is there any chance I need to change > some of those magical values to something different, since my > productId is different? And to what doest this productId thing > correspond: is it just an adress, or could it mean I have a different > revision of the touchpad? > The different product id indicates it is different hardware. The first thing I would do is uncomment the g_print lines in the voodoo section and send me the output. Second, I would use usbmon, get the source so you can make it display all the data, to snoop the usb traffic caused by touchd startup. You'll need to modprobe usbmon too. http://people.redhat.com/zaitcev/linux/ The last resort is snooping traffic from the windows usb drivers. I did this by running Vista in vmware and capturing the usb data using usbmon. > Of course, if you need any extra info, I'll do my best to provide it :) > Thanks! > Florian > No problem. Could you give me all of the specs on your computer so that I can distinguish between the different versions with different chips? Thanks, Scott |