Giter Site home page Giter Site logo

ofono's People

Contributors

ajlennon avatar alfonsosanchezbeato avatar balrog-kun avatar bertrandaygon avatar caiwenzhang avatar cristatus avatar denkenz avatar forestbond avatar gischthefish avatar gyagp avatar holtmann avatar i-kwilk avatar inaky-intc avatar jhedberg avatar kaccardi avatar martinpitt avatar monich avatar morphis avatar ozhuraki avatar padovan avatar peat-psuwit avatar ptikander avatar ricardosalveti avatar rrzaripov avatar syamsidhardh avatar tonyespy avatar umartinxu avatar vcgomes avatar vicamo avatar vudentz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ofono's Issues

GRilIO may take nothing in function `received_data` under some boundary conditions

For example, when we have a ring_buffer of size 8192, and its in position mark at 8192, out position mark at 8188, ring_buffer_avail_no_wrap will always return zero because it just has to wrap to write any new data. So, the function received_data in https://github.com/rilmodem/ofono/blob/master/gril/grilio.c will always have toread = 0, never go through do-while loop body, and jump over all the following if-conditions because none of their conditions are evaluated to true. function received_data will then return true and be dispatched again by gio almost immediately.

Calling scan() in OfonoNetworkRegistration emits scanFinished when already scanning

Let's say you have a OfonoNetworkRegistration object, n, and call scan() on it. Calling scan() a second time yields a scanError with a String message: Operation already in progress.

The problem is that scanFinished is emitted right after scanError. This means we receive scanFinished even though we've just been told that a scan is already in progress.

This could, if possible by libqofono, be solved by not calling scanFinished when an Operation already in progress error occurs.

Phone disconnects after a few seconds of being connected

Using the example.py, i'm able to get quite far, however i run into the following issue where my phone disconnects only after a few seconds of trying to connect.

