Bug 697122 - ModemManager failing to activate 3G connection with Vodafone K3805-z modem
Summary: ModemManager failing to activate 3G connection with Vodafone K3805-z modem
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: usb_modeswitch
Version: 16
Hardware: i686
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: romal
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-04-15 22:35 UTC by Pedro Francisco
Modified: 2012-03-03 11:51 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2012-03-03 11:51:58 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
modem-manager --debug (42.30 KB, application/octet-stream)
2011-04-15 22:35 UTC, Pedro Francisco
no flags Details
dmesg after plugging the pen (4.51 KB, text/plain)
2011-04-15 22:38 UTC, Pedro Francisco
no flags Details
Ubuntu 11.04's details of log and system (2.91 KB, text/plain)
2011-04-16 10:53 UTC, Pedro Francisco
no flags Details
Ubuntu 11.04's modem-manager debug log (36.49 KB, text/plain)
2011-04-16 10:55 UTC, Pedro Francisco
no flags Details

Description Pedro Francisco 2011-04-15 22:35:06 UTC
Created attachment 492526 [details]
modem-manager --debug

Description of problem:
Can't connect with Vodafone K3805-z modem.


Version-Release number of selected component (if applicable):
NetworkManager-0.8.998-2.git20110406.fc15.i686
ModemManager-0.4-7.git20110201.fc15.i686
wvdial-1.61-4.fc15.i686


How reproducible:
Always

Steps to Reproduce:
1. plug usb modem and wait until broadband connection appears in NetworManager
2. try to connect

 
Actual results:
Connection fails.

Expected results:
Connection succeeded.


Additional info:
NOTE 1: wvdial behaves weirdly: on Ubuntu it takes 5 seconds to probe all ports, in Fedora 15 Beta RC2 two minutes won't suffice.

NOTE 2: eight ttyUSBx found! I believe only two or three should be found (can recheck on Ubuntu if required).

Vodafone k3805-z is actually a rebranded ZTE something with an Icera chipset.

Working on: Ubuntu 11.04 (to have connectivity it is required to do `ifconfig usb0 -arp' before connecting)
NOT working on: Fedora 14, Ubuntu 10.10: attempt to connect results in immediate disconnect.

Times of attached `modem-manager -- debug':
1302897398.256116: last line before plugging in the modem
1302897501.084344: safely removed the "CDROM" provided by the pen using "Computer", "Vodafone Storage", Right-click, "Safely remove".
1302897708.406132: I had already added the connection using nm-connection-tool, so I attempted to enable it.
1302898073.122297: and apparently it failed.

Comment 1 Pedro Francisco 2011-04-15 22:38:39 UTC
Created attachment 492527 [details]
dmesg after plugging the pen

This is the dmesg after plugging the pen but be warned it was not taken at the same time I was using (and saving to the file) `modem-manager --debug'.

Comment 2 Pedro Francisco 2011-04-16 10:51:47 UTC
Ok, my mistake, on Ubuntu it appears no ttyUSB* are created, only two ttyACM.

I'll attach the `modem-manager --debug' from Ubuntu 11.04 along a text file with the kernel and app versions used by Ubuntu 11.04.

Logs apart, what's bothering me now it's the time `wvdialconf' takes on Fedora compared to Ubuntu 11.04. Is it possible something is wrong with the serial interfaces? Because on Fedora 15 even when `wvdialconf' seems to be probing ttyS* it takes forever to move on.

Comment 3 Pedro Francisco 2011-04-16 10:53:16 UTC
Created attachment 492561 [details]
Ubuntu 11.04's details of log and system

Comment 4 Pedro Francisco 2011-04-16 10:55:20 UTC
Created attachment 492562 [details]
Ubuntu 11.04's modem-manager debug log

Comment 5 Dan Williams 2011-07-18 22:54:52 UTC
This sounds a lot like some bugs with usb_modeswitch where the udev handler doesn't wait long enough for the kernel drivers to claim the ports before forcing the 'option' driver to use them.  In this case of course the option driver shouldn't use them, because they are CDC-ACM ports, which use a different driver.  I have this problem with usb_modeswitch 1.1.7 on F15 as well with some devices, and it's supposed to be fixed in usb_modeswitch 1.1.8 and later.

Basically, usb_modeswitch needs to (1) wait longer for the kernel to bind modules before force-binding option/usb-serial, and (2) it shouldn't force-bind CDC-ACM ports _at all_.

This is very likely the cause of the serial port failures you're seeing.

Comment 6 Account closed by user 2011-07-25 10:48:54 UTC
see #714648 and #714648<

Comment 7 Account closed by user 2011-07-25 10:50:20 UTC
(In reply to comment #6)

> see #714648 and #714648<

c&p bug, #625004

Comment 8 Pedro Francisco 2011-07-26 22:34:19 UTC
@Dan Willieams: your diagnosis is correct: renaming option.ko prior to inserting the 3G pen allows the pen to work afterwards (to anyone else reading, a more sensible workaround would be to blacklist the option module)

Comment 9 Pedro Francisco 2011-07-27 21:39:25 UTC
Ok, concerning the workaround, blacklisting the option module doesn't seem to work.
Therefore I commented on /lib/udev/usb_modeswitch :

$ diff usb_modeswitch.original usb_modeswitch
345,346c345,346
<               set config(driverModule) "option"
<               set config(driverIDPath) "/sys/bus/usb-serial/drivers/option1"
---
>               #set config(driverModule) "option"
>               #set config(driverIDPath) "/sys/bus/usb-serial/drivers/option1"

and the problem is avoided.

Comment 10 Pedro Francisco 2011-08-24 13:46:12 UTC
Also on Fedora 16 Alpha. Due to #733022 ("Option module statically linked") the changes to the "/lib/udev/usb_modeswitch" script must be done before plugging in the pen for the first time.

Comment 11 Pedro Francisco 2011-08-24 13:50:11 UTC
Ok, F16 alpha still has usb_modeswitch 1.1.7 which you said had the problem, nothing new here then, sorry for the noise.

]$ yum info usb_modeswitch |grep -i Version
Version     : 1.1.7

Comment 12 Josua Dietze 2011-10-15 19:27:32 UTC
The possible problem with CDC ACM devices has been resolved in version 1.1.9. They will not be touched.

If you don't want any driver loading done for a device, just add

NoDriverLoading=1

to the respective configuration file (put it in /etc/usb_modeswitch.d afterwards and it will take priority over the default file).

Comment 13 Josua Dietze 2011-10-31 23:09:02 UTC
I now think this problem may have been caused by blocking the device discovery after switching, due to the fact that usb_modeswitch on Fedora is not detached from the calling udev process like it is on Debian based systems (and upstream).

A similar issue has come up in bug #733183.

Comment 14 Pedro Francisco 2011-11-01 14:42:13 UTC
Version     : 1.2.0 of usb_modeswitch fixes the issue for me, on F16. Shall I mark it as fixed?

Comment 15 Pedro Francisco 2012-03-03 11:51:58 UTC
Marking as fixed.


Note You need to log in before you can comment on or make changes to this bug.