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.
Created attachment 296948 [details] /var/log/messages content related to insertion of the card
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'.
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)
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!
(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.
Moving bug to hal-info since that's where the problem is.
Should be fixed in: http://koji.fedoraproject.org/koji/taskinfo?taskID=495677 hal-info-20080215-2