130 lines
4.6 KiB
Markdown
130 lines
4.6 KiB
Markdown
# 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
|