Re: Feature phone with 3G modem capability used to work under 1.18 but no longer works under 1.20

2024-09-09 Thread Aleksander Morgado
> ModemManager[16118]:  [1724536442.509495] [plugin-manager] task
> 1,ttyACM0: found '8' plugins to try
> ModemManager[16118]:  [1724536442.509503] [plugin-manager] task
> 1,ttyACM0: will try with plugin 'nokia'
> ModemManager[16118]:  [1724536442.509510] [plugin-manager] task
> 1,ttyACM0: will try with plugin 'quectel'
> ModemManager[16118]:  [1724536442.509517] [plugin-manager] task
> 1,ttyACM0: will try with plugin 'via'
> ModemManager[16118]:  [1724536442.509524] [plugin-manager] task
> 1,ttyACM0: will try with plugin 'iridium'
> ModemManager[16118]:  [1724536442.509530] [plugin-manager] task
> 1,ttyACM0: will try with plugin 'telit'
> ModemManager[16118]:  [1724536442.509537] [plugin-manager] task
> 1,ttyACM0: will try with plugin 'cinterion'
> ModemManager[16118]:  [1724536442.509543] [plugin-manager] task
> 1,ttyACM0: will try with plugin 'u-blox'
> ModemManager[16118]:  [1724536442.509549] [plugin-manager] task
> 1,ttyACM0: will try with plugin 'generic'

Up to this point, everything is expected. The vid of this device does
not match any existing plugin, so MM should try to probe with the
plugins that support vendor probing via AT (e.g. for RS232 modems).

> ModemManager[16118]:  [1724536442.509560] [plugin-manager] task
> 1,ttyACM0: started
> ModemManager[16118]:  [1724536442.509567] [plugin-manager] task
> 1,ttyACM0: checking with plugin 'nokia'
> ModemManager[16118]:  [1724536442.509578] [plugin/nokia] probing of
> port ttyACM0 deferred until result suggested
> ModemManager[16118]:  [1724536442.509591] [plugin-manager] task 1:
> extra probing time elapsed
> ModemManager[16118]:  [1724536442.509599] [plugin-manager] task 1:
> still 1 running probes (1 active): ttyACM0
> ModemManager[16118]:  [1724536442.509613] [plugin-manager] task
> 1,ttyACM0: deferring support check until result suggested

This line above is wrong. The nokia plugin should require AT probing,
and it wasn't run. This is something to analyze and fix, I have not
yet found a reason why this happened.

> ModemManager[16118]:  [1724536444.510734] [plugin-manager] task 1:
> min probing time elapsed
> ModemManager[16118]:  [1724536444.510823] [plugin-manager] task 1:
> still 1 running probes (0 active): ttyACM0
> ModemManager[16118]:  [1724536444.510863] [plugin-manager] task 1:
> no active tasks to probe
> ModemManager[16118]:  [1724536444.510905] [plugin-manager] task
> 1,ttyACM0: deferred task completed, no suggested plugin
> ModemManager[16118]:  [1724536444.510943] [plugin-manager] task
> 1,ttyACM0: finished in '4.002968' seconds
> ModemManager[16118]:  [1724536444.511001] [plugin-manager] task
> 1,ttyACM0: not supported by any plugin
> ModemManager[16118]:  [1724536444.511055] [device
> /sys/devices/pci:00/:00:14.0/usb1/1-10] fully ignoring port
> ttyACM0 from now on
> ModemManager[16118]:  [1724536444.511149] [plugin-manager] task 1:
> no more ports to probe
> ModemManager[16118]:  [1724536444.511209] [plugin-manager] task 1:
> finished in '4.003298' seconds
> ModemManager[16118]:  [1724536444.511285] [base-manager] couldn't
> check support for device
> '/sys/devices/pci:00/:00:14.0/usb1/1-10': not supported by any
> plugin
>


-- 
Aleksander


Re: Feature phone with 3G modem capability used to work under 1.18 but no longer works under 1.20

2024-08-24 Thread Alex Villacís Lasso

El 31/7/24 a las 10:37, Aleksander Morgado escribió:

Hey Alex,


