Bug 436211 - CDMA card shows up thrice
Summary: CDMA card shows up thrice
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: hal-info
Version: rawhide
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Dan Williams
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-03-05 21:53 UTC by Ulrich Drepper
Modified: 2008-03-06 00:09 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-03-06 00:09:57 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
/var/log/messages content related to insertion of the card (4.04 KB, text/plain)
2008-03-05 21:53 UTC, Ulrich Drepper
no flags Details

Description Ulrich Drepper 2008-03-05 21:53:41 UTC
Description of problem:
The good news is that the NM in rawhide recognizes my CDMA card.  But when it is
inserted, NM shows three entries for the card in the NM pulldown menue.  Only
the first entry does something when clicked on.

I cannot provide a screenshot since hotkeys are broken, too, but each of the
three entries looks like

  CDMA Network
Auto CDMA network connection


Version-Release number of selected component (if applicable):
NetworkManager-0.7.0-0.8

How reproducible:
always

Steps to Reproduce:
1.insert card
2.look at NM menu
3.
  
Actual results:
three entries

Expected results:
one entry

Additional info:
I'll attach the log from /var/log/messages which shows the kernel and NM action.
 The card is representing itself as multiple devices with multiple ports.

Comment 1 Ulrich Drepper 2008-03-05 21:53:42 UTC
Created attachment 296948 [details]
/var/log/messages content related to insertion of the card

Comment 2 Dan Williams 2008-03-05 22:55:56 UTC
Can you also attach the output of /sbin/lshal.  Only the first serial port
should be used by NetworkManager, and this indicates a bug in the hal-info .fdi
file because it appears that all 3 interfaces (2 of which implement proprietary
protocols, not AT commands) are being tagged with 'modem' and 'cdma'.

Comment 3 Ulrich Drepper 2008-03-05 23:09:15 UTC
I filtered out the appropriate entries:

udi = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial'
  info.bus = 'usb_device'  (string)
  info.linux.driver = 'usb'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_06_00_0' 
