我有一个 ZTE MF-193E 调制解调器,以前运行良好。当我一年多前购买这款调制解调器时,它开箱即用。现在,随着 Ubuntu 版本的进步,事情对我来说变得越来越困难。
这个调制解调器几个月前甚至可以在 Ubuntu 15.04(64 位)上运行。现在,在 Ubuntu 15.10(64 位)中,它无法连接。
我已经设置了移动宽带连接。我已经为 APN 尝试过各种字符串,但这以前不是问题。
(调制解调器在 Windows 10 中运行良好,因此,这根本不是硬件问题。此外,调制解调器管理器 GUI可以很好地检测到此设备。可以毫无问题地发送和接收 SMS。)
当我插入调制解调器时,它会被检测到,Unity 中会显示一个带有调制解调器名称的 CD 图标。几秒钟后,我收到一个消息框
Mobile Broadband Network: you are registered on the home network
在网络图标附近。
当我尝试连接时,网络管理器小程序中的无线图标开始那些离心运动,但最终连接失败,并显示一条消息告诉我我处于离线状态。
我可以隔离的线/var/log/syslog
是这样的,
NetworkManager[628]: <info> (ttyUSB1): device state change: ip-config
> -> failed (reason 'ip-config-unavailable') [70 120 5]
虽然,我不确定这是否是相关的。
/var/log/syslog
可以在此处找到来自的更多行
。
更新 1 - 2015 年 12 月 6 日
正如一位成员所指出的,尝试了nf_conntrack_pptp
模块方法。
执行了以下命令,
$ lsmod | grep nf_conntrack_pptp | wc -l
0
$ sudo modprobe nf_conntrack_pptp
lsmod | grep nf_conntrack_pptp
nf_conntrack_pptp 20480 0
nf_conntrack_proto_gre 16384 1 nf_conntrack_pptp
nf_conntrack 106496 2 nf_conntrack_proto_gre,nf_conntrack_pptp
然后试了我的调制解调器,同样失败。日志中也没有明显的变化。
更新 2 - 2015 年 12 月 6 日
以root身份执行,
systemctl restart network-manager.service
屏幕(终端)上没有输出。
可以在此处找到从上述点到尝试使用调制解调器连接的相应日志。
更新 3 - 2015 年 12 月 6 日
安装ofono
然后再次尝试调制解调器。
请在此处查看日志。
更新 4 - 2015 年 12 月 6 日
再次以root身份执行,
systemctl restart network-manager.service
可以在此处找到从上述点到尝试使用调制解调器连接的相应日志。
更新 5 - 2015 年 12 月 6 日
将所有“拒绝”更改为“允许” /etc/dbus-1/system.d/nm-dispatcher.conf
。
尝试连接。没运气。
一些网络连接和断开以太网连接。
紧随其后sudo systemctl restart network-manager.service
。
调制解调器拔出并插入。
再次尝试连接。不连接。
日志在这里。
更新 6 - 2015 年 12 月 6 日
已执行
sudo killall ModemManager; sudo ModemManager --debug 2>&1 | tee /tmp/modem.log.txt
和
export NM_PPP_DEBUG=1
sudo NetworkManager --no-daemon 2>&1 | tee /tmp/nm.log.txt
mm-test.py
由于多个错误而无法运行。确实在指定位置找到了文件。从https://github.com/openshine/ModemManager/blob/master/test/mm-test.py得到这个。
上面的命令和wiki里的有些不同。
日志文件在这里。
更新 7 - 2015 年 12 月 7 日
再次执行(在建议的更改/lib/udev/rules.d/40-usb_modeswitch.rules
和重启之后)
sudo killall ModemManager; sudo ModemManager --debug 2>&1 | tee /tmp/modem.log.txt
和
sudo NM_PPP_DEBUG=1 /usr/sbin/NetworkManager --log-level=debug --no-daemon > /tmp/nm.log.txt
也包括/var/log/syslog
在内。
日志文件在这里。
更新 8 - 2015 年 12 月 8 日
更新的日志集在这里。
更新 9 - 2015 年 12 月 8 日
测试 1
这次从 Ubuntu 14.04 32 位 DVD 启动计算机。电脑一开机,就开始抓MM日志。
插入调制解调器。
lsusb
显示它被识别为 19d2:1232 设备,需要切换到 19d2:2003 设备。由于安装 usb-modeswitch 需要重启机器(因此会松开 DVD 运行的安装),我准备了一个自定义开关文件并从命令行 (sudo usb_modeswitch -I -c 19d2:2003
) 切换调制解调器。切换完成后,我被告知我已经打开
Mobile Broadband Network
,并且网络管理器菜单中出现了新的宽带连接。我以通常的方式设置了上述连接(APN 名称不是问题),连接自动建立。
我断开连接并弹出调制解调器。
停止捕获 MM 日志。
可以在此处找到会话启动到调制解调器弹出的完整 MM 日志和系统日志。
测试 2
使用 Ubuntu 14.04 64 位 DVD 进行相同的测试。
可以在此处找到日志。
更新 10 - 2015 年 12 月 9 日
这次测试了一下wvdial
,发现如果wvdial
以root身份运行,我们就连接成功了。
wvdial
conf 和日志,以及相应的系统日志在这里
初步推测:可能与对应用户的用户组有关。
但正如此处所示,
使用所有这些工具,要建立拨号连接,用户必须是“dip”和“dialout”组的成员,因此将所有应该通过拨号连接的用户放入这些组。
但我们可以发现,
$ groups masroor
masroor : masroor adm dialout cdrom sudo dip plugdev lpadmin sambashare family wireshark
因此,用户已经是指定组的成员。
现在,也许问题归结为以下几点之一,
- 用户需要属于哪个附加组?
- 我们如何以 root 身份运行移动宽带连接设置过程?(安全问题?)
更新 11 - 2015 年 12 月 9 日
wvdial
适用于 USB3,不适用于USB1。
请在此处找到系统日志。
还包括 的输出dmesg | grep tty > /tmp/dmesg.tty.txt
。但是看到文件开头附近的那四行了吗?
更新 12 - 2015 年 12 月 10 日
注释掉 中的第 4 (
SUBSYSTEM!="tty", GOTO="mm_zte_port_types_end"
)行/lib/udev/rules.d/77-mm-zte-port-types.rules
。重新启动我的机器。软断开电缆并插入调制解调器。
试图连接。不成功。
系统日志文件在这里。
更新 13 - 2015 年 12 月 10 日
出于绝对的绝望,为了查看一些本地更改是否影响连接,用 Ubuntu 15.04 和 15.10 DVD 测试了机器。
- 使用 Xubuntu 15.04 64 位 DVD 启动机器。连接很成功。
- 使用 Ubuntu 15.10 64 位 DVD 启动机器。连接像以前一样失败。
15.04 和 15.10 之间发生了什么?
太令人沮丧了。
更新 14 - 2015 年 12 月 10 日
/lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules
按照答案中的说明创建了一个新文件。重新启动我的机器(或执行
sudo udevadm control --reload
,实际上都尝试过)。插入调制解调器。调制解调器被识别。
$ lsusb Bus 001 Device 005: ID 19d2:2003 ZTE WCDMA Technologies MSM
软断开电缆并尝试使用调制解调器连接。不成功。
弹出调制解调器。
机器挂一次,那是随机事件吗?我的机器通常一年不会挂一次。
系统日志文件和创建的规则文件在这里。
更新 15 - 2015 年 12 月 11 日
将以下行添加到
/lib/udev/rules.d/40-usb_modeswitch.rules
.# ZTE MF193E ATTR{idVendor}=="19d2", ATTR{idProduct}=="1232", RUN+="usb_modeswitch '%b/%k'"
保持文件
/lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules
完好无损。重新启动我的机器。插入调制解调器。
调制解调器被识别。
Bus 001 Device 005: ID 19d2:2003 ZTE WCDMA Technologies MSM
软断开电缆并尝试连接。不成功。
弹出调制解调器。
删除
/lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules
。重新启动并再次尝试整个过程。再次失败。
系统日志文件(完整,我没有冒遗漏任何重要部分的风险)和提到的规则文件 (40) 在这里。
更新 16 - 2015 年 12 月 11 日
只留下一条1232规则
/lib/udev/rules.d/40-usb_modeswitch.rules
,去掉了另一条。执行了
sudo udevadm control --reload
。插入调制解调器。
调制解调器被识别。
Bus 001 Device 005: ID 19d2:2003 ZTE WCDMA Technologies MSM
软断开电缆并尝试连接。不成功。
弹出调制解调器。
但是上面我们不是测试了默认系统吗?你的意思是离开/lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules
它的位置吗?
系统日志文件(完整,我没有冒遗漏任何重要部分的风险)和提到的规则文件 (40) 在这里
更新 17 - 2015 年 12 月 11 日
注释掉了中的1232规则
/lib/udev/rules.d/40-usb_modeswitch.rules
,为2003增加了一条。# ZTE MFxxx # Added on December 11 2015 ATTR{idVendor}=="19d2", ATTR{idProduct}=="2003", RUN+="usb_modeswitch '%b/%k'"
执行了
sudo udevadm control --reload
。插入调制解调器。
调制解调器被识别为1232设备。我没有尝试连接(据我所知,除非切换到 2003,否则不会注册到宽带网络)
Bus 001 Device 008: ID 19d2:1232 ZTE WCDMA Technologies MSM
弹出调制解调器。
系统日志文件和提到的规则文件 (40) 在这里
更新 18 - 2015 年 12 月 11 日
将所有规则文件置于其原始形式。
lsusb
使用 shell 脚本每隔一秒观察一次输出。时间戳文件中捕获的输出。插入调制解调器。(调制解调器首先出现在文件中
lssuboutouput.Fri Dec 11 16:56:29 BDT 2015.txt
)。我们可以从捕获中发现,很明显它从 1232 设备切换到 2003 设备。试图连接。不成功。
弹出调制解调器。
系统日志文件、带时间戳lsusb
的输出和提到的规则文件都在这里。
现在,您可能希望将系统日志输出与时间戳相匹配。
更新 19 - 2015 年 12 月 11 日
以完全新的方向执行此测试,希望我可以隔离问题。
保存在便携式媒体中
/lib/udev/rules.d/40-usb-media-players.rules
(/lib/udev/rules.d/77-mm-zte-port-types.rules
来自 Ubuntu 15.10 机器)。使用 Xubuntu 15.04 64 位 DVD 引导机器。
执行了
diff 77-mm-zte-port-types.rules /lib/udev/rules.d/77-mm-zte-port-types.rules > diff15.10and15.04_77-mm.txt
。第一个文件来自 15.10 保存的文件。检查差异文件显示没有
idProduct
1232 或 2003。执行了
diff 40-usb_modeswitch.rules /lib/udev/rules.d/40-usb_modeswitch.rules > diff15.10and15.04_40-usb.txt
。同样,第一个文件来自 15.10 保存的文件。同样,差异文件的检查显示没有
idProduct
1232 或 2003。插入调制解调器。调制解调器被识别为调制解调器。
$ lsusb Bus 001 Device 008: ID 19d2:2003 ZTE WCDMA Technologies MSM
设置移动宽带连接后可以轻松连接。
弹出调制解调器。
安装了最新的 USB_ModeSwitch。
diff 40-usb_modeswitch.rules /lib/udev/rules.d/40-usb_modeswitch.rules
现在按预期返回 NULL。
执行了
sudo udevadm control --reload-rules
。插入调制解调器。调制解调器被识别为调制解调器。
$ lsusb Bus 001 Device 008: ID 19d2:2003 ZTE WCDMA Technologies MSM
可以轻松连接。
我本可以尝试将 MM 和 NM 升级到 Ubuntu 15.10 的,只是为了看看它在哪里坏了。我实际上尝试过但由于无休止的依赖问题而放弃了。
上面提到的所有差异文件都在这里。
更新 20 - 2015 年 12 月 12 日
测试 1
The
/lib/udev/rules
in original condition.The modem device has not been inserted yet in this session.
Setup ModemManager for debugging and setup udevadm capture.
sudo udevadm monitor --e |& tee udevadm.update20.WITHOUT78.log sudo killall ModemManager; sudo ModemManager --debug 2>&1 | tee MM.update20.WITHOUT78.log
Plugged in the modem and waited till it says that it is registered in broadband network.
Tried to connect unsuccessfully.
Ejected the modem.
Packed up log files.
Test 2
Repeated the above test with
/lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules
in place.
The log file names are self-explanatory.
All the above log files plus syslog and the 78 rule files are here.
I wish all the log files came with time stamps, making matching easier.
Update 21 - December 15 2015
- Changed the rule file as suggested.
- Rebooted my machine.
- Inserted the modem and tried connecting. It did not work.
The rule file and the syslog
are here.
Update 22 - December 16 2015
As advised in one comment, installed various kernels from http://kernel.ubuntu.com/~kernel-ppa/mainline/ and tried connecting using the modem after booting in each.
4.2.8-040208-generic, failure.
4.1.15-040115-generic, failure.
4.0.9-040009-generic, failure.
So, perhaps, we can rule out the kernel issue.
Update 23 - February 16 2016
The modem has started functioning in Ubuntu 16.04. This version is still in Alpha 1, but works fine in my laptop.
Loading the
ofono
package did good, probably, but apparently your modem model, ZTE MF193E, is not on the ZTE list. Comparing it to other ZTE modems, eg MF190J, this modem is likely to need the same specialudev
rule, to runusb_modeswitch
when the dongle is inserted, and to achieve that you may, as root, add a newudev
rule to the file/lib/udev/rules.d/40-usb_modeswitch.rules
with the following two lines e.g., somewhere near the
# ZTE MF190J
comment:plus a blank line, so it looks pleasant to the eye.
It's probably wise to reboot after that, only to find it all works like magic :-)
Or not. As you know, this is deep water for me, but if it still doesn't work, another ModemManager debug log would be needed, for another wild guess.
EDIT:
I'm now looking at the two lines in modemmanager.txt:
and
I'm guessing the first refers to your broadband set up, while the latter refers to the internal binding to a "PDP context" (whatever that is). By the looks of it, the modem offers 9 alternative contexts, including one with
apn='WAP'
, but theModemManager
settles for a case insensitive match.The case difference might be the cause of the subsequent problem: e.g., that ppp wants a
'wap'
configuration (rather than'WAP'
) and doesn't find it, or that the remote end expectsapn='WAP'
, but gets 'wap' which it chokes on.The first option could easily be tested (and ruled out, probably) by changing your configuration to use 'wap' instead of 'WAP'. You may have tried this before, but at that time without the
ofono
package, so another test won't hurt, although the second option is more likely.The second option is also more of a problem, given that there is an upper-case "PDP context" match available from the modem. Googling this issue, it appears that case insensitive match is correct by the (apparently relevant) specification "3GPP TS 23.003 chapter 9.1", and a patch to do this was added to
ModemManager
in November last year (into its version mm-1-4, I can gather). So in this case, your modem hasn't been told, and it expects case sensitive matching, whileModemManager
unfortunately uses case insensitive matching straight out rather than as a fallback.One solution for the second problem is of course to use a different
ModemManager
: either by finding and installing a version prior to this patch, or (with enough spare time), roll your ownModemManager
. But neither is something to do at a whim, so maybe we need to browse around a bit to gain more evidence that this is (now) the problem, and if possible find other ways to work around it. Or with a bit of luck, someone who knows something drops by...EDIT 2
Yes, version rollback is not easy due to dependencies. And rolling your own is far from a joy as well.
Two possible useful tools: command
mmcli
and (http://m2msupport.net/m2msupport/module-tester/).The problem, I think, is that ModemManager picks PDP context 1 with apn='wap' where it should pick PDP context 9 with apn='WAP'. Maybe this can be addressed by using one of those tools. Either to be able to force a selection of 9 during connection, or by deleting the bad 'wap' contexts from the modem, which the module-tester tool is advertised to be capable of.
The modem-tester tool seems to be a java tool in the browser, so you need your browser set up to know where your java is, and you need that java to be known about. Then please explore that approach; I haven't used it myself, but seeing the screenshots, I'm guessing it will present the PDP contexts as the 'Data Calls' tab, where you first take note of everything it shows, and then edit the 'wap' entries to distort the 'wap' apn labels to be, say, 'wap1' and 'wap2' (so as to "hide" them when looking for 'WAP'). Then save and close, and juggle the dongle again. Grab a log; it seems syslog is sufficient now, in case it still refuses to play.
The
mmcli
command also seems useful in this story; doman mmcli
to read about it, but I didn't see anything about PDP contexts there.EDIT 3
Good call! to test from the DVD. That told us that I'm on the wrong track with the APN, and that it all lies in getting ppp to come up. At least, that'd be my new tree to bark at.
Firstly we take note that there's a version difference for pppd (from 2.4.5 to 2.4.6), but that's probably not an issue, as then everyone on a dongle would have been on this excursion.
Hmm, ppp; I need to stir up my last-millennium memories :-). Unfortunately I'm busy today, but I'll touch base when next I have time, to see how far you've come. My first back alleys to look into would be: 1) is the user in the right group? 2) are the credentials right? 3) are the ppp/chat configurations file mod's right? The ppp debug log comes out in nm.txt (as per a few days ago), but there should also be a way to ask it for more detailed logging.
EDIT 4
Ensure
/etc/ppp/pap-secrets
and/etc/ppp/chap-secrets
have groupdip
(usingchgrp
as needed) and mode740
(or-rw-r-----
) (usingchmod
as needed). Mine didn't.EDIT 5
How about this tree, then: Comparing the working
wvdial
syslog with non-working syslog, it seems that for some reasonwvdial
usedttyUSB3
while the non-workingModemManager
keeps usingttyUSB1
. I'm not sure if it's at all significant, but apparently butttyUSB1
andttyUSB3
both respond as AT capable modems.So, as a test, maybe you can edit
/etc/wvdial.conf
so it under[Dialer Defaults]
includes the line:for the one test, and
ttyUSB3
for another; both running as root; just to see if there is a different behaviour. Especially, if usingttyUSB1
is a problem whereas using ttyUSB3 is not, then it'd be good to look into how to make ModemManager use ttyUSB3 as well. For any other test outcome, I'd say we'll go back to chasing ferrets in ppp land.EDIT 6
The dmesg log can be ignored I think; it's been like that in all logs. The new syslog only shows the ttyUSB3 test, but maybe we can assume that life gets better if
NetworkManager
can be tought to use ttyUSB3 and ignore ttyUSB1 (for this modem).I also found (https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/819784) with especially post #10 disconcerting :-(
The apparently applicable
udev
rule in/lib/udev/rules.d/77-mm-zte-port-types.rules
doesn't apply, but'd supposedly be where to go. And, with only a very rudimentary, pre-101 insight into theudev
magic, I would anyhow consider questioning its 4th line, which says:I think that line needs an initial
#
so as to be commented out. In detail, my reading of the file is that it requires a calling state of SUBSYSTEM=="tty" and SUBSYSTEMS="usb" in order to use the good bits, including the "2003" product rules, and at least for testing, it should be safe to skip the "tty" filtering. And I don't have anything better right now.EDIT 7
After having spent some quality time with my favourite search engine, I believe slightly more that the ttyUSB choice is a root problem here. The udev rule I pointed at is ok, and you should revert that edit.
However, I've started to believe that the configuration rules towards the end of that file, for product id "2003" are misleading. From the logs, it looks to me, that product id "2003" is actually the memory device side of the dongle, whereas the modem side has product id "1232". You can test this by replicating the two "2003" rules for product id "1232", in file
/lib/udev/rules.d/77-mm-zte-port-types.rules
or better, add a new file beside it, e.g. named
78-ralph.rules
, but then you also need to add the SUBSYSTEM and SUBSYSTEMS protection around it.Then, pull out the dongle, run
udevadm control --reload
(or reboot), and insert the dongle. And then yet anothersyslog
capture, unless it now happens to work.The effective problem, though, is that ModemManager discards the plugin
libmm-plugin-zte.so
at pre-probing, and ends up using a generic modem handler. If I'm right about product id, then this might be the reason; that pre-probing looks for aID_MM_ZTE_PORT_TYPE_MODEM
attribution, and this is lacking for product id "1232" (before the patch), with the effect that the zte plugin gets discarded.EDIT 8
The
syslog
log is a bit short; missing the beginning where ModemManager fails to install the zte plugin. However, it's clear that the Generic modem plugin is used anyhow. Now, it may be that theusb_modeswitch
rule I gave you early on is wrong as well; it decides to switch to "2003" when I thought it switched from "2003". But,man usb_modeswitch
(which I should have looked at before) kind of suggest that it shifts to a product id rather than from it. In any case, the log shows that to happen. Thus, please change that rule to use "1232" instead, and try yet again.If nothing else, at least I've got to learn a little bit about udev.
EDIT 9
Good. The problem is still (or also) that ModemManager drops the ZTE plugin at pre probing. The ModemManager debugging logs for 15.10 (log sets "debuglogs*") all tell the story that the ZTE plugin is discarded due to the vendor-id/product-id test.
Go to the source, Luke! I took this opportunity to sight the ModemManager source code briefly, and it indicates that the plugin as a table of vid/pid that doesn't include 19d2/2003 ... though, I haven't found that table source, so I couldn't verify.
Or maybe there's a timing issue here. E.g., that the ModemManager runs pre-probing while the device is 19d2/1232. That thought is aligned with the observation that having the 78-mm-zte-port-types-RALPH.rules udev rules makes ModemManager a little bit happier with the device. But then, why doesn't it stay happy and make use of that plugin when the device is switched to 19d2/2003?
Maybe more logs are needed :-) With ModemManager debugged, and also a capture of the command
udevadm monitor --e |& tee udevadm.log
(in another terminal) when you plug in the device. I got that command from (https://wiki.ubuntu.com/DebuggingUdev)Do this two times: once without
78-mm-zte-port-types-RALPH.rules
and once with the rules... both times from a fresh reboot. I.e./lib/udev/rules.d
with or without the*-RALPH.rules
fileThat logging should tell where the ZTE plugin is dropped, and as I understand, it'll also tell about the udev event handling.
EDIT 10
(I'm almost at the end of my tether here, but I have one or two more breaths left:-)
Firstly, all the
udev
decorations seem to end up as they should, with just a couple of question marks in a couple of the attributes. In particular, the78-*-RALPH.rules
should be thrown away; it's not useful.I think I can read out something from this, but I'm not exactly sure how it should be fixed. Basically, as I see it, when the dongle is plugged in there is a flurry of udev events. Focusing on those concerning ttyUSB1, there is an "early" event:
which causes the
usb_serial
driver to be loaded, and/dev/ttyUSB1
to appear. That in particular causes another event:I think that also triggers
ModemManager
. You have to go tosyslog
to see evidence of this, since there's no strict correlation between the logs. The event is time stamped3867.435102
, andsyslog
presents its nearest subsequentModemManager
log line just after a kernel log line stamped3867.437412
.In my line of thinking,
ModemManager
should not be triggered yet, but only after the subsequent ttyUSB1 event:which has attached the ZTE attributes.
In the MM log, we would be at the line stamped
1449934745.363291
, which apparently is a "real time" time stamp rather than a "kernel time" stamp.ModemManager
then is done with its pre-probing at1449934745.450398
, i.e., 87ms later, which in kernel time terms would be near3867.524519
and 55ms before that "good" UDEV event report above.Note that in
syslog
,ModemManager
does lodge complaints thatttyUSB1
does not have its attributes set, and maybe that complaint is related to the "marking" happening in80-mm-candidate.rules
. By the comment in that file, that marking appears to be an attempt to deal with exactly with this problem, but if so, it doesn't seem to work in this case.Maybe one possibility to resolving this would be to change the "tty" rule in
80-mm-candidate.rules
to be:In my mind, that would ensure that the
ID_MM_CANDIDATE
setting gets delayed until the ZTE attributes are set. The.ID_PORT
setting is an effect of a60-serial.rules
rule (called60-persistent-serial.rules
before), and the added condition to the marking rule is simply that it has a value.The condition is not exactly a ZTE attribute, only so as to keep the rule more generic. One step more specific would be to rather require
ENV{.MM_USBIFNUM}="?*"
instead, since that assignment here happens by77-mm-zte-port-types.rules
.In general I'm not very sure about
udev
rule ordering, and I'm also not at all sure that this really stopsModemManager
from acting too quickly. However if it doesn't, then80-mm-candidate.rules
would have little to no function, and maybe then it all would come down to the "improvements" toModemManager
from 15.04.EDIT 21
sigh. Probably irrelevant, but you may want to check your
7-zte-mutil_port_device.rules
file; is that a remnant from other experimentation? Anyhow, not relevant here.There's still almost a second between
515.558184
and516.381549
whereModemManager
eagerly and erroneously grabs/dev/ttyUSB1
, and whilst complaining about it not being set up, still goes through pre-probing and discards the ZTE plugin. In other words, the rule patch doesn't makeModemManager
wait.I suppose you also tested using
ENV{.MM_USBIFNUM}="?*"
instead ofENV{.ID_PORT}=="?*"
.Actually, to confirm whether or not setting
ENV{ID_MM_CANDIDATE}=1
is of any importance, you should temporarily move away80-mm-candidate.rules
, then see (insyslog
) if thenModemManager
ignores/dev/ttyUSB1
or not. I suspect "not".And then, well, maybe you can use a working version, such as 14.04, and if you need, perhaps run 15.10 in a virtualbox, unless of course it's already all is in a virtualbox.
I think I need to claim defeat at this point.
The modem has started functioning in Ubuntu 16.04. This version is still in development phase, but works fine in my laptop.
I wish I could provide more technical details on how it started functioning.
After taking a glance of this it appears this is not the first time this dragon has been properly dealt with. It was a bug before in 12.10 and 13.04 perhaps the bug was never fixed or a new patch broke something that was working correctly before.
Hopefully, If I am reading your technical specs correctly I would need to point you to this direction (MF190J):
3G-modem (ZTE MF190J) still requires manual tweaking.
Have you tried this:
and then make this script and run it:
and it might work fine this way.