How to send MMS messages on the Pinephone with vgmms
Update! While vgmms is not working yet, you can use jmms in the meantime: https://git.sr.ht/~amindfv/jmms Just head to that link and read the instructions for installation. Right now jmms only supports receiving MMS messages (group texts and pictures), not sending.
NOTE: this guide is still a work in progress and while installing vgmms works, sending MMS does not work yet. (although you can send SMS through vgmms).
- install the mobian operating system on the SD card
- create swap space so the build process doesn't run out of memory
- install dependencies
- clone vgmms and other repos
- build ofono, mmsd, and vgmms
- reboot and run vgmms
https://wiki.mobian-project.org/doku.php?id=install Other operating systems might work but I have only tested mobian. You might find it useful to set up an SSH connection to the phone to make it easier to copy/paste these commands.
Create Swap Space
f=/swapfile1 mb=3000 sudo dd if=/dev/zero of="$f" bs=1M count="$mb" status=progress sudo chmod 600 "$f" sudo mkswap "$f" sudo swapon "$f"
sudo apt install git curl make gcc automake libtool-bin autotools-dev libudev-dev libdbus-1-dev libglib2.0-dev libcairo2-dev libjpeg-dev libgif-dev libpango1.0-dev libgdk-pixbuf2.0-dev librust-atk-dev librust-gdk-dev libsqlite3-dev mobile-broadband-provider-info curl https://sh.rustup.rs -sSf | sh #install rust
Clone the repos
cd mkdir mms cd mms git clone https://git.sr.ht/~anteater/vgmms git clone https://git.sr.ht/~anteater/mmsd git clone https://git.sr.ht/~anteater/ofono git clone https://github.com/bryanperris/ell.git
Note: requires the ell repo to be in the parent directory. (if you ran the git clone commands as above, it will be.) Also, there is an apt package for ofono, but we need to build it manually for it to work.
cd ~/mms/ofono #instead of running ./bootstrap-configure, run the configure without the --enable-maintainer-mode which will get rid of -Werror and the extra test modem test -f config.status && make maintainer-clean ./bootstrap && ./configure \ --enable-debug \ --prefix=/usr \ --mandir=/usr/share/man \ --sysconfdir=/etc \ --localstatedir=/var \ --enable-test \ --enable-tools \ --enable-dundee \ --disable-datafiles make && sudo make install
cd ~/mms/mmsd ./bootstrap-configure sed -i 's/-Werror //g' Makefile #remove -Werror from the Makefile make && sudo make install
cd ~/mms/vgmms cargo update -p rustdoc-stripper --precise 0.1.14 #temporary fix needed for the latest commit as of 2020-09-30, will not be needed in the future cargo build --release
If the last command uses too much CPU, you can restrict it to 1 core with this command instead:
cargo build -j 1 --release
First start the daemons and enable the modem.
sudo service ofono start ~/mms/ofono/test/enable-modem ~/mms/ofono/test/online-modem /usr/libexec/mmsd
Run vgmms itself. A window will pop up on the phone that you can interact with.