Beta support: MMS on chatty/mmsd on Modem Manager - help/testing wanted!
#1
Hello all,
There has been awesome progress to get beta support for getting MMS to work with chatty! This is by not yet stable, and but is getting closer to day to day use!

If you need help too, there is a matrix/IRC channel you can chat with folks on:

#opensourcemms:matrix.org (Matrix)
or #opensourcemms on OFTC IRC

The two are bridged so you can join either way.

It would be great to get some help and testing to make it stable, so we can bring MMS to the Pinephone. The two pieces of software are here (you will beed to compile yourself): 

MMSD
The README has all of the information to compile and install mmsd, or to test it in debug mode.
If you have Mobian, it is in the unstable repos

If you have pmOS, you can download it from their repo now!

tor.sh is also working to package it gor Fedora! https://gitlab.com/fedora-mobile/mmsd/

Also so you know, mmsd alone fully supports MMS! You can see how to send a message here:
https://source.puri.sm/kop316/mmsd/-/blo...nd-message
https://source.puri.sm/Librem5/purple-mm...ote_132496

And it recieves payloads in $HOME/.mms/modemmanger/

Updates:
Jan 2 2020:
purple-mm-sms has a lot more integration to send and recieve MMS! work is still needed to integrate it into chatty.
  • Recieving single and group MMS works! However I cannot open up a group MMS in chatty: https://source.puri.sm/Librem5/chatty/-/issues/444
  • I have a working proof of concept for now sending an MMS through chatty (in the IM). It's commented out, mainly because it is only for text which is redundant for an SMS. I'm going to work on adding it for the chat (aka group MMS) for text. The next step would be on how to integrate it for images and other files. But that needs to be worked with integration into chatty.
  • The sending an MMS will soon also be integrated into group MMS, right now it is just a stub of code
This MMS stack has been developed/tested in Mobian with phosh.
  • mmsd needs some patches to compile and run on PostmaketOS/phosh. Craftguy in the matrix chat has accomplished this (you will need to talk to the folks in the pmOS matrix chat for help on this). There is a WIP MR for this: https://gitlab.com/postmarketOS/pmaports...uests/1840

Jan 3 2020:
I have kept working on purple-mm-sms. Group MMS is now supported for recieving (any type of attachment) and is now supported for sending (but only text)! The group MMS will not show up in chatty due to this: https://source.puri.sm/Librem5/chatty/-/issues/444 but they show up in pidgin.

For the most part, adding initial MMS support in purple-mm-sms is pretty complete (but needs testing and some bug fixes). The majority of the work is now integrating both a) into chatty and b) mmsd more completely into modemmanager. I annotated the steps here for mmsd/modem manager integraton : https://forum.pine64.org/showthread.php?...2#pid86942 , but the good news is that the majority of work needed for mmsd/modem manager is to make a plugin to support modem manager

Jan 4 2020:
The Simple.c plugin got a bit of work. It now has a config file (that is created on first run) that can take the mmsd, and the interface so you no longer have to configure it at compile time.

Jan 6 2020:
There are some more updates to mmsd and purple-mm-sms! The simple.c plugin is now compatible with mm-glib, which is good to make it integrate with Modem Manager. More details on the updates are here: https://forum.pine64.org/showthread.php?...6#pid87096

Jan 7 2020:
So for good news, porting modem manager to mmsd is relatively straight forward! purple-mm-sms has most/all of the hooks needed for it. You can find those here:
https://forum.pine64.org/showthread.php?...2#pid87182
But for some bad news....It is largely related to this issue:
https://gitlab.freedesktop.org/mobile-br...issues/227
As of now, the Pinephone can only handle one bearer at a time. I do not know if that is a modem manager limitation, or a hardware limitation. Modem Manager's documentation suggests it has the capability to handle multiple bearers, but I have been suggested that this is a core modem manager limitation. At this time, I simply don't know which it is.  I am sincerely hoping it is just a modem manager limitation (i.e. either our modem needs add support, or modem manager needs to add support).
What does this mean in plain english? If you have a carrier with an MMS APN AND a data APN, you can only have access to MMS or data, NOT both at once. If it is a hardware limitation, there's nothing that can be done. If it is a software limitation, that has to be changed in Modem Manager.

Jan 8 2020:
Hey All, I finished a working inplimentation of a modem manager plugin for mmsd! Please look here for the "0.1" commit.
https://source.puri.sm/kop316/mmsd/-/tree/ModemManager
EDIT: Ok I got a bit excited, I now added a few things to ensure that you can understand the API and make sure the plugin is resiliant. I do not have the AT&T tweaks in yet, as soon as I confirm which tweaks to use and test, I will add them.

