Ian Gough
 · Co-Founder@Timebeat

The Open Timecard Mini Troubleshooting - Hardware Guide

Several gotchas might prevent your Open Timecard Mini from operating correctly. Here is a list of the usual suspects.

 

DIP-switches incorrectly set (V1 or Base board)

It is possible for the switches on the timecard mini baseboard to become caught in between settings and may need a slight nudge towards their destination to complete or break the circuit.

 

Pi Not Booting/No HDMI Output

Suppose the first dipswitch of the baseboard is set to ON. In that case, the Raspberry Pi CM4 will not attempt a regular boot from the eMMC (onboard storage / microSD). It will instead present itself as a USB device accessible via the micro-USB port labelled eMMC boot (this is typically used to flash the eMMC or SD card).

 

No serial console is available.

Incorrectly set switches may interfere with console access.  See this article for a guide to the correct DIP switch settings for your use case, and make sure you have them set correctly. (More on serial console access is below.)

 

CM4 not present

If using the Timecard Mini without a Raspberry Pi CM4 (a perfectly valid use-case) then DIP switches 2-5 must be set to ON. 

 

Loose Cables

The UF cables connecting the SMA bulkhead on the exterior of the metal bracket to the ports on the GNSS module can become disconnected, so check to make sure the cables are firmly attached.

 

License related issues

Stop timebeat as follows:

systemctl stop timebeat

and then run it with

/usr/share/timebeat/bin/timebeat -c /etc/timebeat/timebeat.yml -e

and watch the output for license-related messages:

 

No license found

Cannot read license key file: open /etc/timebeat/timebeat.lic: no such file or directory

License is invalid

License expired/not running in Enterprise mode

 

Timebeat will not run correctly without the right license.  If you see this output after starting timebeat up, then the license is not running in Enterprise mode and will likely not do what you want:

 

2029-02-02T00:00:06.051Z        INFO    [License Manager]       logging/external.go:94  License verified. Timebeat feature set: free
2029-02-02T00:00:06.051Z        INFO    [License Manager]       logging/external.go:94  License issued to [email protected] (Your Name)
2029-02-02T00:00:06.051Z        INFO    [License Manager]       logging/external.go:94  Enterprise features expired on 1985-10-26 01:21:00 +0000 PST

 

If you have this problem, obtain a free license for Timebeat here.

Satellite constellations not visible / antenna problems

 

No antenna connected

When you run the following commands from the host machine or when logged into the Raspberry Pi CM4:

 

systemctl stop timebeat
apt-get install minicom
minicom -D /dev/serial0

hit the keys: <CTRL-A> Z P C <ENTER> (to set the baud rate to 9600)

 

The output should look, more or less, like this:

 

$GPGSV,2,2,08,09,42,200,48,17,39,234,47,19,44,263,27,28,15,035,26,161 $GPGSV,2,1,05,11,01,307,,12,05,325,,21,05,138,,25,02,002,,06F$GPGSV,2,2,05,25,02,002,,057 $GAGSV,2,1,05,05,38,203,45,09,71,105,23,11,19,137,13,34,52,302,24,779$GAGSV,2,2,05,36,69,155,30,74E $GAGSV,1,1,04,04,27,051,,15,03,311,,21,03,013,,27,05,325,,077$GBGSV,4,1,13,06,24,041,17,09,33,055,15,11,25,171,26,14,81,234,40,176 $GBGSV,4,2,13,16,21,037,26,21,18,062,27,26,07,100,16,27,11,322,27,17B$GBGSV,4,3,13,28,49,289,20,33,52,241,38,39,14,031,17,42,70,065,32,176 $GBGSV,4,4,13,43,43,193,48,143

If the output looks similar to this:

 

$GNRMC,144311.00,V,,,,,,,210823,,,N,V*11
$GNVTG,,,,,,,,,N*2E
$GNGGA,144311.00,,,,,0,00,99.99,,,,,,*7A
$GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99,1*33
$GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99,3*31
$GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99,4*36
$GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99,5*37

 

If so, the antenna is likely disconnected, or no satellites are visible. Antennas do not work reliably indoors, although they may work intermittently.

 

If Timebeat runs while you try to do this, you will see distorted output, so stop Timebeat first.

 

Cable Errors

If you want PPS to work when using a CM4, an RJ-45 cable must be connected. Additionally, if you don't have a cable plugged in when the server is configured to serve PTP, you will see unexpected behaviour and/or error messages.

 

Configuration Issues

When commencing testing, the CM4 configuration in /boot/cmdline.txt and /boot/config.txt should be left unaltered. If changes are made to these files, a reboot is required. Additionally, starting with the CM4 SD card image available at https:.//timebeat.app is highly advisable.

 

Additionally, the configuration file at /etc/timebeat/timebeat.yml requires the correct configuration for your use case. See our guides for examples of how you can make it work as you would like.

 

Interference Mode Active

If a service is running that sets the system clock or PHC independently of Timebeat, then Timebeat may, by default, run in “Interference Mode.” Possible culprits for this are timesyncdptp4lchronyand ntpd.

 

To see which services are running at the current time, use: 

 

systemctl -type=service -state=running 

To stop them use: 

systemctl stop <servicename>

 

To stop and disable them, use:

systemctl disable <servicename>--now

 

No Serial Port Access

After confirming the DIP switches are set correctly 

The upstream kernel MaxLinear driver is required to access the GNSS serial port; however, it may not be included in your current build.

 

dmesg | grep tty

Should yield a result something like:

[ 5.730290] 0000:82:00.0: ttyS[3] at MMIO 0xc8000000 (irq = 69, base_baud = 7812500) is a XR17V35X[ 5.744865] 0000:82:00.0: ttyS[4] at MMIO 0xc8000400 (irq = 69, base_baud = 7812500) is a XR17V35X

lspci | grep XR17V35X

Should yield:

82:00.0 Serial controller: Exar Corp. XR17V3521 Dual PCIe UART (rev 03)

 

If the driver is not installed, it can be found in the upstream kernel source.

cd /usr/src/kernels/kernel-version
make menuconfig

Then search for SERIAL_8250_EXAR for the requisite modules to include and make sure they're enabled.

make modules ; make modules install
insmod /usr/lib/modules/6.0.7/kernel/drivers/gpio/gpio-exar.ko /usr/lib/modules/6.0.7/kernel/drivers/gpio/gpio-exar.ko 

 

 

2 replies