#798193 [modemmanager] interferes with gpsd: pls. blacklist newer ublox

Package:
modemmanager
Source:
modemmanager
Description:
D-Bus service for managing modems
Submitter:
formfeed
Date:
2015-09-06 15:06:10 UTC
Severity:
normal
#798193#5
Date:
2015-09-06 15:03:04 UTC
From:
To:
--- Please enter the report below this line. ---

Summary:
Please add newer u-blox gps devices to the blacklist
ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a7"
ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a8"


Details:

Trying a newer u-blox7 gps usb device (ID 1546:01a7 U-Blox AG) with gpsd, I noticed that gpsd would not recognize the device automatically.
Altering some udev-rules fixed this:
for gpsd:
/lib/udev/rules.d/60-gpsd.rules:
  # u-blox AG, u-blox 6 (tested with GNSS Evaluation Kit TCXO) [linux module: cdc_acm]
  ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a6", SYMLINK+="gps%n", TAG+="systemd", ENV{SYSTEMD_WANTS}="gpsdctl@%k.service"
+ # u-blox AG, u-blox 7 (tested with GPS/Glonass ublox-7) [linux module: cdc_acm]
+ ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a7", SYMLINK+="gps%n", TAG+="systemd", ENV{SYSTEMD_WANTS}="gpsdctl@%k.service"

for modemmanager:
/lib/udev/rules.d/77-mm-usb-device-blacklist.rules
  # u-blox AG, u-blox 6 (tested with GNSS Evaluation Kit TCXO) [linux module: cdc_acm]
  ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a6", SYMLINK+="gps%n", TAG+="systemd", ENV{SYSTEMD_WANTS}="gpsdctl@%k.service"
+ # u-blox AG, u-blox 7 (tested with GPS/Glonass ublox-7) [linux module: cdc_acm]
+ ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a7", SYMLINK+="gps%n", TAG+="systemd", ENV{SYSTEMD_WANTS}="gpsdctl@%k.service"


The interfering packages in jessie are gpsd 3.11-3 and  modemmanager 1.4.0-1.
The udev problem is fixed in gpsd 3.12-1, but modemmanager 1.4.0-1 still interferes.

Suggestion:
/lib/udev/rules.d/77-mm-usb-device-blacklist.rules
  # u-blox AG, u-blox 6 (tested with GNSS Evaluation Kit TCXO) [linux module: cdc_acm]
  ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a6", SYMLINK+="gps%n", TAG+="systemd", ENV{SYSTEMD_WANTS}="gpsdctl@%k.service"
+ # u-blox AG, u-blox 7 (tested with GPS/Glonass ublox-7) [linux module: cdc_acm]
+ ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a7", SYMLINK+="gps%n", TAG+="systemd", ENV{SYSTEMD_WANTS}="gpsdctl@%k.service"
+ # u-blox AG, u-blox 8  [linux module: cdc_acm]
+ ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a8", SYMLINK+="gps%n", TAG+="systemd", ENV{SYSTEMD_WANTS}="gpsdctl@%k.service"

Further ideas:
Short of fixing #683839, modemmanager could check other ttyUSB rules at install time and warn users, and/or check at start up and log conflicts.
("Warning: Device 1546:01a7 is also claimed by gpsd, you might want to blacklist it in modemmanager, details at http:....)