Bug 483878 - NetworkManager has to be restarted before it detects hardware
Summary: NetworkManager has to be restarted before it detects hardware
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: NetworkManager
Version: 9
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Dan Williams
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-02-04 04:54 UTC by David Anderson
Modified: 2009-07-14 15:15 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-07-14 15:15:35 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description David Anderson 2009-02-04 04:54:56 UTC
$ rpm -q NetworkManager NetworkManager-gnome
NetworkManager-0.7.0-0.12.svn4326.fc9.x86_64
NetworkManager-gnome-0.7.0-0.12.svn4326.fc9.x86_64

Issue 1:

I use a Windows Mobile smartphone, running the "Modem Link" application for GPRS Internet. Sometimes I find it necessary to de-activate and re-activate the modem application on the phone. Procedure is: 1) Unplug the phone from computer 2) Deactive 3) Reactivate 4) Plug phone back into computer

However, NetworkManager doesn't recognise the modem until I do "/sbin/service NetworkManager restart". syslog shows that the kernel recognises the device, but NetworkManager isn't picking it up.

These lines show in syslog:

hodge kernel: usb 4-1: new full speed USB device using ohci_hcd and address 109
hodge kernel: usb 4-1: configuration #1 chosen from 1 choice
hodge kernel: ipaq 4-1:1.0: PocketPC PDA converter detected
hodge kernel: usb 4-1: PocketPC PDA converter now attached to ttyUSB0
hodge kernel: usb 4-1: New USB device found, idVendor=0bb4, idProduct=00cf
hodge kernel: usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
hodge kernel: usb 4-1: Product: Generic Serial
hodge kernel: usb 4-1: Manufacturer: HTC

BUT these following ones which normally show don't unless I've first restarted NetworkManager in between steps 3) and 4) above:

hodge NetworkManager: <info>  ttyUSB0: driver is 'ipaq'.
hodge NetworkManager: <info>  Found new Modem device 'ttyUSB0'.
hodge NetworkManager: <info>  (ttyUSB0): exported as /org/freedesktop/Hal/devices/usb_device_bb4_cf_noserial_if0_serial_usb_0

Comment 1 Dan Williams 2009-02-05 11:18:20 UTC
When the device does not show up in NetworkManager, can you run "lshal" from a terminal and look through the output for the block that describes the "ttyUSB0" device?  If that block *is* present, does it contain the "modem.command_sets" property?  If you're unsure, just attach the entire lshal output and I can figure out these answers.

Comment 2 David Anderson 2009-02-11 06:05:23 UTC
Here's the lshal bit, I hope it's the right one. It doesn't seem to have that property.

