Opened 12 years ago

Closed 6 years ago

#1120 closed defect (wontfix)

gpsbabel works only as root

Reported by: micha Owned by: live-demo@…
Priority: normal Milestone: OSGeoLive8.0
Component: OSGeoLive Keywords: gps, gpsbabel, GPSTools
Cc: live-demo@…

Description

I see that trying to download data with gpsbabel from a garmin GPS works only as root on the Live DVD. The user 'user' doesn't have permissions on the USB device. So the QGIS plugin GPSTools also doesn't work.

The workaround suggested here http://wiki.openstreetmap.org/wiki/USB_Garmin_on_GNU/Linux is to add a udev rules file. (The user 'user' is already a member of plugdev). Should we consider something like:

echo << EOF > /etc/udev/rules.d/51-garmin.rules
ATTRS{idVendor}=="091e", ATTRS{idProduct}=="0003", MODE="664", GROUP="plugdev" 
EOF

in the setdown.sh script ?? or elsewhere?

Change History (12)

comment:1 by hamish, 12 years ago

Keywords: gps gpsbabel GPSTools → gps, gpsbabel, GPSTools

I'd prefer a more general permissions fix than just solving it for a single USB make:model ID code. What is the 'ls -l' owner,group of the device in /dev/ after it is pugged in?

Is gpsd also suffering? with 'gpsd' running can you see satellites with the 'xgps' program? (see also the gpsdrive quickstart page) How about OpenCPN, can you do a direct or gpsd connection & get a position?

Hamish

ps- It's not really documented AFAIK, but trac needs commas between keywords to parse them properly.

in reply to:  1 comment:2 by micha, 12 years ago

Replying to hamish:

I'd prefer a more general permissions fix than just solving it for a single USB make:model ID code. What is the 'ls -l' owner,group of the device in /dev/ after it is pugged in?

user@IAEA-Tutorial:~$ lsusb Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet Bus 001 Device 003: ID 091e:0003 Garmin International GPS (various models) user@IAEA-Tutorial:~$ ll /dev/bus/usb/001/003 crw-rw-rw- 1 root plugdev 189, 2 Apr 7 10:25 /dev/bus/usb/001/003

Is gpsd also suffering? with 'gpsd' running can you see satellites with the 'xgps' program? (see also the gpsdrive quickstart page)

I also tried gpsdrive (uses gpsd) and my GPS was not recognized...

How about OpenCPN, can you do a direct or gpsd connection & get a position?

Hamish

ps- It's not really documented AFAIK, but trac needs commas between keywords to parse them properly.

(Argh, you already mentioned that, but I forgot.)

comment:3 by hamish, 12 years ago

micha wrote:

user@IAEA-Tutorial:~$ ll /dev/bus/usb/001/003
crw-rw-rw- 1 root plugdev 189, 2 Apr 7 10:25 /dev/bus/usb/001/003 

is that before or after the adding the udev rule?

'plugdev' was not on the list of groups to sign the user up to in setdown.sh, I've just added it in r10101.

Try:

sudo adduser user plugdev

then logging out and back in again, then plugging in the GPS.

I also tried gpsdrive (uses gpsd) and my GPS was not recognized...

you don't mention, so just in case: gpsd must be started manually, gpsdrive doesn't launch it for you; see the gpsd man page for details. (auto-probing some Bluetooth GPSs can put the device in an unstable state)

what model garmin is it? does 'dmesg | tail' give any other hints?

Hamish

comment:4 by hamish, 11 years ago

Resolution: fixed
Status: newclosed

presumed fixed by adding user the the plugdev group.

Hamish

comment:5 by micha, 11 years ago

Sorry but this problem still seems to persist. The 'user' is indeed a member of plugdev, as Hamish setup, but it's not enough. I plug in a GPS, (in the VM, select the USB device) then...

user@osgeolive:~$ dmesg | tail -1
[  204.564088] usb 1-2: new full-speed USB device number 3 using ohci_hcd
user@osgeolive:~$ gpsbabel -w -i garmin -o gpx USB: waypoints.gpx
Claim interfaced failed: could not claim interface 0: Operation not permitted

The GPSTools plugin in QGIS also fails.

However the same command with sudo works fine. (GPS beeps and waypoints are downloaded)

user@osgeolive:~$ sudo gpsbabel -w -i garmin -o gpx USB: waypoints.gpx
user@osgeolive:~$ 

At this late date, perhaps we should push milestone to 7.5, but leave the trac issue open??

comment:6 by hamish, 11 years ago

Milestone: OSGeoLive7.0OSGeoLive7.5
Resolution: fixed
Status: closedreopened

does gpsd's xgps work? how about OpenCPN and GpsDrive? If GtkTerm is installed on the disc (I forget if we did that or not) can you view the NMEA stream? Is the GPS sending NMEA or proprietary binary format from Prolific etc? Does it work when running on a real machine instead of a VM? which VM software are you using?

thanks, Hamish

comment:7 by hamish, 11 years ago

Hi,

I didn't try a garmin GPS or gpsbabel, but fwiw I've tried 7.0rc2 with a profilic + bu343 sirfIII usb gps puck and it worked ok with: gpsd's xgps, opencpn, gpsdrive, viking, josm livegps plugin, and gtkterm (not on the disk after all).

Hamish

in reply to:  7 comment:8 by micha, 11 years ago

Replying to hamish:

Hi,

I didn't try a garmin GPS or gpsbabel, but fwiw I've tried 7.0rc2 with a profilic + bu343 sirfIII usb gps puck and it worked ok with: gpsd's xgps, opencpn, gpsdrive, viking, josm livegps plugin, and gtkterm (not on the disk after all).

Good news. It's academic now, since there's no time for any changes. But after 7.0 comes out, I do some more testing with gpsbabel and gpsd. Hopefully we can get this smoothed out for the next release.

Hamish

comment:9 by kalxas, 11 years ago

Milestone: OSGeoLive7.9OSGeoLive8.0

comment:10 by hamish, 10 years ago

Hi, can any one do some more testing with this? How about someone with a real serial port, does ttyS0 work or is the problem just with ttyUSB0?

Hamish

comment:11 by kalxas, 8 years ago

Cc: live-demo@… added
Type: enhancementdefect

comment:12 by darkblueb, 6 years ago

Resolution: wontfix
Status: reopenedclosed

12dev alpha1 ; gpsdrive is retired

Note: See TracTickets for help on using tickets.