MTU negotiation for non-IP does not work

We are facing an issue with a provider when sending packets bigger than the defined MTU. The Path MTU Discovery does not work because the module is allowed to send packets but it does not receive the reply from the base station.

We could reproduce the behavior with our own base station. If we limit the MTU on the base station on the IP layer, the IPv4 Link MTU Request gets answered and the Path MTU Discovery works as expected.

But, if the MTU is limited on a non-IP layer (the options are called mtu_non_ip and mtu_unstructured_link) we do not see any MTU negotiation and the behavior is the same as with the provider, oversize packets can be sent but the answer does not get back.

The problem is now, we could limit the MTU on the client device, but we do not know to which value. Path MTU Discovery cannot be used and AT+QMTUINFO returns an error on the EM12-G module.
It does not seem to be a provider issue, because Path MTU discovery of the same provider works on my Samsung S20 smartphone.

When I take a look at the RM5xxQ AT commands manual, there is an option in the AT+CGDCONT how to discover the IPv4 MTU and the Non-IP MTU. This is not described in the EM12 manual, is this just not supported by this Module or by the Release 12?

thanks for contacting us, could you pls tell us the which module type or firmware version currently?

EM12 with A20 and later firmwares. We could limit the problem area to a possible bug in the libqmi related to qmimux.
It works with mbim and libqmi without using muxes. Topic can be considered as resolved.

The issue was the qmimux header of 4 bytes has been cropped by the parent interface. The main interface must include the 4 bytes. For example:
wwan0 MTU: 1504
qmimux0 MTU: 1500
qmimux1 MTU: 1500