Guralp Systems Limited
MAN-FOR-0002 - Güralp Fortimus - Technical Manual

Chapter 9. Advanced troubleshooting

In the unlikely event of the user experiencing problems with the operation of the Fortimus, a diagnostics tool is available via the GNSS connector, which also acts as a terminal communications device via a Serial connection.

The user should first plug in the serial adapter to the GNSS connector, which is then attached to a 9-pin COM port on your PC/laptop (if a 9-pin COM port is not available, a serial-to-USB converter should be used instead and connected to an available USB port. Güralp recommend converters based on the FTDI chip-set.)

A connection is then made using a terminal emulator, such as minicom under Linux or PuTTY under Windows. The appropriate COM port should be entered in the "Serial line" box and the Speed should be set to 115,200.

Finally click the button and a terminal window will open, connected to the console of the Fortimus.

In the event of any operational issues, the Güralp Support Team may request you to interact with the console in order to diagnose and fix problems.

9.1 Reset all settings during boot phase

The Fortimus can be reset to its factory settings during its boot-up stage. This is useful in cases where:

To carry out a full system reset, connect to the terminal port via a serial connection (as described in Section 9). During the middle part of the boot phase, when the text @GURALP SYSTEMS and the firmware version number is displayed, key +. This causes all settings (except Username, Password and Bluetooth PIN) to revert to their factory default values, and the Fortimus will re-boot. It may be necessary to enter this key combination several times.

A typical boot log is shown below, identifying the stages where + will cause the Fortimus to reset and re-boot.

Do not press any buttons during the first phase of boot-up:

RomBOOT

SCKC_CR = 0xA, CKGR_MOR = 0x100FF0A, CKGR_PLLAR = 0x20FDD101, PMC_MCKR = 0x1122, PIO_PDSR = 0xF2357EB5

SCKC_CR = 0xA, CKGR_MOR = 0x100FF0A, CKGR_PLLAR = 0x20AC3F01, PMC_MCKR = 0x0202, PIO_PDSR = 0xF2357C25

AT91Bootstrap v3.8.10-1.guralp

NAND: ONFI flash detected

NAND: Manufacturer ID: 0x2C Chip ID: 0xDA

NAND: Page Bytes: 2048, Spare Bytes: 64

NAND: ECC Correctability Bits: 4, ECC Sector Bytes: 512

NAND: Disable On-Die ECC

NAND: Initialize PMECC params, cap: 4, sector: 512

NAND: Image: Copy 0x92000 bytes from 0xE000 to 0x2FA0E000

NAND: Done to load image

SCKC_CR = 0xA, CKGR_MOR = 0x100FF02, CKGR_PLLAR = 0x20AC3F01, PMC_MCKR = 0x0202, PIO_PDSR = 0xF2357C25

U-Boot v2019.10-1.guralp

CPU: SAMA5D36

External clock: 12.000 MHz

CPU clock: 528.000 MHz

Master clock: 132.000 MHz

DRAM: 512 MiB

NAND: 256 MiB

MMC: Atmel mci: 0, Atmel mci: 1

Loading Environment from NAND... OK

In: serial

Out: serial

Err: serial

Net: eth0: ethernet@f0028000

Total of 1 word(s) were the same

PHY 0x07: OUI = 0x0885, Model = 0x22, Rev = 0x02, 10baseT, HDX

Hit any key to stop autoboot: 0

NAND read: device 0 offset 0x5C0000, size 0x360000

3538944 bytes read: OK

Uncompressed size: 5009436 = 0x4C701C

crc32 for 21000000 ... 214c701b ==> b6ae61d4

Total of 2 word(s) were the same

Total of 1 word(s) were the same

## Starting application at 0x00300000 ...

(boot)Crash Info###

Number of crash left=0

(boot)Last crash time:1970-01-01T00:00:00.000

Board type set to: Fortimus

Recognised external clock: 12000000 Hz

SCKC_CR = 0xA, CKGR_MOR = 0x100FF02, CKGR_PLLAR = 0x20AC3F01, PMC_MCKR = 0x0202, MCK = 132000000 Hz