On Mon, Feb 19, 2024 at 2:31 AM Alex Villacís Lasso
 wrote:

El 16/2/24 a las 17:48, Alex Villacís Lasso escribió:

I have this old phone, a Samsung E3210B pre-Android feature phone that
I wish to use as a fallback option when (more frequently than I would
like) my broadband internet service goes down. When using ModemManager
1.18.x, I could plug in this phone, and it would expose a single
/dev/ttyACM0 port for all interactions including AT commands and PPP.
Then ModemManager could connect to the internet using the port as
normal, using the "generic" plugin. Now, using ModemManager 1.20.6
under Fedora 39, the same phone fails (with a timeout) to establish a
connection using ModemManager. However, it does setup a proper
connection using wvdial from the command line, even under Fedora 39.

After a while, I managed to perform a git bisect on the code, and
pinpointed the first commit that breaks my phone, to commit
213cd81b3ade35024e2d702e2726273f00344185 "iface-modem-simple: wait for
packet service 'attach' state in ConnectionStep". However, I am now at
a bit of a loss at understanding the supposed purpose of this commit.
Full details are at this bug report:

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/743

The patch no longer cleanly reverts under 1.20.x, so I cannot just rip
it off...


I have updated the bug report with a new discovery: ModemManager 1.20
will dial into the phone immediately, if I first manually select some
phone feature that requires Internet access (such as Google Search),
then click OK in the little dialog that ask to connect to the Internet.
However, this manual interaction with the phone should be unnecessary,
because it was not needed with ModemManager 1.18 and is also not needed
when using the phone through wvdial.

I need a way to tell ModemManager when using this particular phone to
connect, to IGNORE the "searching" status of the GPRS registration and
dial anyway, since the GPRS will be enabled by the very act of dialing
the Internet access sequence. Is there any existing way to do that?


I replied at the issue, I believe your problem would be solved with MM
1.22 and 
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/commit/179a800ab64b28f5437c3d06056640f702e68aa5.
You may still experience some delay to connect, because MM will first
wait some seconds for the attach state to come up automatically, and
only otherwise try to send the operation to activate it.

Either way, it looks like your device needs a much more relaxed logic
in this regard, so fully ignoring the packet service attach state
would be a better option probably.


I have updated the bug report. With ModemManager 1.22 on Fedora 40, the
phone is not even recognized as a valid modem, even though wvdial
continues to work with it. On a separate machine using Debian Testing
(Trixie) with the same minor version (1.22) the problem also exists.


Would you be able to gather MM debug logs and post them?


Sorry for the long delay. Here are the logs:


I am using this custom rule file to attempt to get this 3G phone to be 
recognized as a valid modem. This file used to work with 1.18:


$ cat /usr/lib/udev/rules.d/77-mm-samsung-custom-port-types.rules
ACTION!="add|change|move|bind", GOTO="mm_samsung_custom_port_types_end"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="04e8", 
GOTO="mm_samsung_custom_port_types"

GOTO="mm_samsung_custom_port_types_end"

LABEL="mm_samsung_custom_port_types"
SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="?*", 
ENV{.MM_USBIFNUM}="$attr{bInterfaceNumber}"


ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="663e", 
ENV{.MM_USBIFNUM}=="01", SUBSYSTEM=="tty", 
ENV{ID_MM_DEVICE_PROCESS}="1", ENV{ID_MM_PORT_TYPE_AT_PRIMARY}="1"
#ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="663e", 
ENV{.MM_USBIFNUM}=="01", SUBSYSTEM=="tty", 
ENV{ID_MM_DEVICE_PROCESS}="1", ENV{ID_MM_PORT_TYPE_AT_PRIMARY}="1", 
ENV{ID_MM_PORT_TYPE_AT_PPP}="1"


LABEL="mm_samsung_custom_port_types_end"

With debug enabled, I have this on startup:

