Commit Graph

1399 Commits

Author SHA1 Message Date
Denis Kenzior 23c45abd57 ste: Fix out-of-order free
CALLBACK_WITH_FAILURE used data structure freed just beforehand
2015-05-13 15:55:00 -05:00
Alex J Lennon fc3f937a67 udev: Add support for ehs6 name
As with tc65, ehs6 makes use of cinterion plugin
2015-05-13 09:57:53 -05:00
Alex J Lennon 7d4a19b114 cinterion: Register as OFONO_VENDOR_CINTERION
This enables us to take advantage of vendor specific quirks
(e.g. signal strength handling specifics for tc65)
2015-05-13 09:57:53 -05:00
Alex J Lennon b31a3c2390 tc65: Replace tc65 plugin with cinterion plugin
On the basis that tc6x and other Cinterion devices will likely
have similar firmware requirements, provide a generic Cinterion
plugin which is functionally identical to the replaced tc65 plugin.

The udev implementation retains support for "tc65" name for
backwards compatibility, and adds support for the new "cinterion"
name.
2015-05-13 09:57:53 -05:00
Denis Kenzior 8d47f97106 hfp_hf_bluez5: Implement sco_connected_hint 2015-05-13 09:57:53 -05:00
Kuba Pawlak 8e6ebab83b hfp_ag_bluez5: use none prefix for AT+BCC.
iPhone 5s with iOS8.2 sometimes failes to acknowledge AT+BCC
with OK. This means +CIEV events get consumed by this command
and call ended notification is not parsed.

Nov 30 00:00:19 ofonod[938]: > AT+BCC\r
Nov 30 00:00:28 ofonod[938]: < \r\n+CIEV: 2,0\r\n
2015-03-24 09:12:58 -05:00
Cedric Jehasse 151b837428 sierra: add sim state polling after CFUN enable
When pin is queried shortly after a Siera dongle is plugged in,
"AT+CPIN?" responds with "CME ERROR 14: SIM".
Poll the sim, as already done by several other vendor plugins.
2015-01-31 10:20:18 -06:00
Denis Kenzior bb71141d79 phonesim: Instantiate radio-settings in post_sim 2014-12-10 11:03:17 -06:00
Denis Kenzior 4e466f6fec phonesim: Add minimal radio-settings functionality 2014-12-10 11:03:17 -06:00
Denis Kenzior a89f8cd56d phonesim: Add skeleton of radio settings driver 2014-12-10 11:03:16 -06:00
Kuba Pawlak 42ebb69384 he910: Update copyright 2014-10-22 21:23:25 -05:00
Kuba Pawlak 45478b17cf he910: enable location raporting atom 2014-10-22 21:22:33 -05:00
Kuba Pawlak 88f46a9b01 udev: add GPS port definition for HE910 2014-10-22 21:22:24 -05:00
Denis Kenzior 934ea9a9fe hfp_ag_bluez5: Bump HFP version to 1.7 2014-10-20 13:40:28 -05:00
Denis Kenzior cf90f1505d emulator_fuzz: Add test plugin
This plugin creates an org.ofono.test.EmulatorFuzz interface on path
/test.  Currently only one method is implemented, SetIndicatorActive.

SetIndicatorActive("DistractedDrivingReduction", True|False) allows to
activate / deactivate the HF indicator via +BIND unsolicited
notification.
2014-10-20 13:40:28 -05:00
Denis Kenzior 017c1161d4 hfp_hf_bluez5: Use latest HFP version 2014-10-20 13:40:28 -05:00
Denis Kenzior 361eed7b9a ublox: Minor style cleanup 2014-07-08 08:58:48 -05:00
Denis Kenzior 864efe1add ublox: Remove unneeded VENDOR flags
devinfo and netreg atoms don't use vendor specific behavior
2014-07-08 08:56:55 -05:00
Philip Paeps 0d8a06af30 plugins: new driver for u-blox SARA-U270 modems
This driver may also work (perhaps with more or less trivial changes)
with other u-blox modems (SARA, LISA, LEON) but this hasn't been tested.
2014-07-08 08:53:13 -05:00
Philip Paeps 7f29608feb udevng: add detection logic for u-blox modems 2014-07-08 08:50:20 -05:00
Denis Kenzior 1f3e30f1ba quectel: Minor style cleanup 2014-07-08 08:44:21 -05:00
Denis Kenzior 7ab4034bf4 quectel: Remove unneeded VENDOR flags
Only the sim atom has QUECTEL specific code
2014-07-08 08:43:01 -05:00
Philip Paeps bb1984cabb plugins: add a new driver for Quectel UC15 modems 2014-07-08 08:42:05 -05:00
Philip Paeps 5cffd8af95 udevng: add detection logic for Quectel modems 2014-06-30 13:26:51 -05:00
Philip Paeps 532e8020e5 mbpi: add support for provisioning the auth method
Use the authentication method from the mobile-broadband-provider-info
database if it is specified and supported (we support CHAP and PAP).
Default to CHAP if the database does not specify a method (i.e.: the
previous behaviour).
2014-06-24 12:46:18 -05:00
Denis Kenzior 35feae07e5 hfp: Use proper prefix
Otherwise the BCS command can consume unsolicited notifications.

