Are device addresses globally unique?

Let's say I have two identical servers (A & B), and I attach two identical devices (X & Y), one to each server, in the same ports.

"LIST"ing from the shell client, I would see something like:

Server A (1.2.3.4:7575)
--> Device X (ADDRESS_A_X)
Server B (5.6.7.8:7575)
--> Device Y (ADDRESS_B_Y)

Are ADDRESS_A_X and ADDRESS_B_Y the same in this case? Or are they guaranteed to be unique?

#2

yes, they are guaranteed to be unique. The address is formed as follows (its a bit more complicated than this) but essentially its like this:

connection number + bus number + hub number + port number

Server A would have a connection number of 0 and server B would have a connection number of 1 even if the bus/hub/port numbers where the same.

#3

Oh, so the ID is unique to the client as well?

So in my example, ADDRESS_A_X on client 1 will be different (potentially) from ADDRESS_A_X on client 2?

#4

yes they are unique to the client as well.

Perhaps i can modify the API so you can just call the device by server a then by device name.

The only problem with that is that devices with the same name cant be distinguished and if you give devices a different name, those names cant be uniquely assigned either. The core problem is that that a USB device cannot be uniquely identified as there is nothing in the device to do that...

If you have any ideas to make it easier for you perhaps i can change the api ?

#5

No brilliant ideas, and we are working towards sort of a unique case anyway. The plan for now is to give each device a unique id in the name(which led to my other question of max name length).

I think we are good for now - just wanted to verify the behavior. Thanks!