Re: Feature phone with 3G modem capability used to work under 1.18 but no longer works under 1.20
> 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
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
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
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
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
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
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...