GPS Not OK with VOXL2 PX4
-
@kp-ng What GPS unit are you trying to use? Try going in to the file
/etc/modalai/voxl-px4.config
and changing the commandqshell gps start -d 7 -b 115200
toqshell gps start
and see if that solves the issue. -
The GPS module says M8N.
I bought it a couple of months ago under the VOXL2 flight deck.I have tried "qshell gps start". No it doesnt resolve the issue.
-
@kp-ng Can you send a picture of the setup? Did you have to create a custom cable to attach the GPS unit to the VOXL2?
-
|
-
@kp-ng Okay, thanks for that. Looks pretty much like the standard setup for GPS / Mag / LED. Is the magnetometer working correctly? And the LED on the top of the unit?
-
Hi @kp-ng
Eric has you covered with all SW.
A small tip: From what I see in your picture, please understand that if you have WiFi and GPS antennas next to that very large power supply and no space between them, your radio link performance will be terrible.
There is a good chance you will not pick up any satellites, and your WiFi link will disconnect often.
For optimal performance, try to mimic the spatial separation that you would expect to see on one of our drone platforms.
Thanks! -
Thanks. I doubt it is the hardware that is not working. The GPS fix indicator on the module is blinking blue.
How do I check that the VOXL2 is talking to the GPS module correctly?
Is there a command to see the GPS location readings on VOXL2? -
@Eric-Katzfey Yes. The magnetometer is working correctly. QGC display indicator suggests so.
The LED also blinking GPS lock -
I get an error message
"[muorb] SLPI: UBX CFG-GNSS message ACK failed". -
@kp-ng That's interesting. That indicates that the driver was able to successfully send a few configuration messages to the GPS unit and receive valid acknowledgements in return. Does it always print that exact same message or is it sometimes different? My guess is that the cable or connector has a defect of some sort and that makes the serial communication link over the UART unreliable. That same cable has the i2c bus used for the LED and magnetometer drivers and that appears to be working okay. Can you jiggle the cable or try to press it in with your hand while starting px4 and see if that changes the behavior? Regardless, it seems like we will need to send you a replacement GPS (Hoping, of course, that it is a problem with the GPS unit and not the connector).
-
@Eric-Katzfey I would also try Vinnies suggestion and spread all of the components out just to make sure that there isn't some interference that is causing the errors on the serial lines.
-
@Eric-Katzfey Thanks Eric, Vinn.
Here are the detailed debug info.
Send cmd: 'gps start'
cannot reset all parameters on client side
px4io read failed
px4io io_reg_get(0,0,1): data error -5
IO not installed
Detection attempt failed
...
Failed to execute command px4io detect
command failed -
@kp-ng That is not a full listing of all of the output. And what about the error message you had posted previously. I asked if you saw the same error every time. Do you? Or does it change to different ones? Did you do the other things suggested?
-
@Eric-Katzfey
Hi Eric.
Yes the same error messages occur each time.
Have tried pressing on the connector as well. Doesn't help.
Have spaced the power supply, wifi, gps antenna apart also.Below are the logs
voxl2:/$ voxl-px4
Found DSP signature file
INFO [px4] mlockall() enabled. PX4's virtual address space is locked into RAM.
INFO [px4] assuming working directory is rootfs, no symlinks needed.
| ___ \ \ \ / / / |
| |/ / \ V / / /| |
| __/ / \ / /| |
| | / /^\ \ ___ |
_| / / |_/px4 starting.
INFO [px4] Calling startup script: /bin/sh /etc/modalai/voxl-px4.config 0
Running on M0054
INFO [muorb] SLPI: Creating qurt thread hpworkINFO [muorb] SLPI: Successfully created px4 task PX4_hpwork with tid 82
INFO [muorb] SLPI: Creating qurt thread lpworkINFO [muorb] SLPI: Successfully created px4 task PX4_lpwork with tid 81
INFO [muorb] SLPI: Creating qurt thread wkr_hrtINFO [muorb] SLPI: Successfully created px4 task PX4_wkr_hrt with tid 80
INFO [muorb] SLPI: Creating qurt thread client_sync_threadINFO [muorb] SLPI: Successfully created px4 task PX4_client_sync_thread with tid 79
INFO [muorb] SLPI: Creating qurt thread wq_managerINFO [muorb] SLPI: Successfully created px4 task PX4_wq_manager with tid 78
INFO [muorb] SLPI: Creating qurt thread qshellINFO [muorb] SLPI: Successfully created px4 task PX4_qshell with tid 77
INFO [qshell] Send cmd: 'icm42688p start -s'
INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
INFO [muorb] SLPI: qshell gotten: icm42688p start -s
INFO [muorb] SLPI: Creating qurt thread wq_SPI1INFO [muorb] SLPI: Successfully created px4 task PX4_wq_SPI1 with tid 76
INFO [muorb] SLPI: *** SPI Device ID 0x26000a 2490378
INFO [uorb] Advertising remote topic sensor_accel
INFO [uorb] Marking DeviceNode(parameter_server_set_used_request) as advertised in process_remote_topic
INFO [muorb] SLPI: Marking DeviceNode(parameter_server_set_used_response) as advertised in process_remote_to
INFO [uorb] Advertising remote topic sensor_gyro
INFO [uorb] Advertising remote topic imu_server
INFO [muorb] SLPI: on SPI bus 1
INFO [muorb] SLPI: icm42688p #0 on SPI bus 1 (devid=0x0)
INFO [muorb] SLPI:INFO [muorb] SLPI: Ok executing command: icm42688p start -s
INFO [muorb] SLPI: Sending qshell retval with timestamp 41957598, current timestamp 41957599
INFO [uorb] Advertising remote topic qshell_retval
INFO [qshell] qshell return value timestamp: 41957598, local time: 41959528
INFO [muorb] SLPI: Marking DeviceNode(parameter_client_reset_request) as advertised in process_remote_topic
ERROR [muorb] SLPI: Cannot reset all parameters on client side
INFO [uorb] Marking DeviceNode(parameter_client_reset_response) as advertised in process_remote_topic
INFO [muorb] SLPI: Advertising remote topic parameter_update
INFO [muorb] SLPI: Marking DeviceNode(parameter_client_set_value_request) as advertised in process_remote_to
INFO [uorb] Marking DeviceNode(parameter_client_set_value_response) as advertised in process_remote_topic
INFO [logger] logger started (mode=all)
Starting Holybro magnetometer
INFO [qshell] Send cmd: 'ist8310 start -R 10 -X -b 1'
INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
INFO [muorb] SLPI: qshell gotten: ist8310 start -R 10 -X -b 1
INFO [muorb] SLPI: Creating qurt thread wq_I2C1INFO [muorb] SLPI: Successfully created px4 task PX4_wq_I2C1 with tid 75
INFO [muorb] SLPI: *** I2C Device ID 0x60e09 396809
INFO [muorb] SLPI: ist8310 #0 on I2C bus 1 (external)INFO [muorb] SLPI: Ok executing command: ist8310 start -R 10 -X -b 1
INFO [muorb] SLPI: Sending qshell retval with timestamp 44022129, current timestamp 44022130
INFO [qshell] qshell return value timestamp: 44022129, local time: 44028451
Starting Holybro LED driver
INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
INFO [qshell] Send cmd: 'rgbled_ncp5623c start -X -b 1 -f 400 -a 56'
INFO [muorb] SLPI: qshell gotten: rgbled_ncp5623c start -X -b 1 -f 400 -a 56
INFO [muorb] SLPI: *** I2C Device ID 0x7b3809 8075273
INFO [muorb] SLPI: rgbled_ncp5623c #0 on I2C bus 1 (external)INFO [muorb] SLPI: Ok executing command: rgbled_ncp5623c start -X -b 1 -f 400 -a 56
INFO [muorb] SLPI: Sending qshell retval with timestamp 44071605, current timestamp 44071606
INFO [qshell] qshell return value timestamp: 44071605, local time: 44073373
INFO [qshell] Send cmd: 'icp10100 start -I -b 5'
INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
INFO [muorb] SLPI: qshell gotten: icp10100 start -I -b 5
INFO [muorb] SLPI: Creating qurt thread wq_I2C5INFO [muorb] SLPI: Successfully created px4 task PX4_wq_I2C5 with tid 74
INFO [muorb] SLPI: *** I2C Device ID 0x9c6329 10249001
INFO [muorb] SLPI: probe probe succeeded. data = 0x1 0x48
INFO [muorb] SLPI: icp10100 #0 on I2C bus 5INFO [muorb] SLPI: Ok executing command: icp10100 start -I -b 5
INFO [muorb] SLPI: Sending qshell retval with timestamp 44119538, current timestamp 44119540
INFO [qshell] qshell return value timestamp: 44119538, local time: 44120763
INFO [uorb] Advertising remote topic sensor_mag
INFO [qshell] Send cmd: 'modalai_esc start'
INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
INFO [muorb] SLPI: qshell gotten: modalai_esc start
INFO [muorb] SLPI: Creating qurt thread wq_hp_defaultINFO [muorb] SLPI: Successfully created px4 task PX4_wq_hp_default with tid 73
INFO [uorb] Advertising remote topic test_motor
INFO [uorb] Advertising remote topic sensor_baro
INFO [muorb] SLPI: Ok executing command: modalai_esc start
INFO [muorb] SLPI: Sending qshell retval with timestamp 44170549, current timestamp 44170550
INFO [muorb] SLPI: Opened UART ESC device
INFO [qshell] qshell return value timestamp: 44170549, local time: 44172188
INFO [qshell] Send cmd: 'mixer load /dev/uart_esc quad_x.main.mix'
INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
INFO [muorb] SLPI: qshell gotten: mixer load /dev/uart_esc quad_x.main.mix
INFO [muorb] SLPI: Creating qurt thread wq_rate_ctrlINFO [muorb] SLPI: Successfully created px4 task PX4_wq_rate_ctrl with tid 71
INFO [muorb] SLPI: Ok executing command: mixer load /dev/uart_esc quad_x.main.mix
INFO [muorb] SLPI: Sending qshell retval with timestamp 44239985, current timestamp 44239986
INFO [qshell] qshell return value timestamp: 44239985, local time: 44241616
INFO [uorb] Advertising remote topic actuator_outputs
INFO [uorb] Advertising remote topic multirotor_motor_limits
INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
INFO [qshell] Send cmd: 'voxlpm start -X -b 2'
INFO [muorb] SLPI: qshell gotten: voxlpm start -X -b 2
INFO [muorb] SLPI: Creating qurt thread wq_I2C2INFO [muorb] SLPI: Successfully created px4 task PX4_wq_I2C2 with tid 4169
INFO [muorb] SLPI: *** I2C Device ID 0x784411 7881745
INFO [uorb] Advertising remote topic battery_status
INFO [muorb] SLPI: voxlpm #0 on I2C bus 2 (external)INFO [muorb] SLPI: Ok executing command: voxlpm start -X -b 2
INFO [muorb] SLPI: Sending qshell retval with timestamp 44301919, current timestamp 44301920
INFO [qshell] qshell return value timestamp: 44301919, local time: 44302736
INFO [uorb] Advertising remote topic power_monitor
Starting Holybro GPS
INFO [qshell] Send cmd: 'gps start'
INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
INFO [muorb] SLPI: qshell gotten: gps start
INFO [muorb] SLPI: Creating qurt thread gpsINFO [muorb] SLPI: Successfully created px4 task PX4_gps with tid 70
INFO [muorb] SLPI: Ok executing command: gps start
INFO [muorb] SLPI: Sending qshell retval with timestamp 44356373, current timestamp 44356374
INFO [qshell] qshell return value timestamp: 44356373, local time: 44357420
INFO [uorb] Advertising remote topic gps_dump
INFO [qshell] Send cmd: 'px4io detect'
INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
INFO [muorb] SLPI: qshell gotten: px4io detect
INFO [muorb] SLPI: serial port fd 2
ERROR [muorb] SLPI: px4io read failed
ERROR [muorb] SLPI: px4io io_reg_get(0,0,1): data error -5
ERROR [muorb] SLPI: IO not installed
ERROR [muorb] SLPI: Detection attempt 2 failed
ERROR [muorb] SLPI: Detection attempt 1 failed
ERROR [muorb] SLPI: Detection attempt 0 failed
ERROR [muorb] SLPI: Failed to execute command: px4io detect
INFO [muorb] SLPI: Sending qshell retval with timestamp 44408878, current timestamp 44408879
INFO [qshell] cmd returned with: -17
INFO [qshell] qshell return value timestamp: 44408878, local time: 44416905
ERROR [qshell] Command failed
M0065 not detected, starting Spektrum RC driver
INFO [qshell] Send cmd: 'spektrum_rc start -d 8'
INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
INFO [muorb] SLPI: qshell gotten: spektrum_rc start -d 8
INFO [muorb] SLPI: Creating qurt thread spektrum_rc_mainINFO [muorb] SLPI: Successfully created px4 task PX4_spektrum_rc_main with tid 67
INFO [muorb] SLPI: Ok executing command: spektrum_rc start -d 8
INFO [muorb] SLPI: Sending qshell retval with timestamp 44459706, current timestamp 44459708
INFO [qshell] qshell return value timestamp: 44459706, local time: 44463848
INFO [qshell] Send cmd: 'sensors start'
INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
INFO [muorb] SLPI: qshell gotten: sensors start
INFO [muorb] SLPI: Creating qurt thread wq_nav_and_controllersINFO [muorb] SLPI: Successfully created px4 task PX4_wq_nav_and_controllers with tid 66
INFO [muorb] SLPI: Ok executing command: sensors start
INFO [muorb] SLPI: Sending qshell retval with timestamp 45536132, current timestamp 45536133
INFO [uorb] Advertising remote topic vehicle_angular_acceleration
INFO [qshell] qshell return value timestamp: 45536132, local time: 45537985
INFO [uorb] Advertising remote topic vehicle_angular_velocity
INFO [muorb] SLPI: Creating qurt thread wq_INS0INFO [muorb] SLPI: Successfully created px4 task PX4_wq_INS0 with tid 65
INFO [uorb] Advertising remote topic vehicle_imu
INFO [uorb] Advertising remote topic vehicle_imu_status
INFO [uorb] Advertising remote topic sensors_status_imu
INFO [uorb] Advertising remote topic vehicle_acceleration
INFO [uorb] Advertising remote topic vehicle_air_data
INFO [qshell] Send cmd: 'ekf2 start'
INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
INFO [muorb] SLPI: qshell gotten: ekf2 start
INFO [uorb] Advertising remote topic vehicle_magnetometer
INFO [uorb] Advertising remote topic sensor_preflight_mag
INFO [uorb] Advertising remote topic sensor_selection
INFO [uorb] Advertising remote topic sensor_combined
ERROR [muorb] SLPI: Timeout waiting for parameter_server_set_used_response for EKF2_ASP_DELAY
INFO [muorb] SLPI: Ok executing command: ekf2 start
INFO [muorb] SLPI: Sending qshell retval with timestamp 45782283, current timestamp 45782283
INFO [qshell] qshell return value timestamp: 45782283, local time: 45784731
ERROR [muorb] SLPI: 0 - vehicle_magnetometer lost, generation 0 -> 8
INFO [uorb] Advertising remote topic ekf2_timestamps
INFO [qshell] Send cmd: 'mc_pos_control start'
INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
INFO [muorb] SLPI: qshell gotten: mc_pos_control start
INFO [muorb] SLPI: Ok executing command: mc_pos_control start
INFO [muorb] SLPI: Sending qshell retval with timestamp 45833887, current timestamp 45833888
INFO [qshell] qshell return value timestamp: 45833887, local time: 45834370
INFO [qshell] Send cmd: 'mc_att_control start'
INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
INFO [muorb] SLPI: qshell gotten: mc_att_control start
INFO [muorb] SLPI: Ok executing command: mc_att_control start
INFO [muorb] SLPI: Sending qshell retval with timestamp 45897359, current timestamp 45897360
INFO [qshell] qshell return value timestamp: 45897359, local time: 45898791
INFO [qshell] Send cmd: 'mc_rate_control start'
INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
INFO [muorb] SLPI: qshell gotten: mc_rate_control start
INFO [muorb] SLPI: Ok executing command: mc_rate_control start
INFO [muorb] SLPI: Sending qshell retval with timestamp 45969574, current timestamp 45969574
INFO [qshell] qshell return value timestamp: 45969574, local time: 45971046
INFO [qshell] Send cmd: 'mc_hover_thrust_estimator start'
INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
INFO [muorb] SLPI: qshell gotten: mc_hover_thrust_estimator start
INFO [muorb] SLPI: Ok executing command: mc_hover_thrust_estimator start
INFO [muorb] SLPI: Sending qshell retval with timestamp 46028199, current timestamp 46028200
INFO [qshell] qshell return value timestamp: 46028199, local time: 46028634
INFO [qshell] Send cmd: 'land_detector start multicopter'
INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
INFO [muorb] SLPI: qshell gotten: land_detector start multicopter
INFO [muorb] SLPI: Ok executing command: land_detector start multicopter
INFO [muorb] SLPI: Sending qshell retval with timestamp 46072642, current timestamp 46072643
INFO [qshell] qshell return value timestamp: 46072642, local time: 46073625
INFO [uorb] Advertising remote topic vehicle_land_detected
INFO [muorb] SLPI: 46371633: reset position to last known position
INFO [muorb] SLPI: 46371633: reset velocity to zero
INFO [uorb] Advertising remote topic vehicle_local_position
INFO [uorb] Advertising remote topic vehicle_odometry
INFO [uorb] Advertising remote topic estimator_states
INFO [uorb] Advertising remote topic estimator_status
INFO [uorb] Advertising remote topic estimator_status_flags
INFO [uorb] Advertising remote topic estimator_innovations
INFO [uorb] Advertising remote topic estimator_innovation_test_ratios
INFO [uorb] Advertising remote topic estimator_innovation_variances
INFO [dataman] Unknown restart, data manager file '/data/px4/dataman' size is 11798680 bytes
INFO [uorb] Advertising remote topic estimator_sensor_bias
INFO [muorb] SLPI: Advertising remote topic position_setpoint_triplet
INFO [muorb] SLPI: Advertising remote topic mission
INFO [commander] LED: open /dev/led0 failed (22)
INFO [muorb] SLPI: Advertising remote topic led_control
INFO [muorb] SLPI: Advertising remote topic tune_control
INFO [PreFlightCheck] Failed EKF health preflight check while waiting for filter to settle
INFO [muorb] SLPI: Advertising remote topic vehicle_control_mode
INFO [muorb] SLPI: Advertising remote topic vehicle_status
INFO [muorb] SLPI: Advertising remote topic actuator_armed
INFO [muorb] SLPI: Advertising remote topic commander_state
INFO [uorb] Advertising remote topic rate_ctrl_status
INFO [uorb] Advertising remote topic actuator_controls_0
INFO [muorb] SLPI: Advertising remote topic vehicle_status_flags
INFO [muorb] SLPI: Advertising remote topic vehicle_command
INFO [commander] Handling Commander command 176
INFO [muorb] SLPI: Advertising remote topic vehicle_command_ack
INFO [mavlink] mode: Onboard, data rate: 100000 B/s on udp port 14556 remote port 14557
INFO [muorb] SLPI: Marking DeviceNode(vehicle_command) as advertised in process_remote_topic
ERROR [muorb] SLPI: UBX CFG-GNSS message ACK failed
INFO [muorb] SLPI: Advertising remote topic telemetry_status -
@kp-ng Okay, we have never encountered this situation before. My best guess is that the GPS unit, or cable, is somehow flawed and so we will send you a new one.
-
@kp-ng if you would please reach out to: contact@modalai.com and we would be happy to help you out regarding replacement of the gps unit.
-
-
@Vinny said in GPS Not OK with VOXL2 PX4:
Hi @kp-ng
Eric has you covered with all SW.
A small tip: From what I see in your picture, please understand that if you have WiFi and GPS antennas next to that very large power supply and no space between them, your radio link performance will be terrible.
There is a good chance you will not pick up any satellites, and your WiFi link will disconnect often.
For optimal performance, try to mimic the spatial separation that you would expect to see on one of our drone platforms.
Thanks!^Can you provide an example what the ideal routing for wifi antennae would be on the sentinel drone platform (specifically with the microhard modem carrier add-on)? I came across this post while trying to troubleshoot my own issues and realized that the way I have the antennae routed coming out the back of the flight deck puts one of them right next to the gps module because of how the modem is oriented.
-
-