It is common to have two serial ports for a GPS (or other) Bluetooth device. One is designated "outgoing" and is the port that you will open to receive data from the device. The other is designated "incomming" and is the one that can be used
to send commands to the device. However... Most GPS devices (and some other types of Bluetooth devices) do not use the incomming port -- it is assigned by the driver, but does nothing. The GetPortNames method will return a String array of port
names, after pairing. But, there is nothing built-into the Framework to perform pairing, and nothing in the SerialPort object that tells you which of the set of available ports is usable. So, what you have to do is to open each port in sequence,
test the data stream that may be sent to your compact device from the Bluetooth port, and if that data is what you expect, you now are where you need to be.
Dick
Dick Grier. Author of Visual Basic Programmer's Guide to Serial Communications 4. See www.hardandsoftware.net.