Polling of devices does not work in Ubuntu Karmic 64bit

Bug #486191 reported by franco_bez
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ircp Tray
Fix Released
High
Unassigned

Bug Description

Version Ircp Tray 0.7.4 form the Ubuntu repositories.

The bug only occurs in the 64bit Edition.

While "irdadump" correctly lists the presence of my Palm "ircp-tray" does not notice.
"beaming" works though. "ircp-tray" asks "no device arround, do you really want to continue?" I say yes and the data gets transfered.

It only seems to query the devices once at program start.
When I start "ircp-tray" with the Palm already turned on, "ircp-tray" starts with the red icon, and on "mouse over" it says "m505 within range". The icon stays red even if the Palm gets turned off.

In 32bit Ubuntu Karmic on the same machine "ircp-tray" worked like a dream. When I switched on the Palm a notice window occured saying "m505 within range". When i switched the Palm off, another window showed up "m505 disappeared".
In 64bit Version there is complete silence.

I hope this helps you finding the bug.

Bye, Franco

uname -a:
Linux TM6292 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:05:01 UTC 2009 x86_64 GNU/Linux

dmesg:
[ 42.060298] nsc_ircc_pnp_probe() : From PnP, found firbase 0x2F8 ; irq 3 ; dma 1.
[ 42.060330] nsc-ircc, chip->init
[ 42.060344] nsc-ircc, Found chip at base=0x164e
[ 42.060386] nsc-ircc, driver loaded (Dag Brattli)
[ 42.061123] IrDA: Registered device irda0
[ 42.061126] nsc-ircc, Using dongle: IBM31T1100 or Temic TFDS6000/TFDS6500
[ 43.213806] nsc-ircc 00:0a: in use; can't configure
[ 43.213857] nsc-ircc 00:0a: in use; can't configure

irdadump:
08:04:14.230343 xid:cmd f175c742 > ffffffff S=6 s=0 (14)
08:04:14.320207 xid:cmd f175c742 > ffffffff S=6 s=1 (14)
08:04:14.410204 xid:cmd f175c742 > ffffffff S=6 s=2 (14)
08:04:14.500202 xid:cmd f175c742 > ffffffff S=6 s=3 (14)
08:04:14.590206 xid:cmd f175c742 > ffffffff S=6 s=4 (14)
08:04:14.680205 xid:cmd f175c742 > ffffffff S=6 s=5 (14)
08:04:14.770203 xid:cmd f175c742 > ffffffff S=6 s=* TM6292 hint=8420 [ Computer IrOBEX ] (23)
08:04:17.230206 xid:cmd f175c742 > ffffffff S=6 s=0 (14)
08:04:17.320204 xid:cmd f175c742 > ffffffff S=6 s=1 (14)
08:04:17.410203 xid:cmd f175c742 > ffffffff S=6 s=2 (14)
08:04:17.500202 xid:cmd f175c742 > ffffffff S=6 s=3 (14)
08:04:17.575679 xid:rsp f175c742 < 8d2de14b S=6 s=3 m505 hint=8220 [ PDA/Palmtop IrOBEX ] (22)
08:04:17.590192 xid:cmd f175c742 > ffffffff S=6 s=4 (14)
08:04:17.680207 xid:cmd f175c742 > ffffffff S=6 s=5 (14)
08:04:17.770204 xid:cmd f175c742 > ffffffff S=6 s=* TM6292 hint=8420 [ Computer IrOBEX ] (23)
08:04:20.230205 xid:cmd f175c742 > ffffffff S=6 s=0 (14)
08:04:20.305638 xid:rsp f175c742 < 8d2de14b S=6 s=0 m505 hint=8220 [ PDA/Palmtop IrOBEX ] (22)
08:04:20.320192 xid:cmd f175c742 > ffffffff S=6 s=1 (14)
08:04:20.410206 xid:cmd f175c742 > ffffffff S=6 s=2 (14)
08:04:20.500203 xid:cmd f175c742 > ffffffff S=6 s=3 (14)
08:04:20.590202 xid:cmd f175c742 > ffffffff S=6 s=4 (14)
08:04:20.680202 xid:cmd f175c742 > ffffffff S=6 s=5 (14)
08:04:20.770203 xid:cmd f175c742 > ffffffff S=6 s=* TM6292 hint=8420 [ Computer IrOBEX ] (23)
08:04:23.230206 xid:cmd f175c742 > ffffffff S=6 s=0 (14)
08:04:23.305620 xid:rsp f175c742 < 8d2de14b S=6 s=0 m505 hint=8220 [ PDA/Palmtop IrOBEX ] (22)
08:04:23.320193 xid:cmd f175c742 > ffffffff S=6 s=1 (14)
08:04:23.410206 xid:cmd f175c742 > ffffffff S=6 s=2 (14)
08:04:23.500203 xid:cmd f175c742 > ffffffff S=6 s=3 (14)
08:04:23.590202 xid:cmd f175c742 > ffffffff S=6 s=4 (14)
08:04:23.680204 xid:cmd f175c742 > ffffffff S=6 s=5 (14)
08:04:23.770203 xid:cmd f175c742 > ffffffff S=6 s=* TM6292 hint=8420 [ Computer IrOBEX ] (23)
08:04:26.230201 xid:cmd f175c742 > ffffffff S=6 s=0 (14)
08:04:26.320209 xid:cmd f175c742 > ffffffff S=6 s=1 (14)
08:04:26.410207 xid:cmd f175c742 > ffffffff S=6 s=2 (14)
08:04:26.500203 xid:cmd f175c742 > ffffffff S=6 s=3 (14)
08:04:26.590204 xid:cmd f175c742 > ffffffff S=6 s=4 (14)
08:04:26.680207 xid:cmd f175c742 > ffffffff S=6 s=5 (14)
08:04:26.770204 xid:cmd f175c742 > ffffffff S=6 s=* TM6292 hint=8420 [ Computer IrOBEX ] (23)

