RE: [PATCH net] net: wwan: iosm: Fix 7360 WWAN card control channel mapping

Kumar, M Chetan
2022-09-27T13:43:37Z

> -----Original Message-----
> From: Shane Parslow <shaneparslow808@gmail.com>
> Sent: Monday, September 26, 2022 9:35 AM
> To: shaneparslow808@gmail.com
> Cc: Kumar, M Chetan <m.chetan.kumar@intel.com>; linuxwwan
> <linuxwwan@intel.com>; Loic Poulain <loic.poulain@linaro.org>; Sergey
> Ryazanov <ryazanov.s.a@gmail.com>; Johannes Berg
> <johannes@sipsolutions.net>; David S. Miller <davem@davemloft.net>; Eric
> Dumazet <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>;
> Paolo Abeni <pabeni@redhat.com>; netdev@vger.kernel.org; linux-
> kernel@vger.kernel.org
> Subject: [PATCH net] net: wwan: iosm: Fix 7360 WWAN card control channel
> mapping
>
> This patch fixes the control channel mapping for the 7360, which was
> previously the same as the 7560.
>
> As shown by the reverse engineering efforts of James Wah [1], the layout of
> channels on the 7360 is actually somewhat different from that of the 7560.
>
> A new ipc_chnl_cfg is added specifically for the 7360. The new config
> updates channel 7 to be an AT port and removes the mbim interface, as it
> does not exist on the 7360. The config is otherwise left the same as the
> 7560. ipc_chnl_cfg_get is updated to switch between the two configs.
> In ipc_imem, a special case for the mbim port is removed as it no longer
> exists in the 7360 ipc_chnl_cfg.
>
> As a result of this, the second userspace AT port now functions whereas
> previously it was routed to the trace channel. Modem crashes ("confused
> phase", "msg timeout", "PORT open refused") resulting from garbage being
> sent to the modem are also fixed.

Trace channel is mapped to 3rd entry.

/* Trace */
{ IPC_MEM_CTRL_CHL_ID_3, IPC_MEM_PIPE_6, IPC_MEM_PIPE_7,
IPC_MEM_TDS_TRC, IPC_MEM_TDS_TRC, IPC_MEM_MAX_DL_TRC_BUF_SIZE,
WWAN_PORT_UNKNOWN },

I cross checked by running AT test on 7360. Both ports are functional as expected.
We should be able to send or receive AT commands with existing below config.

/* IAT0 */
{ IPC_MEM_CTRL_CHL_ID_2, IPC_MEM_PIPE_4, IPC_MEM_PIPE_5,
IPC_MEM_MAX_TDS_AT, IPC_MEM_MAX_TDS_AT, IPC_MEM_MAX_DL_AT_BUF_SIZE,
WWAN_PORT_AT }, -----------> wwan0at0

/* IAT1 */
{ IPC_MEM_CTRL_CHL_ID_4, IPC_MEM_PIPE_8, IPC_MEM_PIPE_9,
IPC_MEM_MAX_TDS_AT, IPC_MEM_MAX_TDS_AT, IPC_MEM_MAX_DL_AT_BUF_SIZE,
WWAN_PORT_AT }, ------------> wwan0at1

Does this second AT port (wwan0at1) goes bad at some point or is always not functional/modem
crashes sooner we issue AT command ?

Could you please help to check the modem fw details by running below command.
at+xgendata