ofonod[3270]: < \r\n+BCS: 2\r\n
ofonod[3270]: > AT+BCS=2\r
ofonod[3270]: < \r\n+CIEV: 1,1\r\n
ofonod[3270]: < \r\n+CIEV: 2,0\r\n
ofonod[3270]: < \r\nOK\r\n
2014-05-21 12:08:37 -05:00
Denis Kenzior 910ec60927 phonesim: Fixup whitespace 2014-03-27 09:51:49 -05:00
Jussi Pakkanen 5f76525961 phonesim: Add conf file override
OFONO_PHONESIM_CONFIG allows the configuration file location to be
overriden from the default $CONFIGDIR/phonesim.conf (typically /etc)
2014-03-27 09:51:49 -05:00
Denis Kenzior 4585969568 he910: Fix unused variable warning
plugins/he910.c: In function ‘qss_query_cb’:
plugins/he910.c:174:21: error: unused variable ‘data’
[-Werror=unused-variable]
2014-03-20 12:55:20 -05:00
Denis Kenzior f8819b588b he910: Switch to permissive parser
Seems the CCFC implementation on Telit firmware is not v.250 compliant:
ofonod[445]: Aux: > AT+CCFC=0,2\r
ofonod[445]: Aux: < \r\n\r\n+CCFC:0,7\r\n\r\nOK\r\n
2014-03-19 10:30:10 -05:00
Denis Kenzior c3f528908d he910: Fixup SIM detection
In certain cases the #QSS notification is never sent, or sent too early.
Make sure that we enable #QSS notification only after the modem has been
set as powered.  Also make sure that we explicitly query #QSS in case we
missed the earlier #QSS notification.
2014-03-19 10:30:05 -05:00
Denis Kenzior c54e4763f8 he910: Fix whitespace 2014-03-10 11:53:22 -05:00
Slava Monich 278dba2ec8 mbpi: Pop subparser stack after mmsc and mmsproxy 2014-02-07 08:56:44 -06:00
Denis Kenzior d6af339c99 git: Fixup messed up permissions 2013-12-21 13:39:54 -06:00
Krzysztof Wilk 9d847687eb phonesim: Enable Siri atom 2013-12-18 00:07:47 -06:00
Krzysztof Wilk c8a3172c00 hfp_hf_bluez5: Enable Siri atom 2013-12-18 00:07:47 -06:00
Krzysztof Wilk 1e14b217b0 hfp_hf_bluez4: Enable Siri atom 2013-12-18 00:07:47 -06:00
Denis Kenzior 7c7cdd8759 he910: tweak initialization logic 2013-11-26 16:25:48 -06:00
Slava Monich a7ba6d1e9e mbpi: Provision mmsc and message_proxy 2013-11-26 15:32:03 -06:00
Denis Kenzior 9b224fff79 hfp_ag_bluez5: Try to support non-phone hardware
For devices which are not 'real' phone modems, the voicecall
initialization can happen outside of the pre-sim state.  In this case
the voicecall atom detection logic fails.  Try to detect the voicecall
atom separately, and register the profile if the SIM atom is already
present and in state 'READY'.

For all other cases, the previous logic still applies.
2013-11-25 11:33:57 -06:00
Denis Kenzior 06598ef47c udevng: Add he910 detection logic 2013-11-25 10:55:59 -06:00
Denis Kenzior 6e52f03f64 plugins: Add initial Telit he910 driver 2013-11-25 10:55:59 -06:00
Denis Kenzior 0aeeaefdce mbm: Fix segfault with hot-plugged MD300 modem 2013-10-17 15:25:52 -05:00
Denis Kenzior 2158249069 hfp_hf_bluez5: Be more pedantic in get_version
If no 'Version' key is found we might be assigning an uninitialized
value.  Return an error in this case as the 'Version' key is required.
2013-10-01 11:35:27 -05:00
Denis Kenzior c49ed15a8f hfp_hf_bluez5: Add version debug info 2013-10-01 11:28:19 -05:00
Vinicius Costa Gomes ff16aed8bd handsfree-audio: Detect transparent SCO in kernel
Deferred SCO setup is not enough for HFP 1.6 wideband codec support.
Wideband speech also requires Transparent SCO to be enabled in the
kernel.
2013-09-12 13:17:40 -05:00
Denis Kenzior 62c2b81db7 hfp_hf_bluez5: Remove Cancel method 2013-09-12 13:17:40 -05:00
Denis Kenzior f2103a7ada hfp_hf_bluez5: Mark Release method as NOREPLY 2013-09-12 13:17:39 -05:00
Jesper Larsen dff2657093 sim900: Use SIM900 quirk for gprs context
Use the module specific quirk for gprs by using the vendor entry
OFONO_VENDOR_SIMCOM_SIM900
2013-07-19 09:01:09 -05:00
Jesper Larsen cf031b11f9 sim900: Fix order of dlc prefixes
The order of the defines for the dlc prefixes does not match
the order of the array containing the strings to print.
2013-07-17 10:28:24 -05:00
Jesper Larsen 33b4645f41 sim900: Enable serial receiver
The read option must be set to 'on' in order for two-way
communication with SIM900 module to work.
2013-07-17 10:19:11 -05:00
Frederic Danis d6a601f8d1 hfp_hf_bluez5: Fix SDP record with correct features 2013-06-26 10:39:11 -05:00
Vinicius Costa Gomes 856a884052 hfp_hf_bluez5: Enable WB only with defer_setup
When setting the SDP features, only enable wideband speech support if
the kernel has defer setup for SCO.

It is possible that even if defer setup is supported the kernel is
not able to use Transparent Mode for SCO.
2013-04-25 17:51:59 -05:00
Denis Kenzior ff27e74eee Revert "hfp_hf_bluez5: UUIDs can change after Pairing"
This reverts commit 456b8c9723.
2013-04-25 17:47:05 -05:00
Vinicius Costa Gomes e1de3c7f2e hfp_hf_bluez5: Register the SDP record with correct features 2013-04-25 03:40:19 -05:00
Vinicius Costa Gomes 48cb2e5249 bluez5: Unify bt_register_profile_* into a single function
It was a cause of confusion for little gain to have separate
functions for registering profiles with extra information, for
example "role" and "features". We remove those helper functions
in favor of a single one with more parameters, "role" and
"feature" when NULL, will be ignored.
2013-04-25 03:38:11 -05:00
Paulo Borges 7b56ca2730 hfp_ag_bluez5: Implement RequestDisconnection()
When a RequestDisconnect() is received, the socket must be closed.
This way, the related emulator will be freed.
2013-04-22 03:55:21 -05:00
Paulo Borges 9332299bb7 hfp_ag_bluez5: Add watch for G_IO_HUP when connect
A watch to G_IO_HUP is added to remove the file descriptor when the
emulator is automatically disconnected when its GAtServer closes.

We use a dupped file descriptor because the events aren't delivered to
the file descriptor who originated them.
2013-04-22 03:54:24 -05:00
Paulo Borges d062d485d6 hfp_ag_bluez5: Create a hash to store connections
We need to store active connections so we can disconnect them at
RequestDisconnect().