Jan 9 2020:
I now added a README so you can understand how the settings work, and I incorporated kent's changes to get mmsd to work with AT&T (Thanks kent!).
UPDATE: if you are using mmsd with the modem manager plugin, please update. I fixed an annoying issue finally with it.
UPDATE: Mr. Stephen Hinton confirmed that this stack works with H2O wireless! Thank you!

Jan 10 2020:
Since mmsd has a smarter plugin (modemmanger), I had to polish up purple-mm-sms to better sync with the new plugin. I did just that, so the two should sync better (and the segfault issue has gone away).

Jan 11 2020:
mmsd is almost feature complete! I am having help to package it up for debian, and some folks are working to package it for pmOS and fedora. I am also seeing what I need to do to upstream these changes.

Jan 12 2020:
mmsd is feature complete for modem manager! there are two issues thus far: https://forum.pine64.org/showthread.php?...1#pid87441 (They are not show stoppers thankfully, but I want to annotate them for completeness).
All that is left is to package it!

Jan 13 2020:
Well I hate to say....My latest git commit broke mmsd sending on my side. I have since updated it to fix it.

Jan 14 2020:
If anyone can, I am requesting some help getting a few things done, I put them further up in this post . I have made unsuccessful attempts to get it working. I also added more code for sending MMS.

Jan 15 2020:
Chats (Group MMS) is inching closer to working, but still has some issues. If anyone knows how to solve it, the help would be appreciated! I annotated it here: https://forum.pine64.org/showthread.php?...8#pid87658

Jan 16 2020:
In the interest of integrating MMS more into Chatty versus purple-mm-sms, I am working with Purism to more directly integrate the purple-mm-sms MMS code into chatty, versus work on a standalone purple-mm-sms. The good news is what was developed for purple-mm-sms can be directly put into Chatty, and  MMS can work better with chatty! But this also means that purple-mm-sms will not be heavily developed on anymore (unless the work directly benefits Chatty development too). Please see here for details: https://forum.pine64.org/showthread.php?...8#pid87698 . When I have something usable for chatty, like purple-mm-sms, I intend to post it here, and have a way for folks to test/help with it.
Note this only affects purple-mm-sms, mmsd is still standalone and still being worked on.

Jan 18 2020:
I fixed an annoying issue with mmsd on its dates. I mmsd closes/the system is restarted, mmsd forgot the dates of the MMS and reports them all at the start of epoch time. That bug was fixed!
Also, someone reported that they could get MMS with an IP only proxy, but the issue was on the purple-mm-sms side. Some testing to figure this out would be welcome!

Jan 19 2020:
Well it seems like today has been a really good day bug hunting within mmsd. I have been able to solve every bug that I can reliably reproduce, making mmsd much more stable for usage.
The one outstanding issue is whether mmsd works with MMS proxies that are IP addresses only. I have had someone test this issue on AT&T (change the domain to the IP address manually), and they reported success with mmsd, but said there may be an purple-mm-sms issue. However, in either case, I unfortunately cannot test this issue. If someone can hunt down this issue (and find a fix, or show me where the fix needs to go), I would greatly appreciate it.

Jan 20 2020:
So with more stability, comes more testing, which discovers more bugs. I have reworked mmsd and the modem manager plugin a bit more. The primary feature added is the modem manager plugin can much better handle if the modem is disconnected from mobile data, and a program can activate mmsd to process messages waiting to be sent/recieved manually! This is really good news to make mmsd handle real life scenarios.
Until I/someone else discover more bugs, the only outstanding issue is the MMS proxy issue.

Jan 21 2020:
So I have been able to get mmsd to handle suspending and waking up a lot better! There is some weirdness involving the dbus though for it, and I am not quite sure why. Essentially purple-mm-sms will always register a new dbus interface from mmsd in unsuspending, even though I never disabled the dbus interface.
If anyone knows what cuases that, their help would be appreciated!
EDIT: I seem to have figured it out! It looks like I have mmsd/purple-mm-sms supporting MMS even from suspend! I can send myself an MMS while Mobian suspends and it recieves!

Jan 21 2020:
It seems that mmsd is still on the buggy side for supporting receiving MMS from suspend. From what I can tell, the issue stems from it trying to reattached to the modem too fast after suspend, and the modem isn't ready. If anyone has experience in how to handle this, some help would be appreciated!
EDIT: I seemed to have fixed this on the mmsd side....but purple-mm-sms seems to still have issues. I will have to look into this to figure out what is going on.

