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.
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
.
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.
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 addedif (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.
~eenermckeener: I'm going to push some changes to
mmsd
and a fork of ~MartijnBraam'sofonoctl
script that should address the problem you're seeing.Specifically:
- 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).
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.- 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.
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.