Bug#864338: gpsd: Provide a way to initialize GPS mode on cards like Ericsson F5521gw or F3507g

2021-01-16 Thread Bernd Zeimetz


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

2021-01-15 Thread Ben Ruhnow
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

2017-12-01 Thread Richard Laager
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 Panizzon 
wrote:
> 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

2017-06-07 Thread Benoit Panizzon
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