udi = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_13_3_if0_0_serial_usb_0'
  info.capabilities = {'serial', 'pda'} (string list)
  info.category = 'serial'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_13_3_if0_0'  (string)
  info.product = 'Pocket PC PDA'  (string)
  info.subsystem = 'tty'  (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_13_3_if0_0_serial_usb_0'  (string)
  linux.device_file = '/dev/ttyUSB0'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'tty'  (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:13.3/usb5/5-1/5-1:1.0/ttyUSB0/tty/ttyUSB0'  (string)
  pda.platform = 'pocketpc'  (string)
  pda.pocketpc.hotsync_interface = '/dev/ttyUSB0'  (string)
  serial.device = '/dev/ttyUSB0'  (string)
  serial.originating_device = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_13_3_if0_0'  (string)
  serial.port = 0  (0x0)  (int)
  serial.type = 'usb'  (string)


Other bits:

# lsusb | grep Phone
Bus 005 Device 018: ID 0bb4:00cf High Tech Computer Corp. SPV C500 Smart Phone


Feb  7 19:03:10 hodge kernel: usb 5-1: new full speed USB device using ohci_hcd and address 18
Feb  7 19:03:10 hodge kernel: usb 5-1: configuration #1 chosen from 1 choice
Feb  7 19:03:10 hodge kernel: ipaq 5-1:1.0: PocketPC PDA converter detected
Feb  7 19:03:10 hodge kernel: usb 5-1: PocketPC PDA converter now attached to ttyUSB0
Feb  7 19:03:10 hodge kernel: usb 5-1: New USB device found, idVendor=0bb4, idProduct=00cf
Feb  7 19:03:10 hodge kernel: usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Feb  7 19:03:10 hodge kernel: usb 5-1: Product: Generic Serial
Feb  7 19:03:10 hodge kernel: usb 5-1: Manufacturer: HTC

Comment 3 Dan Williams 2009-02-12 23:24:45 UTC
yeah, so if it doesn't have that property, NetworkManager won't recognize it.  This property is assigned based on the stuff in /usr/share/hal/fdi/information/10freedesktop/10-modem.fdi.  When the phone is plugged in, can you attach the output of "/sbin/lsusb -v" so we can see if it's a cdc-acm driven generic modem or whether it needs tagging in the fdi file?

Comment 4 David Anderson 2009-02-14 05:15:56 UTC
The question is, why does that property not always appear unless I restart NetworkManager? It's repeatable: if I restart NM in between unplugging and replugging the phone, the property is always there. If I don't, it's often not.

Here is what's normally in lshal, i.e. with the property:
udi = '/org/freedesktop/Hal/devices/usb_device_bb4_cf_noserial_if0_serial_usb_0'
  info.capabilities = {'serial', 'modem', 'pda'} (string list)
  info.category = 'serial'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_bb4_cf_noserial_if0'  (string)
  info.product = 'Pocket PC PDA'  (string)
  info.subsystem = 'tty'  (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_bb4_cf_noserial_if0_serial_usb_0'  (string)
  linux.device_file = '/dev/ttyUSB0'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'tty'  (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:13.2/usb4/4-1/4-1:1.0/ttyUSB0/tty/ttyUSB0'  (string)
  modem.command_sets = {'IS-707-A'} (string list)
  pda.platform = 'pocketpc'  (string)
  pda.pocketpc.hotsync_interface = '/dev/ttyUSB0'  (string)
  serial.device = '/dev/ttyUSB0'  (string)
  serial.originating_device = '/org/freedesktop/Hal/devices/usb_device_bb4_cf_noserial_if0'  (string)
  serial.port = 0  (0x0)  (int)
  serial.type = 'usb'  (string)

Here's the lsusb -v bit. The phone is wrongly identified as concerns its model and wrongly identified as CDMA when it's GSM; I filed a bug about it at freedesktop.org but it was closed (I was told there was a generic solution coming that would make it irrelevant):

Bus 004 Device 005: ID 0bb4:00cf High Tech Computer Corp. SPV C500 Smart Phone
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass           32
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0bb4 High Tech Computer Corp.
  idProduct          0x00cf SPV C500 Smart Phone
  bcdDevice            0.90
  iManufacturer           1 HTC
  iProduct                2 Generic Serial
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           39
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass         2 Communications
      bInterfaceSubClass    255
      bInterfaceProtocol    255
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval              32
Device Status:     0x0000
  (Bus Powered)


In case it's of relevance, I have hal-0.5.11-2.fc9.x86_64

Comment 5 Dan Williams 2009-02-14 19:46:57 UTC
Ah, it's driven by the 'ipaq' driver.  Not cdc-acm.  Didn't know about that driver.

NM shouldn't have anything to do with whether or not it gets the HAL "gsm" or "cdma" properties; my guess is that it's more a case of timing between HAL, udev, and the kernel driver when the tty device shows up.

Comment 6 David Anderson 2009-02-26 07:29:37 UTC
It shouldn't have anything to do with NM... but the weird thing is that 100% of the time, restarting NetworkManager always prevents the bug from occurring...

Comment 7 Bug Zapper 2009-06-10 03:32:09 UTC
This message is a reminder that Fedora 9 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 9.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '9'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 9's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 9 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 8 Bug Zapper 2009-07-14 15:15:35 UTC
Fedora 9 changed to end-of-life (EOL) status on 2009-07-10. Fedora 9 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.


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