pmaports/modem/msm-modem/udev-rpmsg.rules
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

14 lines
482 B
Text

SUBSYSTEM!="rpmsg", GOTO="qcom_rpmsg_end"
# symlink rpmsg endpoints under useful names
ATTR{name}=="DATA5_CNTL", SYMLINK+="modem"
ATTR{name}=="DATA4", SYMLINK+="modem-at"
# open SMD channels when the remoteproc comes up
KERNEL!="rpmsg_ctrl[0-9]*", GOTO="qcom_rpmsg_end"
ATTRS{rpmsg_name}!="modem|hexagon", GOTO="qcom_rpmsg_end"
ACTION=="add", RUN+="/usr/sbin/rpmsgexport /dev/$name DATA5_CNTL"
ACTION=="add", RUN+="/usr/sbin/rpmsgexport /dev/$name DATA4"
LABEL="qcom_rpmsg_end"