Commit graph

65 commits

Author SHA1 Message Date
Sergey Lisov
ad454e784d
modem/samsungipcd: new aport (MR 3460)
Emulates an AT serial modem using libsamsung-ipc
2022-10-07 21:44:11 +02:00
Minecrell
c51cfe0c06
modem/rmtfs: upgrade to 0.2_git20220718 (MR 3296)
No functional change, the patch was finally merged so we can drop it.
2022-07-18 23:16:20 +02:00
Minecrell
d9326d5ac9
modem/tqftpserv: start before rmtfs (MR 3269)
Ideally tqftpserv should be started before rmtfs. This is because rmtfs
is currently responsible for starting the modem, and it's best for
performance if all the services needed by the modem are already up.

Also change "want" -> "use" for consistency with rmtfs. The difference
between "want" and "use" is that "want" just triggers starting of the
other service, while "use" also ensures that the other service starts
successfully.
2022-07-05 18:49:25 +02:00
Minecrell
dcd3ae8f07
modem/rmtfs: upgrade to 0.2_git20210809, start before networkmanager (MR 3269)
Also include z3ntu's patch fixing a buffer overread issue which sadly
has not been merged for several months now.

rmtfs should be ideally started and stopped before NetworkManager
because otherwise the modem network interface might be removed before
NetworkManager can set it down. This has caused kernel issues at some
point (although it seems to be fine again at the moment).
2022-07-05 18:49:21 +02:00
Minecrell
df4b8c44d1
modem/qrtr: upgrade to 0.3_git20201207 (MR 3269) 2022-07-05 18:49:16 +02:00
Nikita Travkin
2a7f84aaad
modem/msm-modem: depend on qmi-utils for uim-selection (MR 2769)
Recent libqmi update in Alpine [1] splits off binary utilities into a
subpackage. This breaks the selection script which depends on qmicli.
Add the new qmi-utils as a dependency to make sure the script can
continue to work.

[1] - a1e61165f4
2021-12-18 15:01:58 +03:00
Minecrell
f563e0ddcf
modem/msm-modem: uim-selection: Allow configuring wait time for SIM (MR 2695)
Unfortunately it looks like some modem firmwares (or SIM cards?) need
more time until the SIM card shows up in the modem. This means that the
SIM card might not get configured, making it look like it was not
detected at all. On the other hand, having the previous long wait loop
affects _all devices_ when there is really no SIM inserted.

The proper solution would be to make it possible to configure SIM cards
once they show up (probably in ModemManager). Until then, try to make it
possible to workaround this by introducing a configurable delay to wait
for the SIM card. It is set to minimal "1 seconds" by default but could
be increased by the user if needed to give the modem enough time to detect
the SIM card.

