> -----Original Message----- > From: Fabio Estevam <festevam@xxxxxxxxx> > Sent: Tuesday, December 13, 2022 3:01 AM > To: bjorn@xxxxxxx; Peter Chen <peter.chen@xxxxxxxxxx>; Marek Vasut > <marex@xxxxxxx>; Jun Li <jun.li@xxxxxxx> > Cc: netdev <netdev@xxxxxxxxxxxxxxx>; USB list <linux-usb@xxxxxxxxxxxxxxx>; > Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx>; Schrempf Frieder > <frieder.schrempf@xxxxxxxxxx> > Subject: Re: imx7: USB modem reset causes modem to not re-connect > > On Mon, Dec 12, 2022 at 3:10 PM Fabio Estevam <festevam@xxxxxxxxx> wrote: > > > > Hi, > > > > On an imx7d-based board running kernel 5.10.158, I noticed that a > > Quectel BG96 modem is gone after sending a reset command via AT: > > Disabling runtime pm like this: > > diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c > b/drivers/usb/chipidea/ci_hdrc_imx.c > index 9ffcecd3058c..e2a263d583f9 100644 > --- a/drivers/usb/chipidea/ci_hdrc_imx.c > +++ b/drivers/usb/chipidea/ci_hdrc_imx.c > @@ -62,7 +62,6 @@ static const struct ci_hdrc_imx_platform_flag > imx6ul_usb_data = { }; > > static const struct ci_hdrc_imx_platform_flag imx7d_usb_data = { > - .flags = CI_HDRC_SUPPORTS_RUNTIME_PM, > }; > > static const struct ci_hdrc_imx_platform_flag imx7ulp_usb_data = { > > makes the USB modem to stay connected after the reset command: > > # microcom /dev/ttyUSB3 > >AT+CFUN=1,1 > OK > [ 31.339416] usb 2-1: USB disconnect, device number 2 So disconnect happened. > [ 31.349480] option1 ttyUSB0: GSM modem (1-port) converter now > disconnected from ttyUSB0 > [ 31.358298] option 2-1:1.0: device disconnected > [ 31.366390] option1 ttyUSB1: GSM modem (1-port) converter now > disconnected from ttyUSB1 > [ 31.374883] option 2-1:1.1: device disconnected > [ 31.383359] option1 ttyUSB2: GSM modem (1-port) converter now > disconnected from ttyUSB2 > [ 31.391800] option 2-1:1.2: device disconnected > [ 31.404700] option1 ttyUSB3: GSM modem (1-port) converter now > disconnected from ttyUSB3 > # [ 31.413261] option 2-1:1.3: device disconnected After a while, re-emulation happens. > [ 36.151388] usb 2-1: new high-speed USB device number 3 using ci_hdrc > [ 36.354398] usb 2-1: New USB device found, idVendor=2c7c, > idProduct=0296, bcdDevice= 0.00 > [ 36.362768] usb 2-1: New USB device strings: Mfr=3, Product=2, > SerialNumber=4 > [ 36.370031] usb 2-1: Product: Qualcomm CDMA Technologies MSM > [ 36.375818] usb 2-1: Manufacturer: Qualcomm, Incorporated > [ 36.381355] usb 2-1: SerialNumber: 7d1563c1 > [ 36.389915] option 2-1:1.0: GSM modem (1-port) converter detected > [ 36.397679] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0 > [ 36.412591] option 2-1:1.1: GSM modem (1-port) converter detected > [ 36.420237] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB1 > [ 36.434988] option 2-1:1.2: GSM modem (1-port) converter detected > [ 36.442792] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB2 > [ 36.457745] option 2-1:1.3: GSM modem (1-port) converter detected > [ 36.465709] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB3 So this disconnect and then connect is you expected behavior? Li Jun > > Does anyone have any suggestions as to what could be the problem with runtime > pm?