diff --git a/src/client/simtrace2-remsim_client.c b/src/client/simtrace2-remsim_client.c index 173b890..846ce85 100644 --- a/src/client/simtrace2-remsim_client.c +++ b/src/client/simtrace2-remsim_client.c @@ -87,6 +87,7 @@ struct cardem_inst { /* slot on which this card emulation instance runs */ struct st_slot *slot; struct cardemu_usb_msg_status last_status; + char *usb_path; }; /* global GSMTAP instance */ @@ -993,6 +994,10 @@ static void main_body(struct cardem_inst *ci, struct client_config *cfg) return; } + /* (re)determine the USB path of the opened device */ + talloc_free(ci->usb_path); + ci->usb_path = osmo_libusb_dev_get_path_c(ci, libusb_get_device(transp->usb_devh)); + rc = libusb_claim_interface(transp->usb_devh, cfg->usb.if_num); if (rc < 0) { fprintf(stderr, "can't claim interface %d; rc=%d\n", cfg->usb.if_num, rc);