application runs on Linux platform. Mobiles are connected to system USB
ports using hubs. The application communicates with these mobiles. We
modified the usb-serial.c driver under ....linux/drivers/usb/serial/
to suit our application. One functionality of the mobile which needs to be
supported by the application is Hardware reset( swith off the mobile and switch
it on again).
kernel version being used is 220.127.116.11. Automated Hardware reset tests on 2
mobiles for 200 iterations were successful. But when tried the same tests
with 4 mobiles, sometimes it was successful and sometimes the mobiles are
getting disconnected after 30-40 iterations of tests. In case of mobile
disconnection, physically mobiles are in proper state, but the core is not able
to detect the mobiles (the mobiles are not listed in " /proc/bus/usb/devices"),
but the hubs are still detected.
observation is, when the disconnection problem is observed, unplugging and
plugging back the cable from system USB port is helping to get back the
messages observed in /var/log/messages are:
usb 1-1.1.1: khubd timed out on ep0in
1-1.1.1: khubd timed out on ep0out
usb 1-1.1.1: device descriptor read/64, error
usb 1-1.1.2: device not accepting address 127, error
port 1 not enabled, trying reset
hub 1-1.1:1.0: Cannot enable port 1. Maybe the USB cable is
your ideas to solve this issue.