From 6e851563dbe4e90a37b0f8fef1604395acba47b4 Mon Sep 17 00:00:00 2001 From: Dylan Van Assche 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