I have my GPS plugged into the GPS port (UART2) on the BBB. I am running a /lib/systemd/system/arducopter.service script on startup that looks like this:
[Unit]
Description=ArduCopter Service
After=networking.service
StartLimitIntervalSec=0
Conflicts=arduplane.service ardurover.service antennatracker.service
[Service]
EnvironmentFile=/etc/default/ardupilot
ExecStartPre=/bin/bash -c “/bin/echo uart > /sys/devices/platform/ocp/ocp:P9_21_pinmux/state”
ExecStartPre=/bin/bash -c “/bin/echo uart > /sys/devices/platform/ocp/ocp:P9_22_pinmux/state”
ExecStartPre=/bin/bash -c “/bin/echo pruecapin_pu > /sys/devices/platform/ocp/ocp:P8_15_pinmux/state”
ExecStart=/usr/bin/ardupilot/arducopter $TELEM1 $TELEM2 $GPS
Restart=on-failure
RestartSec=1
[Install]
WantedBy=multi-user.target
And with a /etc/default/ardupilot file that looks like this:
TELEM1="-C /dev/ttyO0"
TELEM2="-A udp:192.168.8.79:14550"
GPS="-B /dev/ttyO2"
I"ve also tried GPS="-B /dev/ttyS2"