At first, man thinks he controls the modem.
But after the 20th reboot, man learns the modem controls him.
— Epictetus
So here it is! working VoLTE calls with audio on linux!
What a rollercoaster it has been i’ll tell you that.
The frequency between my previous posts was only a few days, as you can see from the time since my last post this has been a far harder project.
But a successful one!
Now fully powered trough my new imsd project:
https://forgejo.catcrafts.net/Catcrafts/imsd
As i said in a my previous comment no matter what i did the regular modem route wasn’t working, so i had to come up with my own.
This has several advantages however, call audio is now just routed trough wireplumber & pipewire, so its integrated much better.
Both inbound and outbound calls work.
How do i get this???
The patient route is waiting until my patches get accepted upstream, a few already have and are coming in 7.3 probably (pmos runs 7.0 currently still oof), a few will probably take longer, 7.4 or beyond.
but for the ones that want to jump right on ive published everything on my forgejo:
https://forgejo.catcrafts.net/Catcrafts
I will soon be publishing a shell script that does the entire installation soon for easy installation.
Sadly there is no way to just plug in an android and do it, so there are still a few manual steps needed, but i believe the path to adoption is reducing friction as much as possible, so ill do my best to make it as easy as possible to use.
imsd
So what is an “imsd”?
its a full userspace implementation of the IMS protocol, which drives VoLTE (4G) calls.
Normally the modem firmware drives this, but this is quite difficult to work with, now it runs fully via a standard daemon on linux!
Along with several d-bus helpers that integrate it with standard plasma-dialer.
if made a APKBUILD for pmos that is mutually exclusive with 81voltd, and loads imsd instead. so installation should be easy.
Now will this actually work?
That’s where you come in!
I am just one guy with one phone with one carrier.
I can say it works on the Fairphone 6 with KPN. it might work with other carriers and other Qualcomm phones aswell, so potentially this could work for the entire linux phone ecosystem, but i have no way to test that.
If you end up trying it, no matter if it works or doesn’t work, please send me a message or open a PR, then we can make sure it works for everyone!
donations

I really was surprised when people asked me this, i just see myself as a guy doing this in his free time, “why would people want to send donations to me?” i thought.
I still stand by my previous point, i have a job, and this project costs me nothing except for time, i don’t have any costs. So i felt kinda guilty receiving money from people.
But i would much rather spend my time making software that benefits society instead of the B2B stuff i do at my job.
I really feel greedy for saying this, but if you want to send me a thank you then that is now possible at: https://bunq.me/catcrafts
Please don’t feel any pressure to do this, doesn’t matter what i get im still continuing with this bring-up. And if you don’t want to donate to me there are many linux organizations that could really use the support! In my eyes we are all in the same boat with the same goal.
If you do decide to, and i cannot express my gratitude enough if you do, please write in the description that it’s a donation, as this makes tax easier.
What’s next?
Ive got a bunch more stuff coming soon, while i haven’t posted here in quite a while i’ve been plenty busy on the mailing list:

So except some more posts soon.
Bonus round
Having fully working hardware is great, but a phone that has no apps is pointless for most people, so i would like to start a discussion in the comments.
What apps do you need that are preventing you from switching to mobile linux?


Man, you’re making me want to try and get one shipped to Canada. This is exciting.
ETA: I’d need a matrix.org chat app working with notifications to switch.
Well if that is the requirement then you’re in luck as fluffychat and nheko are both on flathub!
I’ll admit it’s been over a year since I’ve tried to daily drive my PinePhone. I bridge everything into a self hosted matrix chat and notifications didn’t really work outside of SMS/MMS and calls.
I hear you. I only wish the Fairphone had a headphone jack and microSD at the very least, but I would be so nice to have something faster than the Librem 5 despite me appreciating the blob free/jailed chipsets
It does have a microsd slot
Fractal is an excellent Matrix client that works well if you are using something like Phosh or GNOME Mobile (GTK based), and FluffyChat is good too (Material You aesthetic).
Another Canadian here, I also am starting to wonder about getting one somehow - a buddy of mine shipped it to a friend in the Netherlands, then they brought it home.
If you’re serious and trust me enough I could do it, pre flashed with pmos if you want.
Otherwise if you don’t which I would find very understandable, I assume there are services that also do this?
There is one thing you should look at before getting one, I’m not sure if it supports the bands canadian carriers work at. It’s a thing worths checking beforehand.
Are you using it as your main phone yet?
Battery life is okay? Calls/SMS/MMS are dependable with your changes?
Not yet, for development I have to completely wipe it regularly which makes having all my data on there a bit inconvenient.
Once I’m done with the hardware development I do plan on using it as my main phone, cause why go trough all this trouble otherwise?
Battery life is fine enough, lasts about a day with my current, for example I turn wifi power saving and suspend off cause otherwise my ssh drops if i turn off the screen for long time, I made a somewhat detailed power analysis in my first post here.
Calls are dependable, haven’t tested SMS yet.
The only thing about calls is that imsd currently doesn’t support emergency calls which I do plan on adding in the future, but testing it is a crime, so I need to figure that out.
@TheMightyCat @ArchEngel @skankhunt42 I got mine from Clove UK. No warranty that I know of but it works with Freedom and Telus, so likely the other Canadian telco monopolies.
How much was shipping and import fees? Canada post?$829 for the phone, $70 DHL shipping, ~$100 import fees. I’m probably going to buy itI have a buddy in the UK who is willing to take ETH/BTC from me and stash it in a box with a bunch of candy for me. Lol.
Honestly if there is demand, which judging from the comments here there is. I might start selling them with pmos and prepatched so they work out of the box.
I can buy the phones here in the Netherlands for €395 currently, tax and shipping and stuff does still need to be added to that.
Would that be interesting for you?
I would rather not want to charge a markup as that goes against my values but I would like to have some compensation for my time doing these as this is a per unit time cost instead of a one time cost as with software.
As a potential customer would you agree more with a small markup (think like €15 maybe) or an optional donation?
I don’t have a problem with paying you a markup. I’ve done work like that for free before and it’s not fun. However, €400 is C$640 + markup + shipping + your tax + my import tax + any conversion fees. I’m not sure it’ll be worth it. How do you suggest I send you money?
It seems all in, just for the phone to my door is $1000 CAD from clove UK.
If it’s cheaper to get it via clove UK then you should do that.
I was thinking of selling them on my website, since you were planning to pay with crypto anyway I wanted to support that on my website as a payment method.
Same, but XMPP and Dino. Matrix? Eh.
Yeah, I never got into XMPP back in the day and IIRC when I did look into it having multiple devices use the same account was a bit of trouble. Matrix was just a web API I could hit with python super easily and I never looked back.
Why XMPP? Are there bridges for signal, WhatsApp, SMS/MMS?
JMP.chat and resource usage. I run mine on a $5 Vultr VPS and it’s far from the only thing on it.
Also if you can bridge to Matrix, then that means… yep, you can bridge to any bridge on Matrix. I don’t ever need to, but I know a few who use XMPP’s Signal, IRC and Matrix Bridges