[PATCH] mm-modem-helpers-qmi: add missing LTE bands to nas_lte_bands_map

Reinhard Speyerer rspmn at arcor.de
Sun Aug 18 18:03:53 UTC 2019


On Sun, Aug 18, 2019 at 11:07:27AM +1000, Nick wrote:
> Hey Reinhard,
> 
> Thanks for the tip!  I made some additions, see the patch inline.  It now displays eutran-28 in the mmcli output but whenever I try to use ???set-allowed-bands with any set of bands I get a page fault.

Hi Nicholas,

good catch! I overlooked the active_bands_map[] update (which refers to a
different functionality of MM).

> 
> It seems like mm_modem_bands_to_qmi_band_preference() is the likely place to start digging, but that is just my hunch.
> 
> Debug output:
> Sun Aug 18 10:30:29 2019 daemon.debug [12980]: <debug> [1566088229.221066] Setting new list of bands: 'eutran-1'
> Sun Aug 18 10:30:29 2019 kern.info kernel: [ 2850.121024] do_page_fault(): sending SIGSEGV to ModemManager for invalid write access to 00000000
> Sun Aug 18 10:30:29 2019 kern.info kernel: [ 2850.132164] epc = 77f49afc in libc.so[77ed8000+92000]
> Sun Aug 18 10:30:29 2019 kern.info kernel: [ 2850.137562] ra  = 0048cdb5 in ModemManager[400000+da000]

For devices which do not provide feature_extended_lte_band_preference
(like Sierra Wireless MC73xx/MC74xx) mm_modem_bands_to_qmi_band_preference()
gets called from mm_shared_qmi_set_current_bands() with extended_qmi_lte_bands
set to NULL which seems to cause a SIGSEGV in the first memset() within
mm_modem_bands_to_qmi_band_preference().

I don't see at the moment how this could happen with the EM7565 you use
but I am able to reproduce the segfault with a MC7304 and an unpatched
ModemManager 1.10.x version locally with mmcli --set-current-bands.

Regards,
Reinhard


More information about the ModemManager-devel mailing list