Qualcomm Snapdragon 410/412 (MSM8916): Difference between revisions
Add instructions for modem |
m Fix script name in Usage section |
||
Line 64: | Line 64: | ||
$ git clone https://git.kernel.org/pub/scm/network/ofono/ofono.git/ | $ git clone https://git.kernel.org/pub/scm/network/ofono/ofono.git/ | ||
$ cd ofono/test | $ cd ofono/test | ||
$ ./ | $ ./enable-modem | ||
$ ./online-modem | $ ./online-modem | ||
$ ./list-modems | $ ./list-modems |
Revision as of 09:51, 5 February 2020
Manufacturer | Qualcomm |
---|---|
Name | MSM8916 |
Architecture | AArch64 |
GPU | Adreno A306 (v4.2-rc1 / v4.14-rc1) |
Process | 28nm |
Components | |
CPU |
No data |
UART |
No data |
Storage |
No data |
USB |
No data |
Display |
No data |
GPU |
No data |
Pinctrl |
No data |
I²C |
No data |
SPI |
No data |
Audio |
No data |
Video |
No data |
Thermal |
No data |
WiFi |
No data |
Bluetooth |
No data |
Modem |
No data |
GPS |
No data |
Camera |
No data |
NPU |
No data |
Suspend |
No data |
Ethernet |
No data |
SATA |
No data |
MSM8916/APQ8016 (or Snapdragon 410) is Qualcomm SoC released in 2014, with great mainline support orginally added for the Dragonboard 410c.
Audio
PulseAudio
Audio should work out of the box with PulseAudio. In your favorite PulseAudio mixer (e.g. pulsemixer
on the command line) you can select the output port to use (e.g. Speaker, Earpiece, ...).
ALSA
Everything is muted by default and must be enabled through alsaucm. Unfortunately, the tool is not very user-friendly.
$ alsaucm -i -c hw:0 set _verb HiFi set _enadev <device>
where <device>
is one of Speaker
, Earpiece
, Headphones
, PrimaryMic
, HeadsetMic
or SecondaryMic
.
alsaucm does not track which devices are already enabled, therefore it is possible to produce combinations that won't work properly (e.g. Headphones
+Earpiece
). To switch between devices, the old device first needs to be re-enabled and then disabled:
$ alsaucm -i -c hw:0 set _verb HiFi set _enadev OLD set _disdev OLD set _enadev NEW
Warning: alsaucm sets the volume to maximum by default. It is possible to increase the volume even further, however, this may lead to permanent damage to your speaker! |
Modem
To use the modem, select the mainline-modem
kernel instead of mainline
, and make sure to agree to the usage of non-free firmware (required for the modem).
Note that this changes the way audio is routed on the device:
- Without modem, audio is routed directly to the audio hardware, and works without the need for non-free firmware.
- With modem running, audio must be routed through the audio DSP, which requires non-free firmware.
Therefore you should choose the kernel depending whether or not you would like to run the modem.
Usage
At the moment, the modem is primarily tested using the oFono test scripts:
# apk add py-dbus $ git clone https://git.kernel.org/pub/scm/network/ofono/ofono.git/ $ cd ofono/test $ ./enable-modem $ ./online-modem $ ./list-modems
Check if the SIM card shows up. If you have a dual SIM device (e.g. Wileyfox Swift), follow this guide. (TODO: Maybe move this here or somewhere else?)
Unlock the SIM card:
./enter-pin pin <pin>
Eventually, your SIM card should show up as registering in ./list-modems
SMS
Use the send-sms
and receive-sms
test scripts (the latter requires py3-gobject3
).
See also
- MSM8916 is a great platform to get started with mainlining! It has a dedicated MSM8916 Mainlining guide that explains how to get started.