create logic device to be uniquely identified by devicePath so more same type devices can be involved with same PID and VID.
also added ports(indices) which will be reassigned to device if dev is connected then disconnected then connected (like wireless going to sleep or accidental detach)
device would take same index if reattached.
(NOT TESTED)