When we remove a connection from the hash, we also close it.
2013-04-22 03:53:42 -05:00
Paulo Borges fc7de0f6e1 hfp_ag_bluez5: Remove unused includes 2013-04-18 08:43:25 -05:00
Paulo Borges 4245df6200 hfp_ag_bluez5: Include hfp.h 2013-04-18 08:42:44 -05:00
Paulo Borges f1e29338ba phonesim: Include hfp.h 2013-04-18 08:42:28 -05:00
Vinicius Costa Gomes 456b8c9723 hfp_hf_bluez5: UUIDs can change after Pairing
For example, in the case of a remote-initiated pairing, the device may
be created and Paired first, then the UUID array is emitted later.
2013-04-18 08:37:17 -05:00
Vinicius Costa Gomes 4e7f0690e9 hfp_hf_bluez5: Watch for changes in the selected codec
This patch adds a function to monitor when the AG sends a new codec
before establishing the SCO connection.
2013-04-15 07:00:39 -05:00
Denis Kenzior 4610d3dad2 hfp_hf_bluez5: Include hfp.h 2013-04-09 14:33:41 -05:00
Denis Kenzior 3715103654 hfp_hf_bluez5: Remove redundant parentheses 2013-04-09 14:33:41 -05:00
Vinicius Costa Gomes 3697794f9e hfp_hf_bluez5: Add audio card .connect() for HFP 1.6 2013-04-09 14:33:41 -05:00
Vinicius Costa Gomes a36ffa872a hfp_hf_bluez5: Use 1.6 card driver 2013-04-05 12:25:10 -05:00
Claudio Takahasi dd24a39d2f hfp_hf_bluez5: Add extracting version
This patch parses and reads the profile "Version" that comes in the fd
dictionary of the NewConnection method. "Version" is input for Audio Card
registration.
2013-04-05 12:14:00 -05:00
Forest Bond 692e59f108 huawei: Use AlwaysOnline for CDMA modems 2013-04-01 21:42:44 -05:00
Denis Kenzior 2f50d25ab5 hfp_hf_bluez5: Make sure to call the callback 2013-03-28 09:30:45 -05:00
Vinicius Costa Gomes 759cf25614 hfp_hf_bluez5: Add a card driver for HFP 1.6
This is just the skeleton of a Handsfree Audio Card for the HF side of
HFP 1.6.
2013-03-28 09:29:50 -05:00
Denis Kenzior 93ac1669a0 sim900: Fix disable cleanup procedure 2013-03-26 10:53:41 -05:00
Denis Kenzior 32cece7b09 sim900: Fix compile error
make --no-print-directory all-am
  CC     plugins/sim900.o
  cc1: warnings being treated as errors
  plugins/sim900.c: In function ‘shutdown_device’:
  plugins/sim900.c:180:9: error: unused variable ‘fd’
  make[1]: *** [plugins/sim900.o] Error 1
  make: *** [all] Error 2
2013-03-26 10:36:25 -05:00
Denis Kenzior 548611e939 sim900: Remove unneeded goto / label 2013-03-26 10:35:59 -05:00
Denis Kenzior b4518caa50 sim900: Properly clean up device IOChannel on error 2013-03-26 10:34:09 -05:00
Renat Zaripov 2d09257855 sim900: Add multiplexer support
Also add gprs and call-volume support.
2013-03-26 10:29:08 -05:00
Denis Kenzior d8a9bf776b sim900: Fix leak of options hash table 2013-03-26 10:21:14 -05:00
Denis Kenzior 2864624c56 hfp_ag_bluez5: Fix sanity check
We should be checking that modems != NULL, not modems->data.  This is
because the list can be empty and we would crash.
2013-03-21 10:19:00 -05:00
Denis Kenzior 823215ff66 dun_gw_bluez5: Fix sanity check
We should be checking that modems != NULL, not modems->data.  This is
because the list can be empty and we would crash.
2013-03-21 10:18:11 -05:00
Denis Kenzior 439712a937 dun_gw_bluez5: Fix copy-paste error 2013-03-21 10:15:16 -05:00
Frédéric Danis 770cb38352 dun_gw: Add BlueZ 5 version
This patch adds initial implementation of the D-Bus Profile1
interface and methods responsible for handling Bluetooth connections.

The DUN GW profile interface is registered as soon as a GPRS capable
modem is registered in oFono.
2013-03-21 10:12:42 -05:00
Frédéric Danis 8a1bd0d657 bluetooth: Rename DUN GW plugin
As BlueZ 5 introduced backwards incompatible API changes, and we want to
keep support for BlueZ 4 based DUN GW plugin for some time, we need to
separate DUN GW plugin which is based on BlueZ 4 from the one based on
BlueZ 5.

