Package: gpsd
Version: 2.92-1
Severity: minor
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Device removal is not completely working yet:
# gpsctl
gpsctl: /dev/ttyUSB0 identified as Generic NMEA at 38400
# socat STDIN /var/run/gpsd.sock
- -/dev/ttyUSB0
OK
# gpsctl
gpsctl: /dev/ttyUSB0 identified as Generic NMEA at 38400
At gpsd.c:902, the removal code calls deactivate_device, which has this
comment:
/* deactivate device, but leave it in the pool (do not free it) */
And in fact the device is now deactivated - i.e. contrary to what happend
with the hotplug script bug, if the gps is reconnected it can use again
/dev/ttyUSB0, it's not moved to /dev/ttyUSB1.
I wonder if there's a reason not to remove the device from the pool; I've
tested (not extensively)
this patch and did not experience problems:
- -- gpsd-2.92/gpsd.c 2010-01-28 02:10:50.000000000 +0100
+++ gpsd-2.92.new/gpsd.c 2010-03-07 16:15:25.792824418 +0100
@@ -900,6 +900,7 @@
adjust_max_fd(devp->gpsdata.gps_fd, false);
}
deactivate_device(devp);
+ free_device(devp);
ignore_return(write(sfd, "OK\n", 3));
} else
ignore_return(write(sfd, "ERROR\n", 6));
Cheers,
Luca
- -- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (995, 'unstable'), (991, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.33 (SMP w/2 CPU cores)
Locale: LANG=it_IT.UTF-8, LC_CTYPE=it_IT.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages gpsd depends on:
ii debconf [debconf-2.0] 1.5.28 Debian configuration management sy
ii libc6 2.10.2-6 Embedded GNU C Library: Shared lib
ii libdbus-1-3 1.2.20-2 simple interprocess messaging syst
ii libgps19 2.92-1 Global Positioning System - librar
ii lsb-base 3.2-23 Linux Standard Base 3.2 init scrip
ii netbase 4.40 Basic TCP/IP networking system
ii python 2.5.4-9 An interactive high-level object-o
Versions of packages gpsd recommends:
ii udev 151-2 /dev/ and hotplug management daemo
Versions of packages gpsd suggests:
ii dbus 1.2.20-2 simple interprocess messaging syst
ii gpsd-clients 2.92-1 Global Positioning System - client
- -- debconf information:
* gpsd/start_daemon: false
* gpsd/device:
* gpsd/daemon_options: -b
* gpsd/socket: /var/run/gpsd.sock
gpsd/brokenconfig:
* gpsd/autodetection: true
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iEYEARECAAYFAkuTxb4ACgkQ+AQB36CPPloyfwCfcDiZj3Bk7pM1L6W99WNe2x1q
EVUAn1h2vS9cR+FqiTsOjl8DA74EkxOl
=m7uH
-----END PGP SIGNATURE-----
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]