Re: [Touchd-devel] Interested by touchd
Status: Alpha
Brought to you by:
tannewt
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 > > > > > > |