pmaports/temp/pulseaudio/0017-bluetooth-support-AT-CGMI.patch

34 lines
1.4 KiB
Diff
Raw Normal View History

From 6e851563dbe4e90a37b0f8fef1604395acba47b4 Mon Sep 17 00:00:00 2001
From: Dylan Van Assche <me@dylanvanassche.be>
Date: Fri, 15 Apr 2022 07:31:43 +0200
Subject: [PATCH 17/26] bluetooth: support AT+CGMI
Return the modem manufacturer if ModemManager is available.
AT+CGMI is an out-of-spec AT command for Bluetooth HFP, but car
multimedia units use it since it is a standard 3GPP command.
---
src/modules/bluetooth/backend-native.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/modules/bluetooth/backend-native.c b/src/modules/bluetooth/backend-native.c
index 2c39a090c..3099b13fc 100644
--- a/src/modules/bluetooth/backend-native.c
+++ b/src/modules/bluetooth/backend-native.c
@@ -797,6 +797,13 @@ static bool hfp_rfcomm_handle(int fd, pa_bluetooth_transport *t, const char *buf
}
rfcomm_write_error(discovery->native_backend, fd, CMEE_NO_CONNECTION_TO_PHONE);
return false;
+ } else if (strstr(buf, "AT+CGMI") && pa_modemmanager_has_modem(discovery->native_backend->modemmanager)) {
+ if (discovery->native_backend->modemmanager) {
+ rfcomm_write_response(fd, "%s", pa_modemmanager_get_modem_manufacturer(discovery->native_backend->modemmanager));
+ return true;
+ }
+ rfcomm_write_error(discovery->native_backend, fd, CMEE_NO_CONNECTION_TO_PHONE);
+ return false;
}
/* first-time initialize selected codec to CVSD */
--
2.35.1