# sargo-temp Temporary fixes that make Mobian work on sargo. Please note that the MIT license does not apply to `qcom-firmware`. ## What to do ### Build Image Instructions can be found in IMAGE.md in this repo. ### Flash image First flash the image. Boot the phone. Connect via SSH: `ssh mobian@10.66.0.1` Accept the host key. Note: If you built the image with a different username, you will have to set that in `ansible/ansible.cfg`. ### Roll out workarounds using Ansible You have to have `ansible-playbook` installed. Go to the Ansible folder: `cd ansible` Roll out workarounds: `./workarounds.sh` Reboot phone via SSH. Connect to wifi. Rolling out the workarounds for audio requires installing packages from the repo, so we need an internet connection. Roll out audio workarounds: `./audio.sh` ## Project Status ### To Do List - Make installer images work on this device - Have droid-juicer run on installer images - Make sure my `q6voiced` package no longer includes a hard-coded config for this device - Create an ITP for `tinyalsa` and `q6voiced` and get both into the repos (use the workarounds from this repo to get working call audio for now) - Combine SDM670 kernel patches with those in the Mobian qcom kernel - Patches are already being upstreamed by the sdm670-linux project, maybe that's already done before I start working on it xD #### Issues To Solve To Get Official Mobian Images - Remove hard-coded value in the `droid-juicer` systemd unit (needs someone who knows Rust, **help wanted**) - https://gitlab.com/mobian1/droid-juicer/-/issues/4 - Combining SDM670 kernel patches with the Mobian qcom kernel (To Do List entry above, **help wanted**) Done: - New release of qcom-phone-utils required so that my patches are available from the repo - https://salsa.debian.org/DebianOnMobile-team/qcom-phone-utils/-/commit/4f77281197c6ba1cfc1a82596157d00e8a7e014b (firmware folders) - https://salsa.debian.org/DebianOnMobile-team/qcom-phone-utils/-/commit/9aa29a1d0bd2327e9c74317d516a8aeecf820304 (fixes bootimg generation with LUKS) - https://salsa.debian.org/DebianOnMobile-team/qcom-phone-utils/-/commit/3ddb192b5c78b444065f23647b373ad66ce3617d (fixes on-screen keyboard for LUKS passphrase) For those I will remove the workarounds once the changes are in the Mobian repo #### Misc Issues - ALSA config for the device has not been upstreamed yet (can be added using the Playbook in this repo) (This is a non-exhaustive list) #### Low Priority - add udev rule for the vibration motor to the right package - fix udev rule for the Bluetooth workaround in this repo - create/find script/tool that brings up Bluetooth & then package it - for now this repo contains a simple script specific to this device and a udev rule, but something is wrong with the udev rule. Run `/opt/bluetooth-mac.bash` to get Bluetooth working, repeat after reboots ### This Works - booting - display - touch - modem - plymouth - battery/charging - mobile data - wifi - torch - suspend - call audio - vibration - Bluetooth™ - eSIM - SMS (only receiving has been tested, but I don’t have reason to believe sending wouldn’t work) - audio (ALSA config not packaged, but can be manually added using the playbook in this repo) - full disk encryption (works, will document that soon) - camera (patches not pushed to my device-specific kernel) ### This Has An Unknown Status - Fingerprint Sensor - GPS (needs some improvements for better accuracy) - NFC (should work, does so on pmOS) ### This Does Not Work Yet (Soon™) - USB host mode (no Kernel support yet, but apparently this is being worked on) ### This Is Missing And Will Come Later - accelerometer - magnetometer - ambient light sensor - barometer ### The Sources (Use The Source, Luke) - My efforts of packaging a device-specific kernel: https://salsa.debian.org/erebion/sdm-670-linux (which can be used for now as patches are not yet in upstream Linux) - `mobian-recipes`, which is used to build images: https://salsa.debian.org/Mobian-team/mobian-recipes - `droid-juicer`, which retrieves some important files, such as firmware, from some partitions: https://gitlab.com/mobian1/droid-juicer - postmarketOS wiki: https://wiki.postmarketos.org (lovely folks, thanks for sharing everything you found out the hard way :D) ### Thanks For All The Fish Huge thanks to be sdm670-linux project and flamingradian who did and still does an awful lot of work to make sure the Kernel works on those devices! :) I don’t know how Kernel development works, so I would have never started porting without this project. Find that here: https://gitlab.com/sdm670-mainline/linux