Skip to content

Instantly share code, notes, and snippets.

View calebccff's full-sized avatar
🏳️‍🌈

Caleb Connolly calebccff

🏳️‍🌈
View GitHub Profile
@calebccff
calebccff / bisect-test.sh
Created April 5, 2022 13:34
Caleb's hacky bisect script
#!/bin/bash
# sudo uhubctl -a off -p 2 -n 2109:2812 && printf "%b" "\0x01" > /dev/ttyACM0 && sleep 15 && sudo uhubctl -a on -p 2 -n 2109:2812
export TOOLSDIR=$HOME/pmos/tools
. $HOME/pmos/tools/pmenv
. $HOME/pmos/tools/automation.sh
. ~/pmos/pmbootstrap/helpers/envkernel.sh
@calebccff
calebccff / aflash.sh
Last active November 19, 2023 09:16
fastboot wrapper for flashing android images from a folder
#!/usr/bin/zsh
# Wrapper for common fastboot flash commands
# Example usage (as an alias)
# Assumes the device is running Android, syncs kernel modules (and whatever else)
# and then reboots and flashes the kernel
# $ alias aflashboot="adb remount && adb sync; aflash.sh -t -b"
#
# Flashes everything, from bootloader
# $ alias aflashall="aflash.sh -t -s -v -b"
@calebccff
calebccff / ril.md
Last active February 18, 2022 19:22
Writing a RIL HAL for AOSP / mainline
@calebccff
calebccff / waydroid-net-pmos.sh
Created December 8, 2021 16:09
Script to fix waydroid networking on postmarketOS
#!/bin/ash
# You may need to disable nftables for this to work, it's probably a bad idea to do so
sysctl net.ipv4.ip_forward=1
iptables -P FORWARD ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.250.0/24
echo "ip route add default via 192.168.250.1 dev eth0; setprop net.dns1 1.1.1.1" | waydroid shell
#!/usr/bin/python3
import argparse
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as patches
from scipy.stats import linregress
pmics = ["pmi8998", "pm660"]
fabs = ["gf", "tsmc", "smic", "mgna"]
@calebccff
calebccff / copykernel.source
Created November 1, 2021 16:47
Bash function to copy kernel artifacts to AOSP device project
#!/bin/bash
##############
## WARNING: This script uses `rm -rf` with variables, make sure you know what it's doing before running it
## and don't hold me accountable if you accidentally delete important stuff.
## Whilst I have tested it, your setup will be different and you should edit this to match.
## See more details at the bottom.
ANDROID_MAINLINE_DIR="/PATH/TO/AOSP/SOURCE"
@calebccff
calebccff / edid_parser.c
Created September 21, 2021 13:30
Very basic edid parse to check for audio support
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
#define HDMI_EDID_PATH "edid.bin"
#define ALOGE(...) (printf(__VA_ARGS__))
struct edid_extension {
unsigned char tag;
@calebccff
calebccff / bisect-test.sh
Created September 16, 2021 15:07
Very hacky script for automatically bisecting kernel regressions on devices like the OnePlus 6
#!/bin/bash
# basically what at-to_bootloader_hard does, turns off the USB port the phone is connected to so that
# VBUS is low and the device won't go to EDL (yay oneplus)
# then sends a byte to the arduino to tell it to perform a hard reboot by pressing volume up and power
# finally turn the usb port back on
# sudo uhubctl -a off -p 2 -n 2109:2812 && printf "%b" "\0x01" > /dev/ttyACM0 && sleep 15 && sudo uhubctl -a on -p 2 -n 2109:2812
export TOOLSDIR=$HOME/pmos/tools
#!/bin/bash
exec &> /var/log/sdm845-modem-prepare.log
AID=$(qmicli -d qrtr://0 -p --uim-get-card-status | grep -E "([A-Z0-9]{2}:){15}[A-Z0-9]{2}" | xargs)
while [ -z "$AID" ]; do
sleep 2
AID=$(qmicli -d qrtr://0 -p --uim-get-card-status | grep -E "([A-Z0-9]{2}:){15}[A-Z0-9]{2}" | xargs)
done
@calebccff
calebccff / mm-tracking-guide.txt
Created April 23, 2021 16:14
Instructions for testing ModemManager on QRTR modems
Yeah, you can get it going in postmarketOS by using my pmaports branch here: https://gitlab.com/sdm845-mainline/pmaports/-/tree/mm-tracking
You'll need to get rid of the top commit it was just for my testing and doesn't work.
Checkout HEAD~1 ("modemmanager: QRTR testing") and then change the modem manager APKBUILD to use this branch: https://gitlab.freedesktop.org/aleksm/ModemManager/-/tree/aleksander/qmap-settings-udev (from !501). Then:
pmbootstrap checksum modemmanager
pmbootstrap build libqrtr-glib --arch aarch64
pmbootstrap build libqmi -- arch aarch64
pmbootstrap build modemmanager -- arch aarch64