The dun_gw.c plugin is renamed to dun_gw_bluez4. This will make it easy
to add a DUN GW plugin for BlueZ 5.
2013-03-21 10:08:41 -05:00
Denis Kenzior afb4470558 hfp_hf_bluez5: Set remote and local information 2013-03-18 13:57:30 -05:00
Denis Kenzior 0f973d7150 hfp_hf_bluez5: Update to the new API 2013-03-18 13:42:46 -05:00
Claudio Takahasi b64357f690 hfp_hf_bluez5: Remove duplicated include 2013-03-12 13:03:42 -05:00
Claudio Takahasi e51f734881 hfp_hf_bluez5: Remove SCO handling
This patch moves the SCO socket handling from hfp_hf_bluez5 plugin.  It
will be instead handled by the handsfree-audio functionality. This is
the initial step to be able to support sending the file descriptor
through the Agent NewConnection method.
2013-03-04 16:16:24 -06:00
Claudio Takahasi 3b8d84d19d hfp_hf_bluez5: Use new bluetooth.h header 2013-03-04 16:13:31 -06:00
Claudio Takahasi 3373fae662 bluez5: Remove Bluetooth related utilities 2013-03-04 16:13:18 -06:00
Paulo Borges 08eea76ea8 bluez5: Add bt_register_profile_with_role
This function allows to specify which role is registering when the
profile does not have specific UUIDs for each role.
2013-03-04 12:04:54 -06:00
Paulo Borges 80212a3db2 bluez5: Move ref / unref handsfree audio
This commit moves the ref / unref to hfp_hf_bluez5 to make
bluez5 more generic and reusable.
2013-03-01 13:22:35 -06:00
Claudio Takahasi cf6137c187 hfp_hf_bluez5: Remove Card on RequestDisconnection
For local initiated disconnection the GAtChat disconnect callback is not
called. For this case, Audio Card remove function needs to be called.
2013-02-28 10:11:05 -06:00
Claudio Takahasi bff9432007 hfp_hf_bluez5: Remove Card when modem is disabled 2013-02-28 10:10:54 -06:00
Claudio Takahasi 134b237344 hfp_hf_bluez5: Remove Card if SLC is disconnected
This patch removes previous registered Audio Card when the remote
Bluetooth device triggers the service level disconnection.
2013-02-28 10:10:41 -06:00
Claudio Takahasi 1ee6c6ea09 hfp_hf_bluez5: Remove Card when SLC fails
This patch removes the previously created Audio Card if the service
level negotiation fails.
2013-02-28 10:10:30 -06:00
Claudio Takahasi fb9b54bc2c hfp_hf_bluez5: Add local address to Audio Card 2013-02-28 10:10:13 -06:00
Claudio Takahasi 4ef4d620e4 hfp_hf_bluez5: Add registering Audio Card
This patch registers the Handsfree Audio Card when the service level
connection is established.
2013-02-28 10:09:33 -06:00
Patrik Flykt 71551c98a9 bluez4: Increase Bluez 4 D-Bus timeouts to 60 seconds
RequestAuthorization method call may trigger pairing and/or pop up a
dialog in the remote device to which the user needs to react. Thus
increase D-Bus timeouts to 60 seconds for the Bluez 4 plugin.
2013-02-26 14:15:44 -06:00
Denis Kenzior 2f8b9ab50c bluez5: ref / unref handsfree audio 2013-02-21 08:30:03 -06:00
Claudio Takahasi 28603a98ce hfp_ag_bluez5: Send HFP version when registering 2013-02-20 21:39:06 -06:00
Claudio Takahasi f765427b22 hfp_hf_bluez5: Send HFP version when registering 2013-02-20 21:36:49 -06:00
Claudio Takahasi 6672f41fd6 bluez5: Add profile version argument
This patch adds sending of the Version argument to RegisterProfile
method.  The version is required to create the service record
containing the correct profile version.
2013-02-20 21:35:44 -06:00
Claudio Takahasi 8a1cd911d8 hfp_hf_bluez5: Add local HFP version tracking
Fallback to HFP 1.5 if defer setup is not supported since it is not
possible to proceed with codec negotiation.
2013-02-20 21:31:04 -06:00
Denis Kenzior 7ba9521f10 hfp_hf_bluez5: Ensure active SLC for SCO links
Whenever a SCO connection is attempted, ensure that the SLC link is
already active between us and the same remote peer.
2013-02-14 08:47:10 -06:00
Denis Kenzior 83b43c8abd hfp_hf_bluez5: Remove use of hash table
The number of paired devices is quite small, so the use of the hash
table for lookup seems unnecessary.  The typical user will have no more
than 1-2 devices paired, maybe half a dozen in a less common case.
2013-02-14 08:47:10 -06:00
Denis Kenzior 825feb8cd5 hfp_hf_bluez5: Use faster method of disable() 2013-02-14 08:47:10 -06:00
Claudio Takahasi 39f1480155 hfp_hf_bluez5: Remove unneeded modem hash lookup
Modem object is created when the Device Proxy is added, and it is
paired. Another path is when the Device "Paired" property changes
to True.
2013-02-14 08:47:10 -06:00
Denis Kenzior 4394a362eb hfp_hf_bluez5: Use some tricks to optimize code 2013-02-14 08:47:10 -06:00
Vinicius Costa Gomes 233b1ecca4 hfp_hf_bluez5: Add support for Enabling/Disabling the modem
Now that we have the support for sending the correct messages
to BlueZ, we are able to dynamically power up/down the HFP modem.

We add another property to the modem to be able to get the D-Bus
object path that represents the remote device.
2013-02-14 08:47:10 -06:00
Claudio Takahasi a2b698dc40 hfp_hf_bluez5: Add Profile RequestDisconnection
This patch implements RequestDisconnection method of the Profile1
interface. This method gets called when the profile gets disconnected.
The profile implementation needs to cleanup the resources related to
the informed device.
2013-02-14 08:47:10 -06:00
Vinicius Costa Gomes 22f05f7832 bluez5: Add support for Connecting/Disconnecting per UUID
This adds supports for sending the ConnectProfile() and
DisconnectProfile() messages for the org.bluez.Device1 interface.
2013-02-14 08:47:10 -06:00
Claudio Takahasi 86224f5724 bluez5: Rename BlueZ Profile registration functions
This patch renames external profile registration functions replacing the
prefix from 'bluetooth_' to 'bt_' in order to follow the name convention
adopted for bluez5 functions.
2013-02-14 08:47:10 -06:00
Frédéric Danis e59fed9c96 hfp_ag: Add BlueZ 5 version
This patch adds initial implementation of the D-Bus Profile1
interface and methods responsible for handling Bluetooth connections.

The HFP AG profile interface is registered as soon as a voice capable
modem is registered in oFono.
2013-01-31 16:15:03 -06:00
Claudio Takahasi 39e72e0178 hfp_hf_bluez5: Remove BlueZ devices proxies hash
The hash table to track the devices is not necessary anymore since
dynamic modem registration on NewConnection was removed.
2013-01-31 16:03:48 -06:00
Claudio Takahasi f044c6c1fa hfp_hf_bluez5: Fix registering modem on NewConnection
HFP modem will be registered when Proxy Added callback gets called
or when Pair is True. This patch removes the support for dynamic modem
registration when a new connection is notified and there isn't a modem
associated with the Bluetooth remote device.

BlueZ behaviour has been changed and a NewConnection is not notified
before the service discovery finishes.
2013-01-31 16:01:04 -06:00
Vinicius Costa Gomes 852ea612c8 hfp_hf_bluez5: Remove unneeded error handling
Apart from g_io_channel_unix_new() not setting errno, it never
returns an NULL pointer on error, because in practice it only
calls g_new().
2013-01-31 15:57:55 -06:00
Frédéric Danis 3e9a836afd bluetooth: Rename HFP AG plugin
As BlueZ 5 introduced backwards incompatible API changes, and we want to
keep support for BlueZ 4 based HFP AG plugin for some time, we need to
separate HFP AG plugin which is based on BlueZ 4 from the one based on
BlueZ 5.

