Bug 468692
| Summary: | No longer getting printer devices | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Tim Waugh <twaugh> | ||||
| Component: | hal | Assignee: | Richard Hughes <richard> | ||||
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | rawhide | CC: | pertusus, rhughes, richard | ||||
| Target Milestone: | --- | Keywords: | Patch | ||||
| Target Release: | --- | ||||||
| Hardware: | All | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2008-10-27 17:54:48 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | |||||||
| Bug Blocks: | 438943, 468408 | ||||||
| Attachments: |
|
||||||
|
Description
Tim Waugh
2008-10-27 14:00:23 UTC
Here's a 'diff good-tree bad-tree' from 'lshal -t' output:
@@ -1,6 +1,7 @@
computer
- computer_logicaldev_input
+ net_9e_f2_49_24_ac_23
computer_logicaldev_input_0
+ computer_logicaldev_input
computer_alsa_timer
computer_oss_sequencer_0
computer_oss_sequencer
@@ -8,11 +9,13 @@
computer_logicaldev_input_1
acpi_CPU0
acpi_CPU1
+ net_computer_loopback
pnp_PNP0c02
pnp_PNP0c01_0
pnp_PNP0501
pnp_PNP0501_serial_platform_0
pnp_PNP0401
+ ppdev_parport0
pnp_PNP0700
pnp_PNP0b00
pnp_PNP0800
@@ -46,16 +49,16 @@
pci_8086_27c1_scsi_host_scsi_host
pci_8086_27c1_scsi_host_scsi_device_lun0
storage_serial_SATA_WDC_WD800GD_75F_WD_WMAKE2520002
- volume_uuid_9ef7a062_e8de_4c8d_be19_b09b82fe74d1
volume_uuid_3c2996eb_4f80_4c31_86f3_94dec4fa03be
volume_uuid_ef4d79c3_5a5a_4108_a814_48543ec16a7b
+ volume_uuid_9ef7a062_e8de_4c8d_be19_b09b82fe74d1
pci_8086_27c1_scsi_host_scsi_device_lun0_scsi_generic
pci_8086_27df
pci_8086_27df_scsi_host_0
pci_8086_27df_scsi_host
pci_8086_27df_scsi_host_scsi_host
pci_8086_27df_scsi_host_scsi_device_lun0
- storage_model_HL_DT_ST_DVD___RW_GWA4164B
+ storage_model_DVD__RW_GWA4164B
pci_8086_27df_scsi_host_scsi_device_lun0_scsi_generic
pci_8086_27b8
pci_8086_244e
@@ -66,7 +69,7 @@
usb_device_50d_234_noserial
usb_device_3f0_3304_US05N1J00XLG
usb_device_3f0_3304_US05N1J00XLG_if0
- usb_device_3f0_3304_US05N1J00XLG_if0_printer_US05N1J00XLG
+ usb_device_ffffffff_ffffffff_noserial
usb_device_50d_234_noserial_if0
usb_device_1d6b_2_0000_00_1d_7_if0
pci_8086_27cb
This last hunk seems to be the most relevant.
Here's the good entry (minus the hal_lpadmin-added parts):
udi = '/org/freedesktop/Hal/devices/usb_device_3f0_3304_US05N1J00XLG_if0_printer
_US05N1J00XLG'
info.bus = 'usb' (string)
info.capabilities = {'printer'} (string list)
info.category = 'printer' (string)
info.interfaces = {'org.freedesktop.Hal.Device.Printer'} (string list)
info.parent = '/org/freedesktop/Hal/devices/usb_device_3f0_3304_US05N1J00XLG_i
f0' (string)
info.product = 'DESKJET 990C' (string)
info.subsystem = 'usb' (string)
info.udi = '/org/freedesktop/Hal/devices/usb_device_3f0_3304_US05N1J00XLG_if0_
printer_US05N1J00XLG' (string)
info.vendor = 'HEWLETT-PACKARD' (string)
linux.device_file = '/dev/usb/lp0' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'usb' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1.2/1-1.2:
1.0/usb/lp0' (string)
printer.commandset = {'MLC', 'PCL', 'PML'} (string list)
printer.description = 'Hewlett-Packard DeskJet 990C' (string)
printer.device = '/dev/usb/lp0' (string)
printer.originating_device = '/org/freedesktop/Hal/devices/usb_device_3f0_3304
_US05N1J00XLG_if0' (string)
printer.product = 'DESKJET 990C' (string)
printer.serial = 'US05N1J00XLG' (string)
printer.vendor = 'HEWLETT-PACKARD' (string)
and here's the bad entry:
udi = '/org/freedesktop/Hal/devices/usb_device_ffffffff_ffffffff_noserial'
info.bus = 'usb_device' (string)
info.parent = '/org/freedesktop/Hal/devices/usb_device_3f0_3304_US05N1J00XLG_i
f0' (string)
info.product = 'Unknown (0xffffffff)' (string)
info.subsystem = 'usb_device' (string)
info.udi = '/org/freedesktop/Hal/devices/usb_device_ffffffff_ffffffff_noserial
' (string)
info.vendor = 'Unknown (0xffffffff)' (string)
linux.device_file = '/dev/usb/lp0' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'usb' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1.2/1-1.2:
1.0/usb/lp0' (string)
usb_device.bus_number = 0 (0x0) (int)
usb_device.can_wake_up = false (bool)
usb_device.is_self_powered = false (bool)
usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-1/1
-1.2/1-1.2:1.0/usb/lp0' (string)
I tried commenting out the ppdev support but still no luck. Reverting all of the hald/linux/device.c changes fixes it. Created attachment 321624 [details]
hal-device-ordering.patch
Oh, it's the re-ordering that's causing it. Here's a patch that fixes it.
I've committed this upstream. I'll make a HAL snapshot now that includes this and build it into rawhide. Request from Danny (upstream) -- "Would it be possible to get a verbose log from startup in the 'bad case'?" Thanks dude. If not, I can try and reproduce using a local git snapshot. Sure. Let me know what I need to do for that. |