sargo-temp/README.md

150 lines
6.5 KiB
Markdown
Raw Normal View History

2024-07-16 17:44:34 +00:00
# sargo-temp
2024-07-16 23:17:32 +00:00
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.
2024-08-22 23:04:11 +00:00
Note: If you built the image with a different username, you will have to set that in `ansible/ansible.cfg`.
2024-07-16 23:17:32 +00:00
### 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`
2024-08-23 22:44:42 +00:00
Note:
- You might have to switch SIM slots if your SIM card is not recognised.
- Command: `mmcli -m 0 --set-primary-sim-slot=1`, options are `1` or `2`
- Note that this reboots the modem, therefore it will be `-m 1` and then the next time `-m 2` until you reboot and this makes it go back to `-m 0`.
- The kernel does get updates from the repos yet, so watch the git repo to find out when there are new releases so you can compile it again and install the `.deb` file.
- Feed: https://salsa.debian.org/erebion/sdm-670-linux/-/tags?format=atom
- Watch the RSS feed for this repo to learn when there is something new:
- Feed: https://git.erebion.eu/forgejo/erebion/sargo-temp.rss
2024-07-16 23:17:32 +00:00
## Project Status
2024-08-13 22:39:27 +00:00
### To Do List
2024-08-20 23:49:02 +00:00
- Make installer images work on this device
- Have droid-juicer run on installer images
2024-08-31 23:29:54 +00:00
- Make sure my `q6voiced` package no longer includes a hard-coded config for this device (known solution, need to implement)
2024-08-22 23:04:11 +00:00
- 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)
2024-08-31 11:25:02 +00:00
- https://salsa.debian.org/Mobian-team/devices/kernels/qcom-linux/-/issues/2
2024-08-13 22:39:27 +00:00
- 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
2024-08-22 23:04:11 +00:00
- Combining SDM670 kernel patches with the Mobian qcom kernel (To Do List entry above, **help wanted**)
2024-08-13 22:39:27 +00:00
2024-08-21 14:21:17 +00:00
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)
2024-08-31 23:29:54 +00:00
- Remove hard-coded value in the `droid-juicer` systemd unit
- https://gitlab.com/mobian1/droid-juicer/-/issues/4
2024-08-21 14:21:17 +00:00
For those I will remove the workarounds once the changes are in the Mobian repo
2024-08-13 22:39:27 +00:00
#### Misc Issues
- some physical SIMs are not detected correctly, current theory is a race condition in ModemManager (needs further investigation)
- https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/889
2024-08-13 22:39:27 +00:00
- ALSA config for the device has not been upstreamed yet (can be added using the Playbook in this repo)
- Bug in Pipewire that causes issues with the camera: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/4227
- Some people have issues connecting to 5 GHz wifi and/or dual 2.4 GHz/5 GHz wifi, while for others this works perfectly fine
2024-08-31 11:25:02 +00:00
- https://salsa.debian.org/Mobian-team/devices/kernels/qcom-linux/-/issues/6
- Can be worked around by forcing the phone to only use the 2.4 GHz band, for example using `nmtui`, the network settings of GNOME/Phosh are bit too simplistic for that
2024-08-13 22:39:27 +00:00
(This is a non-exhaustive list)
#### Low Priority
- add udev rule for the vibration motor to the right package
2024-08-31 11:25:02 +00:00
- https://salsa.debian.org/Mobian-team/devices/kernels/qcom-linux/-/issues/3
2024-08-13 22:39:27 +00:00
- fix udev rule for the Bluetooth workaround in this repo
2024-08-22 23:04:11 +00:00
- create/find script/tool that brings up Bluetooth & then package it
2024-08-31 11:25:02 +00:00
- https://salsa.debian.org/Mobian-team/devices/kernels/qcom-linux/-/issues/5
2024-08-22 23:04:11 +00:00
- 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
2024-08-13 22:39:27 +00:00
2024-07-16 23:17:32 +00:00
### This Works
- booting
- display
- touch
2024-08-23 22:44:42 +00:00
- modem <- You might have to switch to the other slot if it does not work: `mmcli -m 0 --set-primary-sim-slot=1`, options are `1` or `2`. Note that the modem could also be a different number, maybe try `-m 1` if it is not found as the command will reboot the modem and then it changes.
2024-07-16 23:17:32 +00:00
- plymouth
- battery/charging
- mobile data
- wifi
- torch
- suspend
2024-08-13 22:39:27 +00:00
- call audio
2024-08-08 11:46:19 +00:00
- vibration
- Bluetooth™
2024-08-23 22:44:42 +00:00
- full disk encryption
- eSIM (provisioning tool not yet packaged and has to be compiled and installed manually)
2024-08-20 23:49:02 +00:00
- SMS (only receiving has been tested, but I dont have reason to believe sending wouldnt work)
- audio (ALSA config not packaged, but can be manually added using the playbook in this repo)
- camera (some sort of bug and it does not work currently, but the support is there, udev rule requird)
2024-07-16 23:17:32 +00:00
2024-08-13 22:39:27 +00:00
### This Has An Unknown Status
- Fingerprint Sensor
2024-08-22 23:04:11 +00:00
- NFC (should work, does so on pmOS)
2024-08-13 22:39:27 +00:00
### This Does Not Work Yet (Soon™)
2024-07-16 23:17:32 +00:00
2024-08-23 22:44:42 +00:00
- GPS
2024-08-20 23:49:02 +00:00
- USB host mode (no Kernel support yet, but apparently this is being worked on)
2024-08-23 22:44:42 +00:00
- Verified Boot (first need to do research)
2024-07-16 23:17:32 +00:00
### This Is Missing And Will Come Later
- accelerometer
- magnetometer
- ambient light sensor
- barometer
### The Sources (Use The Source, Luke)
2024-08-13 22:39:27 +00:00
- 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)
2024-07-16 23:17:32 +00:00
- `mobian-recipes`, which is used to build images: https://salsa.debian.org/Mobian-team/mobian-recipes
2024-08-22 23:04:11 +00:00
- `droid-juicer`, which retrieves some important files, such as firmware, from some partitions: https://gitlab.com/mobian1/droid-juicer
2024-08-08 11:46:19 +00:00
- postmarketOS wiki: https://wiki.postmarketos.org (lovely folks, thanks for sharing everything you found out the hard way :D)
2024-07-16 23:17:32 +00:00
### Thanks For All The Fish
2024-08-13 22:39:27 +00:00
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! :)
2024-07-16 23:17:32 +00:00
I dont know how Kernel development works, so I would have never started porting without this project.
Find that here: https://gitlab.com/sdm670-mainline/linux