/etc/default/irda-utils:
# Set your startup settings for irattach, the IrDA-daemon, here.

# Set this to 'false' if you do not need to start irattach. Otherwise set it
# to 'true'.
ENABLE="false"

# Set this to 'false' if you do not want automatic discovery of irda devices.
# If 'true', it will automatically start irattach if devices are found.
AUTOMATIC="true"

# Set discovery mode which usually is a good idea for finding other devices.
# If set 'true' or 'false' irattach and sysctl are used to enable and disable
# discovery mode. By default discover mode is disabled.
DISCOVERY="true"

# Set IRDA device to access (e.g. /dev/ttyS1 or irda0).
# In case of irda0, the proper module for FIR-mode has to be set in
# /etc/modprobe.d/irda-utils.conf
DEVICE="/dev/ttyS1"

# Set dongle type, e.g. none, tekram, esi, actisys, actisys+, ep7211, girbil,
# litelink, airport, old_belkin, mcp2120, act200l, ma600). You do not need
# a dongle for FIR mode.
DONGLE="none"

# Set the serial device to quiet with setserial. This is only useful on some
# machines in FIR-mode, so most people should leave it blank. See
# README.Debian for more information.
SETSERIAL=""

# Some laptops (Toshiba Satellites and others with SMCS LPC47N227) require
# running smcinit to initialize the irda device prior to use.
# If you device is one of them, set this option to "yes"
USE_SMCINIT="no"

Related branches

Revision history for this message
franco_bez (franco-bez) wrote :

Hi all,
I found a workaround for this problem.
I do not know whether the reason is a bug in gcc or whatever.

trying to get to the bottom of the problem I decided to compile the program from source.

I added a diagnostic message in discover_do and it works :-)
when I remove the line again and recompile the bug is back 8-)

As I said, maybe a bug in gcc.

so here's the diff:

diff -u app.c app.c-franco
--- app.c 2009-02-18 20:44:20.000000000 +0100
+++ app.c-franco 2009-11-30 10:15:01.892637432 +0100
@@ -437,6 +437,8 @@

  list = irda_discover_device(-1);

+ printf(".\n");
+
  if(list && list->len)
  {
   if(strncmp(discoverer_name, list->dev[0].info,

Revision history for this message
Daniele Napolitano (dnax88) wrote :

o__O Very strange workaround...

Unfortunately I haven't any 64bit processor for debug this behavior. So, the future version 0.8 will have a completely new system of discovery.

Revision history for this message
franco_bez (franco-bez) wrote :

The situation is still the same with Lucid 64bit

The same workaround as for Karmic applies.

Changed in ircp-tray:
importance: Undecided → High
status: New → Confirmed
Revision history for this message
Daniele Napolitano (dnax88) wrote :

Could you try the latest development version? https://code.launchpad.net/~dnax88/ircp-tray/0.7.3

Changed in ircp-tray:
milestone: none → 0.7.5
Revision history for this message
franco_bez (franco-bez) wrote :

I tried the latest source.
I hope I got it all right:

bzr branch lp:ircp-tray/0.7
cd 0.7
./autogen.sh
./configure
make

the new code works like a dream :-)

The bug is fixed.

Thanks a lot.

Changed in ircp-tray:
status: Confirmed → Fix Committed
Changed in ircp-tray:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.