I am in the process of porting a headless BT-enabled application from
Windows Mobile to Linux on the Basix 400-bt. The application uses the BT
serial port profile to interact with remote clients. On Windows the
application simply reads from and writes to a single COM port, which is
configured to provide BT serial communication. I want to do something
similar under Linux: open a tty device -- associated with BT serial
communication -- for reading and writing, and then simply block on reads,
waiting for service requests from remote clients. I cannot get this
My understanding of how SPP is implemented on the gumstix is very limited. I
can see that a getty is spawned on /dev/rfcomm0 when a BT serial port
connection is requested. (At least that is what appears to be going on.) Yet
I understood from other sources that /dev/ttyS3 is the correct device to use
with BT SPP. I don't know what the relationship is between /dev/rfcomm0 and
and /dev/ttyS3. I did open and configure /dev/ttyS3 via tcsetattr but it
still isn't receiving data. I am missing something. My remote clients are
able to discover the gumstix and establish an SPP connection, but from there
things just hang. Once connected the remote clients send information
requests but the data evidently is not getting through to /dev/ttyS3, where
the server application is listening.
Would greatly appreciate some pointers from anyone who has gotten BT serial
port communication going on the Basix.
From: Cliff L. Biffle <cliff@bi...> - 2006-06-27 02:53:44
On Jun 26, 2006, at 7:42 PM, rockwell618@... wrote:
> My understanding of how SPP is implemented on the gumstix is very
> limited. I can see that a getty is spawned on /dev/rfcomm0 when a
> BT serial port connection is requested. (At least that is what
> appears to be going on.) Yet I understood from other sources that /
> dev/ttyS3 is the correct device to use with BT SPP. I don't know
> what the relationship is between /dev/rfcomm0 and and /dev/ttyS3.
ttyS3 is the serial port that drives the actual Bluetooth module
under the hood. Drivers on the Gumstix use it to control all the
It's not what you want. :-)
It sounds like you want to simulate a serial channel over Bluetooth
itself, as though the two devices were connected with a serial
cable. This is what RFCOMM does, and the rfcommX devices are what
You will probably need to shut down getty on that port (in /etc/
default/bluetooth), but I might be wrong.
-Cliff L. Biffle
> You will probably need to shut down getty on that port (in /etc/
> default/bluetooth), but I might be wrong.
you can only advertise one serial port at a time to devices that might
scan the gumstix for an spp service.
however, you could simultaneously bind multiple listeners on different
rfcomm ports and (of course) have multiple simultaneous outbound rfcomm