This reverts commit 683b543a3b ("msm-modem-uim-selection: Don't wait
for SIM (MR 2470)" but with a new configuration mechanism and a default
of 1 second only.

[ci:skip-build] already built successfully in CI
2021-12-10 10:24:11 -08:00
Minecrell
674c7f63ad
modem/msm-modem: skip SIM configuration on APQ* SoCs (MR 2632)
Unfortunately, msm-modem-uim-selection causes boot delays on APQ*
SoCs (without most modem functionality) at the moment. The modem will
never show up so it keeps waiting and waiting.

To allow using the same rootfs on devices that have MSM* and APQ*
variants (e.g. Samsung MSM8916 tablets), add a quick check at the
beginning of the service to cancel early when running on an APQ* SoC.
This is easy to check because the SoC is actually exposed in sysfs.
2021-11-21 19:10:58 +01:00
Jami Kettunen
76afd78594
qcom-diag: new pmaport (MR 2591)
The diag-router service is required to be running to stop ATH10k WLAN
firmware from crashing constantly on MSM8998 SoC devices running
mainline currently.
2021-11-08 12:07:42 +02:00
Minecrell
c21799cd2a
modem/msm-modem: drop msm-modem-rpmsg (MR 2535)
This is no longer used by anyone and also should not be used anymore.
The new WWAN RPMSG CTRL for the WWAN subsystem is now the preferred
way to talk to the modem on MSM8916/MSM8939/MSM8974 and other similar SoCs.

[ci:skip-build]: already built successfully in CI
2021-09-19 17:03:37 +02:00
Caleb Connolly
683b543a3b
msm-modem-uim-selection: Don't wait for SIM (MR 2470)
The delay to wait for the SIM card to show up appears to be unneeded on
our modems, remove it so that we don't delay boot by 10 seconds if your
device doesn't have a SIM card installed.

[ci:skip-build] already built successfully in CI
2021-08-30 21:15:17 -07:00
Nikita Travkin
0d7726bf19
modem/msm-modem: fix uim-selection service dependencies (MR 2399)
uim-selection has "after *" in it's dependencies to make sure the
theoretical up to ~1min delay can't be observed. Unfortunaely this
causes incorrect dependencies ordering if one of other services depends
on ofono or modemmanager. Drop "after *" so modem can always be started
properly.
2021-08-01 15:54:12 +03:00
Nikita Travkin
436c544289
msm-modem: add UIM selection script (MR 2291)
On some devices, primarily with two sim slots, modem doesn't choose
the sim automatically. Add an init script that would detect in which
slot the sim is present and configure the modem to use it.
2021-07-05 07:41:19 +03:00
Minecrell
99c95f57d2
modem/rmtfs: upgrade to 0.2_git20210408, start before oFono/MM (MR 2251)
At the moment, oFono/MM are usually stopped after rmtfs on shutdown.
This does not make sense, since the modem managed by oFono/MM will
disappear once rmtfs is stopped. Add a "before ofono modemmanager"
to make sure that OpenRC will stop oFono/MM before rmtfs on shutdown.

This may or may not fix some occasional hangs during shutdown,
but it definitely makes it possible for oFono/MM to shutdown cleanly.
2021-06-16 01:11:25 +03:00
Minecrell
667e3da398
modem/q6voiced: upgrade to 0_git20210408 (fix bad regression) (MR 2103)
When I upgraded tinyalsa to the new 2.0.0 major release (with breaking
changes) I failed to test q6voiced properly, even though I explicitly
had to rebuild it against the new tinyalsa version (see MR 1941).

In tinyalsa 2.0.0, calling pcm_open() does not automatically call
pcm_prepare() anymore, which is responsible for actually starting any
audio streams. This means that the old version of q6voiced is almost
entirely broken - only by pure luck it's sometimes possible to get
voice call audio working if you play other audio simultaenously while
a voice call is active. This does not work for the microphone though.

The new q6voiced version now calls pcm_prepare() explicitly to fix this.
2021-04-09 00:14:39 +03:00
Minecrell
d994993030
modem/q6voiced: rebuild against libtinyalsa.so.2 (MR 1941)
Fix "Could not find dependency 'so:libtinyalsa.so.1' in any aports folder or APKINDEX."
2021-02-09 09:53:03 +01:00
Caleb Connolly
42c0d5bed3
modem/tqftpserv: don't let init.d fail on missing qrtr (MR 1806) 2020-12-22 04:09:33 +03:00
Caleb Connolly
55d402c0b3
modem/pd-mapper: don't let init.d fail on missing qrtr (MR 1806) 2020-12-22 04:09:29 +03:00
Vincent Knecht
2886477023
modem/rmtfs: upgrade to 0.2_git20201113 (MR 1744)
Update rmtfs, so that upstreamed change necessary for upcoming/WIP
alcatel-idol3 port is integrated already.
2020-11-20 11:12:10 -08:00
Joel S
8cbe2d1308
modem/pd-mapper: upgrade to 0_git20201110 (MR 1700) 2020-11-10 10:19:06 +01:00
Joel S
8a477b6599
modem/qrtr: upgrade to 0.3_git20201110 (MR 1700) 2020-11-10 10:18:50 +01:00
Minecrell
2d10cc697a
modem/msm-modem(-downstream): start modem if necessary (MR 1640)
On some downstream kernels it seems like we need to explicitly keep
/dev/subsys_modem open (without writing anything), otherwise the modem
will be stopped (or never started). Weird.
2020-10-25 18:35:21 +01:00
Minecrell
799821e163
modem/rmtfs: fix downstream (MR 1640)
The -s switch to automatically start/stop the modem remoteproc only
works on mainline, on downstream it fails with "Failed to get rprocfd".

Let's abuse /usr/lib/preload/libqipcrtr4msmipc.so to check if we are
(probably) running on a downstream installation, and omit the -s
argument in this case. The modem remoteproc needs to be started
differently on downstream.
2020-10-25 18:34:57 +01:00
Minecrell
58a8f32e2f
modem/rmtfs: upgrade to 0.2_git20200928, make qrtr-ns optional (MR 1640)
qrtr-ns is not needed (or working) on downstream, also it is no longer
needed for mainline starting with Linux 5.9. Convert the "need" dependency
to a "use" so qrtr-ns is only started if it is really needed.
2020-10-25 18:34:48 +01:00
Minecrell
3b8031445c
modem/qrtr: upgrade to 0.3_git20200928, separate library into -libs (MR 1640)
In most cases, the qrtr-ns is not needed anymore now, but we still
need the libqrtr library. Separate that out into a separate package
so it can be installed independently.
2020-10-25 18:34:39 +01:00
Minecrell
d070b0b19f
modem/q6voiced: upgrade to 0_git20200604 (MR 1607)
Also listen to DBUS events from ModemManager, to start call audio
when necessary.
2020-10-23 12:12:25 +03:00
Minecrell
36f13ad1ab
modem/msm-modem: expose serial AT port from DATA4 SMD channel (MR 1607)
So far we have only created /dev/modem based on the DATA5_CNTL
channel available from the modem. The DATAX_CNTL channels allow
sending QMI messages to the modem. This is sufficient for oFono
to work.

Unfortunately, ModemManager currently does not support starting
calls through the QMI interface. Instead, it uses serial AT commands
that can be alternatively used on all USB-based Qualcomm modems.

It turns out that we can also send serial AT commands through
the RPMSG interface: the DATAX channels (without _CNTL) all respond
to serial AT commands. We set it up at /dev/modem-at, configure
ModemManager accordingly and then we are able to start calls. Yay!
2020-10-23 12:12:22 +03:00
Minecrell
8e080015d7
modem/msm-modem: rename msm-modem-mainline to msm-modem-rpmsg (MR 1356)
Newer Qualcomm SoCs (e.g. SDM845. MSM8953) seem to use a different
method to talk to the modem. There are no longer separate rpmsg/SMD
channels for QMI messags, instead the modem is also available through QRTR.

On these newer SoCs, installing msm-modem-mainline is pointless,
because the created /dev/modem device will not actually allow
communicating with the modem. However, you still need the part from
the base package (msm-modem), which installs+enables rmtfs.

To avoid confusion, rename the msm-modem-mainline subpackage to
msm-modem-rpmsg. Install only "msm-modem" on SDM845 because that
likely does not allow communication with the modem through RPMSG
anyway.
2020-06-25 09:41:35 +02:00
Caleb Connolly
1ba5bbeac2
modem/msm-modem: add rmtfs-openrc dependency (MR 1274)
It is possible for msm-modem to get installed before
rmtfs-openrc, which causes the following error in
post-install:

 * rc-update: service `rmtfs' does not exist
ERROR: msm-modem-1-r0.post-install: script exited with error 1

Add a dependency to ensure rmtfs-openrc gets installed first
2020-05-27 20:16:50 +03:00
Minecrell
cc689bb4d1
modem/q6voiced: new aport (MR 1233)
linux-postmarketos-qcom-msm8916 now supports voice call audio.
However, at the moment the audio stream needs to be explicitly started
by opening some PCM audio devices when the call is started
(even though no audio data is written to the PCM device).

Eventually this should go away by implementing codec2codec support
for q6voice in the kernel. In that case, the stream would be started
once the audio routes are set up using ALSA UCM. However, this is a bit
complicated actually so for now it's nice to have a workaround:

q6voiced listens on dbus for signals from oFono, and opens/closes the
PCM device when a call is initiated/ended in oFono. This essentially
makes voice call audio work out of the box (provided that the audio
routing, e.g. Earpiece and a microphone is set up appropriately).

Co-Authored-By: Nikita Travkin <nikitos.tr@gmail.com>
2020-05-25 10:19:05 +02:00
Dolphin von Chips
ba26b27673
modem/pd-mapper: new aport (MR 1080) 2020-05-23 18:10:02 +02:00
Dolphin von Chips
6bd3f0ead8
modem/tqftpserv: new aport (MR 1080) 2020-05-23 18:09:40 +02:00
Luca Weiss
e350b00b9b
treewide: chmod -x files (MR 1237)
We don't want executable APKBUILDs, deviceinfo files, etc in pmaports.
Remove the executable bit from those files.

[ci:skip-build]
[ci:skip-vercheck]
2020-05-23 17:29:18 +02:00
Danct12
0169350bb9
modem/libsamsung-ipc: fix linting (MR 1260)
[ci:skip-vercheck]

Signed-off-by: Danct12 <danct12@disroot.org>
2020-05-23 17:23:27 +02:00
Danct12
2aaece5219
modem/libsamsung-ipc: update source url (MR 1260)
[ci:skip-vercheck]

Signed-off-by: Danct12 <danct12@disroot.org>
Reviewed-by: Asriel Dreemurr <asriel.danctnix@gmail.com>
Signed-off-by: Asriel Dreemurr <asriel.danctnix@gmail.com>
2020-05-23 17:20:57 +02:00
Minecrell
942861a3cb
modem/modem-qcom-msm-{mainline,downstream}: combine to msm-modem (!1032)
Combine modem-qcom-msm-{mainline,downstream}-common to a single APKBUILD
with mainline and downstream subpackages.

Enable rmtfs service here instead of directly in the package.

[ci:skip-vercheck]: for qrtr version fix
2020-03-18 14:09:29 +01:00
Minecrell
e8cdc37dbe
modem/rmtfs: rename from qcom_rmtfs (!1032)
Other distributions do not make use of the qcom_ prefix.
Also it's not like there are other projects named the same.
2020-03-18 14:09:26 +01:00
Minecrell
f9295cfcd5
modem/qcom_rmtfs: cleanup (!1032)
- use supervise-daemon to restart when necessary
- run normally, without wrapping with sh and logger
- add "need qrtr-ns" to make sure it gets started first
- stop enabling service directly in rmtfs package
  (moved to msm-modem)
2020-03-18 14:09:23 +01:00
Minecrell
fa80843a46
modem/qcom_rmtfs: upgrade to 0.2_git20200131 (!1032) 2020-03-18 14:09:20 +01:00
Minecrell
a5eb030452
modem/qrtr: cleanup (!1032)
- Fix version
- Rename init script to qrtr-ns ("nameservice") to clarify which
  service is actually started
- Use supervise-daemon
- Configure and start daemon in one command (no need for qrtr-cfg)
- Remove "before qcom_rmtfs": it should depend on qrtr-ns,
  not the other way around
- Do not activate qrtr daemon by default - this should happen automatically
  if other service files have "need qrtr-ns"
2020-03-18 14:09:17 +01:00
Minecrell
03ec114637
modem/qrtr: upgrade to 1.1.0.3_git20200302 (!1032) 2020-03-18 14:09:14 +01:00
Minecrell
81ca3ffc7e
modem/rpmsgexport: fix linting issues (!1032) 2020-03-18 14:09:11 +01:00
lambdadroid
33a46b86db
modem/modem-qcom-msm-mainline-common: recognize hexagon remoteproc (!799)
At the moment, only "modem" is detected as rpmsg name.
On MSM8916 the audio DSP and modem are both on the same remote
processor ("hexagon").

Add it to the udev rule so the modem symlink is created on MSM8916.
2019-12-09 17:37:50 +03:00
Luca Weiss
aa0058de07
modem/qcom_rmtfs: use new command line flags (!592)
The changes in command line parameters of rmtfs mean: use the modem*
partitions directly (-P), in read-only mode (-r)...and it will boot the
modem automagically when ready (-s)

I've removed the udev rules in the rmtfs package because it doesn't look
like they are needed with those command line flags.
2019-10-30 22:31:32 +01:00
Luca Weiss
1ef2d6e433
modem/libsmdpkg_wrapper: upgrade to 0.2 (!687)
Remove Werror workaround in APKBUILD, as the necessary change has been
upstreamed. By rebuilding the package, we fix the following errors:

Error relocating /usr/lib/preload/libsmdpkt_wrapper.so: minor: symbol not found
Error relocating /usr/lib/preload/libsmdpkt_wrapper.so: major: symbol not found
2019-10-23 22:15:36 +02:00
Oliver Smith
a132464893
modem/libsmdpkt_wrapper: disable Werror
Fixes the build with GCC-9.
2019-10-13 22:10:29 +02:00
Luca Weiss
d2b89c4cf9
temp/ofono: move from modem, upgrade to 1.30 (!612) 2019-09-09 14:23:51 +02:00
Danct12
fc839c2ea6
modem/*: upgrade, modernize, clean up (!549)
Thanks to z3ntu and scintill for additional patches, that have been
squashed into this one (see MR for details).
2019-08-31 19:25:30 +02:00
Luca Weiss
ba4caadf68
modem/ofono: use pkgver=9999 (!537)
[ci:skip-build]: already built succcessfully in CI
2019-08-03 03:16:03 +02:00
Luca Weiss
73f6cfa0aa
modem/ofono: update to 1.29 with qmi voicecall support (!511)
Tested on the pinephone devkit.

[ci:skip-build]: already built successfully in CI
2019-07-24 00:02:19 +02:00