gpsd-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GPS Mac OS challenges


From: Marc Rosen
Subject: Re: GPS Mac OS challenges
Date: Wed, 15 Dec 2021 19:16:12 -1000

Here you go - thanks for your help Gary.
This is from notes and memory so might not be perfect:



I’m writing this up after successfully setting my system clock with the IC-705. There is no warranty that this works, you are on your own. My setup includes a MBP 14”  running Monterey and the IC-705

the IC-705 feeds a GPS message protocol called NMEA - there is an additional feed called PPS which to my knowledge , is not available on the IC-705, but is considered more accurate. the 

Warning - your are embarking on a saga that could destroy your computer and the universe itself - be careful, you will be using root privileges and all that entails - consider yourself warned!

Step 1 - Set up IC-705 to feed NMEA GPS messages


First, you must make the GPS signal available on the IC-705’s USB cable. 

Do the following on your IC-705: MENU button -> SET -> Connectors -> USB (B) Function -> GPS Out, set to ON

Start by making sure you can get data from your GPS, otherwise the later steps will be very frustrating. In this command:

# Suggested Command 

stty -F /dev/ttyXXX ispeed 4800 && cat </dev/ttyXXX

# Ultimate working command of my system ( modem port depends on your system)

stty -f /dev/cu.usbmodem1203 ispeed 9600 && cat </dev/cu.usbmodem1203



Step 2 - increase a couple Shared Memory limits on the Mac

see what your shared memory setup is:

 

sysctl -a | grep sysv.shm

( I think I needed to change one item: “sudo  sysctl  -w  kern.sysv.shmseg=32” )

Persisting shared memory limits on OS X 12 Monterey

add a text file “plist" to /Library/LaunchDaemons  
the file name is immaterial - I found a useful file ( com.wsjtx.sysctl.plist )  and edited it to my needs
the text file plist is very sensitive - beware of spaces in value strings and misspellings


sudo launchctl load com.wsjtx.sysctl.plist 

( if you mess it up or need to retry - unload then load)
sudo launchctl unload com.wsjtx.sysctl.plist   




the text of the file I used ultimately is:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.wsjtx.sysctl</string>
    <key>Program</key>
    <string>/usr/sbin/sysctl</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/sbin/sysctl</string>
        <string>kern.sysv.shmmax=52428800</string>
        <string>kern.sysv.shmall=25600</string>
<string>kern.sysv.shmmni=128</string>
<string>kern.sysv.shmseg=32 </string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Step 3 - Download homebrew and install and configure gpsd

*note - use the 705’s GPS information screen to make sure you have a good gps satellite signal - this can take an hour or more to stabilize if you are doing this after a long time of not using GPS or changing locations



as per homebrew build instructions add brew to path

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/marc/.bash_profile

eval "$(/opt/homebrew/bin/brew shellenv)”


Install gpsd via brew:


# start up gpsd  ( use your usb port name)

*note - There are ways to start and stop brew daemons via command line, and ways to set up command line args - for now just run this in the foreground  (-ND4 is for verbose debug logging) :

sudo gpsd -n /dev/cu.usbmodem1203   -ND4 

There are ways of testing the feed “ntpq -p” and “ntpshmmon”

Step 4 - download ChronyControl and install


added these lines to chrony.conf ( /etc/chrony.d/chrony.conf )

# Marc - add GPSD shared memory ref

refclock SHM 0 refid GPS precision 1e-1 offset 0.9999 delay 0.2
refclock SHM 1 refid PPS precision 1e-7

# Marc - faster update
makestep 1 3


ChronyControl has a couple useful screens, tracking and sources show a lot of what’s happening

starting ChronyControl app takes Mac off timed clock control

chrony will now set the system clock using the GPS and other configured sources (NTP servers)

Step 5 - Testing

Turned off Wifi

Then reset clock manually to 10 mins fast via system prefs

if chronyd is running - it slowly adjusts back to NMEA GPS time - you can see this happening on the tracking screen

if you stop and start chronyd ( via ChronyControl) it updates the system clock within a minute or so



On Dec 15, 2021, at 6:48 PM, Gary E. Miller <gem@rellim.com> wrote:

Yo Marc!

On Wed, 15 Dec 2021 18:36:59 -1000
Marc Rosen <marc.rosen@mac.com> wrote:

Done!

Ended up using ChronyControl to monitor and adjust the system clock
based on GPS from the IC-705

Next step is to add a GPS dongle w PPS

Here's my initial write up- might not be 100%

Can you provide that as plain text?  So I can add some of it the the
gpsd install doc?

RGDS
GARY
---------------------------------------------------------------------------
Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97703
gem@rellim.com  Tel:+1 541 382 8588

   Veritas liberabit vos. -- Quid est veritas?
   "If you can't measure it, you can't improve it." - Lord Kelvin


reply via email to

[Prev in Thread] Current Thread [Next in Thread]