~fuzzy7k


#49 mmsd[]: src/service.c:process_request_queue() location (null) 4 years ago

Comment by ~fuzzy7k on ~anteater/mms-stack-bugs

Modifying that scipt is unnecessary as there is another script, set-mms-details, that can set the MMSC.

#10 prevent SMS and MMS from being missed when phone off/offline 4 years ago

Comment by ~fuzzy7k on ~anteater/mms-stack-bugs

From what I just witnessed, both ofono & mmsd do the right thing here. I haven't dug too deep on this, but it appeared that ofono held the messages until mmsd retrieved them, and mmsd queued the notifications until it was able to fetch the messages. Maybe this could be implemented with the GetMessages method of mmsd? SMS would need the same attention if all of this checks out.

#49 mmsd[]: src/service.c:process_request_queue() location (null) 4 years ago

integration added by ~fuzzy7k on ~anteater/mms-stack-bugs

#49 mmsd[]: src/service.c:process_request_queue() location (null) 4 years ago

Ticket created by ~fuzzy7k on ~anteater/mms-stack-bugs

I was getting this error after mmsd decoded the initial WAP notification. This was on Ting, a T-mobile MVNO, which does not appear in my mobile-broadband-provider-info database. The problem was that I did not have a MMSC defined. I believe ofono should get this information from the provider database. The following is a workaround using a modified ofono test script.

Append the following to test/create-mms-context:

        if len(sys.argv) > 4:
                context.SetProperty("MessageCenter", sys.argv[4])
                print("Setting MMSC to %s" % (sys.argv[4]))

Then, run the script

$ test/create-mms-context wholesale "" "" http://wholesale.mmsmvno.com/mms/wapenc
Created new context /quectelqmi_0/context2
Setting APN to wholesale
Setting username to
Setting password to
Setting MMSC to http://wholesale.mmsmvno.com/mms/wapenc

#47 mmsd[]: src/service.c:mms_service_bearer_notify() interface (null) proxy (null) 4 years ago

mmsd added by ~fuzzy7k on ~anteater/mms-stack-bugs

#47 mmsd[]: src/service.c:mms_service_bearer_notify() interface (null) proxy (null) 4 years ago

Comment by ~fuzzy7k on ~anteater/mms-stack-bugs

So, I modified the code in the same manner as it was modified for a not active bearer: src/service.c: 2507: if (1) {

mmsd[1678]: src/service.c:mms_service_push_notify() about to store_meta_open 2
mmsd[1678]: src/service.c:mms_service_push_notify() did store_meta_open 2
mmsd[1678]: src/service.c:mms_service_push_notify() did create_request
mmsd[1678]: src/service.c:activate_bearer() service 0x558776bdd0 setup 0 active 0
mmsd[1678]: src/service.c:activate_bearer() service 0x558776bdd0 waiting for 20 seconds
mmsd[1678]: plugins/ofono.c:bearer_handler() path /quectelqmi_0 active 1 context_active 1
mmsd[1678]: plugins/ofono.c:bearer_handler() active and context_active, bearer_notify
mmsd[1678]: src/service.c:mms_service_bearer_notify() service=0x558776bdd0 active=1 iface=(null) proxy=(null)
mmsd[1678]: src/service.c:mms_service_bearer_notify() ignoring inactive
mmsd[1678]: src/service.c:mms_service_bearer_notify() interface wwan0 proxy (null)
mmsd[1678]: src/service.c:process_request_queue() service 0x558776bdd0

Now, the process moves along. I'm still not getting the message in vgmms, but the problem here is that the interface never gets populated.

#48 mmsd[]: Failed to handle incoming notification. 4 years ago

Comment by ~fuzzy7k on ~anteater/mms-stack-bugs

Try using anteater's git repo for ofono & mmsd. I was getting that error on the t-mobile network until doing so. Might I also suggest changing the title of this bug to mmsd[]: Failed to handle incoming notification.

#47 mmsd[]: src/service.c:mms_service_bearer_notify() interface (null) proxy (null) 4 years ago

Ticket created by ~fuzzy7k on ~anteater/mms-stack-bugs

I am getting and decoding the push notification, but the MMS never downloads....

mmsd[1450]: src/service.c:mms_service_push_notify() about to store_meta_open 2
mmsd[1450]: src/service.c:mms_service_push_notify() did store_meta_open 2
mmsd[1450]: src/service.c:mms_service_push_notify() did create_request
mmsd[1450]: src/service.c:activate_bearer() service 0x556ef74dd0 setup 0 active 0
mmsd[1450]: src/service.c:activate_bearer() service 0x556ef74dd0 waiting for 20 seconds
mmsd[1450]: plugins/ofono.c:bearer_handler() path /quectelqmi_0 active 1 context_active 1
mmsd[1450]: plugins/ofono.c:bearer_handler() active and context_active, bearer_notify
mmsd[1450]: src/service.c:mms_service_bearer_notify() service=0x556ef74dd0 active=1 iface=(null) proxy=(null)
mmsd[1450]: src/service.c:mms_service_bearer_notify() interface (null) proxy (null)

#10 prevent SMS and MMS from being missed when phone off/offline 4 years ago

Comment by ~fuzzy7k on ~anteater/mms-stack-bugs

Hmm, In ModemManager, messages are not deleted until it is requested, and purple-mm-sms has an option to enable or disable their deletion. It looks like message deletion is specific to the qmimodem driver because of this turd. If ofono does not do something responsible with the message, I would consider that an ofono bug.

Messages should not be deleted until they are 'received'. Actually receiving the message is out of ofono's scope. That's like the mail man shredding your letter because you didn't answer the door.

#45 NetworkManager will not bring up an ofono connection, bad GSM profile 4 years ago

Comment by ~fuzzy7k on ~anteater/mms-stack-bugs

I was able to move this further along. The "GSM profile" is simply the .nmconnection and the device-id is I believe some type of hash that NM creates. Now that I think about it, I'm not sure why I was getting that error after deleting the device-id property. I may have forgotten some detail.

However, after resolving that I was getting

Error: Connection activation failed: Connection 'ofono' is not available on device quectelqmi_0 because profile is not compatible with device (modem is incompatible with connection: the connection ID has no context)

which comes from src/devices/wwan/nm-modem-ofono.c

It turns out that the ofono plugin is very specific about the connection id. I am guessing this is by ofono design because connman uses a similar syntax for managing ofono connections and looking at the connman connection was key to setting a connection id that NM will accept.

$ enable-modem
$ online-modem
$ connmanctl
connmanctl> services

Which spits out a carrier ID and something that looks like cellular_#imsi#_context1

Using that,

$ nmcli c connection-id edit
nmcli>set connection.id cellular/#imsi#/context1

/'s are important

Now, it tries to connect, but stalls out on:

NetworkManager[260]: <info>  [1601915316.9656] device (quectelqmi_0): Activation: starting connection 'cellular/310260098374532/context1' (144b21c9-17f2-3776-9b2d-a463cdab88db)
NetworkManager[260]: <info>  [1601915316.9662] audit: op="connection-activate" uuid="144b21c9-17f2-3776-9b2d-a463cdab88db" name="cellular/310260098374532/context1" pid=745 uid=1000 result="success"
NetworkManager[260]: <info>  [1601915316.9671] device (quectelqmi_0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
NetworkManager[260]: <info>  [1601915316.9708] manager: NetworkManager state is now CONNECTING
NetworkManager[260]: <info>  [1601915316.9724] modem-ofono[quectelqmi_0]: activating context /quectelqmi_0/context1