0

I would like my Raspberry Pi 3 to auto detect my Garmin watch USB device when connected it via USB to it. So I could copy the .fit files from the devices for subsequent processing.

Currently I cannot manage to auto detect the device when connecting it to the Pi.

When connecting the watch to my laptop running Linux Mint it automatically detects the device and mounts the files on the device at the following path

/run/user/1000/gvfs/Primary/GARMIN/Activity/...

including all the wanted .fit files. Since Mint / Ubuntu as well as Rasbian are based on Debian I hoped it would work, but maybe I am just missing a package which handles this?

Connecting the device to a Mac tells me the connection is established using MTP. Can anyone point me in the right direction of how I could solve this?

Note: I'm using Raspbian Buster Lite.

The output of dmesg after connecting the device is

[  354.628053] usb 1-1.2: new high-speed USB device number 5 using xhci_hcd
[  354.758319] usb 1-1.2: New USB device found, idVendor=091e, idProduct=0003, bcdDevice= 0.01
[  354.758335] usb 1-1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[  354.760485] garmin_gps 1-1.2:1.0: Garmin GPS usb/tty converter detected
[  354.761017] usb 1-1.2: Garmin GPS usb/tty converter now attached to ttyUSB0

Edit 11.25.2019:

Additional info: using lsusb shows the Raspberry Pi somehow detects the device

Bus 001 Device 004: ID 091e:4b48 Garmin International 

Using the given bus (001) and device (004) and udevadm I also get a ton of information about my device

pi@raspberrypi:~ $ udevadm info /dev/bus/usb/001/004 
P: /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.2
N: bus/usb/001/004
L: 0
S: libmtp-1-1.2
E: DEVPATH=/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.2
E: DEVNAME=/dev/bus/usb/001/004
E: DEVTYPE=usb_device
E: DRIVER=usb
E: SUBSYSTEM=usb
...
E: ID_BUS=usb
E: ID_USB_INTERFACES=:ffff00:
E: ID_VENDOR_FROM_DATABASE=Garmin International
E: GPHOTO2_DRIVER=PTP
E: ID_GPHOTO2=1
E: ID_MEDIA_PLAYER=1
E: ID_MTP_DEVICE=1
E: ID_PATH=platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2
E: ID_PATH_TAG=platform-fd500000_pcie-pci-0000_01_00_0-usb-0_1_2
E: ID_FOR_SEAT=usb-platform-fd500000_pcie-pci-0000_01_00_0-usb-0_1_2
E: DEVLINKS=/dev/libmtp-1-1.2
E: TAGS=:seat:uaccess:

Adding udev rules like described on this OSM article in the section "Fixing Device Permissions" does also not help. I tried it with the following rule in /etc/udev/rules.d/51-garmin.rules:

SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", ATTRS{idProduct}=="4b48", MODE="666"

Which contains the vendor and product id given from lsusb.

Hope someone knows how to proceed with this.

  • Try searching Mint packages (eg. for "garmin") to see what it is. – goldilocks Nov 19 '19 at 19:20
  • I tried installing all packages related to "usb", "gvfs", "mtp" without success. Even Rasbian Full (aka. desktop versoin) does not auto connect the device. Any other hint? @goldilocks – Fabs Nov 24 '19 at 19:33
  • Try grep -i garmin /etc/udev/rules.d; this is almost certainly part of the methodology. If nothing shows up, eyeball the files that are in there and see if anything looks related (there will just be a few small text files). – goldilocks Nov 24 '19 at 22:02
  • On the RPI there are now files at all in /etc/udev/rules.d/. On my laptop there is nothing gamrin related with grep -i garmin /etc/udev/rules.d/*. I added some more info of what I found so far above. But I still don't manage to mount the device @goldilocks – Fabs Nov 25 '19 at 21:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.