@GURALP SYSTEMS

Once the “@GURALP SYSTEMS” banner has been printed, keying + (at least once) will cause all settings (except Username, Password and Bluetooth PIN) to revert to their default values and cause the Fortimus to reboot.

v2.0-7642 by teamcity on 10:41:19 12-Nov-2019

Vecbase: 300000 CPUid: 410fc051 Cache: c5187d

PMT init

Unsafe to change DBGU clock while running

mux start SP 300fb4

FPU start

VFP Id=41023051

0.00 | -> init_dbgprint

0.00 | -> init_cmdutils

0.00 | -> init_pmt_dlg

0.00 | -> init_memdlg

0.00 | -> malloc_debug

0.00 | -> start_timer_interrupts

0.01 | -> rtc_init

RTC Time: 2019-11-13T10:05:37 UTC

0.01 | -> uart_start_ints

0.01 | -> init_arm_parse

0.01 | -> t_init_task_utils

0.01 | -> gpio_init

##### NORMAL INITIALISATION MODE #####

0.01 | -> unit_test_init

0.01 | -> init_devio

0.01 | -> init_usart

0.01 | -> init_devio_cmds

0.02 | -> rpc_init

0.02 | -> ram_init

0.02 | -> ram_exchange_init

0.03 | -> system_update_init

If your key-strokes have been recognised, Ctrl+R will be printed in the boot log, as shown below – once for each time your keystrokes were logged:

0.03 | -> i2c_init

i2c_configure( 0, 100000Hz )

Using pclk 33000000, cdiv 161, shift 0 => 100000

i2c_configure( 1, 100000Hz )

Using pclk 33000000, cdiv 161, shift 0 => 100000

i2c_configure( 2, 100000Hz )

Using pclk 33000000, cdiv 161, shift 0 => 100000

0.06 | -> i2c_dac_init

Ctrl+R

Ctrl+R

Ctrl+R

Ctrl+R

Ctrl+R

Ctrl+R

Ctrl+R

0.06 | -> i2c_humid_init

Humidity sensor test SUCCESS

0.07 | -> fram_init

Installing NVR device. size 12640

0.10 | -> net_sockets_init

0.14 | -> newtask_init

USE ADC FORTIMUS

0.14 | -> display_init

i2c_rd S_FAILED [bus: 2 | slave: 0x38]

i2c_rd S_FAILED [bus: 2 | slave: 0x38]

i2c_rd S_FAILED [bus: 2 | slave: 0x38]

###FAIL OF i2c write( 2, 38, 1[000000], 1, 0x22a4ff7b )

after 3 attemptsi2c_configure( 2, 100000Hz )

Using pclk 33000000, cdiv 161, shift 0 => 100000

If you saw the previous i2c operations failing, do not panic, it was an attempt to detect FT6x36 touchscreen...

GT911 PIN CONFIGURATION...

GT911 SETTING PINS TO 0...

GT911 SETTING PINS TO 0...

GT911 SETTING RESET TO 1...

GT911 SETTING GT911_PIN_IRQ TO INPUT...

GT911 Config checksum: 9a

GT911 Product ID: 00 31 31 39

GT911 Firmware Version: 1060

GT911 Vendor Id: 00

GT911 Config Version: 00

GT911 Written Resolution of X/Y Axis: 0000-0000

GT911 resolution X (0x8146) / resolution Y (0x8146) / Touch number: 0000 / 0000 / ff

gt911 has been detected 2.69 | -> aux_ioexp_init

2.70 | -> init_whalesong

2.70 | -> analog232_init

2.73 | -> start_timers

2.76 | -> spi_datalink_init_semaphores

2.79 | -> chain_init

Using 251 coefficients.

2.87 | -> var_user_init

3.20 | -> calibration_init

4.86 | -> gcftx_init

4.89 | -> spi_datalink_chains_init

Sensor0 is accelerometer

5.15 | -> init_nand

6.18 | -> adc12_init

6.20 | -> init_random

6.24 | -> ltc4151_vc_monitor_init