Jan 27 2021:
So good news, I think mmsd is in really good shape, and unless someone finds something to be a show stopper, it is at a point release!

Jan 28 2021:
So good news! I think I have the Telus issue resolved. Thank you Futurebucket for your help resolving it.

Feb 4 2021:
I updated with I have been up to. I have been working to better integrate MMS support into a future release of chatty. I showed how to integrate it, but it is very much a WIP.

Feb 7 2021:
I finally got mmsd packaged up for Debian!

Feb 8 2021:
I have the new chatty on feature parity with purple-mm-sms (it isn't as polished though). If you try it BACK UP $(HOME)/.purple !!!

Feb 10 2021:
I updated mmsd to make a user configurable maximum attachment size limit.

Feb 17 2021:
After playing around with Android a bit, I updated the default maximum attachment size limit. I also make mmsd a bit smarter to auto send/recieve messages when it connects/disconnects (this is user configurable).

Feb 18 2021:
I completed a reference chatty implimentation of MMS! You can see details here: https://forum.pine64.org/showthread.php?...6#pid90026
I also refactored MMSD so the patches aren't all over the place.

Feb 27 2021:
In case folks are wondering what I have been up to, it really boils down to waiting right now. I submitted my patches both to chatty and mmsd. The dev from chatty has been responsive, I have not heard anything from the ofono maintainers. If you know of a way to get a response from the ofono maintainers, your help would be appreciated (I have already tried their mailing list and IRC).

Apr 8 2021:
I added a feature on mmsd to automatically recieve SMS WAPs to process MMS. WIth that, mmsd fully supports MMS with Modem Manager (no need for purple-mm-sms/chatty)!
  Reply
#2
I thought it would be good to show a picture of Chatty receiving an MMS!


Attached Files Thumbnail(s)
   
  Reply
#3
Wow thats amazing! Thanks for posting the instructions here. I'm compiling and setting it all up now Smile
- Parthiv S.

Oh also you can just put mm-sms.so in ~/.purple/plugins and it will be loaded first. /usr/lib/purple-2/mm-sms.so will then be ignored.
  Reply
#4
(12-15-2020, 01:50 PM)pacman99 Wrote: Wow thats amazing! Thanks for posting the instructions here. I'm compiling and setting it all up now Smile
- Parthiv S.

Oh also you can just put mm-sms.so in ~/.purple/plugins and it will be loaded first. /usr/lib/purple-2/mm-sms.so will then be ignored.


That's good to know! Right now I use an OS on a test SD card (so I don't mangle my daily one).
  Reply
#5
(12-16-2020, 06:38 AM)kop316 Wrote:
(12-15-2020, 01:50 PM)pacman99 Wrote: Wow thats amazing! Thanks for posting the instructions here. I'm compiling and setting it all up now Smile
- Parthiv S.

Oh also you can just put mm-sms.so in ~/.purple/plugins and it will be loaded first. /usr/lib/purple-2/mm-sms.so will then be ignored.


That's good to know! Right now I use an OS on a test SD card (so I don't mangle my daily one).

I got super excited to try to replicate these steps, but couldn't get past the ./configure --prefix=/usr step. I am getting error: "1: syntax error near unexpected token `2.60'" I am new to building from source code, so I am not surprised I was unable to do it. Just wanted to let you know you are doing awesome work and I wish I could help.
  Reply
#6
(12-17-2020, 01:51 PM)hinton.s.b Wrote:
(12-16-2020, 06:38 AM)kop316 Wrote:
(12-15-2020, 01:50 PM)pacman99 Wrote: Wow thats amazing! Thanks for posting the instructions here. I'm compiling and setting it all up now Smile
- Parthiv S.

Oh also you can just put mm-sms.so in ~/.purple/plugins and it will be loaded first. /usr/lib/purple-2/mm-sms.so will then be ignored.


That's good to know! Right now I use an OS on a test SD card (so I don't mangle my daily one).

I got super excited to try to replicate these steps, but couldn't get past the ./configure --prefix=/usr step. I am getting error: "1: syntax error near unexpected token `2.60'" I am new to building from source code, so I am not surprised I was unable to do it. Just wanted to let you know you are doing awesome work and I wish I could help.


Hello!

We are happy for you to help! I assume you are referring to MMSD? What I figured out is that I had to use "./bootstrap-configure", not "./configure"

