~anteater/mms-stack-bugs#48: 
mmsd[]: Failed to handle incoming notification.

Please reference https://gitlab.com/ikidd/mms-build for script files

I installed the stack as per the file vgmms_setup.sh in the git. Then reboot and run startmms.sh. Everything comes up, mmsd is running in background but kicking out messages. Tried an incoming mms via https://www.twilio.com/mms demo and I get

mmsd[4090]: plugins/ofono.c:agent_receive() path /quectelqmi_0 mmsd[4090]: plugins/ofono.c:agent_receive() notification with 188 bytes mmsd[4090]: src/service.c:mms_service_push_notify() service 0xaaaae1fed580 data 0xaaaae1fefab4 len 188 mmsd[4090]: src/push.c:mms_push_notify() pdu 0xaaaae1fefab4 len 188 mmsd[4090]: src/push.c:mms_push_notify() 0006291F226170706C69636174696F6E2F766E642E7761702E6D6D732D6D657373616765008184AF848D01008C82983174696431373830373739373232355F303179797932008D928918802B31343135343033323634302F545950453D504C4D4E00960086808A808E022EA588058103093A8083687474703A2F2F6D6D7363322E6765742E62656C6C2E63612F6D6D732F776170656E633F6C6F636174696F6E3D31373830373739373232355F303179797932267269643D30333000 mmsd[4090]: Body Length: 144 mmsd[4090]: src/store.c:generate_uuid_from_pdu() pdu 0xaaaae1fefae0 len 144 mmsd[4090]: src/store.c:mms_store() pathname /home/alarm/.mms/302610917216304/09E6145123AA6AEBF37B7D75114BB6609992768E mmsd[4090]: Failed to handle incoming notification

It seems like a file goes into the .mms folder under a numbered directory, I'm not really sure what to do with these files as I assume vgmms should handle them when mmsd passes the full message on to it, but it's not getting to that point.

Status
REPORTED
Submitter
~eenermckeener
Assigned to
No-one
Submitted
3 years ago
Updated
3 years ago
Labels
mmsd user support

~fuzzy7k 3 years ago

Try using anteater's git repo for ofono & mmsd. I was getting that error on the t-mobile network until doing so. Might I also suggest changing the title of this bug to mmsd[]: Failed to handle incoming notification.

~eenermckeener 3 years ago*

Well, that got me further despite not being on a Tmobile connection (Virgin/Bell Canada).

It does a lot more but still ends in failed to handle notificiation

https://gitlab.com/ikidd/mms-build/-/snippets/2027934

So this seems to be __MMS_HEADER_MAX in mmsutil.c and that case I think just returns null in the handler routine header_handler. I don't see a copy of the message in ~.mms/<modemID?> folder so I can't see what it was trying to parse there. Not sure how to get a copy of that as it would seem to delete it if it fails.

~eenermckeener 3 years ago

My bad, as Fuzzy corrected me, it's trying to decode the 0x16 header MMS_SUBJECT. This returns NULL in case WSP_VALUE_TYPE_LONG: so I added

if (dec_text == NULL)

dec_text = "subject";

to that case and it manages to finish decoding. Stuck on bearer_timeout now when it goes to get the message which I"m suspecting is a problem with ofono not setting up a default route via wwan0 to get to the mmsc.

~anteater 3 years ago

~eenermckeener: I'm going to push some changes to mmsd and a fork of ~MartijnBraam's ofonoctl script that should address the problem you're seeing.

Specifically:

  1. the driver in Ofono for the PinePhone's modem doesn't support the operations MMSd expects for its bearer interface, so the bearer interaction in MMSd needs to be hacked around a bit (in lieu of a proper fix on the Ofono side, which I'll look into at a later date).
  2. ofonoctl needs to specifically add IP routes from the wwan interface to the wwan DNS servers so that they aren't accessed over the wrong interface.
  3. MMSd needs to get the IP addresses of the wwan DNS servers from ofono.

I have patches for all of these. I'll comment again when said patches have all been pushed to my forks, and then I'll try to find a prominent place to write up a relatively foolproof setup/debugging guide.

~anteater 3 years ago*

Patches pushed: ofonoctl, mmsd.

With Megi's modem power driver, something like the following should be all that's required to get MMS to work:

(cd /sys/class/modem-power/modem-power/device/ || exit 1;
echo 1 | sudo tee powered;
while [ "$(cat powered)" == "0" ]; do sleep 1; done)
sudo ofonod -n -d &
ofonoctl poweron
ofonoctl online
sudo ofonoctl wan --connect
/usr/libexec/mmsd -n -d

I'll do more testing and put together a more comprehensive writeup soon.

Register here or Log in to comment, or comment via email.