6.27 | -> voltage_sniffer_init

6.31 | -> init_lut

6.42 | -> i2c_humid_init_ui

6.45 | -> sd_init

6.48 | -> sd_file_init

6.51 | -> sd_log_init

6.54 | -> streaming_client_init

2019-11-13T10:05:43.000Z Retime Request Waiting (35s/3600s/Boot delay)

6.59 | -> xtaltable_init

No XTAL table found.

6.71 | -> gps_pps_init

Chain 54 already set.

Chain 54 already set.

Chain 54 already set.

Chain 54 already set.

Chain 54 already set.

Chain 54 already set.

Chain 54 already set.

Chain 54 already set.

FMUS-DA5B-> 6.82 | -> init_var_debug

6.85 | -> tcpdump_init

6.88 | -> var_html_init

6.91 | -> init_http_server

6.94 | -> sd_init_var

6.96 | -> gps_pps_ui_init

6.99 | -> xtaltable_ui_init

checking for xtaltable.txt

7.03 | -> init_fpga_datalink

7.06 | -> init_auto_center

7.09 | -> init_embedded_fs

7.12 | -> status_txt_init

7.18 | -> lan_init_web

#####tx_lock:

majic:f710f7f7

Call_lock value:-1 7.19 | -> init_responder_ui

1969-12-31T23:59:59.459Z User variable "Group ID" modified (called from init_responder_ui)

7.20 | -> init_tunnel_ui

7.24 | -> quasar_init

Quasar Serial Isolated Input/Output Module support is disabled.

7.31 | -> quasar_init_ui

7.31 | -> applied_rot_init_web

7.31 | -> installation_parameters_init_web

7.35 | -> init_fortimus_web

7.39 | -> analog232_init_web

7.46 | -> init_transforms

7.49 | -> triggers_init_ui

7.66 | -> chain_init_web

7.95 | -> transform_init_web

9.11 | -> storage_init_web

9.16 | -> spi_datalink_ui_init

9.20 | -> gps_init_ui

9.23 | -> gps_init

Once the boot-up reaches this stage, pressing + will no longer have any effect.

If + was recognised during the second stage of boot-up, then the Fortimus will reset and re-boot:

Ctrl+R NVR load, resetting all vars to their default values and then rebooting

Forcing all vars to default values (including non-default-able)

PPS clock sources ACTIVE: 0x00000001 [GPS:0 PTP:0 RTC:0 TABLE:1]

PPS clock sources ACTIVE: 0x01000001 [GPS:1 PTP:0 RTC:0 TABLE:1]

PPS clock sources ACTIVE: 0x01010001 [GPS:1 PTP:1 RTC:0 TABLE:1]

PPS clock sources ACTIVE: 0x01010101 [GPS:1 PTP:1 RTC:1 TABLE:1]

Ctrl+R

Ctrl+R

Ctrl+R

sd_manager: probed both microSD card slots

11.58 {calibration.c;1142} calibration_write_to_fram: successfully wrote calib to FRAM

11.60 {var_nvr.c;773} 'sd_format_time' $20301021 --> $00000000

11.61 {var_nvr.c;773} 'sd_unmount_time' $22647008 --> $00000000

11.62 {var_nvr.c;773} 'pps_src_table' 168 --> 1

11.63 {var_nvr.c;773} 'pps_src_gps' 0 --> 1

11.63 {var_nvr.c;773} 'pps_src_ptp' 69 --> 1

11.64 {var_nvr.c;773} 'pps_src_rtc' 132 --> 1

11.64 {var_nvr.c;773} 'rtcSavedOffsetSecs_nv' -1737983855 --> 0

11.65 {var_nvr.c;773} 'rtcSavedOffsetNano_nv' 402788896 --> 0

11.66 {var_nvr.c;773} 'rtcSavedFreqErrorPPB_nv' -2129883872 --> 1000000

11.67 {var_nvr.c;773} 'rtcSavedOffsetTime_nv' $52080158 --> $00000000

11.68 {var_nvr.c;773} 'xtaltable_offset' 610275339 --> 0