Skip to content
Snippets Groups Projects
Commit 6d1c5305 authored by Vincent Knecht's avatar Vincent Knecht
Browse files

alcatel-idol347: new device

parent c6539b51
No related branches found
No related tags found
No related merge requests found
# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Vincent Knecht <vincent.knecht@mailoo.org>
pkgname=device-alcatel-idol347
pkgdesc="Alcatel OneTouch Idol 3 (4.7)"
pkgver=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="postmarketos-base mkbootimg soc-qcom-msm8916"
makedepends="devicepkg-dev"
source="deviceinfo phoc.ini pointercal"
subpackages="
$pkgname-kernel-mainline:kernel_mainline
$pkgname-kernel-mainline-modem:kernel_mainline_modem
$pkgname-nonfree-firmware:nonfree_firmware
$pkgname-nonfree-firmware-modem:nonfree_firmware_modem
$pkgname-phosh
"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
install -D -m644 "$srcdir"/pointercal "$pkgdir"/etc/pointercal
}
kernel_mainline() {
pkgdesc="Close to mainline kernel (no modem, audio routed directly)"
depends="linux-postmarketos-qcom-msm8916"
devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
}
kernel_mainline_modem() {
pkgdesc="Close to mainline kernel (non-free modem, audio routed through ADSP)"
depends="linux-postmarketos-qcom-msm8916 soc-qcom-msm8916-modem"
devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
}
nonfree_firmware() {
pkgdesc="GPU/WiFi/BT/Video firmware"
depends="linux-firmware-qcom firmware-alcatel-idol347-venus firmware-alcatel-idol347-wcnss"
mkdir "$subpkgdir"
}
nonfree_firmware_modem() {
pkgdesc="Modem firmware"
depends="firmware-alcatel-idol347-modem"
install_if="$pkgname-nonfree-firmware $pkgname-kernel-mainline-modem"
mkdir "$subpkgdir"
}
phosh() {
install_if="$pkgname=$pkgver-r$pkgrel postmarketos-ui-phosh"
install -D -m644 "$srcdir"/phoc.ini "$subpkgdir"/etc/phosh/phoc.ini
}
sha512sums="193107468d73d3aaeb83262dbf70304b6440949c2c9117261dc2de900838a900c3d2e8a9314a0802c69244b76f9af1345bd86c196431a1eb5ccfee4fa03302f6 deviceinfo
a60d1785f0163d4a4eb63ea5e3017631aab7dd6683baad6a74b09809d33888d581ca8b14526c19d18234dcf727d1fdb4ff0489ed4bd5523905d0e4da7d93bc56 phoc.ini
ccdfe80d56c7bf8ecce0919a9b1c6721df3c4d0f819585475d4e78b44adf66306f7c2c7082bc7c669dfbfd066028fd2ac3cf4cd2878b34262547ea1fd1f6ae3e pointercal"
#!/bin/sh
rc-update add msm-uim-init default
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell scripts.
deviceinfo_format_version="0"
deviceinfo_name="Alcatel OneTouch Idol 3 (4.7)"
deviceinfo_manufacturer="Alcatel"
deviceinfo_codename="alcatel-idol347"
deviceinfo_year="2015"
deviceinfo_dtb_mainline="qcom/msm8916-alcatel-idol347"
deviceinfo_dtb_mainline_modem="qcom/msm8916-alcatel-idol347-modem"
deviceinfo_append_dtb="true"
deviceinfo_modules_initfs="smb1360 panel-alcatel-auo-hx8394d msm msg2638"
deviceinfo_arch="aarch64"
# Device related
deviceinfo_chassis="handset"
deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="720"
deviceinfo_screen_height="1280"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline="earlycon console=ttyMSM0,115200 PMOS_NO_OUTPUT_REDIRECT"
deviceinfo_generate_bootimg="true"
deviceinfo_flash_offset_base="0x80000000"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_flash_pagesize="2048"
deviceinfo_flash_sparse="true"
#!/sbin/openrc-run
# This hacky script tries to automatically configure UIM application
# for Qualcomm QMI modems with two sim slots. See [1] for more.
# [1] https://wiki.postmarketos.org/wiki/User:TravMurav/Dual-Sim_QMI_draft
#
# Installation:
#
# sudo apk add libqmi
# wget https://gist.githubusercontent.com/TravMurav/90bdd89f492bc39004d8ffb3d722f771/raw/msm-uim-init
# chmod +x msm-uim-init
# sudo mv msm-uim-init /etc/init.d/
# sudo rc-update add msm-uim-init
#
depend() {
before ofono
before modemmanager
}
start() {
# Sometimes we need to select application on SIM
if ! [ -x "$(command -v qmicli)" ]; then
#echo 'Error: qmicli is not installed.' >&2
logger -t msm-uim-init 'Error: qmicli is not installed.'
exit 1
fi
# FIXME: For some reason modem becoomes sad if the script
# runs too early.
sleep 10
# FIXME: Yes, this command is invoked a lot of times
QMI_CARDS="qmicli -d /dev/modem --uim-get-card-status"
QMI_STATE="qmicli -d /dev/modem --dms-uim-get-state"
# No action needed if application is already selected
# Or so I thought but some motorolla fw is very weird with this
# So we will reset the application and select it again
#if ! [ "$($QMI_CARDS | grep -c "Primary GW: session doesn't exist")" ]
if [ "$($QMI_STATE | grep -c "State: 'not-present'")" ]
then
#echo 'Warning: Application was already selected.' >&2
logger -t msm-uim-init 'Warning: Application was already selected.'
# exit 1
qmicli -d /dev/modem --uim-change-provisioning-session='activate=no,session-type=primary-gw-provisioning'
fi
if ! [ "$($QMI_CARDS | grep -c "Card state: 'present'")" ]
then
#echo 'Error: No sim present.' >&2
logger -t msm-uim-init 'Error: No sim present.'
exit 1
fi
FIRST_PRESENT_SLOT=$($QMI_CARDS | grep "Card state: 'present'" -m1 -B1 | head -n1 | cut -c7-7)
FIRST_PRESENT_AID=$($QMI_CARDS | grep "usim (2)" -m1 -A3 | tail -n1 | awk '{print $1}')
#echo Selecting $FIRST_PRESENT_AID on slot $FIRST_PRESENT_SLOT
logger -t msm-uim-init Selecting $FIRST_PRESENT_AID on slot $FIRST_PRESENT_SLOT
qmicli -d /dev/modem --uim-change-provisioning-session="slot=$FIRST_PRESENT_SLOT,activate=yes,session-type=primary-gw-provisioning,aid=$FIRST_PRESENT_AID"
}
[cursor:seat0]
map-to-output:DSI-1
[output:DSI-1]
scale = 1.75
23552 -2 -1601211 -255 41188 -50658 65536 720 1280 0
\ No newline at end of file
pkgname=firmware-alcatel-idol347
pkgver=1
pkgrel=0
pkgdesc="Firmware for Alcatel OneTouch Idol 3 (4.7)"
url="https://github.com/vknecht/"
subpackages="$pkgname-modem $pkgname-venus $pkgname-wcnss"
arch="aarch64"
license="proprietary"
options="!check !strip !archcheck"
_repository="firmware-alcatel-idol347"
_commit="28317ed89bb9b568191ce2a6a5f4745a4c67b30f"
source="$pkgname-$_commit.tar.gz::$url/$_repository/archive/$_commit.tar.gz"
_fwdir="/lib/firmware/postmarketos"
package() {
# parent package is empty
mkdir -p "$pkgdir"
}
modem() {
pkgdesc="Alcatel OneTouch Idol 3 (4.7) modem firmware"
install -Dm644 "$srcdir"/"$_repository"-"$_commit"/mba.mbn -t "$subpkgdir/$_fwdir"
install -Dm644 "$srcdir"/"$_repository"-"$_commit"/modem.* -t "$subpkgdir/$_fwdir"
}
venus() {
pkgdesc="Alcatel OneTouch Idol 3 (4.7) video firmware"
install -Dm644 "$srcdir"/"$_repository"-"$_commit"/venus.* -t "$subpkgdir/$_fwdir"/qcom/venus-1.8
}
wcnss() {
pkgdesc="Alcatel OneTouch Idol 3 (4.7) WiFi/BT firmware"
cd "$srcdir"/"$_repository"-"$_commit"
install -Dm644 wcnss.* -t "$subpkgdir/$_fwdir"
install -Dm644 WCNSS_* -t "$subpkgdir/$_fwdir"/wlan/prima
}
sha512sums="2199c08b6e07f1b11579c3acd70a4343e5b6a486b563039383450fc5a74584d3e62df63d5ac32592893460617990d9226b0178e4ebed507569321d027e995872 firmware-alcatel-idol347-28317ed89bb9b568191ce2a6a5f4745a4c67b30f.tar.gz"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment