Bug#864338: gpsd: Provide a way to initialize GPS mode on cards like Ericsson F5521gw or F3507g
Hi, please note that this is not a forum and not a user help lines, its a bug tracker. Please fix your device and permissions issues first, with the help from a debian-user mailinglist for example, and if you can send a proper report, do so. > Now I am confused that none of the previously working steps led to any output > on my device port. what is a "device port"? > In the past it wasn't possible to directly read /dev/ttyACM2 because of > permission issues. permission issues are not a problem that gpsd can fix for you. Use udev rules or whatever else is necessary. > The necessary information are posted here: > https://forum.ubuntuusers.de/topic/gpsd-mit-ericsson-f5521gw-mobile-broadband-mod/#post-6727147 > . > For now I can only report that gpsd can't read from the pipe mentioned in > this post. Which is just fine, because what you are doing there is sad sad nonsense. Learn to fix device permissions. > I turned the gps receiver on in the way I was able to remember, went outside, > but couldn't get any output of the NMEA stream when reading from > /dev/ttyACM2. I tried around with hard-resets and different ways connecting > clients, reading directly from port, but nothing turned out to work for me. Thas a LTE modem or something similar, you'll probably have to switch it into gps mode first. Nothing gpsd will do for you. So basically: 1. fix your permission issues (using a pipe is not a fix!), maybe using udev or whatever else is necessary. 2. learn how to put your modem into a working mode 3. trigger gpsd to read from you device. If you then run into bugs, run gpsd in debug mode... Bernd -- Bernd ZeimetzDebian GNU/Linux Developer http://bzed.dehttp://www.debian.org GPG Fingerprint: ECA1 E3F2 8E11 2432 D485 DD95 EB36 171A 6FF9 435F
Bug#864338: gpsd: Provide a way to initialize GPS mode on cards like Ericsson F5521gw or F3507g
Package: gpsd Version: 3.20-12+b2 Followup-For: Bug #864338 X-Debbugs-Cc: b.ruh...@web.de Dear Maintainer, dear Benoit, I am an owner of an Ericsson H5321 gw module and experienced gpsd user. Since my last approach to finally make use of my gps receiver, there must have happend something with the debian configuration. The information from the thinkwiki.org pages were, as you already mentioned here, useful for me and turned out to make the gps receiver work for me. I already tested out functions of the F3507g receiver and posted a working solution on ubuntuforums about 7 years ago. Now I use a different receiver and when first tested everything seemed working well. This was about 3 years ago. Now I am confused that none of the previously working steps led to any output on my device port. When last tested I recognized that something had changed in the way gpsd can operate on the port. In the past it wasn't possible to directly read /dev/ttyACM2 because of permission issues. The necessary information are posted here: https://forum.ubuntuusers.de/topic/gpsd-mit-ericsson-f5521gw-mobile-broadband-mod/#post-6727147 . For now I can only report that gpsd can't read from the pipe mentioned in this post. So for me it's not reproduceable anymore. Maybe I'm missing something. I searched the web again but didn't find a solution. I turned the gps receiver on in the way I was able to remember, went outside, but couldn't get any output of the NMEA stream when reading from /dev/ttyACM2. I tried around with hard-resets and different ways connecting clients, reading directly from port, but nothing turned out to work for me. Any further help would be appreciated, Ben -- System Information: Debian Release: bullseye/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.10.4 (SMP w/4 CPU threads) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages gpsd depends on: ii adduser3.118 ii libbluetooth3 5.55-2 ii libc6 2.31-6 ii libdbus-1-31.12.20-1 ii libgps26 3.20-12+b2 ii libusb-1.0-0 2:1.0.24-2 ii lsb-base 11.1.0 ii netbase6.2 ii python33.9.1-1 ii systemd-sysv 247.2-3 Versions of packages gpsd recommends: ii gpsd-tools 3.20-12+b2 ii udev247.2-3 Versions of packages gpsd suggests: ii apparmor 2.13.6-3 ii dbus 1.12.20-1 ii gpsd-clients 3.20-12+b2 -- Configuration Files: /etc/default/gpsd changed: DEVICES="/dev/ttyACM2" GPSD_OPTIONS="" USBAUTO="true" START_DAEMON="false" -- no debconf information
Bug#864338: gpsd: Provide a way to initialize GPS mode on cards like Ericsson F5521gw or F3507g
Obviously, the best solution here is support from upstream gpsd. But I have a couple of suggestions which may help you work-around that lack of support. On Wed, 07 Jun 2017 08:58:14 +0200 Benoit Panizzonwrote: > Unfortunately the modem resets itself when the serial device is closed. So > you cannot use minicom or a > script to put the modem in GPS Mode and then start gpsd. What if your script forks and sleeps for a while, such that gpsd has opened the serial port before your script quits? Something like this, in the sysvinit style: script_to_initialize_modem & sleep LONG_ENOUGH_FOR_INITIALIZATION start-stop-daemon ... gpsd ... script_to_initialize_modem does this: open the serial port send the data sleep LONG_ENOUGH_FOR_GPSD_TO_START With systemd, you'd probably want to do something like: 1) A separate service for the initialize script, which is WantedBy=gpsd.service 2) To stall gpsd's startup long enough for your script to have initialized the device, create a drop-in like /etc/systemd/system/gpsd.service.d/delay.conf with this: ExecStartPre=/bin/sleep N > Also when gpsd would close the connection > because no client is connected, this would reset the modem. Try passing the -n flag to gpsd by adding it to GPSD_OPTIONS in /etc/default/gpsd. This should cause gpsd to keep the serial port open even with no clients. -- Richard
Bug#864338: gpsd: Provide a way to initialize GPS mode on cards like Ericsson F5521gw or F3507g
Package: gpsd Version: 3.11-3 Severity: normal Dear Maintainer, Some GSM/UMTS Modems built into Notebooks like the Lenovo T420 have GPS abilities. Previously it was possible to access the GPS via special MGM-GPSD Modules. But those have been discontiunued a while ago and are not being supplied with the Linux Kernel anymore, as the 'prefered' way to access the GPS not is via Serial interface. Those modems provide three, as far as I understand, identical serial interfaces. So you can use one as GSM Modem and another one as GPS. But you need to enable GPS function by issuing some AT commands: http://www.thinkwiki.org/wiki/Ericsson_F3507g_Mobile_Broadband_Module#Using_the_card_as_a_GPS_receiver AT*E2GPSCTL=1,1,1 AT*E2GPSNPD does the trick on mine. Unfortunately the modem resets itself when the serial device is closed. So you cannot use minicom or a script to put the modem in GPS Mode and then start gpsd. Also when gpsd would close the connection because no client is connected, this would reset the modem. Idealy, native detection for the F5521gw GPS would be built in into gpsd (ATI returns F5521gw) so that gpsd could initialize the GPS mode upon opening the serial device. I have been trying to send the serial commands with gpsctl -x , but this does not seem to work either. So my feature Request here is: Please to add support for F5521gw GPS detection and initialization, or add a way to send an arbitary init string to the serial gps device when opening the device. -Benoit- -- System Information: Debian Release: 8.8 APT prefers stable APT policy: (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores) Locale: LANG=de_CH.UTF-8, LC_CTYPE=de_CH.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages gpsd depends on: ii adduser 3.113+nmu3 ii init-system-helpers 1.22 ii libbluetooth35.23-2+b1 ii libc62.19-18+deb8u9 ii libdbus-1-3 1.8.22-0+deb8u1 ii libgps21 3.11-3 ii libusb-1.0-0 2:1.0.19-1 ii lsb-base 4.1+Debian13+nmu1 ii netbase 5.3 ii systemd-sysv 215-17+deb8u7 Versions of packages gpsd recommends: ii python 2.7.9-1 ii udev215-17+deb8u7 Versions of packages gpsd suggests: ii dbus 1.8.22-0+deb8u1 ii gpsd-clients 3.11-3 -- Configuration Files: /etc/default/gpsd changed: START_DAEMON="true" GPSD_OPTIONS="" DEVICES="/dev/gps0" USBAUTO="false" GPSD_SOCKET="/var/run/gpsd.sock" -- debconf information: * gpsd/daemon_options: * gpsd/start_daemon: true * gpsd/device: /dev/gps0 * gpsd/autodetection: false * gpsd/socket: /var/run/gpsd.sock