Hi Denis,

Thank you for your reply. I still cannot activate the context neither with  ofono nor with gsmdial but pppd does this fine. But, I have not tested pppd with CHAP, I think it is impossible. I was getting the error below when I tried:

root@131D2F4C5254324B:/mnt/data# pppd call quectel-ppp &
[1] 18583
root@131D2F4C5254324B:/mnt/data# pppd: The remote system (3gppp) is required to authenticate itself
pppd: but I couldn't find any suitable secret (password) for it to use to do so.
^C
[1]+  Done(1)                 pppd call quectel-ppp

> Looks fine...

I still cannot understand why ofono does not try to use PAP if the authentication method is set to CHAP by default (because no method set while context creation) and it is "obvious" that PAP should be used. pppd does this BTW, that's why I assumed that it could be "obvious". I am not an expert in this field. Maybe someone could shed a light on the fact that pppd chooses a correct authentication method without a problem and ofono does not? 

Am I correct that my SW has to know which authentication must be used before it attempts to activate context for the first time? This is a big inconvenience. Actually the fact that the context must be activated manually at the first time is the big inconvenience too for embedded systems. But this is not the biggest issue for me right now of course.

> Never tried this myself, but I never really had a reason to.  Not sure if there
> is an easy way of doing that given you're running over a MUX.  If you come up
> with a nice way, please share.

Sorry, I have not got your point about MUX. I have successfully obtained the dumps. I have 2 ttyUSB devices and gsmdial works fine with one tty as well as with both. Could you elaborate a little bit more on the MUX issue? 

Please find the dumps attached. I did not find any problems in them. DTE sent a termination request but why? I tried to use the CHAP, PAP and NONE auth metnods but NONE hands with gsm dial. 
I am going to debug ofono as you suggested:

> Maybe put a few debug statements in ppp_auth.c, ppp_pap_start, ppp_pap_timeout
> and ppp_pap_process_packet.  See if PAP even occurs.

Also I have made a small patch for gsmdial that helps to choose auth method. Please find it attached.
I use cf9e6d048d65ff4a87f5707b0cc4fd3c036d62fb in my patch because the last commit in master de0d5a19c16bbb3eaba473e0eaaade7f55c48bcb  does not build for me because of  goto was left in a function without any label. Please see the error below and in the file attached:
| ../git/ofono/drivers/gemaltomodem/gprs-context.c: In function 'gemalto_gprs_activate_primary':
| ../git/ofono/drivers/gemaltomodem/gprs-context.c:156:3: error: label 'error' used but not defined
|    goto error;
|    ^~~~

Maybe I should add some "properties" to context for this modem before activation?  Also I am not happy with the idea that I probably need to set an authentication method by hand. Could this really be necessary with ofono in some situations? I added the pppd configuration files of the modem vendor which work fine. Do I need to add something to the context in ofono before activation?

I strongly believe that ofono as embedded system software has to be as automated as possible. Do you agree?

Any suggestions will be appreciated. I really stuck with this. I do not want to stop using ofono because of the new modem.

Yours sincerely,
Sergei Golubtsov.


On Wed, Dec 30, 2020 at 5:51 PM Denis Kenzior <denkenz@gmail.com> wrote:
Hi Sergei,

On 12/30/20 4:00 AM, Sergei Golubtsov wrote:
> Hello Denis,
>
>  > Are the username and password set properly on the context?
>
> Yes, they are.
> root@131D2F4C5254324B:~# /usr/lib/ofono/test/list-contexts
> [ /quectel_0 ]
>      [ /quectel_0/context1 ]
>          Name = Россия
>          Active = 0
>          Type = internet
>          Protocol = ip
>          AccessPointName = internet
>          Username = gdata
>          Password = gdata
>          AuthenticationMethod = pap
>          Settings = { }
>          IPv6.Settings = { }
>
>      [ /quectel_0/context2 ]
>          Name = МегаФон MMS
>          Active = 0
>          Type = mms
>          Protocol = ip
>          AccessPointName = mms
>          Username = mms
>          Password = mms
>          AuthenticationMethod = pap
>          MessageProxy = 10.10.10.10:8080 <http://10.10.10.10:8080>
>          MessageCenter = http://mmsc:8002
>          Settings = { }
>          IPv6.Settings = { }
>

Looks fine...

>  > And you may want to share the log of oFono activating the context configured
> for PAP.
>
> I have added the PAP context activation log file from ofono to this email as
> well as I did in the previous email. Please find it attached. It also fails at

It wasn't clear whether the previous log was pap or chap.  With chap the PPP
implementation would stop and wait for the chap challenge.  So if that never
comes, that would explain why you get stuck just after entering phase '2' ->
PHASE_AUTHENTICATION

> the same phase: "gatppp.c:ppp_enter_phase() 2"
> Probably I need to try to dump the ppp connection and analyze it with WireShark.
> Any ideas will be appreciated.

Never tried this myself, but I never really had a reason to.  Not sure if there
is an easy way of doing that given you're running over a MUX.  If you come up
with a nice way, please share.

Maybe put a few debug statements in ppp_auth.c, ppp_pap_start, ppp_pap_timeout
and ppp_pap_process_packet.  See if PAP even occurs.

Regards,
-Denis