The hfp_ag.c plugin is renamed to hfp_ag_bluez4. This will make it easy
to add an HFP AG plugin for BlueZ 5.
2013-01-30 22:09:52 -06:00
Vinicius Costa Gomes 5b56668f1e hfp_hf_bluez5: Only register modems for Paired devices
When there are many devices around that support the HFP AG profile,
we may have a lot of modems that the user will never use.
2013-01-30 21:36:49 -06:00
Claudio Takahasi 5185980fb0 hfp_hf_bluez5: Improve Proxy property changed handling
This patch removes unnecessary GDBusProxy object access when property
changed is triggered. The property name and the argument iterator is
informed in the function callback.
2013-01-30 21:32:47 -06:00
Claudio Takahasi 9496fe8e70 hfp_hf_bluez5: Fix missing fd close
This patch fix an unusual scenario, service_level_connection() fails if
GIOChannel or GAtChat memory allocation fails.
2013-01-29 15:58:39 -06:00
Vinicius Costa Gomes b6f92d3074 hfp_hf_bluez5: Rename 'Address' to 'Remote'
Rename this property to better indicate that it is the remote Address
being referred to.
2013-01-29 15:57:48 -06:00
Claudio Takahasi 368b8816ee bluez5: Add RFCOMM socket address declaration
This patch adds a copy of Bluetooth RFCOMM socket declaration.
2013-01-29 09:03:55 -06:00
Claudio Takahasi 6985c798b2 bluez5: Add bt_bacmp()
Adds a copy of BlueZ bacmp() function.
2013-01-29 09:03:04 -06:00
Claudio Takahasi e8621fe8c2 bluez5: Add bt_ba2str()
Adds a copy of BlueZ ba2str() function.
2013-01-29 09:02:45 -06:00
Claudio Takahasi e05b3dfb4d hfp_hf_bluez5: Add SCO listen socket
This patch adds the initial SCO server socket handling. BtIO and BlueZ
functions should not be used, with the new Profile API the objetive is
to get rid of these dependencies.
2013-01-29 09:01:26 -06:00
Claudio Takahasi 5e84f78869 bluez5: Add bt_bacpy()
Adds a copy of BlueZ bacpy() function.
2013-01-29 08:40:33 -06:00
Claudio Takahasi a2376f6c77 bluez5: Add SCO socket declarations
Adds local copy of SCO Bluetooth sockets declarations, since the
objective to avoid including BlueZ library headers.
2013-01-29 08:39:31 -06:00
Vinicius Costa Gomes 3a3e31eef2 hfp_hf_bluez5: Add SLC establishment procedure
When receiving a NewConnection call from BlueZ, initiates the Service
Level Connection using the received file descriptor. The HFP modem
sub-components (devinfo, voicecall, netreg, handsfree and callvolume)
are created at this point.
2013-01-23 17:28:16 -06:00
Vinicius Costa Gomes a90f0441d6 hfp_hf_bluez5: Handle NewConnection from BlueZ
Parse the essential arguments in the message, in this case only the
file descriptor, and register the modem if it is not already
registered. This is necessary because in some cases, we may receive a
NewConnection call, and the SDP process is still taking place.
2013-01-23 14:19:53 -06:00
Vinicius Costa Gomes 71986b67a3 hfp_hf_bluez5: Follow HFP AG device Alias property
If the device Alias property changes we should also change the name of
the modem.
2013-01-23 14:18:18 -06:00
Vinicius Costa Gomes 67cdf33fe8 hfp_hf_bluez5: Register modem for HFP AG devices
Now that we are able to keep track of devices appearing and
disappearing from BlueZ, we are able to register the modem when a
device that supports the HFP AG UUID appears.
2013-01-23 14:16:54 -06:00
Vinicius Costa Gomes 609f194309 bluez5: Add HFP_AG_UUID 2013-01-23 14:16:38 -06:00
Vinicius Costa Gomes 0de672ca78 hfp_hf_bluez5: Add tracking of bluetooth devices
This patch tracks the GDBusProxy for Bluetooth devices in order to be
able to get their properties.
2013-01-23 14:13:37 -06:00
Vinicius Costa Gomes 63cd9a740a hfp_hf_bluez5: Initial GDBusClient for BlueZ
This patch adds the initial callbacks to track when BlueZ connects so
we can register our HFP external profile handler. And tracks the
interfaces added or removed.
2013-01-23 14:13:37 -06:00
Vinicius Costa Gomes cdd99c3d5f bluez5: Add additional defines 2013-01-23 14:13:34 -06:00
Denis Kenzior b262aefe56 bluez5: Fix copy paste error 2013-01-23 13:02:05 -06:00
Denis Kenzior 1103f8ae08 mbm: Delay init until EMRDY
If we send these commands before the EMRDY notification has been seen,
they will simply return an error.
2013-01-21 10:22:45 -06:00
Claudio Takahasi 544726eb2e hfp_hf_bluez5: Add BlueZ Profile handler
This patch declares the external HFP Profile handler. It contains the
initial implementation of the D-Bus Profile1 interface and methods
responsible for handling Bluetooth connections.
2013-01-16 13:59:52 -06:00
Claudio Takahasi 8be7fa050d bluez5: Add a couple of defines 2013-01-16 13:58:55 -06:00
Claudio Takahasi f95fbc72a1 hfp_hf_bluez5: Add initial skeleton implementation 2013-01-16 13:54:03 -06:00
Claudio Takahasi 9fb87705c2 bluetooth: Add profile register / unregister
Adds utility API to handle BlueZ 5 RegisterProfile and UnregisterProfile
methods.
2013-01-16 13:54:00 -06:00
Claudio Takahasi 2b7d96a223 hfp_hf: Add initial file for external HFP
This patch adds the initial file to support external HFP profile and
BlueZ 5. "hfp_hf_bluez5" plugin will implement an external Bluetooth
profile compatible with BlueZ 5, and "hfp_hf_bluez4" plugin will keep
the compatibility with BlueZ 4.
2013-01-16 13:43:06 -06:00
Claudio Takahasi 0973479c29 bluetooth: Initial files for BlueZ 5
This patch adds the file for Bluetooth(BlueZ 5) oFono plugin.
2013-01-16 13:41:08 -06:00
Claudio Takahasi caad5322f6 bluetooth: Rename bluetooth plugins
As BlueZ 5 introduced backwards incompatible API changes, and we want to
keep support for BlueZ 4 based plugins for some time, we need to separate
the plugins that are based on BlueZ 4 from the ones based on BlueZ 5.

