RE: imx7: USB modem reset causes modem to not re-connect

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----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?




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux