4

Bluetoothシリアルポートがあり、それに接続しようとしています。そうです:

sudo rfcomm bind 13 00:0A:3A:26:4A:86

そしてそれは成功するようです。私はそれにアクセスしようとします:

>>> f=file('/dev/rfcomm13','rw')
>>> f.close()
>>> f=file('/dev/rfcomm13','rw')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IOError: [Errno 16] Device or resource busy: '/dev/rfcomm13'

これは一貫しているようです-一度開くことができますが、その後はバインドを解除して再バインドするまで「ビジー」です。Python でこれを行うと、エラーが最も明確に表示されますが、どこでも発生するようです。

close syscall がいくつかの重要なリソースをクリーンアップしていないようです。ドライバのソースをざっと見てみると、おそらく dlci チャネルかそれに似たものですが、それらが何であるかについてはかなりあいまいです。

バインドごとに複数回接続を開く方法はありますか?

ありがとう

4

0 に答える 0