I also use the options "--enable-debug" and "--enable-maintainer-mode" , this makes it easer for me to develop with it. You have to remove "-Werror" from the compiler options too (it's in acinclude.m4oOr delete it from the makefile before you make).

Let me know if that helps!

If you need faster help, I'm on the Mobian matrix channel, but I tend to check here every so often too.
  Reply
#7
https://source.puri.sm/Librem5/purple-mm...equests/26

If there is anyone that can/wants to help, receiving MMS in chatty is in a beta state, but needs work.
  Reply
#8
So a couple of neat updates:

There is a WIP MR to package these into PostmarketOS:
https://gitlab.com/postmarketOS/pmaports...uests/1840

Additionally, I have figured out how to send an MMS though Chatty! I have (commented out) code to show the Proof of concept, and have some work to further support Group MMS. I added it into the purple-mm-sms WIP MR here:
https://source.puri.sm/Librem5/purple-mm...equests/26

Much of the remaining work involves integration into the UI elements of Chatty and polishing the existing codebase to make it work
  Reply
#9
I have been working on this MR

https://source.puri.sm/Librem5/purple-mm...equests/26

I have a working proof of concept for now sending an MMS through chatty (in the IM). It's commented out, mainly because it is only for text which is redundant for sending to one person. I'm going to work on adding it for the chat (aka group MMS) for text. The next step would be on how to integrate it for images and other files. But that needs to be worked with integration into chatty.
Sending an MMS is also slow thorugu the code. I am not sure yet if that'd because of the code or if that's random chance. But I think more work is needed.
And more work will be needed for sending multiple attachments, but that is a matter of polishing
  Reply
#10
Hi, I've been following the conversations on this over at the Purism site. You guys are doing great work. I'm trying to test this on Manjaro/Phosh - but not entirely sure what I'm looking for or how to be helpful. 

Following the instructions, everything seems to compile and install. To test, I directed two MMS messages with image attachment to the PP from an AT&T device. Here's what happened:

-The SMS quickly came in as expected and appeared under the AT&T inbound phone #.
-A reference to the MMS attachment appeared quickly, but appeared under a seemingly arbitrary inbound #.
-The MMS entries in Chatty all display the text "plication/vnd.wrap.mms-message" rather than the file information in your screen shot.

Also, I removed the Chatty auto-run entry and launched manually as described in the instructions (but have not built from sources). Interestingly, after exiting Chatty for a bit and re-running, Chatty detected both test messages for a second time and downloaded them again.

Quote:(I learned later that it is a good idea to build chatty from source if you want to debug issues. This way you can build in the debug symbols)
What is the source repo location?

Quote:It would be great to integrate it into mobile-broadband-provider-info  ( [https://gitlab.gnome.org/GNOME/mobile-br...vider-info), and provide a way to provide a setting to provide the MMSC settings.

Bearing in mind I've never encountered an .XSL document before and am not at all sure how these pieces fit together, I did some poking around and the fields we need appear to have already been integrated/implemented.

There is a conditional in apns-conf.xsl on the usage field of an APN entry (provider>gsm>apn). When usage is set to "mms", the logic integrates the mmsc and mmsproxy fields. The mmsproxy field is parsed to derive mmsport (from mmsproxy:port, or default to 8080).

In serviceproviders.xml, many of the carriers already have MMS apn entries defined, which appear include needed fields to set up the internet connection. I don't see obvious changes needed at this level. It looks like everything is there.
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Latest firmware for PinePhone modem! Subsentient 74 44,632 09-09-2021, 02:06 AM
Last Post: surfingtux
  window manager choices/questions. D4rkh0rs3 1 507 08-21-2021, 12:10 PM
Last Post: swiley
  Beta Convergence edition external display? Ferenc 3 96 07-28-2021, 11:50 AM
Last Post: Ferenc
  2FA Support publiclewdness 1 807 03-25-2021, 03:32 PM
Last Post: bitsandnumbers
  Python3 Bridge SMS/MMS to Matrix using Modem Manager and MMSD FutureBucket 3 1,110 02-10-2021, 08:09 PM
Last Post: kop316
  Help wanted: location of calls and chatty data files dukla2000 3 1,249 12-22-2020, 06:28 AM
Last Post: dukla2000
  Does any os support mms? RandomN00B 11 8,151 12-09-2020, 10:57 AM
Last Post: kop316
  Opinions wanted : "Best out of the Box" OS at this time bcnaz 26 8,829 11-26-2020, 10:56 PM
Last Post: JuniperFury
  Latest modem firmware breaks voice calls bero 3 2,027 11-20-2020, 07:18 PM
Last Post: bero
  Komorebi: Live wallpaper manager nas 0 927 08-13-2020, 05:35 PM
Last Post: nas

Forum Jump:


Users browsing this thread: 2 Guest(s)