RPi3 B can't connect to Navio2

Hi,

I just wanted to install/use my Navio but I’m not able to connect to the HAT.
I followed the steps at: https://docs.emlid.com/navio2/common/ardupilot/configuring-raspberry-pi/

Setup:

  • Raspberry PI3 B
  • Navio2
  • Latest Emlid image (emlid-raspbian-20170922.img.xz)

When trying sudo emlid ardupilot the resulting screen shows under “Info”:
“Product: Seems like you booted without Navio properly screwed!”

But the navio2 is (tightly) screwed to the raspberry.

I followed some other topics here and tried sudo i2cdetect -y 1, that yields:

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77

And ls /proc/device-tree doesn’t show any “hat”.

Any idea how my raspberry can find the Navio2?

BR
Fabian

Any ideas?
@emlid

I tried different SD cards and different RPi 3 B - same outcome :confused:

Could you please attach a photo of your Raspberry with Navio on?


Hope this helps :slight_smile:

I just tried the new image. No change, still not recognizing the Navio2.

@george.staroselskiy Do you see any incorrect / faulty setup on the picture?

Seems alright. Could you please launch our examples in Navio2 repo and see if they work.

I’ll do that.

  • Just checked out: GitHub - emlid/Navio2: C++ and Python sensor examples for developers
  • Built all examples in C++: fatal error: pipgio.h
  • Installed PIGPIO (following: pigpio library, saw the comment in the README.md too late)
  • Reboot :upside_down_face:
  • sudo emlidtool ardupilot: still saying “Seems like you booted without Navio properly screwed”.
  • Back to the C++ examples: No errors while building :slight_smile:
  • Executed all tests, (as sudo if required):
    • AccelGyroMag: Output looks reasonable
    • ADC: “Failed to write reg: Remote I/O error”
    • AHRS: Output looks reasonable
    • Barometer: Output looks reasonable
    • FRAM: Memory test not passed.
    • GPS: looks reasonable. (No fix, but no antenna mounted)
    • LED: Remote I/O error (and LED is not changing the color)
    • RCInput: Looks reasonable (but no RC attached)
    • Servo: Remote I/O error
      Maybe worthwile noticing: The I/O error messages changes between:
      Failed to write device(-1): Remote I/O error and Failed to write reg: Remote I/O error.
  • Python examples (after installing the requirements):
    • AccelGyroMag: Output looks reasonable for both sensors
    • Barometer: Output looks reasonable
    • LED: Output looks reasonable, LED lights accordingly (but missing red) :blush:
    • Servo: IOError: [Errno 5] Input/Output error
    • ADC: Output looks reasonable
    • GPS: Output looks reasonable
    • RCInput: Output looks reasonable

Interesting that the LED (partly) works on the python example, but not on the C++ one.

But unfortunately it seems that the HAT is still not recognized properly.

@george.staroselskiy Thanks for your support!
.

Thanks for doing all this work. That’s an awesome and thorough report that anyone can wish for.

Now I’ll need the output of these:

  • lsmod | grep rcio
  • dmesg | grep rcio
  • sudo emlidtool rcio check

:blush:, thanks!
Still looking for the issue…

  • Run all 3 commands, realized that the rcio was outdated and
  • Updated rcio via sudo emlidtool rcio update
  • lsmod | grep rcio :
    rcio_spi         16384   0
    rcio_core        36864   1 rcio_spi
    
  • dmesg | grep rcio:
    [    4.091899] rcio_core: loading out-of-tree module taints kernel.
    [    4.122593] rcio spi1.0: rcio_status: Firmware CRC: 0xb09979ae
    [    4.123820] rcio spi1.0: rcio_status: Board type: 0x0 (navio2)
    [    4.125188] rcio spi1.0: rcio_status: Git hash: dae830a
    [    4.126995] rcio spi1.0: rcio_pwm: Advanced frequency configuration is supported on this firmware
    [    4.131009] rcio spi1.0: rcio_pwm: updated freq on grp 0 to 50
    [    4.131933] rcio spi1.0: rcio_pwm: updated freq on grp 1 to 50
    [    4.135312] rcio spi1.0: rcio_pwm: updated freq on grp 2 to 50
    [    4.136312] rcio spi1.0: rcio_pwm: updated freq on grp 3 to 50
    [    4.156199] rcio spi1.0: rcio_pwm: PWM probe success
    [    4.158217] rcio spi1.0: rcio_gpio: GPIO is supported on this firmware
    [    4.158308] rcio spi1.0: rcio_gpio: registered gpio module
    [    4.162319] rcio spi1.0: rcio_gpio: gpiochip added successfully under gpio500
    
  • sudo emlidtool rcio check:
    Nothing to update! You are using the newest firmware.
    

I re-ran the tests (clean build) with same results.

Could you please launch sudo arducopter -A udp:<your ip>:14550 and launch MP or QGC and see if it connects?

This topic was automatically closed 100 days after the last reply. New replies are no longer allowed.