(string)
  info.product = 'Qualcomm Kyocera CDMA Technologies MSM'  (string)
  info.subsystem = 'usb_device'  (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial'  (string)
  info.vendor = 'Kyocera Wireless Corp.'  (string)
  linux.device_file = '/dev/bus/usb/007/002'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'usb'  (string)
  linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1e.0/0000:05:00.0/0000:06:00.0/usb7/7-1'  (string)
  usb_device.bus_number = 7  (0x7)  (int)
  usb_device.can_wake_up = true  (bool)
  usb_device.device_class = 0  (0x0)  (int)
  usb_device.device_protocol = 0  (0x0)  (int)
  usb_device.device_revision_bcd = 0  (0x0)  (int)
  usb_device.device_subclass = 0  (0x0)  (int)
  usb_device.is_self_powered = false  (bool)
  usb_device.linux.device_number = 2  (0x2)  (int)
  usb_device.linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1e.0/0000:05:00.0/0000:06:00.0/usb7/7-1'  (string)
  usb_device.max_power = 100  (0x64)  (int)
  usb_device.num_configurations = 1  (0x1)  (int)
  usb_device.num_ports = 0  (0x0)  (int)
  usb_device.product = 'Qualcomm Kyocera CDMA Technologies MSM'  (string)
  usb_device.product_id = 6106  (0x17da)  (int)
  usb_device.speed = 12.0 (12) (double)
  usb_device.speed_bcd = 4608  (0x1200)  (int)
  usb_device.vendor = 'Kyocera Wireless Corp.'  (string)
  usb_device.vendor_id = 3208  (0xc88)  (int)
  usb_device.version = 1.1 (1.1) (double)
  usb_device.version_bcd = 272  (0x110)  (int)

udi = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if0'
  info.bus = 'usb'  (string)
  info.linux.driver = 'airprime'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial' 
(string)
  info.product = 'USB Vendor Specific Interface'  (string)
  info.subsystem = 'usb'  (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if0' 
(string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'usb'  (string)
  linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1e.0/0000:05:00.0/0000:06:00.0/usb7/7-1/7-1:1.0' 
(string)
  usb.bus_number = 7  (0x7)  (int)
  usb.can_wake_up = true  (bool)
  usb.device_class = 0  (0x0)  (int)
  usb.device_protocol = 0  (0x0)  (int)
  usb.device_revision_bcd = 0  (0x0)  (int)
  usb.device_subclass = 0  (0x0)  (int)
  usb.interface.class = 255  (0xff)  (int)
  usb.interface.description = 'Data Interface'  (string)
  usb.interface.number = 0  (0x0)  (int)
  usb.interface.protocol = 255  (0xff)  (int)
  usb.interface.subclass = 255  (0xff)  (int)
  usb.is_self_powered = false  (bool)
  usb.linux.device_number = 2  (0x2)  (int)
  usb.linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1e.0/0000:05:00.0/0000:06:00.0/usb7/7-1/7-1:1.0' 
(string)
  usb.max_power = 100  (0x64)  (int)
  usb.num_configurations = 1  (0x1)  (int)
  usb.num_ports = 0  (0x0)  (int)
  usb.product = 'USB Vendor Specific Interface'  (string)
  usb.product_id = 6106  (0x17da)  (int)
  usb.speed = 12.0 (12) (double)
  usb.speed_bcd = 4608  (0x1200)  (int)
  usb.vendor = 'Kyocera Wireless Corp.'  (string)
  usb.vendor_id = 3208  (0xc88)  (int)
  usb.version = 1.1 (1.1) (double)
  usb.version_bcd = 272  (0x110)  (int)

udi = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if0_serial_usb_1'
  info.capabilities = {'serial', 'modem'} (string list)
  info.category = 'serial'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if0'
 (string)
  info.product = 'Qualcomm Kyocera CDMA Technologies MSM'  (string)
  info.udi =
'/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if0_serial_usb_1' 
(string)
  linux.device_file = '/dev/ttyUSB1'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'tty'  (string)
  linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1e.0/0000:05:00.0/0000:06:00.0/usb7/7-1/7-1:1.0/ttyUSB1/tty/ttyUSB1'
 (string)
  modem.command_sets = {'IS-707-A'} (string list)
  serial.device = '/dev/ttyUSB1'  (string)
  serial.originating_device =
'/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if0'  (string)
  serial.port = 1  (0x1)  (int)
  serial.type = 'usb'  (string)

udi = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if0_serial_usb_0'
  info.capabilities = {'serial', 'modem'} (string list)
  info.category = 'serial'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if0'
 (string)
  info.product = 'Qualcomm Kyocera CDMA Technologies MSM'  (string)
  info.udi =
'/org/freedesktop/Hal/devices/usb_device_c88_17da_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:1e.0/0000:05:00.0/0000:06:00.0/usb7/7-1/7-1:1.0/ttyUSB0/tty/ttyUSB0'
 (string)
  modem.command_sets = {'IS-707-A'} (string list)
  serial.device = '/dev/ttyUSB0'  (string)
  serial.originating_device =
'/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if0'  (string)
  serial.port = 0  (0x0)  (int)
  serial.type = 'usb'  (string)

udi = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if0_serial_usb_2'
  info.capabilities = {'serial', 'modem'} (string list)
  info.category = 'serial'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if0'
 (string)
  info.product = 'Qualcomm Kyocera CDMA Technologies MSM'  (string)
  info.udi =
'/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if0_serial_usb_2' 
(string)
  linux.device_file = '/dev/ttyUSB2'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'tty'  (string)
  linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1e.0/0000:05:00.0/0000:06:00.0/usb7/7-1/7-1:1.0/ttyUSB2/tty/ttyUSB2'
 (string)
  modem.command_sets = {'IS-707-A'} (string list)
  serial.device = '/dev/ttyUSB2'  (string)
  serial.originating_device =
'/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if0'  (string)
  serial.port = 2  (0x2)  (int)
  serial.type = 'usb'  (string)

udi = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if1'
  info.bus = 'usb'  (string)
  info.linux.driver = 'airprime'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial' 
(string)
  info.product = 'USB Vendor Specific Interface'  (string)
  info.subsystem = 'usb'  (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if1' 
(string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'usb'  (string)
  linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1e.0/0000:05:00.0/0000:06:00.0/usb7/7-1/7-1:1.1' 
(string)
  usb.bus_number = 7  (0x7)  (int)
  usb.can_wake_up = true  (bool)
  usb.device_class = 0  (0x0)  (int)
  usb.device_protocol = 0  (0x0)  (int)
  usb.device_revision_bcd = 0  (0x0)  (int)
  usb.device_subclass = 0  (0x0)  (int)
  usb.interface.class = 255  (0xff)  (int)
  usb.interface.description = 'Data Interface'  (string)
  usb.interface.number = 1  (0x1)  (int)
  usb.interface.protocol = 255  (0xff)  (int)
  usb.interface.subclass = 255  (0xff)  (int)
  usb.is_self_powered = false  (bool)
  usb.linux.device_number = 2  (0x2)  (int)
  usb.linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1e.0/0000:05:00.0/0000:06:00.0/usb7/7-1/7-1:1.1' 
(string)
  usb.max_power = 100  (0x64)  (int)
  usb.num_configurations = 1  (0x1)  (int)
  usb.num_ports = 0  (0x0)  (int)
  usb.product = 'USB Vendor Specific Interface'  (string)
  usb.product_id = 6106  (0x17da)  (int)
  usb.speed = 12.0 (12) (double)
  usb.speed_bcd = 4608  (0x1200)  (int)
  usb.vendor = 'Kyocera Wireless Corp.'  (string)
  usb.vendor_id = 3208  (0xc88)  (int)
  usb.version = 1.1 (1.1) (double)
  usb.version_bcd = 272  (0x110)  (int)

udi = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if1_serial_usb_3'
  info.capabilities = {'serial'} (string list)
  info.category = 'serial'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if1'
 (string)
  info.product = 'Qualcomm Kyocera CDMA Technologies MSM'  (string)
  info.udi =
'/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if1_serial_usb_3' 
(string)
  linux.device_file = '/dev/ttyUSB3'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'tty'  (string)
  linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1e.0/0000:05:00.0/0000:06:00.0/usb7/7-1/7-1:1.1/ttyUSB3/tty/ttyUSB3'
 (string)
  serial.device = '/dev/ttyUSB3'  (string)
  serial.originating_device =
'/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if1'  (string)
  serial.port = 3  (0x3)  (int)
  serial.type = 'usb'  (string)

udi = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if1_serial_usb_4'
  info.capabilities = {'serial'} (string list)
  info.category = 'serial'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if1'
 (string)
  info.product = 'Qualcomm Kyocera CDMA Technologies MSM'  (string)
  info.udi =
'/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if1_serial_usb_4' 
(string)
  linux.device_file = '/dev/ttyUSB4'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'tty'  (string)
  linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1e.0/0000:05:00.0/0000:06:00.0/usb7/7-1/7-1:1.1/ttyUSB4/tty/ttyUSB4'
 (string)
  serial.device = '/dev/ttyUSB4'  (string)
  serial.originating_device =
'/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if1'  (string)
  serial.port = 4  (0x4)  (int)
  serial.type = 'usb'  (string)

udi = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if1_serial_usb_5'
  info.capabilities = {'serial'} (string list)
  info.category = 'serial'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if1'
 (string)
  info.product = 'Qualcomm Kyocera CDMA Technologies MSM'  (string)
  info.udi =
'/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if1_serial_usb_5' 
(string)
  linux.device_file = '/dev/ttyUSB5'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'tty'  (string)
  linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1e.0/0000:05:00.0/0000:06:00.0/usb7/7-1/7-1:1.1/ttyUSB5/tty/ttyUSB5'
 (string)
  serial.device = '/dev/ttyUSB5'  (string)
  serial.originating_device =
'/org/freedesktop/Hal/devices/usb_device_c88_17da_noserial_if1'  (string)
  serial.port = 5  (0x5)  (int)
  serial.type = 'usb'  (string)


Comment 4 Dan Williams 2008-03-05 23:30:38 UTC
I guess we need to filter on serial.port=0 for the KPC-650 too; it looks like
USB interface #0 exposes 3!! serial TTYs.  Can you edit the KPC-650's entry in
/usr/share/hal/fdi/information/10freedesktop/10-modem.fdi to look like this instead:

      <!-- Kyocera Wireless KPC650/Passport -->
      <match key="@info.parent:usb.vendor_id" int="0x0c88">
        <match key="@info.parent:usb.product_id" int="0x17da">
          <match key="@info.parent:usb.interface.number" int="0">
            <match key="serial.port" int="0">
              <append key="info.capabilities" type="strlist">modem</append>
              <append key="modem.command_sets" type="strlist">IS-707-A</append>
            </match>
          </match>
        </match>
      </match>

and restart both HAL and NetworkManager.  With this change, there should only be
_one_ device listed (ttyUSB0) that has the 'modem.command_sets = IS-707-A"
capability.  Please verify.  Thanks!

Comment 5 Ulrich Drepper 2008-03-05 23:47:25 UTC
(In reply to comment #4)
> and restart both HAL and NetworkManager.  With this change, there should only be
> _one_ device listed (ttyUSB0) that has the 'modem.command_sets = IS-707-A"
> capability.  Please verify.  Thanks!

I verified that this works as expected.

Comment 6 Dan Williams 2008-03-05 23:51:39 UTC
Moving bug to hal-info since that's where the problem is.

Comment 7 Dan Williams 2008-03-06 00:09:57 UTC
Should be fixed in:

http://koji.fedoraproject.org/koji/taskinfo?taskID=495677

hal-info-20080215-2


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