Polling of devices does not work in Ubuntu Karmic 64bit
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_
[ 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/
# 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.
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
Changed in ircp-tray: | |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in ircp-tray: | |
status: | Confirmed → Fix Committed |
Changed in ircp-tray: | |
status: | Fix Committed → Fix Released |
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"); discoverer_ name, list->dev[0].info,
+
if(list && list->len)
{
if(strncmp(