The bluetooth.c plugin has now been renamed to bluez4.c and the hfp_hf.c
plugin is renamed to hfp_hf_bluez4.  This will make it easy to add a
HFP HF plugin for BlueZ 5.
2013-01-16 13:37:23 -06:00
Denis Kenzior 8bd6b7c6c5 phonesim: Add support for SIM hotswap 2013-01-01 23:16:05 -06:00
Forest Bond 11a3337a58 sierra: Initialize GSM error reporting separately 2012-12-30 20:35:58 -06:00
Forest Bond 2c91a4bb65 sierra: Create GPRS context in post_sim function
This matches the huawei plugin.
2012-12-30 20:35:53 -06:00
Christopher Vogl 157c365ca5 telit: set baud rate to 115200
Telit HE910 needs the baud rate to be set.
2012-12-17 10:17:19 -06:00
Denis Kenzior 6e3a6156b3 ifx: Bump the setup timeout
The newer IFX firmware was changed, it no longer accepts AT commands
until the UA frame has been sent back to the AP.  The commands are
simply dropped on the floor.  This requires a proper fix in GAtMux, but
until then simply bump up the timeout to get around this issue.
2012-11-28 10:31:15 -06:00
Denis Kenzior e9d15ae899 ifx: Rework SIM state handling
When performing a SIM REFRESH, particularly NAA Initialization, we need
to wait until the modem sends XSIMSTATE: 7, not XSIMSTATE:2.  Even on
normal initialization it seems safer to wait until XSIMSTATE:2.
2012-11-28 10:31:14 -06:00
Marcel Holtmann 6df6688f61 udev: Let Huawei detection also check for cdc_wdm drivers 2012-11-25 20:00:38 +01:00
Marcel Holtmann adf93dc436 udev: Use Qualcomm Gobi driver if QMI based modem 2012-11-25 20:00:07 +01:00
Marcel Holtmann 589a8997c0 udev: Handle USB descriptors from Vodafone K5005 modem 2012-11-25 19:57:43 +01:00
Marcel Holtmann 93688c390e gobi: Use UIM service is available 2012-11-25 19:56:42 +01:00
Denis Kenzior 8b339a4754 ifx: Move connman atom to post_sim state 2012-11-22 06:50:09 -06:00
Denis Kenzior 792c9c02f8 ifx: Get rid of have_sim tracking 2012-11-22 06:50:08 -06:00
Marcel Holtmann d36e4b7580 ifx: Add comments about unhandled SIM states 2012-11-23 16:41:23 +01:00
Cedric Jehasse f61cf95765 alcatel: create sim atom with vendor alcatel 2012-11-15 12:31:02 -06:00
Denis Kenzior 2bc5871d52 mbm: Fix SIM not inserted detection 2012-11-07 07:59:57 -06:00
Denis Kenzior f8e856a4c4 stktest: Label stktest modem as type TEST 2012-11-02 14:04:49 -05:00
Holger Hans Peter Freyther 6cacafe138 wavecom: Add peculiar CPIN as terminator behavior 2012-11-01 04:58:14 -05:00
Denis Kenzior 4769c59957 udevng: Fix MBM detection 2012-10-16 10:02:12 -05:00
Denis Kenzior a3099bfd8d plugins: Add stktest plugin 2012-10-03 09:10:42 -05:00
Christopher Vogl 03c4ccfd59 telit: enable extended sim status notification
Use AT#QSS=2 instead of AT#QSS=1 to get an URC when the SIM is not only
inserted but also when PIN is unlocked and when SMS + phonebook are
ready to be used.

Disable sim state notification in telit_enable() so that we sure get a
notification when we enable it later again. This way we don't have to
query the state the first time. Without this the Telit modem does not
always send an URC when AT#QSS=2 is sent.

Remove sim_inserted_source and sim_inserted_timeout_cb which are not
needed anymore as a consequence.
By the way the 1 second timeout was an ugly hack.

Don't query current SIM status in cfun_enable_cb() as the SIM is
disabled due to prior AT+CFUN=4.

Register '#QSS:' before enabling sim state notifications.

Remove telit_qss_cb() which was used as a callback for querying the
current SIM status.

