Dear Bluezers,

 

I  am working on contrcuting a simple relay scatternet with CSR-based USB dongle.

Yesterday I made it that 4 dongle relay data from top to down and dwon to top, writing a utility code based on rfcomm program in bluez-util.

I works fine!

 

    A ------------------>B-----------------> C ------------------> D

       M                        S   M                      S     M                      S

 

 

But, while I am running it serveral time. I got a one difficult problem "Can't bind: Address already in Use!"

This is old problem in TCP/IP socket program, when the server clashes without close the socket, so that the well-kown (or fixed anyway)

cannot be resused again for a several minutes in typical TCP/IP socket program.  

 

But! what is the port in rfcomm socket? Is this channel numer? or board address?.

And Can I use socketopt system call for the rfcomm socket ?  for RESUSE option!

Also, the socket address is not freed for even 30 minutes, while usually TCP/IP port is can be resued after several minutes!

What part of kernel stack has something with this??? rfcomm.o ????

 

Please kindly comment this.

 

 

Thanks.