Connecting/configuring ublox M8n GPS to Mission Planner Passthrough with BBBlu

In my previous post I re-flashed the BBBlue because, after some amount of poking around troubleshooting, on reboot somehow I had disabled all my comms. So: clean slate. Reflash. I setup WIFI and, with an updated Debian image, installed the most recent recipe for blue-arduplane, (the latest build that pre-assigns the BBBlue GPS socket’s pins P9.21 and P9.22 as UART):

sudo apt update && sudo apt upgrade –y

sudo apt install -y bb-cape-overlays cpufrequtils ardupilot-plane-blue

sudo sed -i ‘s/GOVERNOR=“ondemand”/GOVERNOR=“performance”/g’ /etc/init.d/cpufrequtils

cd /opt/scripts && sudo git pull

sudo /opt/scripts/tools/update_kernel.sh --ti-rt-channel --lts-4_4

sudo reboot

I use tio to query the pins (on ttyS2) and confirmed they’re UART. The blue LED on the uBlox is blinking to indicate satellite lock. When I attempt to connect to my uBlox M8n GPS, (blindly using 4800, 9600, 19200, 38400 baud on that port) I still get no GPS data stream. So I checked the GPS output on the o’scope and get 9600 baud pulses on the GPS’ Tx pin (and nothing on the Rx pin). I try config-pin query again with:

tio -b 9600 /dev/ttyS2

…and Jason’s one-liner tests

stty -F /dev/ttyO2 ispeed 9600 ospeed 9600;tail -f /dev/ttyO2

…with no response from the GPS.

Did I miss something?

Is there any chance the tx/rx is reversed on the ublox module?

Regards,

I’ve wondered that too, but haven’t yet switched them; I wanted to first confirm that the software really should be that simple.
I’m probing the GPS signal at the uBlox board itself, definitely the wire silkscreened “Tx”: I’m getting a signal there. Not likely my spliced connector leads are shorted: they’re soldered and wrapped. On the BBBlue, that wire is connected to the 4th pin from the silkscreened dot (which I assume is the Pin1 connector end, furthest from the USB end of the board) corresponding to UART2_Tx on the GPS connector in the schematic. The fact that the uBlox is powered-up suggests my assumptions about the pin numbering are correct. I had dismissed the thought that these might need to be wired Tx/Rx cross-over, but suddenly I’m less sure of that.

Indeed, TX on the GPS (the one spitting out data) should be RX on the UART.

Aaaaaaand. Done. I have GPS and blue-arduplane. Thanks Robert and Jason. Now you’ll be able to say you “knew me when…”
Cheers to you both.

I’m reading through all of this and I just feel like I am very close.

When I try

config-pin P9.21 uart
config-pin P9.22 uart

I get

bash: /sys/devices/platform/ocp/ocpP9_21_pinmux/state: No such file or directory
Cannot write pinmux file: /sys/devices/platform/ocp/ocp
P9_21_pinmux/state

Same thing if I try sudo in front of the command.

The P9 output from

sudo perl /opt/scripts/device/bone/show-pins.pl | grep P9.

is as follows (if it helps)

P9.15 16 R13 fast rx down 7 gpio 1.16 ocp/P9_15_pinmux (pinmux_P9_15_default_pin)
P9.23 17 V14 fast rx down 7 gpio 1.17 ocp/P9_23_pinmux (pinmux_P9_23_default_pin)
P9.14 18 U14 fast rx down 7 gpio 1.18 ocp/P9_14_pinmux (pinmux_P9_14_default_pin)
P9.16 19 T14 fast rx down 7 gpio 1.19 ocp/P9_16_pinmux (pinmux_P9_16_default_pin)
P9.11 28 T17 fast rx down 6 uart 4 rxd serial@481aa000 (pinmux_bb_uart4_pins)
P9.13 29 U17 fast down 6 uart 4 txd serial@481aa000 (pinmux_bb_uart4_pins)
P9.12 30 U18 fast rx down 7 gpio 1.28 ocp/P9_12_pinmux (pinmux_P9_12_default_pin)
P9.15 34 T13 fast rx up 7 gpio 2.00
P9.22 / spi boot clk 84 A17 fast rx down 1 uart 2 rxd serial@481a6000 (pinmux_bb_uart2_pins)
P9.21 / spi boot in 85 B17 fast down 1 uart 2 txd serial@481a6000 (pinmux_bb_uart2_pins)
P9.18 / spi boot out 86 B16 fast rx down 7 gpio 0.04 ocp/P9_18_pinmux (pinmux_P9_18_default_pin)
P9.17 / spi boot cs 87 A16 fast rx down 7 gpio 0.05 ocp/P9_17_pinmux (pinmux_P9_17_default_pin)
P9.42a 89 C18 fast rx down 7 gpio 0.07 ocp/P9_42_pinmux (pinmux_P9_42_default_pin)
P9.20 / cape i²c sda 94 D18 fast rx up 3 i²c 2 sda ocp/P9_20_pinmux (pinmux_P9_20_default_pin)
P9.19 / cape i²c scl 95 D17 fast rx up 3 i²c 2 scl ocp/P9_19_pinmux (pinmux_P9_19_default_pin)
P9.26 96 D16 fast rx down 0 uart 1 rxd serial@48024000 (pinmux_bb_uart1_pins)
P9.24 97 D15 fast down 0 uart 1 txd serial@48024000 (pinmux_bb_uart1_pins)
P9.31 / hdmi audio clk 100 A13 fast rx down 7 gpio 3.14 ocp/P9_31_pinmux (pinmux_P9_31_default_pin)
P9.29 / hdmi audio fs 101 B13 fast rx down 7 gpio 3.15 ocp/P9_29_pinmux (pinmux_P9_29_default_pin)
P9.30 102 D12 fast rx down 7 gpio 3.16 ocp/P9_30_pinmux (pinmux_P9_30_default_pin)
P9.28 / hdmi audio data 103 C12 fast rx down 7 gpio 3.17 ocp/P9_28_pinmux (pinmux_P9_28_default_pin)
P9.42b 104 B12 fast rx down 7 gpio 3.18 ocp/P9_92_pinmux (pinmux_P9_92_default_pin)
P9.27 105 C13 fast rx down 7 gpio 3.19 ocp/P9_27_pinmux (pinmux_P9_27_default_pin)
P9.41 106 D13 fast rx down 7 gpio 3.20 ocp/P9_91_pinmux (pinmux_P9_91_default_pin)
P9.25 / audio osc 107 A14 fast rx down 7 gpio 3.21 ocp/P9_25_pinmux (pinmux_P9_25_default_pin)
P9.41 / jtag emu3 109 D14 fast rx down 7 gpio 0.20 ocp/P9_41_pinmux (pinmux_P9_41_default_pin)