meta data for this page
MMS support
A community member, kop316, has made great progress on MMS support. Until the various PRs get merged, here are some instructions to help get MMS working. You will download the sources and build both mmsd
and purple-mm-sms
, and then we will set up a systemd unit file to ensure mmsd
starts up when the phone does.
First, let's install some development toolchain dependencies.
sudo apt install libpurple-dev libmm-glib-dev modemmanager glibc libtool automake autotools-dev libebook-contacts1.2-dev
Next we will download the sources for the two projects. I like to use a folder ~/Projects
to store this git repos but it doesn't matter where you download the sources. First, purple-mm-sms
git clone https://source.puri.sm/kop316/purple-mm-sms.git cd purple-mm-sms git checkout mmsd make sudo make install
Next, mmsd
git clone https://source.puri.sm/kop316/mmsd.git cd mmsd git checkout ModemManager ./bootstrap-configure --prefix=/usr/ make sudo make install
Now, for mmsd
there is a config file for your Mobile network. If we attempt to start the daemon it will create the config, so as the mobian
user go ahead and:
/usr/libexec/mmsd
We will need to edit the file $HOME/.mms/modemmanager/ModemManagerSettings
. If you look up the APN settings for your carrier you should be able to fill out the fields (last of the three is optional). Here is my example for Verizon,
[Modem Manager] CarrierMMSC=http://mms.vtext.com/servlets/mms MMS_APN=vzwinternet CarrierMMSProxy=NULL
Another example for T-Mobile:
[Modem Manager] CarrierMMSC=http://mms.msg.eng.t-mobile.com/mms/wapenc MMS_APN=fast.t-mobile.com CarrierMMSProxy=NULL
Lastly, we will need to create a systemd unit. I am unsure of all the environment dependencies, so the first thing to do is create an environment file from the mobian user.
sudo mkdir -p /etc/mmsd sudo nano /etc/mmsd/mmsd.env
Add the following line (the file will be empty):
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
Now we can create the unit file with sudo vim /etc/systemd/system/mmsd.service
and add the following content:
[Unit] Description=MMSD After=ModemManager.service eg25-manager.service [Service] ExecStart=/usr/libexec/mmsd -n User=mobian Group=mobian EnvironmentFile=/etc/mmsd/mmsd.env Restart=on-failure RestartSec=10s [Install] WantedBy=multi-user.target
Finally, ensure that the unit is enabled and go ahead and start it:
sudo systemctl daemon-reload sudo systemctl enable mmsd sudo systemctl start mmsd
Please refer to these upstream links for any comments, hopefully they will get merged and this section can be removed soon.
https://source.puri.sm/kop316/purple-mm-sms
https://source.puri.sm/fuzzy7k/purple-mm-sms/-/merge_requests/2