Move sms atom creation into switch_sim_state_status() and add creation
of phonebook atom. These are created when QSS: 3 is received.
2012-08-30 09:45:27 -05:00
Christopher Vogl f94d112d2c telit: Avoid resetting the SIM
Avoid a reset  when switching between online and offline (airplane)
mode in telit_set_online(). +CFUN accepts a second parameter (0), which
disables a reset: AT+CFUN=x,0.
2012-08-30 09:45:27 -05:00
Christopher Vogl 92cb2fd045 telit: disable auto attach procedures with AUTOATT 2012-08-21 14:34:31 -05:00
Denis Kenzior c7e123530b telit: Fix warning
plugins/telit.c: In function ‘rsen_disable_cb’:
plugins/telit.c:446:21: error: unused variable ‘data’
2012-08-20 08:10:27 -05:00
Christopher Vogl 0d724c7a34 telit: add additional port for data connection
Use MDM port for data service and AUX for the AT chat.
Disable DCD so that the modem does not hangup after a data connection.
2012-08-20 08:09:53 -05:00
Christopher Vogl 71cf14d5b1 udevng: rename aux port from Data to Aux for telit
Telit software user guide says:
USB AUX doesn't support any flow control method. Therefore, this port
isn't suitable for DATA service port.
We recommend this port should be used only for AT command and URC
processing.
2012-08-20 08:08:25 -05:00
Denis Kenzior 8112a025b9 mbm: Fix crash from processing multiple *EMRDY
Sometimes we see the *EMRDY notification before we query, and trigger
initialization procedures twice.
2012-08-16 11:39:22 -05:00
Denis Kenzior cdb3de4d03 mbm: Remove spurious ';' 2012-08-16 11:20:45 -05:00
Christopher Vogl 1c6f585555 telit: pass vendor at sim atom creation 2012-08-16 01:16:16 -05:00
Denis Kenzior 8c18295350 telit: Fix 80 character per line violation 2012-08-16 01:15:39 -05:00
Christopher Vogl e6905e003f telit: move gprs atom into post sim phase 2012-08-16 01:12:48 -05:00
Marcel Holtmann 5a549e1ef7 bluetooth: Avoid shadowing of connection variable 2012-07-15 20:19:47 -03:00
Marcel Holtmann 38bea83fda stemgr: Avoid shadowing of connection variable 2012-07-15 20:19:28 -03:00
Lucas De Marchi d00e030f80 stemgr: watch for signals only on MGR_SERVICE 2012-07-02 11:04:38 -05:00
Lucas De Marchi b84e107f08 bluetooth: watch for signals only on BLUEZ_SERVICE 2012-07-02 11:04:35 -05:00
Marcel Holtmann e3bbfdcd15 gobi: Add support for USSD atom driver 2012-06-25 20:14:29 -07:00
Marcel Holtmann eb0cbb1cf0 gobi: The location reporting is available even without SIM card present 2012-06-25 12:28:08 -07:00
Marcel Holtmann 96a8cf12cd gobi: Add support for voice call atom driver 2012-06-25 12:11:45 -07:00
Marcel Holtmann 50d3c2600d gobi: Cancel all requests and notifications on device shutdown 2012-06-25 10:25:49 -07:00
Marcel Holtmann 9a2d97e494 gobi: Use shared DMS for power and online operations 2012-06-25 09:31:02 -07:00
Luiz Augusto von Dentz fa77d46f9d bluetooth: ignore error if driver returns -EALREADY 2012-06-22 02:46:46 -05:00
Marcel Holtmann 6ac55c1924 gobi: Add support for radio settings atom driver 2012-06-24 22:55:08 -07:00
Marcel Holtmann 7da569f9e7 gobi: Disable UIM support for now and allow DMS fallback 2012-06-24 22:41:32 -07:00
Marcel Holtmann be4423e523 gobi: Use QMI support to drive this modem 2012-06-21 16:09:57 -07:00
Pablo Neira Ayuso 8d319d0cca wavecom: add support for Wavecom Q2403/Q2686 modems 2012-05-31 09:47:27 -05:00
Pablo Neira Ayuso 2049fb4c84 udev: add Wavecom support
This adds OFONO_WAVECOM_MODEL that can set in the udev rules file
to indicate the modem model, eg.

ENV{OFONO_WAVECOM_MODEL}="Q2XXX"
2012-05-31 09:45:28 -05:00
Marcel Holtmann 2d95541f3b gobi: Use the correct modem property for AT command device 2012-05-26 07:36:30 +02:00
Marcel Holtmann d5dc9c967d udev: Fix matching to prefer entries with VID and PID 2012-05-26 07:35:58 +02:00
Marcel Holtmann fba1efe1a5 udev: Add support for detecting Huawei QMI devices 2012-05-26 07:35:25 +02:00
Marcel Holtmann 6a62729e32 udev: Add support for detecting Gobi QMI devices 2012-05-26 07:01:42 +02:00
Marcel Holtmann f986bcbe35 udev: Add matching support for CDC WDM device nodes 2012-05-26 06:46:54 +02:00
Marcel Holtmann 27d79055ba icera: Select USSD driver based on USSD mode setting 2012-05-25 13:09:27 +02:00
Marcel Holtmann 897e99aceb udev: Add detection for Nokia 21M-01 modems 2012-05-25 12:35:45 +02:00
Marcel Holtmann 8fed16f541 udev: Add detection for Samsung GT-Y3300 modems 2012-05-25 12:35:25 +02:00
Marcel Holtmann aa5e661c55 udev: Extend port mapping for Icera modems 2012-05-25 12:30:40 +02:00
Marcel Holtmann a5ae2e37df icera: Request USSD mode and firmware details 2012-05-25 12:29:59 +02:00
Marcel Holtmann 6d83fbdf00 icera: Query initial state of SIM init status 2012-05-25 10:41:10 +02:00
Marcel Holtmann f163708a85 icera: Enable support for radio settings handling 2012-05-25 10:33:14 +02:00
Marcel Holtmann d514c4fd88 icera: Use SIM init nofitication instead of polling 2012-05-24 05:41:44 +02:00
Marcel Holtmann 81973b6d0a icera: Enable SMS sending and receiving support 2012-05-24 03:56:36 +02:00
Marcel Holtmann 0bdc0119c7 icera: Enable USSD support and ensure default character set 2012-05-24 03:44:31 +02:00
Daniel Wagner 83becec832 bluetooth: Add Serial interface definition 2012-05-22 18:44:46 +02:00
Denis Kenzior 91cbcbf371 hfp_hf: Fix up whitespace corruption 2012-05-21 21:26:19 -05:00
Marcel Holtmann c26cc80b08 icera: Add SIM, network registration and GPRS handling 2012-05-22 12:04:13 +02:00
Lucas De Marchi e0d6f9f0ce Do not set signature and reply in GDBus tables
Use GDBUS_* macros, so signature and reply fields are not set in each
method/signal.
2012-05-20 02:47:57 -07:00
Lucas De Marchi b3489f2ee8 Convert GDBus methods to use macro helpers
With these macro helpers we can separate in/out arguments and use their
own vector.
2012-05-20 02:47:57 -07:00
Henrique Dante de Almeida 63bbdebdf2 Constify GDBus method tables
Constify method tables with the following command:

find . -name '*.[ch]' -exec \
             sed -i 's/\(GDBusMethodTable .* =\)/const \1/g' {} \;
2012-05-20 02:47:56 -07:00
Mikel Astiz c9d3ce5c22 hfp_hf: Fix modifying hash table while iterating
Calling ofono_remove_modem() while iterating the hash table is not safe
given that it can modify the table in hfp_remove().