# /usr/sbin/ModemManager --debug --log-level=DEBUG
ModemManager[16118]:  [1724536354.626128] ModemManager (version 
1.22.0-3.fc40) starting in system bus...
ModemManager[16118]:  [1724536354.626963] [charsets] detecting 
platform iconv() support...
ModemManager[16118]:  [1724536354.627062] [charsets]   UTF-8: iconv 
conversion to/from charset is supported
ModemManager[16118]:  [1724536354.627184] [charsets]   UCS-2BE: 
iconv conversion to/from charset is supported
ModemManager[16118]:  [1724536354.627257] [charsets]   ASCII: iconv 
conversion to/from charset is supported
ModemManager[16118]:  [1724536354.627698] [charsets]   ISO8859-1: 
iconv conversion to/from charset is supported
ModemManager[16118]:  [1724536354.627981] [charsets]   CP437: iconv 
conversion to/from charset is supported
ModemManager[16118]:  [1724536354.628358] [charsets]   CP850: iconv 
conversion to/from charset is supported
ModemManager[161

Re: Feature phone with 3G modem capability used to work under 1.18 but no longer works under 1.20

2024-07-31 Thread Aleksander Morgado
Hey Alex,

> >
> > On Mon, Feb 19, 2024 at 2:31 AM Alex Villacís Lasso
> >  wrote:
> >> El 16/2/24 a las 17:48, Alex Villacís Lasso escribió:
> >>> I have this old phone, a Samsung E3210B pre-Android feature phone that
> >>> I wish to use as a fallback option when (more frequently than I would
> >>> like) my broadband internet service goes down. When using ModemManager
> >>> 1.18.x, I could plug in this phone, and it would expose a single
> >>> /dev/ttyACM0 port for all interactions including AT commands and PPP.
> >>> Then ModemManager could connect to the internet using the port as
> >>> normal, using the "generic" plugin. Now, using ModemManager 1.20.6
> >>> under Fedora 39, the same phone fails (with a timeout) to establish a
> >>> connection using ModemManager. However, it does setup a proper
> >>> connection using wvdial from the command line, even under Fedora 39.
> >>>
> >>> After a while, I managed to perform a git bisect on the code, and
> >>> pinpointed the first commit that breaks my phone, to commit
> >>> 213cd81b3ade35024e2d702e2726273f00344185 "iface-modem-simple: wait for
> >>> packet service 'attach' state in ConnectionStep". However, I am now at
> >>> a bit of a loss at understanding the supposed purpose of this commit.
> >>> Full details are at this bug report:
> >>>
> >>> https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/743
> >>>
> >>> The patch no longer cleanly reverts under 1.20.x, so I cannot just rip
> >>> it off...
> >>>
> >> I have updated the bug report with a new discovery: ModemManager 1.20
> >> will dial into the phone immediately, if I first manually select some
> >> phone feature that requires Internet access (such as Google Search),
> >> then click OK in the little dialog that ask to connect to the Internet.
> >> However, this manual interaction with the phone should be unnecessary,
> >> because it was not needed with ModemManager 1.18 and is also not needed
> >> when using the phone through wvdial.
> >>
> >> I need a way to tell ModemManager when using this particular phone to
> >> connect, to IGNORE the "searching" status of the GPRS registration and
> >> dial anyway, since the GPRS will be enabled by the very act of dialing
> >> the Internet access sequence. Is there any existing way to do that?
> >>
> > I replied at the issue, I believe your problem would be solved with MM
> > 1.22 and 
> > https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/commit/179a800ab64b28f5437c3d06056640f702e68aa5.
> > You may still experience some delay to connect, because MM will first
> > wait some seconds for the attach state to come up automatically, and
> > only otherwise try to send the operation to activate it.
> >
> > Either way, it looks like your device needs a much more relaxed logic
> > in this regard, so fully ignoring the packet service attach state
> > would be a better option probably.
> >
>
> I have updated the bug report. With ModemManager 1.22 on Fedora 40, the
> phone is not even recognized as a valid modem, even though wvdial
> continues to work with it. On a separate machine using Debian Testing
> (Trixie) with the same minor version (1.22) the problem also exists.
>

Would you be able to gather MM debug logs and post them?

-- 
Aleksander


Re: Feature phone with 3G modem capability used to work under 1.18 but no longer works under 1.20

2024-06-21 Thread Alex Villacís Lasso

El 3/3/24 a las 03:14, Aleksander Morgado escribió:

Hey Alex,

On Mon, Feb 19, 2024 at 2:31 AM Alex Villacís Lasso
 wrote:

El 16/2/24 a las 17:48, Alex Villacís Lasso escribió:

I have this old phone, a Samsung E3210B pre-Android feature phone that
I wish to use as a fallback option when (more frequently than I would
like) my broadband internet service goes down. When using ModemManager
1.18.x, I could plug in this phone, and it would expose a single
/dev/ttyACM0 port for all interactions including AT commands and PPP.
Then ModemManager could connect to the internet using the port as
normal, using the "generic" plugin. Now, using ModemManager 1.20.6
under Fedora 39, the same phone fails (with a timeout) to establish a
connection using ModemManager. However, it does setup a proper
connection using wvdial from the command line, even under Fedora 39.

After a while, I managed to perform a git bisect on the code, and
pinpointed the first commit that breaks my phone, to commit
213cd81b3ade35024e2d702e2726273f00344185 "iface-modem-simple: wait for
packet service 'attach' state in ConnectionStep". However, I am now at
a bit of a loss at understanding the supposed purpose of this commit.
Full details are at this bug report:

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/743

The patch no longer cleanly reverts under 1.20.x, so I cannot just rip
it off...


I have updated the bug report with a new discovery: ModemManager 1.20
will dial into the phone immediately, if I first manually select some
phone feature that requires Internet access (such as Google Search),
then click OK in the little dialog that ask to connect to the Internet.
However, this manual interaction with the phone should be unnecessary,
because it was not needed with ModemManager 1.18 and is also not needed
when using the phone through wvdial.

I need a way to tell ModemManager when using this particular phone to
connect, to IGNORE the "searching" status of the GPRS registration and
dial anyway, since the GPRS will be enabled by the very act of dialing
the Internet access sequence. Is there any existing way to do that?


I replied at the issue, I believe your problem would be solved with MM
1.22 and 
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/commit/179a800ab64b28f5437c3d06056640f702e68aa5.
You may still experience some delay to connect, because MM will first
wait some seconds for the attach state to come up automatically, and
only otherwise try to send the operation to activate it.

Either way, it looks like your device needs a much more relaxed logic
in this regard, so fully ignoring the packet service attach state
would be a better option probably.



I have updated the bug report. With ModemManager 1.22 on Fedora 40, the 
phone is not even recognized as a valid modem, even though wvdial 
continues to work with it. On a separate machine using Debian Testing 
(Trixie) with the same minor version (1.22) the problem also exists.




Re: Feature phone with 3G modem capability used to work under 1.18 but no longer works under 1.20

2024-03-03 Thread Aleksander Morgado
Hey Alex,

On Mon, Feb 19, 2024 at 2:31 AM Alex Villacís Lasso
 wrote:
>
> El 16/2/24 a las 17:48, Alex Villacís Lasso escribió:
> > I have this old phone, a Samsung E3210B pre-Android feature phone that
> > I wish to use as a fallback option when (more frequently than I would
> > like) my broadband internet service goes down. When using ModemManager
> > 1.18.x, I could plug in this phone, and it would expose a single
> > /dev/ttyACM0 port for all interactions including AT commands and PPP.
> > Then ModemManager could connect to the internet using the port as
> > normal, using the "generic" plugin. Now, using ModemManager 1.20.6
> > under Fedora 39, the same phone fails (with a timeout) to establish a
> > connection using ModemManager. However, it does setup a proper
> > connection using wvdial from the command line, even under Fedora 39.
> >
> > After a while, I managed to perform a git bisect on the code, and
> > pinpointed the first commit that breaks my phone, to commit
> > 213cd81b3ade35024e2d702e2726273f00344185 "iface-modem-simple: wait for
> > packet service 'attach' state in ConnectionStep". However, I am now at
> > a bit of a loss at understanding the supposed purpose of this commit.
> > Full details are at this bug report:
> >
> > https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/743
> >
> > The patch no longer cleanly reverts under 1.20.x, so I cannot just rip
> > it off...
> >
>
> I have updated the bug report with a new discovery: ModemManager 1.20
> will dial into the phone immediately, if I first manually select some
> phone feature that requires Internet access (such as Google Search),
> then click OK in the little dialog that ask to connect to the Internet.
> However, this manual interaction with the phone should be unnecessary,
> because it was not needed with ModemManager 1.18 and is also not needed
> when using the phone through wvdial.
>
> I need a way to tell ModemManager when using this particular phone to
> connect, to IGNORE the "searching" status of the GPRS registration and
> dial anyway, since the GPRS will be enabled by the very act of dialing
> the Internet access sequence. Is there any existing way to do that?
>

I replied at the issue, I believe your problem would be solved with MM
1.22 and 
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/commit/179a800ab64b28f5437c3d06056640f702e68aa5.
You may still experience some delay to connect, because MM will first
wait some seconds for the attach state to come up automatically, and
only otherwise try to send the operation to activate it.

Either way, it looks like your device needs a much more relaxed logic
in this regard, so fully ignoring the packet service attach state
would be a better option probably.

-- 
Aleksander


Re: Feature phone with 3G modem capability used to work under 1.18 but no longer works under 1.20

2024-02-18 Thread Alex Villacís Lasso

El 16/2/24 a las 17:48, Alex Villacís Lasso escribió:
I have this old phone, a Samsung E3210B pre-Android feature phone that 
I wish to use as a fallback option when (more frequently than I would 
like) my broadband internet service goes down. When using ModemManager 
1.18.x, I could plug in this phone, and it would expose a single 
/dev/ttyACM0 port for all interactions including AT commands and PPP. 
Then ModemManager could connect to the internet using the port as 
normal, using the "generic" plugin. Now, using ModemManager 1.20.6 
under Fedora 39, the same phone fails (with a timeout) to establish a 
connection using ModemManager. However, it does setup a proper 
connection using wvdial from the command line, even under Fedora 39.


After a while, I managed to perform a git bisect on the code, and 
pinpointed the first commit that breaks my phone, to commit 
213cd81b3ade35024e2d702e2726273f00344185 "iface-modem-simple: wait for 
packet service 'attach' state in ConnectionStep". However, I am now at 
a bit of a loss at understanding the supposed purpose of this commit. 
Full details are at this bug report:


https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/743

The patch no longer cleanly reverts under 1.20.x, so I cannot just rip 
it off...




I have updated the bug report with a new discovery: ModemManager 1.20 
will dial into the phone immediately, if I first manually select some 
phone feature that requires Internet access (such as Google Search), 
then click OK in the little dialog that ask to connect to the Internet. 
However, this manual interaction with the phone should be unnecessary, 
because it was not needed with ModemManager 1.18 and is also not needed 
when using the phone through wvdial.


I need a way to tell ModemManager when using this particular phone to 
connect, to IGNORE the "searching" status of the GPRS registration and 
dial anyway, since the GPRS will be enabled by the very act of dialing 
the Internet access sequence. Is there any existing way to do that?




Feature phone with 3G modem capability used to work under 1.18 but no longer works under 1.20

2024-02-16 Thread Alex Villacís Lasso
I have this old phone, a Samsung E3210B pre-Android feature phone that I 
wish to use as a fallback option when (more frequently than I would 
like) my broadband internet service goes down. When using ModemManager 
1.18.x, I could plug in this phone, and it would expose a single 
/dev/ttyACM0 port for all interactions including AT commands and PPP. 
Then ModemManager could connect to the internet using the port as 
normal, using the "generic" plugin. Now, using ModemManager 1.20.6 under 
Fedora 39, the same phone fails (with a timeout) to establish a 
connection using ModemManager. However, it does setup a proper 
connection using wvdial from the command line, even under Fedora 39.


After a while, I managed to perform a git bisect on the code, and 
pinpointed the first commit that breaks my phone, to commit 
213cd81b3ade35024e2d702e2726273f00344185 "iface-modem-simple: wait for 
packet service 'attach' state in ConnectionStep". However, I am now at a 
bit of a loss at understanding the supposed purpose of this commit. Full 
details are at this bug report:


https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/743

The patch no longer cleanly reverts under 1.20.x, so I cannot just rip 
it off...