Proper way to enumerate a PPS device on odroid-C2 (Focal, 5.9.14)


Recommended Posts

Armbianmonitor:

Hello all!

I have an ODROID-C2 that I am trying to use with a GPS connected over UART for timing purposes, which requires the use of pps. Based on my searching and reading in this forum, I have determined that for my OS and kernel (Focal, 5.9.14) I should be able to do so by adding overlay=pps-gpio to armbianEnv.txt. What is not clear to me, however, is how to specify which pin to use! 

 

In this thread I see windysea said:

Quote

Optionally param_pps_* may be used to configure, such as pin.

 

But I don't know how to use this information! I have found no documentation on param_pps_*, and my attempts at guessing based on information from other threads and resources have failed to work so far. I have been fiddling with this for a few days to no avail now, so any assistance would be greatly appreciated.

 

Regards,

John

Link to post
Share on other sites
Donate and support the project!

 

*EDIT - For the interested, looks like the gpio_pin argument is nonstandard, see this post*

 

Hi John,

 

The short version is that I'm not sure you've provided enough information here. The answer really depends on what you have, and where you have it connected (if at all).

 

Most GPS units I've seen provide PPS signalling through a DB-9 serial connection at RS-232 levels (~12V), often on one of the modem control pins on that connector such as DCD.

 

If you have one of these units on a USB to serial adapter, you might be able to use it via ldattach (https://www.crc.id.au/2016/09/24/adding-a-pps-source-to-ntpd/). Note that DCD is not always standard, and some USB to serial adapters don't connect DCD at all as it's not always used.

 

If you have a GPS providing 3.3V signalling, and you have your PPS hooked up to the GPIO header, then you should consult the documentation to find out what GPIO goes to what pin (https://wiki.odroid.com/odroid-c2/hardware/expansion_connectors). Note that these GPIO assignments can change with kernel version. I don't have my C2 in front of my at the moment so can't check this for you. But you can always look at /sys/kernel/debug/gpio and see what the valid ranges are.

 

If you do need to experiment, note that you can dynamically load the pps-gpio driver and experiment a bit. The ODroid wiki has more on the subject (https://wiki.odroid.com/odroid-c2/application_note/gpio/pps).

 

# Load PPS on given pin
sudo modprobe pps-gpio pin=XXX

# Unload PPS
sudo rmmod pps-gpio

 

And I wouldn't worry about doing anything with the DTB until you're sure what pin it's on.

Edited by tparys
Clearing up bad information
Link to post
Share on other sites

Hi tprays,

Thanks for the response! I am using a GPS module connected directly via UART, so I don't need to mess with any RS232 stuff. Also, for what it's worth, USB-RS232 adapters are terrible for timing-related applications because of the latency associated with USB. If you do use an RS232 GPS for timing, it should be connected to a real hardware serial port where the PPS signal can issue an interrupt.

 

Anyway!

 

I have 3v3 level PPS running to pin 7 (GPIO 249 / GPIOX.21). I wasn't aware that I could specify the pin when loading the pps-gpio module, but I'm assuming I would load it as:

sudo modprobe pps-gpio pin=249

 

I don't have my C2 in front of me at the moment, but I can test this out later today and report back. Thank you!

Link to post
Share on other sites

No progress so far. According to /sys/kernel/debug/gpio pin 11 is gpio-489. Why I try and run any variant of sudo modprobe pps-gpio pin=XXX, dmesg just spits back:

pps_gpio: unknown parameter 'pin' ignored

 

So, I don't know what to think here, honestly. I have read through the odroid wiki notes on using PPS on this board but none of it seems to relevant in Armbian, it seems like maybe pieces are missing?

 

 

 

 

Link to post
Share on other sites

Blech, I figured as much. I like the C2, and I like the Armbian project, but stuff like this is why the Raspberry Pi/Raspbian have such a strong following. Once I get this figured out I'll do my best to post a definitive solution on here because it seems like people have been having this question for years to no avail.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...