A simple way to reproduce the problem is to pair some Bluetooth phones
and remove the Bluetooth adapter, triggering a GLib-CRITICAL assertion.

This patch just removes the update of the hash table inside
hfp_remove(). This can be safe as long as all calls to
ofono_modem_remove() are accompanied by a hash table update. The only
example of this kind right now is hfp_agent_release().
2012-04-19 07:41:27 -05:00
Guillaume Zajac a3fc044be4 zte: Update to new sim_state_query API 2012-04-18 04:08:44 -05:00
Guillaume Zajac 8d92f0394f speedup: Update to new sim_state_query API 2012-04-18 04:08:29 -05:00
Guillaume Zajac 1d2432ac85 samsung: Update to new sim_state_query API 2012-04-18 04:08:15 -05:00
Guillaume Zajac fd5e7ed37e mbm: Update to new sim_state_query API 2012-04-18 04:08:02 -05:00
Guillaume Zajac 1666a5d2f2 alcatel: Update to new sim_state_query API 2012-04-18 04:07:43 -05:00
Bertrand Aygon ab6be24c58 speedup: enable online/offline support
Add speedup_set_online.
Add a polling mechanism since most speedup dongles failed in couple of
AT commands following the CFUN=1 when they are offline.
Cleanup online polling in case modem is removed during online process.
2012-04-18 04:02:43 -05:00
Nicolas Bertrand eb8645e6f5 speedup: Use speedup specific driver for ussd 2012-04-17 03:11:00 -05:00
Bertrand Aygon de29df012f Add udev rules for SpeedUp U3501 2012-04-06 09:32:15 -05:00
Marcel Holtmann c23d4c7823 icera: Add skeleton for Icera modem plugin 2012-04-06 16:28:35 +02:00
Marcel Holtmann 19b187a654 udev: Add detection support for Icera based devices 2012-04-06 16:19:36 +02:00
Bertrand Aygon 27992cd9a6 zte: Add support for radio settings 2012-03-26 16:51:24 -05:00
Marcel Holtmann 9abf49fa2b udev: Only detect Sierra Wireless devices with DirectIP 2012-03-21 21:17:33 -07:00
Marcel Holtmann 1605dbadb4 sierra: Add support for DirectIP connections 2012-03-21 21:13:52 -07:00
Renat Zaripov edd6634fce sim900: Add ussd and voice call support 2012-03-13 21:31:21 -05:00
Renat Zaripov e98bdcffc2 sim900: Use SIMCOM quirk for SMS atom 2012-02-27 20:30:28 -06:00
Neil Jerram fb43a32743 hso: Don't access freed data, in hso_set_online 2012-02-27 15:16:37 -08:00
Denis Kenzior f1fde3c33f sim900: Fix minor coding style violation 2012-02-22 04:16:56 -06:00
Renat Zaripov cdfcd6f55b sim900: Add support for PIN retry counters 2012-02-22 04:16:05 -06:00
Marcel Holtmann 1a5895f428 udev: Remove empty line 2012-02-18 13:26:26 +01:00
Marcel Holtmann ef3ea60913 udev: Add support for detecting Sierra network interfaces 2012-02-18 13:18:53 +01:00
Marcel Holtmann d61e815c7f hso: Open modem port to log extra notifications 2012-02-18 13:02:42 +01:00
Marcel Holtmann efaf74a9fa udev: Also detect modem port of Option HSO devices 2012-02-18 13:01:42 +01:00
Marcel Holtmann 7ec8466f8a sierra: Rename some variables 2012-02-16 19:18:17 +01:00
Marcel Holtmann 1a3752c174 udev: Detect more ports for Sierra modems 2012-02-16 19:17:40 +01:00
Marcel Holtmann 91bd71e996 udev: Add sanity check for ports on old Option devices 2012-02-16 18:36:23 +01:00
Marcel Holtmann caad8378d9 udev: Detect old Option cards without high-speed interface 2012-02-16 18:07:07 +01:00
Marcel Holtmann 7693007d2e ifx: Add support for Assisted Satellite Navigation 2012-02-16 13:06:52 +01:00
Marcel Holtmann e3ef803a75 ifx: Setup CSCS to use GSM for the aux port
This change is needed since otherwise umlauts and other characters
for USSD responses will not work properly.
2012-02-10 12:20:58 +01:00
Denis Kenzior 2708ca3b63 ifx: Take out bad merge 2012-02-09 22:35:21 -06:00
Marcel Holtmann e2fe4e4940 ifx: Use CFUN=0 (Minimum Functionality) to disable modem 2012-02-10 02:42:43 +01:00
Marcel Holtmann b1b0fe761e ifx: Remove handling of audio settings setup
The audio settings setup is now done as port of the audio settings atom.
2012-02-10 01:17:06 +01:00
Marcel Holtmann 31efecfe72 ifx: Fix compilation issue 2012-02-02 21:51:26 -08:00
Denis Kenzior 6b44e65993 ifx: Make sure query XSIMSTATE
XSIMSTATE=1 does not seem to reliably activate XSIM notifications
anymore.  So query the XSIMSTATE at startup instead.
2012-02-02 09:15:36 -06:00
Denis Kenzior 1b5b46a23e ifx: Use a proper prefix for XGENDATA 2012-02-02 05:53:53 -06:00
Marcel Holtmann 5086f5f43a udev: Limit ZTE port selection to specific product identifiers 2012-01-17 10:38:07 +01:00
Marcel Holtmann d6d86ff938 udev: Keep vendor and product identifiers around 2012-01-17 10:35:23 +01:00
Marcel Holtmann f2bfaed174 udev: Add detection support for SIM COM modems 2012-01-13 04:56:02 +01:00
Renat Zaripov 4d388a684b udev: Add SIMCOM SIM900 detection support
This allows for detection of SIM900 modem module in case
of appropriate driver specified in udev rules.

Example rule:
KERNEL=="gsmtty3", ENV{OFONO_DRIVER}="sim900"
2012-01-11 23:48:24 -06:00
Renat Zaripov 969ad0acd7 plugins: Add support for sim900 by SIMCOM
This patch add support for SIM900 GSM module
http://wm.sim.com/Sim/FrontShow_en/wireless/detail.aspx?cid=6&nid=770
2012-01-11 23:48:24 -06:00