Siduction Forum
Siduction Forum => Hardware - Support => Topic started by: der_bud on 2014/09/28, 13:40:08
-
Hi, does anybody know how to make gpsbabel (or others like viking or qlandkartegt) work together with a Garmin Etrex Vista HCx device? I tried nearly every advice I found for example
here Fixing USB permissions for Garmins in GPSBabel#Debian (http://www.gpsbabel.org/os/Linux_Hotplug.html#debian)
or here Debianforum - garmin etrex vista hcx mit qlandkarte verbinden (https://debianforum.de/forum/viewtopic.php?f=29&t=105997)
or here Ubuntuwiki - Garmin eTrex Serie (http://wiki.ubuntuusers.de/Garmin_eTrex_Serie)
The module garmin_gps is blacklisted and not loaded, in /etc/udev/rules.d/51-garmin.conf I tried (one after another with rebooting in between) each of the following three lines I found in web
#SUBSYSTEMS=="usb", ATTRS{idVendor}=="091e", ATTRS{idProduct}=="0003", MODE="0666", GROUP="plugdev"
#SUBSYSTEM!="usb_device", GOTO="garmin_rules_end" ACTION!="add", GOTO="garmin_rules_end" ATTRS{idVendor}=="091e", ATTRS{idProduct}=="0003", MODE="0660", GROUP="plugdev" LABEL="garmin_rules_end"
#SYSFS{idVendor}="091e", SYSFS{idProduct}="0003", MODE="0666", GROUP="plugdev"
My user is (beside others) member of the groups lp, dialout plugdev.
Symptoms:
I plug the device into the usb slot of my Thinkpad T60, and switch it on. Journalctl -f shows then:
Sep 28 13:03:43 sidtp kernel: usb 1-2: new full-speed USB device number 2 using uhci_hcd
Sep 28 13:03:43 sidtp systemd-udevd[184]: Network interface NamePolicy= disabled on kernel commandline, ignoring.
Sep 28 13:03:43 sidtp kernel: usb 1-2: New USB device found, idVendor=091e, idProduct=0003
Sep 28 13:03:43 sidtp kernel: usb 1-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Sep 28 13:03:43 sidtp mtp-probe[2478]: checking bus 1, device 2: "/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-2"
Sep 28 13:03:44 sidtp mtp-probe[2478]: bus: 1, device: 2 was not an MTP device
and
lsusb
Bus 001 Device 002: ID 091e:0003 Garmin International GPS (various models)
But when I (no matter if root or user) issue via gui
gpsbabel -t -i garmin -f usb: -o gpx -F /home/martin/test.gpx
Claim interfaced failed: could not claim interface 0: Operation not permitted
Error running gpsbabel: Process exited unsucessfully with code 1
More verbose in terminal
gpsbabel -D9 -t -i garmin -f usb: -o gpx -F TP.gpx
GPSBabel Version: 1.5.0
TX [12]:00 00 00 00 05 00 00 00 00 00 00 00 ............(SESREQ )
TX [12]:00 00 00 00 05 00 00 00 00 00 00 00 ............(SESREQ )
TX [12]:00 00 00 00 05 00 00 00 00 00 00 00 ............(SESREQ )
RX (intr) [-110]:(CMDDAT Abort)
RX (intr) [-110]:(CMDDAT Abort)
RX (intr) [-110]:(CMDDAT Abort)
RX (intr) [-110]:(CMDDAT Abort)
RX (intr) [-110]:(CMDDAT Abort)
RX (intr) [-110]:(CMDDAT Abort)
RX (intr) [-110]:(CMDDAT Abort)
RX (intr) [-110]:(CMDDAT Abort)
RX (intr) [-110]:(CMDDAT Abort)
RX (intr) [-110]:(CMDDAT Abort)
RX (intr) [-110]:(CMDDAT Abort)
Could not start session in a reasonable number of tries.
So the gpsbabel gui as well as viking and qlandkartegt do not upload or download gpx data to/from that Etrex. (If I leave out udev rules and do the same as above with /dev/ttyUSB0 instead of 'usb:' it's the same).
Any ideas?
System: Host: sidtp Kernel: 3.16-3.towo-siduction-amd64 x86_64 (64 bit) Desktop: KDE 4.14.1
Distro: siduction 13.2.0 December - kde - (201312310241)
Machine: System: LENOVO product: 2008UGU v: ThinkPad T60
Mobo: LENOVO model: 2008UGU Bios: LENOVO v: 79ETE7WW (2.27 ) date: 03/21/2011
CPU: Dual core Intel Core2 T5600 (-MCP-) speed/max: 1000/1833 MHz
Graphics: Card: Advanced Micro Devices [AMD/ATI] RV515/M52 [Mobility Radeon X1300]
Display Server: X.Org 1.16.1 drivers: ati,radeon (unloaded: fbdev,vesa) Resolution: 1400x1050@60.02hz
GLX Renderer: Gallium 0.4 on ATI RV515 GLX Version: 2.1 Mesa 10.2.6
Network: Card: Qualcomm Atheros AR5418 Wireless Network Adapter [AR5008E 802.11(a)bgn] (PCI-Express)
driver: ath9k
Drives: HDD Total Size: 570.1GB (19.0% used) ID-1: model: Samsung_SSD_840
ID-2: model: SAMSUNG_HM321HI
Info: Processes: 144 Uptime: 8 min Memory: 443.5/3014.8MB Client: Shell (bash) inxi: 2.2.12
-
Apart from what you found googeling I found tree other solutions (?):
1)
I have a different Garmin model that works with this software, and I'm
just guessing: mine has an option in the GPS's own menus to switch the
USB mode between mass storage and something else; I've been using the
first one and it works fine (I can also copy/move the *.gpx files as
with any USB drive)
http://sourceforge.net/p/qlandkartegt/mailman/message/30114930/
2)
echo "SYSFS{idVendor}==\"091e\", SYSFS{idProduct}==\"0003\", MODE=\"0666\"" | sudo tee /etc/udev/rules.d/51-garmin.rules
http://forum.ubuntuusers.de/topic/garmin-etrex-venture-hc-an-usb-port/
3)
What I usually do, as I seldom transfer data to/from the GPS, is setting
the USB device permissions manually every time I plug the device. For example:
# lsusb
Bus 005 Device 003: ID 091e:0003 Garmin International GPS (various models)
# dmesg
[ 1621.781686] usb 5-1: USB disconnect, device number 2
[ 1652.160316] usb 5-1: new full-speed USB device number 3 using ohci_hcd
# ls -lrt /dev/bus/usb/005/003
crw-rw-r-- 1 root root 189, 514 Nov 17 22:20 /dev/bus/usb/005/003
As your can see , the USB device doesn't have write permissions for anyone
but the root user and group. Just give your user or anybody write
permissions, and you should be OK:
(I use ACL) # setfacl -m u:username:rw /dev/bus/usb/005/003
# chmod 666 /dev/bus/usb/005/003
Next, if everythign else is right, you should be able to access the Garmin
GPS from QLGT for both download and upload data to it.
http://sourceforge.net/p/qlandkartegt/mailman/message/30114930/
I hope one of these findings *is* a solution.
-
Thx for your suggestions.
Re 1): The Etrex has an additional SD-Card that I can access with the method described (used for copying maps). But that does not help in accessing tracks, routes or waypoints in the internal memory.
Re 3): ls -lrt /dev/bus/usb/001/003
crw-rw-rw- 1 root plugdev 189, 2 Sep 28 18:53 /dev/bus/usb/001/003
My user is member of plugdev, I alway tried to access as user and root, and my example gpsbabel-command is just for reading which should work.
Re 2): That udev rule already was amongst the ones I tries. But now i followed some of the links you gave in 1) and 2), and one lead me to a newer post at qlandkartegt, stating that rule was for pre-3.x kernels while newer need another syntax:
Newer kernels need a similar udev rules file, however with slightly different content.
You should enter:
ATTRS{idVendor}=="091e", ATTRS{idProduct}=="0003", MODE="0660", GROUP="plugdev"
I did that, to no avail. Meanwhile I know that I have no clue about syntax and writing of udev-rules. Searching the web I found the above one as well as one with ATTR (without S). And both versions I've seen with a 'SUBSYSTEM="usb"' or SUBSYTEMS=="usb" at the beginnig of the line. Tried all versions, no success :(
-
Sorry I coudn't help.
BTW, did you take notice of my last PM, (not re Garmin, but re MB+bücher)?
-
Got it solved during LUG (https://www.lug-celle.de/) meeting with help of some mates who had that same problem earlier. The culprit was powermanagement settings that are effective when using tools like tlp (http://linrunner.de/en/tlp/tlp.html) or laptop-mode-tools (https://packages.debian.org/sid/laptop-mode-tools). When usb-autosuspend is set, the garmin understands that powermanagement is available and switches of usb power after ~2s.
To solve that, the usb device has to be blacklisted in powermanagement settings, for example
- with laptop-mode-tools in /etc/laptop-mode/conf.d/usb-autosuspend.conf (1 ) (http://www.hecticgeek.com/2012/06/fix-usb-mouse-not-working-laptop-mode-tools-ubuntu/):
AUTOSUSPEND_USBID_BLACKLIST="091e:0003"
- with TLP in /etc/default/tlp.conf (2 ) (http://linrunner.de/en/tlp/docs/tlp-configuration.html#usb):
USB_BLACKLIST="091e:0003"
Worked for me :).