Compare commits
147 Commits
v2025-02-0
...
NR-v42
| Author | SHA1 | Date | |
|---|---|---|---|
| 917fb03d42 | |||
|
|
22f86a5d22 | ||
| 853c77cfe8 | |||
| 63b66e72fc | |||
| 077175174d | |||
| 687487d79f | |||
| 25de5e5b08 | |||
| 8aec26308c | |||
| 08a8e0798b | |||
| 6806c0b929 | |||
| ed9319275d | |||
| 827954484c | |||
| 208d7cbaa1 | |||
| cffad166be | |||
|
|
721674f0b1 | ||
|
|
a8a5944b8d | ||
|
|
8f142fb73d | ||
|
|
b9a9d93cfe | ||
|
|
10fcfe5311 | ||
|
|
c9e1e0468f | ||
|
|
cefee96208 | ||
|
|
086bcc22a1 | ||
|
|
03cec34398 | ||
|
|
a957839b19 | ||
|
|
c3415a4f61 | ||
|
|
428be0aa1a | ||
|
|
3b2a3fd00b | ||
|
|
eda5b73731 | ||
|
|
1109a746d9 | ||
|
|
207c7f6bc6 | ||
|
|
386c7ad0d1 | ||
|
|
5250d6eaad | ||
|
|
2d2c0fe74e | ||
|
|
7761dd581a | ||
|
|
9cc1d996b8 | ||
|
|
e3aabe1d36 | ||
|
|
c98a21b837 | ||
|
|
1a4896bcf6 | ||
|
|
e947eaa3cf | ||
|
|
94d43c85f0 | ||
|
|
aa83d310c1 | ||
|
|
768dbb2231 | ||
|
|
94fcbb0c94 | ||
|
|
127a5a7667 | ||
|
|
8be78fb47d | ||
|
|
f0ee58267f | ||
|
|
ead54e8170 | ||
|
|
ea11e45ad0 | ||
|
|
ad881d17a3 | ||
|
|
08df8f26d3 | ||
|
|
813210fb6b | ||
|
|
20390d2e7f | ||
|
|
96d04e012d | ||
|
|
c6474804a0 | ||
|
|
735126bfdd | ||
|
|
4277b194d0 | ||
|
|
85c6b7f6ab | ||
|
|
21b998f21f | ||
|
|
e09af2aeb3 | ||
|
|
496001b093 | ||
|
|
d3b33aae5a | ||
|
|
07faafb006 | ||
|
|
3027f7acf8 | ||
|
|
1a0580ff85 | ||
|
|
b4d84a0705 | ||
|
|
3cc34f0272 | ||
|
|
0b2f2dab0d | ||
|
|
99cc6203e0 | ||
|
|
37fad0769c | ||
|
|
282fc11d02 | ||
|
|
a5aafb8c53 | ||
|
|
5ef99966fd | ||
|
|
7c037792b6 | ||
|
|
a035a44974 | ||
|
|
0b1e0234c0 | ||
|
|
884406a183 | ||
|
|
0bba25d1b8 | ||
|
|
dfbc3e9151 | ||
|
|
c4e07a0e93 | ||
|
|
21da62cbd8 | ||
|
|
3a9f91c6fd | ||
|
|
cd9ea8d704 | ||
|
|
490be7d10b | ||
|
|
31c993fbce | ||
|
|
724570eb40 | ||
|
|
790c3aa063 | ||
|
|
0c7c822585 | ||
|
|
f7cce3b498 | ||
|
|
6244f58315 | ||
|
|
e5a04fe91a | ||
|
|
abb26a8ba3 | ||
|
|
60d326b0d4 | ||
|
|
da0bf79948 | ||
|
|
481d2f7995 | ||
|
|
d05a2a8109 | ||
|
|
daf7583c79 | ||
|
|
393aa2dd60 | ||
|
|
469faa43e8 | ||
|
|
94f933751b | ||
|
|
1d10035a50 | ||
|
|
06196b8372 | ||
|
|
ff55c22ed4 | ||
|
|
af7300a815 | ||
|
|
00b86a99cb | ||
|
|
1fb39e6c37 | ||
|
|
06bdc1bba4 | ||
|
|
615e3f79f7 | ||
|
|
c5b795bc7f | ||
|
|
67edf75b6d | ||
|
|
10be123202 | ||
|
|
30d2da5804 | ||
|
|
6a488256f8 | ||
|
|
67255f13fa | ||
|
|
864cf358ee | ||
|
|
4898883a69 | ||
|
|
bd879507e6 | ||
|
|
d9ed0c9980 | ||
|
|
e50d2189be | ||
|
|
c97896ae40 | ||
|
|
f6eeff91f8 | ||
|
|
a8ce46a3e0 | ||
|
|
75f8320041 | ||
|
|
b1e0b00c3d | ||
|
|
8499321115 | ||
|
|
86b59a2f99 | ||
|
|
afe031be8d | ||
|
|
d5e802adaf | ||
|
|
dae1b6e665 | ||
|
|
bdb562c880 | ||
|
|
857244654d | ||
|
|
d9eba63177 | ||
|
|
5331ba8ef6 | ||
|
|
ecac6de2d2 | ||
|
|
1287ccf5c0 | ||
|
|
b6acf93a90 | ||
|
|
a2c2084aab | ||
|
|
f449fce095 | ||
|
|
fcecd72a19 | ||
|
|
3634ae7907 | ||
|
|
507d021583 | ||
|
|
49a159ccd9 | ||
|
|
83d5230746 | ||
|
|
bbcaa3b459 | ||
|
|
77681faf38 | ||
|
|
7954017b77 | ||
|
|
4dafbbbceb | ||
|
|
dadcb4ea18 |
100
.gitea/workflows/release-lte-mod.yml
Normal file
100
.gitea/workflows/release-lte-mod.yml
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
name: Release Magisk module LTE
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
create-release:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Read module.prop
|
||||||
|
id: module_prop
|
||||||
|
run: |
|
||||||
|
VERSION=$(grep "version=" p9_lte_combos_mod/module.prop | cut -d= -f2)
|
||||||
|
VERSIONCODE=$(grep "versionCode=" p9_lte_combos_mod/module.prop | cut -d= -f2)
|
||||||
|
echo "MOD_VERSION=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "MOD_VERSIONCODE=$VERSIONCODE" >> $GITHUB_ENV
|
||||||
|
echo "RELEASE_TAG=LTE-v$VERSIONCODE" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Zip folder
|
||||||
|
working-directory: ./
|
||||||
|
run: |
|
||||||
|
cd p9_lte_combos_mod
|
||||||
|
zip -r ../p9_lte_combos_mod_v${{ env.MOD_VERSION }}.zip ./*
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
- name: Create Release
|
||||||
|
env:
|
||||||
|
GITEA_TOKEN: ${{ secrets.REPO_TOKEN }}
|
||||||
|
run: |
|
||||||
|
# Create the release using Gitea API
|
||||||
|
curl -X POST \
|
||||||
|
"https://git.hnrk.io/api/v1/repos/henrik/pixel9-EU-combos/releases" \
|
||||||
|
-H "Authorization: token ${GITEA_TOKEN}" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"tag_name": "${{ env.RELEASE_TAG }}",
|
||||||
|
"name": "Release ${{ env.RELEASE_TAG }}",
|
||||||
|
"body": "LTE Module Release ${{ env.MOD_VERSION }}",
|
||||||
|
"draft": false,
|
||||||
|
"prerelease": false
|
||||||
|
}'
|
||||||
|
|
||||||
|
# Upload the release asset
|
||||||
|
RELEASE_ID=$(curl -s \
|
||||||
|
"https://git.hnrk.io/api/v1/repos/henrik/pixel9-EU-combos/releases/tags/${{ env.RELEASE_TAG }}" \
|
||||||
|
-H "Authorization: token ${GITEA_TOKEN}" | grep -o '"id":[0-9]*' | head -1 | cut -d: -f2)
|
||||||
|
|
||||||
|
curl -X POST \
|
||||||
|
"https://git.hnrk.io/api/v1/repos/henrik/pixel9-EU-combos/releases/${RELEASE_ID}/assets?name=p9_lte_combos_mod_v${{ env.MOD_VERSION }}.zip" \
|
||||||
|
-H "Authorization: token ${GITEA_TOKEN}" \
|
||||||
|
-H "Content-Type: application/zip" \
|
||||||
|
--data-binary @"p9_lte_combos_mod_v${{ env.MOD_VERSION }}.zip"
|
||||||
|
|
||||||
|
- name: Update updater JSON
|
||||||
|
run: |
|
||||||
|
cat > updaterLTE.json << EOF
|
||||||
|
{
|
||||||
|
"version": "${{ env.MOD_VERSION }}",
|
||||||
|
"versionCode": ${{ env.MOD_VERSIONCODE }},
|
||||||
|
"zipUrl": "https://git.hnrk.io/henrik/pixel9-EU-combos/releases/download/${{ env.RELEASE_TAG }}/p9_lte_combos_mod_v${{ env.MOD_VERSION }}.zip",
|
||||||
|
"changelog": "https://git.hnrk.io/henrik/pixel9-EU-combos/raw/branch/main/changelog-LTE.md"
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
- name: Commit and push updater JSON
|
||||||
|
run: |
|
||||||
|
git config --local user.email "action@gitea.com"
|
||||||
|
git config --local user.name "Gitea Action"
|
||||||
|
git add updaterLTE.json
|
||||||
|
git commit -m "Update updaterLTE.json for version ${{ env.MOD_VERSION }}"
|
||||||
|
git push
|
||||||
|
|
||||||
|
- name: Send to Telegram
|
||||||
|
env:
|
||||||
|
BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
||||||
|
CHAT_ID_1: ${{ secrets.TELEGRAM_CHAT_ID_1_GROUP }}
|
||||||
|
CHAT_ID_2: ${{ secrets.TELEGRAM_CHAT_ID_2 }}
|
||||||
|
run: |
|
||||||
|
# Send to first chat (with error checking)
|
||||||
|
if ! curl -s -f -o /dev/null -F document=@"p9_lte_combos_mod_v${{ env.MOD_VERSION }}.zip" \
|
||||||
|
-F caption="New LTE Module Release ${{ env.RELEASE_TAG }}" \
|
||||||
|
"https://api.telegram.org/bot${BOT_TOKEN}/sendDocument?chat_id=${CHAT_ID_1}"; then
|
||||||
|
echo "Failed to send to first chat"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Send to second chat (with error checking)
|
||||||
|
# if ! curl -s -f -o /dev/null -F document=@"p9_lte_combos_mod_v${{ env.MOD_VERSION }}.zip" \
|
||||||
|
# -F caption="New LTE Module Release ${{ env.RELEASE_TAG }}" \
|
||||||
|
# "https://api.telegram.org/bot${BOT_TOKEN}/sendDocument?chat_id=${CHAT_ID_2}"; then
|
||||||
|
# echo "Failed to send to second chat"
|
||||||
|
# exit 1
|
||||||
|
# fi
|
||||||
100
.gitea/workflows/release-nr-mod.yml
Normal file
100
.gitea/workflows/release-nr-mod.yml
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
name: Release Magisk module NR
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
create-release:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Read module.prop
|
||||||
|
id: module_prop
|
||||||
|
run: |
|
||||||
|
VERSION=$(grep "version=" p9_nr_platform_mod/module.prop | cut -d= -f2)
|
||||||
|
VERSIONCODE=$(grep "versionCode=" p9_nr_platform_mod/module.prop | cut -d= -f2)
|
||||||
|
echo "MOD_VERSION=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "MOD_VERSIONCODE=$VERSIONCODE" >> $GITHUB_ENV
|
||||||
|
echo "RELEASE_TAG=NR-v$VERSIONCODE" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Zip folder
|
||||||
|
working-directory: ./
|
||||||
|
run: |
|
||||||
|
cd p9_nr_platform_mod
|
||||||
|
zip -r ../p9_nr_platform_mod_v${{ env.MOD_VERSION }}.zip ./*
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
- name: Create Release
|
||||||
|
env:
|
||||||
|
GITEA_TOKEN: ${{ secrets.REPO_TOKEN }}
|
||||||
|
run: |
|
||||||
|
# Create the release using Gitea API
|
||||||
|
curl -X POST \
|
||||||
|
"https://git.hnrk.io/api/v1/repos/henrik/pixel9-EU-combos/releases" \
|
||||||
|
-H "Authorization: token ${GITEA_TOKEN}" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"tag_name": "${{ env.RELEASE_TAG }}",
|
||||||
|
"name": "Release ${{ env.RELEASE_TAG }}",
|
||||||
|
"body": "NR Module Release ${{ env.MOD_VERSION }}",
|
||||||
|
"draft": false,
|
||||||
|
"prerelease": false
|
||||||
|
}'
|
||||||
|
|
||||||
|
# Upload the release asset
|
||||||
|
RELEASE_ID=$(curl -s \
|
||||||
|
"https://git.hnrk.io/api/v1/repos/henrik/pixel9-EU-combos/releases/tags/${{ env.RELEASE_TAG }}" \
|
||||||
|
-H "Authorization: token ${GITEA_TOKEN}" | grep -o '"id":[0-9]*' | head -1 | cut -d: -f2)
|
||||||
|
|
||||||
|
curl -X POST \
|
||||||
|
"https://git.hnrk.io/api/v1/repos/henrik/pixel9-EU-combos/releases/${RELEASE_ID}/assets?name=p9_nr_platform_mod_v${{ env.MOD_VERSION }}.zip" \
|
||||||
|
-H "Authorization: token ${GITEA_TOKEN}" \
|
||||||
|
-H "Content-Type: application/zip" \
|
||||||
|
--data-binary @"p9_nr_platform_mod_v${{ env.MOD_VERSION }}.zip"
|
||||||
|
|
||||||
|
- name: Update updater JSON
|
||||||
|
run: |
|
||||||
|
cat > updaterNR.json << EOF
|
||||||
|
{
|
||||||
|
"version": "${{ env.MOD_VERSION }}",
|
||||||
|
"versionCode": ${{ env.MOD_VERSIONCODE }},
|
||||||
|
"zipUrl": "https://git.hnrk.io/henrik/pixel9-EU-combos/releases/download/${{ env.RELEASE_TAG }}/p9_nr_platform_mod_v${{ env.MOD_VERSION }}.zip",
|
||||||
|
"changelog": "https://git.hnrk.io/henrik/pixel9-EU-combos/raw/branch/main/changelog-NR.md"
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
- name: Commit and push updater JSON
|
||||||
|
run: |
|
||||||
|
git config --local user.email "action@gitea.com"
|
||||||
|
git config --local user.name "Gitea Action"
|
||||||
|
git add updaterNR.json
|
||||||
|
git commit -m "Update updaterNR.json for version ${{ env.MOD_VERSION }}"
|
||||||
|
git push
|
||||||
|
|
||||||
|
- name: Send to Telegram
|
||||||
|
env:
|
||||||
|
BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
||||||
|
CHAT_ID_1: ${{ secrets.TELEGRAM_CHAT_ID_1_GROUP }}
|
||||||
|
CHAT_ID_2: ${{ secrets.TELEGRAM_CHAT_ID_2 }}
|
||||||
|
run: |
|
||||||
|
# Send to first chat (with error checking)
|
||||||
|
if ! curl -s -f -o /dev/null -F document=@"p9_nr_platform_mod_v${{ env.MOD_VERSION }}.zip" \
|
||||||
|
-F caption="New NR Module Release ${{ env.RELEASE_TAG }}" \
|
||||||
|
"https://api.telegram.org/bot${BOT_TOKEN}/sendDocument?chat_id=${CHAT_ID_1}"; then
|
||||||
|
echo "Failed to send to first chat"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Send to second chat (with error checking)
|
||||||
|
# if ! curl -s -f -o /dev/null -F document=@"p9_nr_platform_mod_v${{ env.MOD_VERSION }}.zip" \
|
||||||
|
# -F caption="New NR Module Release ${{ env.RELEASE_TAG }}" \
|
||||||
|
# "https://api.telegram.org/bot${BOT_TOKEN}/sendDocument?chat_id=${CHAT_ID_2}"; then
|
||||||
|
# echo "Failed to send to second chat"
|
||||||
|
# exit 1
|
||||||
|
# fi
|
||||||
93
.gitea/workflows/test-telegram.yml
Normal file
93
.gitea/workflows/test-telegram.yml
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
name: Test Telegram Send
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
test_message:
|
||||||
|
description: 'Test message to send'
|
||||||
|
required: false
|
||||||
|
default: 'Test message from Gitea Actions'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test-telegram:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Test Telegram Bot Connection
|
||||||
|
env:
|
||||||
|
BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
||||||
|
CHAT_ID_1: ${{ secrets.TELEGRAM_CHAT_ID_1_GROUP }}
|
||||||
|
run: |
|
||||||
|
echo "=== Telegram Configuration Check ==="
|
||||||
|
echo "Bot token configured: $([ -n "$BOT_TOKEN" ] && echo 'YES' || echo 'NO')"
|
||||||
|
echo "Bot token length: ${#BOT_TOKEN}"
|
||||||
|
echo "Chat ID configured: $([ -n "$CHAT_ID_1" ] && echo 'YES' || echo 'NO')"
|
||||||
|
echo "Chat ID value: ${CHAT_ID_1}"
|
||||||
|
echo "===================================="
|
||||||
|
|
||||||
|
# Test 1: Check if bot token is valid
|
||||||
|
echo ""
|
||||||
|
echo "Test 1: Checking bot token validity..."
|
||||||
|
BOT_INFO=$(curl -s "https://api.telegram.org/bot${BOT_TOKEN}/getMe")
|
||||||
|
echo "Bot info response: $BOT_INFO"
|
||||||
|
|
||||||
|
if echo "$BOT_INFO" | grep -q '"ok":true'; then
|
||||||
|
echo "✓ Bot token is valid!"
|
||||||
|
BOT_USERNAME=$(echo "$BOT_INFO" | grep -o '"username":"[^"]*"' | cut -d'"' -f4)
|
||||||
|
echo " Bot username: @${BOT_USERNAME}"
|
||||||
|
else
|
||||||
|
echo "✗ Bot token is invalid or there's an API issue"
|
||||||
|
echo " Please check your TELEGRAM_BOT_TOKEN secret"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test 2: Send a simple text message
|
||||||
|
echo ""
|
||||||
|
echo "Test 2: Sending text message..."
|
||||||
|
TEXT_RESPONSE=$(curl -s -w "\nHTTP_CODE:%{http_code}" \
|
||||||
|
-d "chat_id=${CHAT_ID_1}" \
|
||||||
|
-d "text=${{ github.event.inputs.test_message }}" \
|
||||||
|
"https://api.telegram.org/bot${BOT_TOKEN}/sendMessage")
|
||||||
|
|
||||||
|
HTTP_CODE=$(echo "$TEXT_RESPONSE" | grep "HTTP_CODE:" | cut -d: -f2)
|
||||||
|
RESPONSE_BODY=$(echo "$TEXT_RESPONSE" | sed '/HTTP_CODE:/d')
|
||||||
|
|
||||||
|
echo "HTTP Status: $HTTP_CODE"
|
||||||
|
echo "Response: $RESPONSE_BODY"
|
||||||
|
|
||||||
|
if [ "$HTTP_CODE" = "200" ]; then
|
||||||
|
echo "✓ Text message sent successfully!"
|
||||||
|
else
|
||||||
|
echo "✗ Failed to send text message"
|
||||||
|
echo " Common issues:"
|
||||||
|
echo " - Chat ID is incorrect (should be negative for groups: -1001234567890)"
|
||||||
|
echo " - Bot is not a member of the group/channel"
|
||||||
|
echo " - Bot doesn't have permission to send messages"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test 3: Create and send a test file
|
||||||
|
echo ""
|
||||||
|
echo "Test 3: Sending test file..."
|
||||||
|
echo "This is a test file from Gitea Actions" > test_file.txt
|
||||||
|
|
||||||
|
FILE_RESPONSE=$(curl -s -w "\nHTTP_CODE:%{http_code}" \
|
||||||
|
-F document=@"test_file.txt" \
|
||||||
|
-F caption="Test file upload from Gitea Actions" \
|
||||||
|
"https://api.telegram.org/bot${BOT_TOKEN}/sendDocument?chat_id=${CHAT_ID_1}")
|
||||||
|
|
||||||
|
HTTP_CODE=$(echo "$FILE_RESPONSE" | grep "HTTP_CODE:" | cut -d: -f2)
|
||||||
|
RESPONSE_BODY=$(echo "$FILE_RESPONSE" | sed '/HTTP_CODE:/d')
|
||||||
|
|
||||||
|
echo "HTTP Status: $HTTP_CODE"
|
||||||
|
echo "Response: $RESPONSE_BODY"
|
||||||
|
|
||||||
|
if [ "$HTTP_CODE" = "200" ]; then
|
||||||
|
echo "✓ File sent successfully!"
|
||||||
|
else
|
||||||
|
echo "✗ Failed to send file"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "=== All tests passed! ==="
|
||||||
39
.github/workflows/release-lte-mod.yml
vendored
39
.github/workflows/release-lte-mod.yml
vendored
@@ -1,39 +0,0 @@
|
|||||||
name: Release Magisk module LTE
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
create-release:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout repo
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Get date
|
|
||||||
id: date
|
|
||||||
run: echo "VERSION=v$(date +'%Y-%m-%d')" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Zip folder
|
|
||||||
working-directory: ./
|
|
||||||
run: |
|
|
||||||
cd p9_lte_combos_mod
|
|
||||||
zip -r ../p9_lte_combos_mod.zip ./*
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
- name: Create Release
|
|
||||||
id: create_release
|
|
||||||
uses: softprops/action-gh-release@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
tag_name: ${{ env.VERSION }}
|
|
||||||
name: Release ${{ env.VERSION }}
|
|
||||||
draft: false
|
|
||||||
prerelease: false
|
|
||||||
files: |
|
|
||||||
p9_lte_combos_mod.zip
|
|
||||||
38
.github/workflows/release-nr-mod.yml
vendored
38
.github/workflows/release-nr-mod.yml
vendored
@@ -1,38 +0,0 @@
|
|||||||
name: Release Magisk module NR
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
create-release:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout repo
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Get date
|
|
||||||
id: date
|
|
||||||
run: echo "VERSION=v$(date +'%Y-%m-%d')" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Zip folder
|
|
||||||
working-directory: ./
|
|
||||||
run: |
|
|
||||||
cd p9_nr_platform_mod
|
|
||||||
zip -r ../p9_nr_platform_mod.zip ./*
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
- name: Create Release
|
|
||||||
id: create_release
|
|
||||||
uses: softprops/action-gh-release@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
tag_name: ${{ env.VERSION }}
|
|
||||||
name: Release ${{ env.VERSION }}
|
|
||||||
draft: false
|
|
||||||
prerelease: false
|
|
||||||
files: |
|
|
||||||
p9_nr_platform_mod.zip
|
|
||||||
26
README.md
26
README.md
@@ -1 +1,25 @@
|
|||||||
## Check Releases for Magisk modules
|
## [Check Releases for Magisk modules](https://github.com/high3eam/pixel9-EU-combos/releases)
|
||||||
|
### Module includes a built-in updater
|
||||||
|
## Edit combos yourself (or even better, use the binarypb editor here: [https://nxij.github.io/pixel-pb/](https://nxij.github.io/pixel-pb/), thanks to [@NXij](https://github.com/NXij))
|
||||||
|
- Download [`protoc`](https://github.com/protocolbuffers/protobuf/releases) as well as the ShannonUeCap `.proto template` files from this repo.
|
||||||
|
- Then use protoc to decode the protobuf binary file.
|
||||||
|
For NR combos, use:
|
||||||
|
```sh
|
||||||
|
protoc --decode=ShannonNrUECap ShannonNrUeCap.proto < PLATFORM_11376227466629817631.binarypb > decoded.txt
|
||||||
|
```
|
||||||
|
For LTE combos, use:
|
||||||
|
```sh
|
||||||
|
protoc --decode=ShannonLteUECap ShannonLteUeCap.proto < lte_2160127815.binarypb > decoded.txt
|
||||||
|
```
|
||||||
|
Then, edit, add or delete combos as you like.
|
||||||
|
|
||||||
|
After that, recompile to protobuf binary.
|
||||||
|
|
||||||
|
For NR combos, use:
|
||||||
|
```sh
|
||||||
|
protoc --encode=ShannonNrUECap ShannonNrUeCap.proto < decoded.txt > PLATFORM_11376227466629817631.binarypb
|
||||||
|
```
|
||||||
|
For LTE combos, use:
|
||||||
|
```sh
|
||||||
|
protoc --encode=ShannonLteUECap ShannonLteUeCap.proto < decoded.txt > lte_2160127815.binarypb
|
||||||
|
```
|
||||||
|
|||||||
44
ShannonLteUeCap.proto
Normal file
44
ShannonLteUeCap.proto
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
message ShannonLteUECap {
|
||||||
|
// ShannonUECapLte version.
|
||||||
|
required uint32 version = 1;
|
||||||
|
// List of combos.
|
||||||
|
repeated Combo combos = 2;
|
||||||
|
// Unknown bitmask.
|
||||||
|
required uint32 bitmask = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
message Combo {
|
||||||
|
// List of Components.
|
||||||
|
repeated Component components = 1;
|
||||||
|
/*
|
||||||
|
The supportedBandwidthCombinationSet of this combo.
|
||||||
|
It's stored as a 32bit unsigned int, each of its bits has the same value of the corresponding
|
||||||
|
bit in the BitString. 0 means default i.e. only BCS 0 supported (if applicable).
|
||||||
|
*/
|
||||||
|
optional uint32 bcs = 2;
|
||||||
|
// Unknown bitmask.
|
||||||
|
required uint32 unknown1 = 3;
|
||||||
|
// Unknown bitmask.
|
||||||
|
required uint32 unknown2 = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
message Component {
|
||||||
|
// LTE Bands are stored as int
|
||||||
|
required int32 band = 1;
|
||||||
|
/*
|
||||||
|
First 8 bits encode mimo, second 8 bits encode bw class. Bw class is encoded setting to 1 the
|
||||||
|
bit representing the bw class index.
|
||||||
|
Ex. 1000 0000 = class A (index 0), 0100 0000 = class B (index 1), 00100 0000 = class C (index 2)
|
||||||
|
Mimo is encoded as enum, 0 -> 2, 1 -> 4
|
||||||
|
*/
|
||||||
|
required int32 bwClassMimoDl = 2;
|
||||||
|
/*
|
||||||
|
First 8 bits encode mimo, second 8 bits encode bw class. Bw class is encoded setting to 1 the
|
||||||
|
bit representing the bw class index.
|
||||||
|
Ex. 1000 0000 = class A (index 0), 0100 0000 = class B (index 1), 00100 0000 = class C (index 2)
|
||||||
|
Mimo is encoded as enum, 0 -> 1, 1 -> 2
|
||||||
|
*/
|
||||||
|
required int32 bwClassMimoUl = 3;
|
||||||
|
}
|
||||||
174
ShannonNrUeCap.proto
Normal file
174
ShannonNrUeCap.proto
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
message ShannonNrUECap {
|
||||||
|
// ShannonNrUECap version.
|
||||||
|
optional uint32 version = 1;
|
||||||
|
// ID assigned to this ShannonNrUECap.
|
||||||
|
optional int32 id = 2;
|
||||||
|
// List of combo groups.
|
||||||
|
repeated ComboGroup comboGroups = 3;
|
||||||
|
// List of FeatureSetDownlink.
|
||||||
|
repeated FeatureNr dlFeatureList = 4;
|
||||||
|
// List of FeatureSetUplink.
|
||||||
|
repeated FeatureNr ulFeatureList = 5;
|
||||||
|
// List of FeatureSetDownlinkPerCC.
|
||||||
|
repeated FeatureDlPerCCNr dlFeaturePerCCList = 6;
|
||||||
|
// List of FeatureSetUplinkPerCC.
|
||||||
|
repeated FeatureUlPerCCNr ulFeaturePerCCList = 7;
|
||||||
|
// Extra features
|
||||||
|
optional ExtraFeatures extraFeatures = 8;
|
||||||
|
// Integrity protection
|
||||||
|
optional uint32 integrity = 9;
|
||||||
|
}
|
||||||
|
|
||||||
|
message ComboGroup {
|
||||||
|
// Some features that applies to the whole combo group.
|
||||||
|
required ComboFeatures comboFeatures = 1;
|
||||||
|
// List of combos that share the same ComboFeatures.
|
||||||
|
repeated Combo combos = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message FeatureNr {
|
||||||
|
// Intraband Freq Separation is stored as unsigned int
|
||||||
|
optional uint32 intrabandFreqSeparation = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message FeatureDlPerCCNr {
|
||||||
|
// Max SCS is stored as numerology + 1, i.e. 1 = 15kHz, 2 = 30kHz, 3 = 60kHz, 4 = 120kHz.
|
||||||
|
required int32 maxScs = 1;
|
||||||
|
// Max Mimo is stored as an enum. 0 -> not supported, 1 -> 2, 2 -> 4.
|
||||||
|
required int32 maxMimo = 2;
|
||||||
|
// Max Bandwidth is stored as it's.
|
||||||
|
required uint32 maxBw = 3;
|
||||||
|
/*
|
||||||
|
Max Modulation Order is stored as an enum. 0 -> not supported, 1 -> QAM64, 2 -> QAM256.
|
||||||
|
Note that as TS 38 306 4.2.7.8 and 4.2.7.6, this doesn't specify the maximum (nor the minimum)
|
||||||
|
modulation supported.
|
||||||
|
*/
|
||||||
|
required int32 maxModOrder = 4;
|
||||||
|
// BW 90MHz supported is stored as boolean.
|
||||||
|
required bool bw90MHzSupported = 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
message FeatureUlPerCCNr {
|
||||||
|
// Max SCS is stored as numerology + 1, i.e. 1 = 15kHz, 2 = 30kHz, 3 = 60kHz, 4 = 120kHz.
|
||||||
|
required int32 maxScs = 1;
|
||||||
|
// Max Mimo is stored as an enum. Max Mimo UL: 0 -> not supported, 1 -> 1, 2 -> 2.
|
||||||
|
required int32 maxMimo = 2;
|
||||||
|
// Max Bandwidth is stored as it's.
|
||||||
|
required int32 maxBw = 3;
|
||||||
|
/*
|
||||||
|
Max Modulation Order is stored as an enum. 0 -> not supported, 1 -> QAM64, 2 -> QAM256.
|
||||||
|
Note that as TS 38 306 4.2.7.8 and 4.2.7.6, this doesn't specify the maximum (nor the minimum)
|
||||||
|
modulation supported.
|
||||||
|
*/
|
||||||
|
required int32 maxModOrder = 4;
|
||||||
|
// BW 90MHz supported is stored as boolean.
|
||||||
|
required bool bw90MHzSupported = 5;
|
||||||
|
// MaxNumberSRS-ResourcePerSet is stored as unsigned int
|
||||||
|
required uint32 maxNumSRSResPerSet = 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
message ExtraFeatures {
|
||||||
|
optional uint32 caParamEutraBitmap = 1;
|
||||||
|
optional uint32 caParamEutraSupportedNaics2CrSAp = 2;
|
||||||
|
optional uint32 caParamNrBitmap = 3;
|
||||||
|
optional uint32 caParamNrSimultaneousSrsAssocCsiRsAllCc = 4;
|
||||||
|
optional uint32 caParamNrMaxNumberSimultaneousNzpCsiRsActBwpAllCc = 5;
|
||||||
|
optional uint32 caParamNrTotalNumberPortsSimultaneousNzpCsiRsActBwpAllCc = 6;
|
||||||
|
optional uint32 caParamNrSimultaneousCsiReportsAllCc = 7;
|
||||||
|
optional uint32 caParamMrdcBitmap = 8;
|
||||||
|
optional uint32 caParamMrdcUlSharingEutraNr = 9;
|
||||||
|
optional uint32 caParamMrdcUlSwitchingTimeEutraNr = 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
message ComboFeatures {
|
||||||
|
/*
|
||||||
|
The supportedBandwidthCombinationSet that applies to the Nr Components.
|
||||||
|
It's stored as a 32bit unsigned int, each of its bits has the same value of
|
||||||
|
the corresponding bit in the BitString.
|
||||||
|
0 means default i.e. only BCS 0 supported (if applicable).
|
||||||
|
*/
|
||||||
|
optional uint32 bcsNr = 1;
|
||||||
|
/*
|
||||||
|
The supportedBandwidthCombinationSet that applies to the IntraEnDc
|
||||||
|
Components (supportedBandwidthCombinationSetIntraENDC).
|
||||||
|
It's stored as a 32bit unsigned int, each of its bits has the same value of
|
||||||
|
the corresponding bit in the BitString.
|
||||||
|
0 means default i.e. only BCS 0 supported (if applicable).
|
||||||
|
*/
|
||||||
|
optional uint32 bcsIntraEndc = 2;
|
||||||
|
/*
|
||||||
|
The supported Bandwidth Combination Set that applies to the Eutra
|
||||||
|
Components (supportedBandwidthCombinationSetEUTRA-v1530).
|
||||||
|
It's stored as a 32bit unsigned int, each of its bits has the same value of
|
||||||
|
the corresponding bit in the BitString.
|
||||||
|
0 means default i.e. only BCS 0 supported (if applicable).
|
||||||
|
*/
|
||||||
|
optional uint32 bcsEutra = 3;
|
||||||
|
/*
|
||||||
|
Power Class of the whole combination, it's stored as an enum.
|
||||||
|
Note that this doesn't override the powerclass of the uplink bands.
|
||||||
|
For FR1 0 -> Default, 1 -> PC2, 2 -> PC1.5
|
||||||
|
For FR2 0 -> Default
|
||||||
|
*/
|
||||||
|
optional int32 powerClass = 4;
|
||||||
|
// IntraBandENDC-Support is stored as an enum. 0 -> contiguous, 1 -> non-contiguous, 2 -> both.
|
||||||
|
optional int32 intraBandEnDcSupport = 5;
|
||||||
|
// SupportedNumberTAG is stored as unsigned int.
|
||||||
|
optional uint32 supportedNumTag = 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
message Combo {
|
||||||
|
// List of Components.
|
||||||
|
repeated Component components = 1;
|
||||||
|
// A bit mask stored as unsigned int that enables or disables this combo for specific SKUs.
|
||||||
|
required uint32 skuBitMask = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message Component {
|
||||||
|
// LTE Bands are stored as they are, NR Bands are stored as band number + 10000.
|
||||||
|
required uint32 band = 1;
|
||||||
|
// BwClass DL is stored as ASCII value - 0x40. 0 means DL not supported.
|
||||||
|
required uint32 bwClassDl = 2;
|
||||||
|
// BwClass UL is stored as ASCII value - 0x40. 0 means UL not supported.
|
||||||
|
required uint32 bwClassUl = 3;
|
||||||
|
/*
|
||||||
|
For LTE this is FeatureSetEUTRA-DownlinkId, the corresponding FeatureSetDL-r15
|
||||||
|
seems to be hardcoded elsewhere (see ShannonFeatureSetEutra).
|
||||||
|
Note that the index starts from 1 as per 3GPP spec, 0 means DL not supported.
|
||||||
|
|
||||||
|
For NR this sets some features that applies to the whole component (not PerCC).
|
||||||
|
Empirically 1 -> FR1, 2 -> FR2.
|
||||||
|
*/
|
||||||
|
required uint32 dlFeatureIndex = 4;
|
||||||
|
|
||||||
|
/*
|
||||||
|
For LTE this is FeatureSetEUTRA-UplinkId, the corresponding FeatureSetUL-r15
|
||||||
|
seems to be hardcoded elsewhere (see ShannonFeatureSetEutra).
|
||||||
|
Note that the index starts from 1 as per 3GPP spec, 0 means UL not supported.
|
||||||
|
|
||||||
|
For NR this sets some features that applies to the whole component (not PerCC).
|
||||||
|
Empirically 1 -> 1 SRS port per resource, 2 -> 2 SRS ports per resource.
|
||||||
|
*/
|
||||||
|
required uint32 ulFeatureIndex = 5;
|
||||||
|
/*
|
||||||
|
This is a list of FeatureSetDownlinkPerCC-Id per each CC. This only applies to NR.
|
||||||
|
The corresponding FeatureSetDownlinkPerCC are stored in dlFeaturePerCCList.
|
||||||
|
|
||||||
|
Note that the index starts from 1 as per 3GPP spec, 0 means DL not supported.
|
||||||
|
*/
|
||||||
|
repeated uint32 dlFeaturePerCCIds = 6 [packed = true];
|
||||||
|
/*
|
||||||
|
This is a list of FeatureSetUplinkPerCC-Id per each CC. This only applies to NR.
|
||||||
|
The corresponding FeatureSetUplinkPerCC are stored in ulFeaturePerCCList.
|
||||||
|
|
||||||
|
Note that the index starts from 1 as per 3GPP spec, 0 means UL not supported.
|
||||||
|
*/
|
||||||
|
repeated uint32 ulFeaturePerCCIds = 7 [packed = true];
|
||||||
|
/*
|
||||||
|
SupportedSRS-TxPortSwitch is stored as enum.
|
||||||
|
1 -> t1r1, 2 -> t1r2, 3 -> t1r4, 4 -> t2r2, 5 -> t2r4, 6 -> t1r4-t2r4
|
||||||
|
*/
|
||||||
|
optional int32 srsTxSwitch = 8;
|
||||||
|
}
|
||||||
16
changelog-LTE.md
Normal file
16
changelog-LTE.md
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
|
||||||
|
## v41
|
||||||
|
- Added interband ULCA for combos 32A+8A+7A+3C, 20A+8A+7A+3C and 32A+20A+7A+3C
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=24d0b9ab-70e6-4ab5-8b7e-6627e007c73e](https://uecaps.hennes.xyz/view/multi/?id=24d0b9ab-70e6-4ab5-8b7e-6627e007c73e)
|
||||||
|
## v40
|
||||||
|
- Added interband UL-CA combos for 32A+20A+8A+3C
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=30b0294d-a7e2-41b8-84ce-0aacdeb28c53](https://uecaps.hennes.xyz/view/multi/?id=30b0294d-a7e2-41b8-84ce-0aacdeb28c53)
|
||||||
|
## v39
|
||||||
|
- Added UL-CA for 8A+7A+3A+1A combos
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=14d44ecb-915f-4c07-98a1-44e8bf23648e](https://uecaps.hennes.xyz/view/multi/?id=14d44ecb-915f-4c07-98a1-44e8bf23648e)
|
||||||
|
## v38
|
||||||
|
- Added 32A+20A+8A+3C LTE-CA combo with 3C UL
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=abceef22-1a1b-4fe6-9e26-29c6687a9ed4](https://uecaps.hennes.xyz/view/multi/?id=abceef22-1a1b-4fe6-9e26-29c6687a9ed4)
|
||||||
|
## v37
|
||||||
|
- Added 32A+20A+7A+3C LTE-CA combos
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=3277c022-ba8e-4eed-96da-f2c58a6fa91a](https://uecaps.hennes.xyz/view/multi/?id=02a0527b-48f7-4859-9e39-3c035ba2c350)
|
||||||
61
changelog-NR.md
Normal file
61
changelog-NR.md
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
|
||||||
|
## v42
|
||||||
|
- Add n78-n78-n28-n1 SA combo with ULCA
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=ab2eb2f3-9ad0-4e4e-9d1e-55deeda23ef1](https://uecaps.hennes.xyz/view/multi/?id=ab2eb2f3-9ad0-4e4e-9d1e-55deeda23ef1)
|
||||||
|
## v41
|
||||||
|
- Add 3xNR-CA NSA combos with 3xLTE-CA for Telekom & Vodafone
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=4d071d16-0a93-491d-9b04-1f4ee503dc0e](https://uecaps.hennes.xyz/view/multi/?id=4d071d16-0a93-491d-9b04-1f4ee503dc0e)
|
||||||
|
## v40
|
||||||
|
- Revert n28 UL MIMO (kinda works on DTAG, but DL/UL thput performance gets a huge hit and BLER becomes massive)
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=1d3a64d5-4588-4000-8e0a-e15ed70889ac](https://uecaps.hennes.xyz/view/multi/?id=1d3a64d5-4588-4000-8e0a-e15ed70889ac)
|
||||||
|
## v39
|
||||||
|
- Testing n28 UL MIMO (single band combo for now)
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=f0d5c22a-f762-41ff-b053-09ccfc26d03f](https://uecaps.hennes.xyz/view/multi/?id=f0d5c22a-f762-41ff-b053-09ccfc26d03f)
|
||||||
|
## v38
|
||||||
|
- Added various German carrier 3xNRCA NSA combos
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=10826629-fe17-499b-9ba8-729a431ee81f](https://uecaps.hennes.xyz/view/multi/?id=10826629-fe17-499b-9ba8-729a431ee81f)
|
||||||
|
## v37
|
||||||
|
- Added n40-n78C and n40-n78-n78 EN-DC combos for DK networks
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=4ee8b250-9bb0-4fe0-9c5e-934fdbca9961](https://uecaps.hennes.xyz/view/multi/?id=4ee8b250-9bb0-4fe0-9c5e-934fdbca9961)
|
||||||
|
## v36
|
||||||
|
- Added n78-n78-n28 3CC NR-CA combos in EN-DC
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=96a0568b-500b-4225-8874-1ca9e1bc393d](https://uecaps.hennes.xyz/view/multi/?id=96a0568b-500b-4225-8874-1ca9e1bc393d)
|
||||||
|
## v35
|
||||||
|
- Added n78C-n28 3CC NR-CA combos in EN-DC
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=86b2b418-5452-402f-9f29-a33007dc7e4d](https://uecaps.hennes.xyz/view/multi/?id=86b2b418-5452-402f-9f29-a33007dc7e4d)
|
||||||
|
## v34
|
||||||
|
- Added 32A-8A combos with n78-n1 EN-DC NR-CA
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=c5f61dd3-0a03-4470-b795-226c74b20900](https://uecaps.hennes.xyz/view/multi/?id=c5f61dd3-0a03-4470-b795-226c74b20900)
|
||||||
|
## v33
|
||||||
|
- Added 32A-7A-3C_n78A-n1A combos for DTAG
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=059cb8b3-cae3-46ec-a80f-1b8de1fc6d7c](https://uecaps.hennes.xyz/view/multi/?id=059cb8b3-cae3-46ec-a80f-1b8de1fc6d7c)
|
||||||
|
## v32
|
||||||
|
- Removed incompatible combos with 20_n1 and 20_n78 EN-DC UL (to prevent RLF)
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=5d69e423-612c-4b33-b542-4c01d46af65c](https://uecaps.hennes.xyz/view/multi/?id=5d69e423-612c-4b33-b542-4c01d46af65c)
|
||||||
|
## v31
|
||||||
|
- Adding some EN-DC test combos with n78-n28-n1
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=1cfacf14-34c0-46d7-b8e0-53cdbc397514](https://uecaps.hennes.xyz/view/multi/?id=1cfacf14-34c0-46d7-b8e0-53cdbc397514)
|
||||||
|
## v30
|
||||||
|
- Testing EN-DC with 3CC NR (n78-n28-n3)
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=9ff1e2cb-bafe-4679-b3ac-405f39b1600b](https://uecaps.hennes.xyz/view/multi/?id=9ff1e2cb-bafe-4679-b3ac-405f39b1600b)
|
||||||
|
## v29
|
||||||
|
- Add NR FDD UL MIMO to 2x and 3xCA combos used in Germany: n28-n3, n78-n3, n78-n28-n3, n28-n1, n78-n1, n78-n28-n1
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=d22ba6f9-f23b-4a98-820b-e6969a6784c8](https://uecaps.hennes.xyz/view/multi/?id=d22ba6f9-f23b-4a98-820b-e6969a6784c8)
|
||||||
|
## v28
|
||||||
|
- Attempt to fix NR-SA FDD UL MIMO (n1, n3)
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=2f4c5473-c26e-47a2-9ff2-cacd9ec87532](https://uecaps.hennes.xyz/view/multi/?id=2f4c5473-c26e-47a2-9ff2-cacd9ec87532)
|
||||||
|
## v27
|
||||||
|
- Remove all EN-DC combos with 20_n1 EN-DC UL and n28 (these result in RLF)
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=99c8d9de-3544-44c3-aa1c-bf4e26a35382](https://uecaps.hennes.xyz/view/multi/?id=99c8d9de-3544-44c3-aa1c-bf4e26a35382)
|
||||||
|
## v26
|
||||||
|
- Add EN-DC combos: + 32A+20A+3A_n28A+n1A (20_n1 UL) + 32A+20A_n28A+n1A (20_n1 UL) + 20A+3A_n28A+n1A (20_n1 UL) + 20A_n28A+n1A (20_n1 UL)
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=c7386325-79d8-4949-8dc2-a4c198f73cb0](https://uecaps.hennes.xyz/view/multi/?id=c7386325-79d8-4949-8dc2-a4c198f73cb0)
|
||||||
|
## v25
|
||||||
|
- Add EN-DC combos: 20A+8A+7A+3A+1A_n78A & 28A+20A+7A+3A+1A_n78A
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=29ee1dc7-b1a8-4ba5-acc9-ca76efd71116](https://uecaps.hennes.xyz/view/multi/?id=29ee1dc7-b1a8-4ba5-acc9-ca76efd71116)
|
||||||
|
## v24
|
||||||
|
- Add new EN-DC combo 32A+20A+8A+3C_n1A with different bcs
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=87ffbc9c-2da9-4f65-8849-0bd06735d94a](https://uecaps.hennes.xyz/view/multi/?id=87ffbc9c-2da9-4f65-8849-0bd06735d94a)
|
||||||
|
## v23
|
||||||
|
- Removed intraband EN-DC combos, because these interfere with legitimate EN-DC combos including NR-CA (E/// RAN bug?)
|
||||||
|
- All included combos: [https://uecaps.hennes.xyz/view/multi/?id=3277c022-ba8e-4eed-96da-f2c58a6fa91a](https://uecaps.hennes.xyz/view/multi/?id=3277c022-ba8e-4eed-96da-f2c58a6fa91a)
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
id=custom_lte_p9_tokay
|
id=custom_lte_p9_tokay
|
||||||
name=Pixel 9 custom LTE uecap
|
name=Pixel 9 custom LTE uecap
|
||||||
version=35
|
version=41
|
||||||
versionCode=35
|
versionCode=41
|
||||||
author=high3eam
|
author=high3eam
|
||||||
description=replaces lte uecaps binarypb with custom one for added lowband ca
|
description=replaces lte uecaps binarypb with custom one for added lowband ca
|
||||||
|
updateJson=https://raw.githubusercontent.com/high3eam/pixel9-EU-combos/main/updaterLTE.json
|
||||||
|
|||||||
Binary file not shown.
@@ -1,6 +1,7 @@
|
|||||||
id=custom_platform_p9_tokay
|
id=custom_platform_p9_tokay
|
||||||
name=Pixel 9 custom uecap platform 2CC 3CC FDD NRULCA NR UL MIMO
|
name=Pixel 9 custom uecap platform 2CC 3CC FDD NRULCA NR UL MIMO
|
||||||
version=21
|
version=42
|
||||||
versionCode=21
|
versionCode=42
|
||||||
author=high3eam
|
author=high3eam
|
||||||
description=replaces default platform binarypb with custom one, 2CC 3CC FDD NRULCA and FDD NR UL MIMO
|
description=replaces default platform binarypb with custom one, 2CC 3CC FDD NRULCA and FDD NR UL MIMO
|
||||||
|
updateJson=https://raw.githubusercontent.com/high3eam/pixel9-EU-combos/main/updaterNR.json
|
||||||
|
|||||||
Binary file not shown.
68
remove_intraband-endc-combos.py
Normal file
68
remove_intraband-endc-combos.py
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
import sys
|
||||||
|
import re
|
||||||
|
|
||||||
|
def process_file(input_path, output_path):
|
||||||
|
try:
|
||||||
|
with open(input_path, 'r') as file:
|
||||||
|
lines = file.readlines()
|
||||||
|
|
||||||
|
output_lines = []
|
||||||
|
current_block = []
|
||||||
|
in_combogroups = False
|
||||||
|
brace_count = 0
|
||||||
|
removed_count = 0
|
||||||
|
|
||||||
|
for line in lines:
|
||||||
|
if line.strip() == 'comboGroups {':
|
||||||
|
in_combogroups = True
|
||||||
|
current_block = [line]
|
||||||
|
brace_count = 1
|
||||||
|
continue
|
||||||
|
|
||||||
|
if in_combogroups:
|
||||||
|
current_block.append(line)
|
||||||
|
brace_count += line.count('{')
|
||||||
|
brace_count -= line.count('}')
|
||||||
|
|
||||||
|
if brace_count == 0:
|
||||||
|
block_text = ''.join(current_block)
|
||||||
|
bands = [int(band) for band in re.findall(r'band:\s*(\d+)', block_text)]
|
||||||
|
|
||||||
|
# Check for all forbidden band combinations
|
||||||
|
should_remove = (
|
||||||
|
(3 in bands and 10003 in bands) or
|
||||||
|
(1 in bands and 10001 in bands) or
|
||||||
|
(7 in bands and 10007 in bands)
|
||||||
|
)
|
||||||
|
|
||||||
|
if not should_remove:
|
||||||
|
output_lines.extend(current_block)
|
||||||
|
else:
|
||||||
|
removed_count += 1
|
||||||
|
|
||||||
|
in_combogroups = False
|
||||||
|
current_block = []
|
||||||
|
else:
|
||||||
|
output_lines.append(line)
|
||||||
|
|
||||||
|
with open(output_path, 'w') as file:
|
||||||
|
file.writelines(output_lines)
|
||||||
|
|
||||||
|
print(f"Removed {removed_count} combo groups.")
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error: {str(e)}")
|
||||||
|
|
||||||
|
def main():
|
||||||
|
if len(sys.argv) != 3:
|
||||||
|
print("Usage: python script.py <input_file_path> <output_file_path>")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
if sys.argv[1] == sys.argv[2]:
|
||||||
|
print("Error: Input and output paths must be different")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
process_file(sys.argv[1], sys.argv[2])
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
6
updaterLTE.json
Normal file
6
updaterLTE.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"version": "41",
|
||||||
|
"versionCode": 41,
|
||||||
|
"zipUrl": "https://github.com/high3eam/pixel9-EU-combos/releases/download/LTE-v41/p9_lte_combos_mod_v41.zip",
|
||||||
|
"changelog": "https://raw.githubusercontent.com/high3eam/pixel9-EU-combos/main/changelog-LTE.md"
|
||||||
|
}
|
||||||
6
updaterNR.json
Normal file
6
updaterNR.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"version": "42",
|
||||||
|
"versionCode": 42,
|
||||||
|
"zipUrl": "https://git.hnrk.io/henrik/pixel9-EU-combos/releases/download/NR-v42/p9_nr_platform_mod_v42.zip",
|
||||||
|
"changelog": "https://git.hnrk.io/henrik/pixel9-EU-combos/raw/branch/main/changelog-NR.md"
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user