Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 267168 - net-misc/networkmanager-0.7.1 breaks detection of UMTS modem
Summary: net-misc/networkmanager-0.7.1 breaks detection of UMTS modem
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Steev Klimaszewski (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-23 07:26 UTC by Christian Loosli
Modified: 2009-05-12 22:20 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Loosli 2009-04-23 07:26:08 UTC
I own a Sierra Compass 885 USB Modem, which works with the "sierra" driver. 
With NetworkManager 0.7.0 the device is detected and can be used to connect via UMTS/GSM.  In NetworkManager 0.7.1 the device is no longer detected,  NetworkManager --no-daemon  finds the two Serial devices, but tells me that they are ignored due to the lack of Broadband capabilities. 

There are some known bugs for other distributions, some of them seem related to the udev rule /lib/udev/rules.d/77-nm-probe-modem-capabilities.rules  coming along with NetworkManager 0.7.1.  But it seems they got it solved there. 


General Information: 

Portage 2.2_rc31 (default/linux/amd64/2008.0, gcc-4.1.2, glibc-2.8_p20080602-r1, 2.6.29-tuxonice-r1 x86_64)
=================================================================                                          
System uname: Linux-2.6.29-tuxonice-r1-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T7500_@_2.20GHz-with-gentoo-1.12.11.1
Timestamp of tree: Wed, 22 Apr 2009 15:15:01 +0000                                                            
app-shells/bash:     3.2_p39                                                                                  
dev-java/java-config: 1.3.7-r1, 2.1.7                                                                         
dev-lang/python:     2.5.4-r2, 2.6.2                                                                          
dev-python/pycrypto: 2.0.1-r8                                                                                 
dev-util/cmake:      2.6.3-r1                                                                                 
sys-apps/baselayout: 1.12.11.1                                                                                
sys-apps/sandbox:    1.9                                                                                      
sys-devel/autoconf:  2.13, 2.63                                                                               
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2                                                
sys-devel/binutils:  2.18-r3                                                                                  
sys-devel/gcc-config: 1.4.0-r4                                                                                
sys-devel/libtool:   1.5.26                                                                                   
virtual/os-headers:  2.6.28-r1                                                                                
ACCEPT_KEYWORDS="amd64"                                                                                       
CBUILD="x86_64-pc-linux-gnu"                                                                                  
CFLAGS="-march=nocona -O2 -pipe"                                                                              
CHOST="x86_64-pc-linux-gnu"                                                                                   
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/4.2/env /usr/kde/4.2/share/config /usr/kde/4.2/shutdown /usr/share/config /var/lib/hsqldb"                                                         
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"                                                                 
CXXFLAGS="-march=nocona -O2 -pipe"                                                                                       
DISTDIR="/usr/portage/distfiles"                                                                                         
FEATURES="distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"                                                                                                                      
GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://www.gigaload.org/gentoo.org http://gentoo.mirror.sdv.fr"                                                                                                          
LANG="de_CH.UTF-8"                                                                                                       
LC_ALL="de_CH.UTF-8"                                                                                                     
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/kde-testing /usr/local/portage/layman/sunrise /usr/local/portage/layman/x11 /usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi aim akonadi alsa amd64 avahi berkdb bluetooth bzip2 cairo cdr cli cracklib crypt css cups dbus divx dri dv dvd dvdnavi dvdr dvdread encode exif fam fame ffmpeg firefox flac font-server fortran ftp gdbm gif gimpprint gpm hal htmlhandbook iconv icq ieee1394 imagemagick imlib ipv6 ipw4965 irc irda isdnlog jabber java joystick jpeg jpeg2k kde kde4 kdeprefix kipi lirc logitech-mouse logrotate mad mbox midi mjpeg mmap mmx mng mozsvg mp2 mp3 mpeg msn mudflap multilib musicbrainz nas ncurses networkmanager nls nptl nptloly nptlonly nsplugin ogg openal opengl openmp oss pam pcmcia pcre pdf perl pic plasma png pnm pppd pulseaudio python qt qt3 qt4 quicktime radio rar readline reflection rtc ruby samba scanner sdl semantic-desktop session spell spl srt sse sse2 ssl ssse3 stream svg sysfs tcpd theora threads tiff truetype unicode usb userlocales utempter v4l v4l2 vcd vdpau vorbis wacom wifi wxwindows x264 xattr xcomposite xine xinerama xorg xscreensaver xulrunner xv xvid zeroconf zlib zoran" ALSA_CARDS="hda-intel emu10k1" ALSA_PCM_PLUGINS="adpcm alaw asym copydmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CAMERAS="adc65 agfa_cl20 aox barbie canon casio_qv clicksmart310 digigr8 digita dimagev dimera3500 directory enigma13 fuji gsmart300 hp215 iclick jamcam jd11 kodak_dc120 kodak_dc210 kodak_dc240 kodak_dc3200 kodak_ez200 konica konica_qm150 largan lg_gsm mars mustek panasonic_coolshot panasonic_dc1000 panasonic_dc1580 panasonic_l859 pccam300 pccam600 polaroid_pdc320 polaroid_pdc640 polaroid_pdc700 ptp2 ricoh ricoh_g3 samsung sierra sipix_blink sipix_blink2 sipix_web2 smal sonix sony_dscf1 sony_dscf55 soundvision spca50x sq905 stv0674 stv0680 sx330z template toshiba_pdrm11" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev joystick synaptics wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS,PORTAGE_RSYNC_EXTRA_OPTS

modinfo sierra
filename:       /lib/modules/2.6.29-tuxonice-r1/kernel/drivers/usb/serial/sierra.ko
license:        GPL                                                                
version:        v.1.3.2      

hal-info:  Version 20090414  installed




Reproducible: Always

Steps to Reproduce:
1. Get a Sierra Compass 885 Device, plug it in 
2. Try to create a new Mobile Broadband connection in nm-applet
3. Fails to detect modem
4. Run NetworkManager --no-daemon  
5. See that it finds the device but ignores it

Actual Results:  
Device is found, but ignored due to lack of broadband capabilities

Expected Results:  
Device is found and used, as with NetworkManager 0.7.0
Comment 1 Christian Loosli 2009-04-23 08:51:10 UTC
Sorry, forgot to add: 

Bus 001 Device 006: ID 1199:6880 Sierra Wireless, Inc.

this is the device, which is handled in 

/usr/share/hal/fdi/information/10freedesktop/10-modem.fdi

with

        <!-- Compass USB modem  -->
        <match key="@info.parent:usb.product_id" int="0x6880">
          <match key="@info.parent:usb.interface.number" int="4">
            <match key="serial.port" int="4">
              <append key="modem.command_sets" type="strlist">GSM-07.07</append>
              <append key="modem.command_sets" type="strlist">GSM-07.05</append>
           </match>
          </match>
        </match>
      </match>

up to (including) networkmanager 0.7.0, and replaced by the udev rule in 0.7.1 as far as I understood. 
Comment 2 Christian Loosli 2009-04-23 14:52:04 UTC
In fact I found and solved the issue with help from gnome bugzilla, 

The file 

/lib/udev/rules.d/77-nm-probe-modem-capabilities.rules

has to be in /etc/udev/rules.d/ 

Please fix this in the ebuild. 

Kind regards, 

Christian
Comment 3 Christian Loosli 2009-04-24 19:34:44 UTC
One line fix for the ebuild:  

   ECONF="--disable-more-warnings \
        --localstatedir=/var \
        --with-distro=gentoo \
        --with-dbus-sys=/etc/dbus-1/system.d
+       --with-udev-dir=/etc/udev


Kind regards, 

Christian

Comment 4 Robert Buchholz (RETIRED) gentoo-dev 2009-04-25 14:28:12 UTC
*networkmanager-0.7.1-r1 (25 Apr 2009)

  25 Apr 2009; Robert Buchholz <rbu@gentoo.org>
  files/networkmanager-0.7.0-gentoo-dhclient.patch,
  +files/networkmanager-0.7.1-bad-link.patch, -networkmanager-0.7.1.ebuild,
  +networkmanager-0.7.1-r1.ebuild:
  Fix bug #267349 by Daniel Gryniewicz, NetworkManager-0.7 links against
  installed version of nm-util, specify udev directory for bug #267168.
Comment 5 Robert Piasek (RETIRED) gentoo-dev 2009-04-27 20:36:43 UTC
(In reply to comment #3)
> One line fix for the ebuild:  
> 
>    ECONF="--disable-more-warnings \
>         --localstatedir=/var \
>         --with-distro=gentoo \
>         --with-dbus-sys=/etc/dbus-1/system.d
> +       --with-udev-dir=/etc/udev
> 
> 
> Kind regards, 
> 
> Christian
> 

This is incorrect fix. That specifies default libudev directory and NM will install nm-modem-probe to this location. Of course udev expects all helper binaries in standard location (/lib/udev), so nm-modem-probe is NEVER run resulting in the same error:
Apr 27 21:36:02 [NetworkManager] <info>  (ttyUSB0): found serial port (udev:  hal:GSM)_
Apr 27 21:36:02 [NetworkManager] <info>  (ttyUSB0): ignoring due to lack of probed mobile broadband capabilties_


The proper fix should look more like:

--- networkmanager-0.7.1-r1.ebuild~     2009-04-26 14:37:09.000000000 +0100
+++ networkmanager-0.7.1-r1.ebuild      2009-04-27 21:34:04.681902191 +0100
@@ -76,7 +76,6 @@
                --localstatedir=/var
                --with-distro=gentoo
                --with-dbus-sys=/etc/dbus-1/system.d
-               --with-udev-dir=/etc/udev
                $(use_enable doc gtk-doc)
                $(use_with doc docs)
                $(use_with resolvconf)"
@@ -122,6 +121,8 @@
        insinto /etc/NetworkManager
        newins "${FILESDIR}/nm-system-settings.conf" nm-system-settings.conf \
                || die "newins failed"
+       insinto /etc/udev/rules.d
+       newins callouts/77-nm-probe-modem-capabilities.rules 77-nm-probe-modem-capabilities.rules
 }

 pkg_postinst() {
Comment 6 Robert Piasek (RETIRED) gentoo-dev 2009-04-27 20:41:52 UTC
With suggested fix it looks more like:

Apr 27 21:40:18 [NetworkManager] <info>  (ttyUSB0): found serial port (udev:GSM  hal:GSM)_
Apr 27 21:40:18 [NetworkManager] <info>  (ttyUSB0): new Modem device (driver: 'option')_
Apr 27 21:40:18 [NetworkManager] <info>  (ttyUSB0): exported as /org/freedesktop/Hal/devices/usb_device_12d1_1001_____________________2_if0_serial_usb_0_
Comment 7 Robert Piasek (RETIRED) gentoo-dev 2009-04-27 21:32:04 UTC
*** Bug 267610 has been marked as a duplicate of this bug. ***
Comment 8 Balazs Nemeth 2009-04-30 06:05:54 UTC
(In reply to comment #6)
> With suggested fix it looks more like:
> 
> Apr 27 21:40:18 [NetworkManager] <info>  (ttyUSB0): found serial port (udev:GSM
>  hal:GSM)_
> Apr 27 21:40:18 [NetworkManager] <info>  (ttyUSB0): new Modem device (driver:
> 'option')_
> Apr 27 21:40:18 [NetworkManager] <info>  (ttyUSB0): exported as
> /org/freedesktop/Hal/devices/usb_device_12d1_1001_____________________2_if0_serial_usb_0_
> 

I can confirm it. Networkmanager now can properly recognize my 3G capable cellphone.

Before:

<info>  (ttyACM0): found serial port (udev:  hal:GSM)
<info>  (ttyACM0): ignoring due to lack of probed mobile broadband capabilties

After:

<info>  (ttyACM0): found serial port (udev:GSM  hal:GSM)
<info>  (ttyACM0): new Modem device (driver: 'cdc_acm')
<info>  (ttyACM0): exported as /org/freedesktop/Hal/devices/usb_device_421_2f_noserial_0_if8_serial_unknown_0
<info>  (ttyACM0): found serial port (udev:GSM  hal:GSM)
<info>  (ttyACM0): new Modem device (driver: 'cdc_acm')
<info>  (ttyACM0): exported as /org/freedesktop/Hal/devices/usb_device_421_2f_noserial_if8_serial_unknown_0
Comment 9 Patrik Huber 2009-05-03 14:12:48 UTC
Networkmanager-0.7.1-r2 still does not fix this bug for me.

UMTS Card: Ericsson F3507g Mobile Broadband Minicard Composite Device

It was working perfectly fine with NM-0.7.1(-r0).

If you need more information, just tell me what, I'll be happy to provide it.
Comment 10 Christian Loosli 2009-05-03 14:31:18 UTC
(In reply to comment #9)
> Networkmanager-0.7.1-r2 still does not fix this bug for me.

According to the changelog it was not meant to fix it anyway. 

> If you need more information, just tell me what, I'll be happy to provide it.

Yes, either try my fix in the bug 267610 or the Fix from Robert Piasek (both should make sure that nm-modem-probe is in /lib/udev/). 

Please then give feedback whether this solves the problem for you. 

In order to fix the ebuild, either the udev path option has to be removed and the rule moved to /etc/udev/rules.d/, or the udev path option has to be kept but nm-modem-probe has to be moved to /lib/udev/.  

Fuchs

Comment 11 Maciej Grela 2009-05-12 21:16:27 UTC
Please revert the change adding --with-udev-dir=/etc/udev to the configure flags. It's obviously broken (as Robert Piasek pointed out), it doesn't fix Christian's issue, it caused problems with NM's support for my two mobile phones (Nokia 3210 and Nokia E51) and it goes against the udev documentation recommendations:

8< -----------

udev 125
========
Bugfixes.

Default udev rules, which are not supposed to be edited by the user, should
be placed in /lib/udev/rules.d/ now, to make it clear that they are private to
the udev package and will be replaced with an update. Udev will pick up rule
files from:
  /lib/udev/rules.d/  - default installed rules
  /etc/udev/rules.d/  - user rules + on-the-fly generated rules
  /dev/.udev/rules.d/ - temporary non-persistent rules created after bootup
It does not matter in which directory a rule file lives, all files are sorted
in lexical order.

8< ------------

However, I'd like to share my thoughts on the root issue here, and that is udev. In portage the latest stable udev version is 124. However, this version doesn't support placing rules in /lib/udev/rules.d directory yet (the support comes in udev-125). So when networkmanager-0.7.1 comes and places rules in /lib/udev/rules.d udev cannot see them. In my system, when using udev-141 and networkmanager-0.7.1-r2 without the --with-udev-dir fix everything works fine. The longterm solution would be to focus on stabilising udev-141, see #254616.

Comment 12 Robert Buchholz (RETIRED) gentoo-dev 2009-05-12 22:20:31 UTC
+*networkmanager-0.7.1-r3 (12 May 2009)
+
+  12 May 2009; Robert Buchholz <rbu@gentoo.org>
+  -networkmanager-0.7.0.ebuild, -networkmanager-0.7.1-r1.ebuild,
+  -networkmanager-0.7.1-r2.ebuild, +networkmanager-0.7.1-r3.ebuild:
+  fix udev rules path properly now, bug #253788
+