Troubles with the ACM driver and serial communication

We have a problem with the acm driver.
We use a small sensor CC2530 ZNP with our Beaglebone.
For the moment, we use the serial connexion available on Beaglebone with one of the uart. It’s work fine and we can send and receive command every time : even after restarting our sensor or unplug and replug this.
But we want the wire connexion isn’t adapted to our application.
So we want to use the USB connexion. For that, we connect our sensor on a board named eZ430u ( with a TIUSB3410 controller) and we plug this on the USB port of the Beaglebone.
The problem is we can have the serial connexion with the ACM driver, but not all the time.
If we close the port, we can’t reconnect after without reboot the board.

We try different solutions like use delay on the boot to launch the serial transfert on the sensor and on the board, but no result.
We can’t update the packet module-kernel-cdc-acm for our kernel ( 3.2), I think it’s corrupt or something like that.
Can we find the source of this driver somewhere ( ti usb 3410 ) ?
Is it possible to close manually the port because I think it’s still open after the first execution of our program.

We have a problem with the acm driver.
We use a small sensor CC2530 ZNP with our Beaglebone.
For the moment, we use the serial connexion available on Beaglebone with one
of the uart. It's work fine and we can send and receive command every time :
even after restarting our sensor or unplug and replug this.
But we want the wire connexion isn't adapted to our application.
So we want to use the USB connexion. For that, we connect our sensor on a
board named eZ430u ( with a TIUSB3410 controller) and we plug this on the
USB port of the Beaglebone.
The problem is we can have the serial connexion with the ACM driver, but not
all the time.
If we close the port, we can't reconnect after without reboot the board.

Can you provide more details on the process, such as the code you are
using? Are you checking the return codes on all of the functions?
What errors are you getting when you do something like try to
reconnect to the port?

We try different solutions like use delay on the boot to launch the serial
transfert on the sensor and on the board, but no result.
We can't update the packet module-kernel-cdc-acm for our kernel ( 3.2), I
think it's corrupt or something like that.
Can we find the source of this driver somewhere ( ti usb 3410 ) ?

It is in the Linux kernel sources. You'll need to use the patch.sh
script to assemble the BeagleBone kernel as there isn't an up-to-date
git tree.

Is it possible to close manually the port because I think it's still open
after the first execution of our program.

I was thinking that too. Were you closing it manually in the first
place? I'm not familiar with automatic closing, unless you are just
talking about the C clean-up routines on exit. There are utilities to
see if a file is still opened by a process, such as 'lsof'.

I use two program for testing.
The first is a c program which I have written with a c library for the serial connexion :
The second is the line command program “screen” with the command “screen /dev/ttyACM0 9600”.

“Unable to open serial port ‘/dev/ttyACM0’: Input/output error” and this is generate by the function “open” which open the file descriptor.

For the program Screen, the error is :

/var/run/utmp: No such file or directory
[screen is terminating]

" could not find a PTY"

About the driver : where you find the patch.sh ?
I don’t know this procedure.

For the rest, I will see tomorrow for the command ‘lsof’.
Thank for your answer.