I have two smart phones (ZTEV788d, system Android 2.3.6) connected to a computer (Ubuntu 11.10) at the same time, using co
The answer given by @mirokropacek works for Linux (and presumably Mac, too) but doesn't work for Windows, unfortunately. This is due to the way the register_usb_transport function is called in Windows. It turns out the devpath parameter is always NULL in Windows. I needed to handle the same situation so I adapted the solution given above to randomly generate a device ID for each device if the serial parameter is NULL or it is empty (zero length).
I don't need to worry about differentiating devices over long periods of time and many devices so generating a pseudo-random number for the device ID with rand, then using sprintf to create a string representation of that ID seems to be sufficient for my needs but YMMV. It only generates a 4-digit hex number but it works well enough for me (for now at least).