State of MMS on Librem 5

Ok, I may see where it is. I will try to make a debug version to try.

By the way, i fyou have matrix, I am also on the comunity/librem-5 channel. That may be easier to find me and work with me.

Ok, here is the debug branch:

Please compile and run it.

2 Likes

As a Heads up, there is an issue with mmsd. The payload does not have expected headers so mmsd errors out.

I need to fix it, and @francepat has been kind enough to help me with it.

EDIT:
@francepat: I think I fixed the issue.

Please test: https://source.puri.sm/kop316/mmsd/-/tree/debug-francepat

and let me know if it worked.

As a note for anyone else, if it works I will merge it, and it is only for specific use cases, so don’t try to compile/use this unless you have a good reason to (like you are francepat, or have the same problems).

2 Likes

So as a follow-up, @kop316 did fix the issues with the parsing of the particular MMS’s I was receiving, many of which were sent from Google Voice. However, while it was working for him, it was not working for me. I started adding debug code into mmsd to try to figure out what was not working. It took days of this because I don’t know the code so this is a pretty brute force method to figure out what is going on. Anyway, today I determined that the error was occurring when the mmsd code tried to open up a web session and because the CarrierMMSC specified https, it was trying to use TLS. The TLS code it was using was gnutls which is very old and it was failing. Probably it only supports some version of TLS 1 which nobody with any sense supports anymore. I changed the CarrierMMSC to use http instead, and that worked. Not sure how long they will support use of http but for now I am receiving MMS messages. I am unable to view the images correctly from chatty, but am able to navigate to the image using the file navigator (nemo) and view the images.

So this is progress (for me anyway). Before, MMS’s were blocking my ability to get any SMS’s even after an MMS was sent to me. Then that was fixed and the MMS was stored (in an encoded form with headers) on the phone (not parsed) and I was able to get SMS’s. Now I can get the MMS and with the kludgy step of using nemo I can see the image.

I don’t know when these pieces will be available in the repository. I had to build several of them on my phone, including modemmanager, libqmi, purple-mm-sms, and mmsd.

5 Likes

It’s great progress – well done!

The whole exercise is like an illustration of why it’s great to have the source code. If you have the source code, and the ability to rebuild from source and try again, then if you’re just stubborn and systematic about it, and with a little help from your friends like @kop316 in this case, you have a good chance of getting to the bottom of things. :slight_smile:

Now I can get the MMS and with the kludgy step of using nemo I can see the image

For me, chatty shows a blue “clickable” file:// link that I can tap to view the image, then it opens it using the eog (eye of gnome) program. That requires having eog installed ( apt install eog). Is that part not working for you?

By the way, the ModemManager changes needed for this were merged into upstream ModemManager a few days ago: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/495
That’s one step closer to getting MMS working by default, I think.

3 Likes

Yep, and without source code, I would have to write mmsd from scatch too!

But as we found out, mmsd has some very old code that needs to be refactored out of it. So I need to work on that (or find someone to help on it).

1 Like

Also, Someone suggested to make a dedicated channel for MMS on Matrix/IRC channel, so I did. You can find it on:
#opensourcemms:matrix.org
or #opensourcemms on Freenode IRC

The two are bridged so you can join either way.

3 Likes

So I installed the latest updates, which included modemmanager and libqmi. After that I couldn’t receive MMS’s anymore. So I went back to the modemmanager and libqmi I built and I installed them again and it worked again. I then rebuilt kop316’s latest mmsd and replaced my debug version and that worked also.

So regarding opening mms’s properly, I have eog installed. If the MMS has no text (just an image) it opens fine. If it contains text also the link in chatty is apparently to the text which opens with a text editor and there is no way I can see to navigate to the image associated unless I go into the mms directory with nemo.

1 Like

Okay that explains it, my tests MMS messages were always with just an image and no text.

There is this open issue about showing images in chatty:

Keenly awaiting MMS official release …

Right now I am being DoSed by people sending vanilla ASCII text messages whose length exceeds 160 (?) characters. :frowning:

4 Likes

As the software is now, it’s not practical to make the L5 a primary device to receive SMS 2 facor tokens.

Imagine the scenario of a L5 used as a daily driver. All it would take to be locked out of your bank account for 3+ days is someone sending you a 161 character message!

MMS should be a higher priority than getting the cameras working.

4 Likes

Certainly a concern but I generally avoid that by not giving companies my mobile phone number (because if I do then they have permission to spam me forever).

Weirdly though even though I cannot receive SMSs sent by senders on the same network as I am on (seemingly), I can receive SMSs sent by senders on another network. So it’s a lottery at the moment as to whether I can receive the SMS, so 2FA might work. I’m hoping that my mobile provider has some sort of timeout, so the DoSing message disappears after a while.

There are possibly different developers working on these two things, so one doesn’t necessarily take away from the other, hopefully. Anyway, if it’s relatively simple and quick to get one working before the other, I say "go for it! :slightly_smiling_face:

1 Like

To add to that, many devs are unpaid volunteers who decided to get features working (*kop316 being an unpaid volunteer).

I just decided rather than waiting for MMS, I wanted to do something about it.

7 Likes

Getting cameras working was a prerequisite for FCC certification (which requires all hardware to be operational for testing), so no - it was quite obviously a higher priority.

That said, we’re already starting to get things needed for MMS in place. There’s an updated version of libqmi heading to byzantium right now, which will allow us to backport transfer-route MT patch in ModemManager, which is needed to handle MMS on some networks (and unbreaks SMS being stuck after receiving a MMS on those). Afterwards I plan to take a look at having mmsd package uploaded to byzantium, at which point it will be “just” a matter of integration into Chatty.

16 Likes

Thanks @dos I appreciate the small insights you and the other devs are giving from time to time. I find them really interesting!

4 Likes
8 Likes

@kop316 do you have some news ?
I cloned the mmsd-tng repo and saw that you have been active this past month with nice improvements, are there some things stuck in the pipeline for the official integration in L5 or PinePhone ? (maybe I’ve missed things)

1 Like

@fralb5

TL;DR: I am waiting to hear back from Purism on how to proceed with Chatty integration, and I don’t know the status of mmsd-tng in PureOS.

To be clear, I am not a Purism/Pine64/related employee, so I do not set priorities for them.

What I can tell you is mmsd-tng is in the pipeline for the Debian repo, it is in Mobian Unstable, and it is in PostmarketOS. I do not know its status for PureOS.

I can also tell you that I have a branch for chatty that supports (backend) MMS support, but still needs UI integration. But since I am not a developer for Chatty, I am waiting to hear back on how to proceed on (since I do not want to make changes then have to revert/change them again). You can see my MR here:

And my branch here:

Additionally, that branch is dependent on this MR to be merged into Chatty:

12 Likes

Niiiice thanks !