2022-05-09 11:24:58.883 phony.headset.HandsFreeHeadset                               INFO     <- HandsFreeHeadset.enable_pairability()
2022-05-09 11:25:14.145 phony.bluetooth.adapters.bluez5.Bluez5                       DEBUG    ** Bluez5.properties_changed(org.bluez.Device1, dbus.Dictionary({dbus...)
2022-05-09 11:25:14.145 phony.bluetooth.adapters.bluez5.Bluez5                       INFO     Device: /org/bluez/hci0/dev_44_*** Connected
2022-05-09 11:25:14.147 phony.headset.HandsFreeHeadset                               INFO     ** HandsFreeHeadset._device_connected(44:*** Joe’s iPhone)
2022-05-09 11:25:14.150 phony.bluetooth.profiles.handsfree.ofono.Ofono               DEBUG    -> Ofono.attach_audio_gateway(8C:88:2B:40:60:E5 raz-board, 44:***...)
2022-05-09 11:25:14.150 phony.bluetooth.profiles.handsfree.ofono.Ofono               DEBUG    <- Ofono.attach_audio_gateway(8C:88:2B:40:60:E5 raz-board, 44:***...)
2022-05-09 11:25:15.156 phony.bluetooth.profiles.handsfree.ofono.Ofono               DEBUG    -> Ofono._poll_for_child_hfp_modem(8C:88:2B:40:60:E5 raz-board, 44:***...)
2022-05-09 11:25:21.062 phony.bluetooth.adapters.bluez5.Bluez5                       DEBUG    ** Bluez5.properties_changed(org.bluez.Device1, dbus.Dictionary({dbus...)
2022-05-09 11:25:21.062 phony.bluetooth.adapters.bluez5.Bluez5                       INFO     Device: /org/bluez/hci0/dev_44*** Disconnected

I've tried several different capabilities, none of which give me the pincode option. I do get a passcode though, but after hitting the pair button, it fails and disconnects.

Error when building with clang

$ ./bootstrap-configure --disable-bluetooth
$ make
...
src/simutil.c:1551:12: error: comparison of constant 8 with expression of type 'enum sim_cphs_service' is always false
[-Werror,-Wtautological-constant-out-of-range-compare]
if (index >= 2 * 4u)
~~~~~ ^ ~~~~~~

When setting VoiceUnconditional, unset properties (e.g. VoiceBusy) is not reported

ofonod version 1.12
/usr/sbin/ofonod -P rildev --nodetach

Reproduce:

  1. Unset all call forwarding rules
  2. Set VoiceBusy to a non-empty string
  3. Set VoiceUnconditional to a non-empty string

What happens:
From 2 I get that "VoiceBusy" changed and from 3 I get that only VoiceConditional changed

What should happen:
I should get that both VoiceConditional changed as well as VoiceBusy changed.

Method "GetProperties" with signature "" on interface "org.ofono.SupplementaryServices" doesn't exist

Hi, I just start working with ofono and when I want to send USSD command.

when I use initiate-ussd <modem> I get this error:

Traceback (most recent call last):
  File "/home/pi/workspace/libs/ofono/test/./initiate-ussd", line 27, in <module>
    properties = ussd.GetProperties()
  File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 72, in __call__
    return self._proxy_method(*args, **keywords)
  File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 141, in __call__
    return self._connection.call_blocking(self._named_service,
  File "/usr/lib/python3/dist-packages/dbus/connection.py", line 652, in call_blocking
    reply_message = self.send_message_with_reply_and_block(
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "GetProperties" with signature "" on interface "org.ofono.SupplementaryServices" doesn't exist

my list-modems :

[ /hfp/org/bluez/hci0/dev_97_E7_F5_A2_E4_0B ]
    Online = 1
    Powered = 1
    Lockdown = 0
    Emergency = 0
    Serial = 97:E7:F5:A2:E4:0B
    Interfaces = org.ofono.VoiceCallManager org.ofono.CallVolume org.ofono.Handsfree org.ofono.NetworkRegistration 
    Features = net 
    Name = Nexus 6P
    Type = hfp
    [ org.ofono.VoiceCallManager ]
        EmergencyNumbers = 118 110 08 911 000 112 999 119 
    [ org.ofono.CallVolume ]
        SpeakerVolume = 50
        MicrophoneVolume = 50
        Muted = 0
    [ org.ofono.Handsfree ]
        InbandRinging = 1
        EchoCancelingNoiseReduction = 1
        DistractedDrivingReduction = 0
        VoiceRecognition = 0
        Features = three-way-calling echo-canceling-and-noise-reduction voice-recognition release-all-held create-multiparty hf-indicators 
        BatteryChargeLevel = 5
    [ org.ofono.NetworkRegistration ]
        Status = registered
        Mode = auto-only
        Name = SomeThing
        Strength = 100

Got that I didn't have a org.ofono.SupplementaryServices in my Interfaces so how can I add this to my interfaces?

Thanks a lot

APN verification doesn't allow APNs with single character before period

This is a simple yet critical bug where an APN such as n.ispsn is marked as invalid. THIS IS THE REASON WHY NO ONE ON SPRINT CAN GET ONTO THEIR APN MANUALLY (without auto configuration via OTA). There are untold many people posting about this core issue on the forums. Here is the incredibly simple solution and it took a while to track down:

The > should be >= in the is_valid_apn method found in: https://github.com/rilmodem/ofono/blob/master/src/common.c

gboolean is_valid_apn(const char *apn)
{
int i;
int last_period = 0;

if (apn[0] == '.')
	return FALSE;

for (i = 0; apn[i] != '\0'; i++) {
	if (g_ascii_isalnum(apn[i]))
		continue;

	if (apn[i] == '-')
		continue;

	if (apn[i] == '.' && (i - last_period) >= 1) {
		last_period = i;
		continue;
	}

	return FALSE;
}

return TRUE;

}

A work around could be to write your own C program duplicating all the functionality of ofono, but I have not yet done this. It may be simpler than editing and recompiling ofono since you would need to set up an entire cross compile environment. (I'm using a Nexus 5 with Ubuntu Touch 16.04 from ubports)

Please HELP!!!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.