Hal crashes when connect usb device.
David Teyssiere Rubio
dteyssiere at emergya.es
Wed Jun 27 03:56:56 PDT 2007
Hello all,
I'm using a relatively new device on linux and when connect that device
hal crashes. There is my data:
SYSTEM
- Ubuntu Linux 2.6.20-15 kernel
- hal 0.5.7.1
- udev 0.93
DEVICE
- Huawei E220 hsdpa modem with a flash memory built-in
For make run this device I have created a udev rule that is:
SYSFS{idVendor}=="12d1", SYSFS{idProduct}=="1003", RUN
+="/usr/sbin/huaweiAktBbo"
This is because this device has a built-in flash memory and kernel
identify this how usb-storage and modem is hidden. Running huaweiAktBbo
program releases the driver usb-storage attached to device and attach to
correct usbserial (in this case driver option).
When I connect the Huawei E220 modem HAL crashes with "error:
libhal_ctx_init: (null): (null)" and this is the verbose in syslog:
13:14:45.326 [I] osspec.c:232: SEQNUM=3092, ACTION=add, SUBSYSTEM=usb,
DEVPATH=/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1, DEVNAME=,
IFINDEX=0
13:14:45.326 [I]
hotplug.c:175: /sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1 is a bus
device (subsystem)
13:14:45.326 [I] physdev.c:1511: phys_add: subsys=usb
sysfs_path=/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1,
parent=0x00000000
13:14:45.329 [E] util.c:463: Cannot open
'/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/serial'
13:14:45.329 [E] util.c:463: Cannot open
'/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/serial'
13:14:45.372 [I] physdev.c:1436: Add callouts completed
udi=/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial
13:14:45.373 [I] hald.c:82: Added device to GDL;
udi=/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial
13:14:45.373 [I] osspec.c:232: SEQNUM=3093, ACTION=add,
SUBSYSTEM=usb_endpoint, DEVPATH=/sys/class/usb_endpoint/usbdev1.22_ep00,
DEVNAME=/dev/usbdev1.22_ep00, IFINDEX=0
13:14:45.373 [I] hotplug.c:178: /sys/class/usb_endpoint/usbdev1.22_ep00
is a class device (subsystem)
13:14:45.374 [I] classdev.c:1348: class_add: subsys=usb_endpoint
sysfs_path=/sys/class/usb_endpoint/usbdev1.22_ep00
dev=/dev/usbdev1.22_ep00 physdev=0x08087c38
13:14:45.374 [I] osspec.c:232: SEQNUM=3096, ACTION=add, SUBSYSTEM=tty,
DEVPATH=/sys/class/tty/ttyUSB0, DEVNAME=/dev/ttyUSB0, IFINDEX=0
13:14:45.374 [I] hotplug.c:178: /sys/class/tty/ttyUSB0 is a class device
(subsystem)
13:14:45.374 [I] classdev.c:1348: class_add: subsys=tty
sysfs_path=/sys/class/tty/ttyUSB0 dev=/dev/ttyUSB0 physdev=0x08087c38
Segmentation fault
run-parts: /etc/dbus-1/event.d/20hal exited with return code 139
This always no happen, if I reboot my system, the first time that I
connect the device, anytimes, not always, the device run ok but if I
unplug and plug the device I obtain the error above. If hal no crashes
the lshal is:
Dumping 17 device(s) from the Global Device List:
-------------------------------------------------
udi = '/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial'
info.udi =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial' (string)
linux.subsystem = 'usb' (string)
linux.hotplug_type = 1 (0x1) (int)
usb_device.bus_number = 1 (0x1) (int)
usb_device.can_wake_up = true (bool)
usb_device.is_self_powered = false (bool)
usb_device.version_bcd = 272 (0x110) (int)
usb_device.speed_bcd = 4608 (0x1200) (int)
usb_device.linux.device_number = 2 (0x2) (int)
usb_device.num_ports = 0 (0x0) (int)
usb_device.max_power = 500 (0x1f4) (int)
usb_device.device_revision_bcd = 0 (0x0) (int)
info.product = 'HUAWEI Mobile' (string)
usb_device.product = 'HUAWEI Mobile' (string)
info.vendor = 'HUAWEI Technologies' (string)
usb_device.vendor = 'HUAWEI Technologies' (string)
usb_device.product_id = 4099 (0x1003) (int)
usb_device.vendor_id = 4817 (0x12d1) (int)
usb_device.device_protocol = 0 (0x0) (int)
usb_device.device_subclass = 0 (0x0) (int)
usb_device.device_class = 0 (0x0) (int)
usb_device.num_interfaces = 3 (0x3) (int)
usb_device.num_configurations = 1 (0x1) (int)
usb_device.configuration_value = 1 (0x1) (int)
usb_device.linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1' (string)
info.linux.driver = 'usb' (string)
info.bus = 'usb_device' (string)
linux.sysfs_path_device =
'/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1'
(string)
udi =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_usbraw'
info.udi =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_usbraw'
(string)
linux.device_file = '/dev/bus/usb/001/002' (string)
linux.subsystem = 'usb_device' (string)
linux.hotplug_type = 2 (0x2) (int)
usbraw.device = '/dev/bus/usb/001/002' (string)
info.product = 'USB Raw Device Access' (string)
info.capabilities = {'usbraw'} (string list)
info.category = 'usbraw' (string)
info.parent =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial' (string)
linux.sysfs_path = '/sys/class/usb_device/usbdev1.2' (string)
udi = '/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if2'
info.linux.driver = 'option1' (string)
info.udi =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if2'
(string)
linux.subsystem = 'usb' (string)
linux.hotplug_type = 1 (0x1) (int)
info.product = 'USB Mass Storage Interface' (string)
usb.interface.protocol = 80 (0x50) (int)
usb.interface.subclass = 6 (0x6) (int)
usb.interface.class = 8 (0x8) (int)
usb.interface.number = 2 (0x2) (int)
usb.linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1:1.2' (string)
usb.configuration_value = 1 (0x1) (int)
usb.num_configurations = 1 (0x1) (int)
usb.num_interfaces = 3 (0x3) (int)
usb.device_class = 0 (0x0) (int)
usb.device_subclass = 0 (0x0) (int)
usb.device_protocol = 0 (0x0) (int)
usb.vendor_id = 4817 (0x12d1) (int)
usb.product_id = 4099 (0x1003) (int)
usb.vendor = 'HUAWEI Technologies' (string)
usb.product = 'USB Mass Storage Interface' (string)
usb.device_revision_bcd = 0 (0x0) (int)
usb.max_power = 500 (0x1f4) (int)
usb.num_ports = 0 (0x0) (int)
usb.linux.device_number = 2 (0x2) (int)
usb.speed_bcd = 4608 (0x1200) (int)
usb.version_bcd = 272 (0x110) (int)
usb.is_self_powered = false (bool)
usb.can_wake_up = true (bool)
usb.bus_number = 1 (0x1) (int)
info.bus = 'usb' (string)
info.parent =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial' (string)
linux.sysfs_path_device =
'/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1:1.2' (string)
linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1:1.2' (string)
udi =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if2_serial_usb_2'
info.udi =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if2_serial_usb_2' (string)
linux.device_file = '/dev/ttyUSB2' (string)
linux.subsystem = 'tty' (string)
linux.hotplug_type = 2 (0x2) (int)
info.product = 'HUAWEI Mobile' (string)
serial.type = 'usb' (string)
serial.port = 2 (0x2) (int)
serial.device = '/dev/ttyUSB2' (string)
serial.physical_device =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if2'
(string)
info.capabilities = {'serial'} (string list)
info.category = 'serial' (string)
info.parent =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if2'
(string)
linux.sysfs_path = '/sys/class/tty/ttyUSB2' (string)
udi = '/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if1'
info.linux.driver = 'option1' (string)
info.udi =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if1'
(string)
linux.subsystem = 'usb' (string)
linux.hotplug_type = 1 (0x1) (int)
info.product = 'USB Vendor Specific Interface' (string)
usb.interface.protocol = 255 (0xff) (int)
usb.interface.subclass = 255 (0xff) (int)
usb.interface.class = 255 (0xff) (int)
usb.interface.number = 1 (0x1) (int)
usb.linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1:1.1' (string)
usb.configuration_value = 1 (0x1) (int)
usb.num_configurations = 1 (0x1) (int)
usb.num_interfaces = 3 (0x3) (int)
usb.device_class = 0 (0x0) (int)
usb.device_subclass = 0 (0x0) (int)
usb.device_protocol = 0 (0x0) (int)
usb.vendor_id = 4817 (0x12d1) (int)
usb.product_id = 4099 (0x1003) (int)
usb.vendor = 'HUAWEI Technologies' (string)
usb.product = 'USB Vendor Specific Interface' (string)
usb.device_revision_bcd = 0 (0x0) (int)
usb.max_power = 500 (0x1f4) (int)
usb.num_ports = 0 (0x0) (int)
usb.linux.device_number = 2 (0x2) (int)
usb.speed_bcd = 4608 (0x1200) (int)
usb.version_bcd = 272 (0x110) (int)
usb.is_self_powered = false (bool)
usb.can_wake_up = true (bool)
usb.bus_number = 1 (0x1) (int)
info.bus = 'usb' (string)
info.parent =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial' (string)
linux.sysfs_path_device =
'/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1:1.1' (string)
linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1:1.1' (string)
udi =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if1_serial_usb_1'
info.udi =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if1_serial_usb_1' (string)
linux.device_file = '/dev/ttyUSB1' (string)
linux.subsystem = 'tty' (string)
linux.hotplug_type = 2 (0x2) (int)
info.product = 'HUAWEI Mobile' (string)
serial.type = 'usb' (string)
serial.port = 1 (0x1) (int)
serial.device = '/dev/ttyUSB1' (string)
serial.physical_device =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if1'
(string)
info.capabilities = {'serial'} (string list)
info.category = 'serial' (string)
info.parent =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if1'
(string)
linux.sysfs_path = '/sys/class/tty/ttyUSB1' (string)
udi = '/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if0'
info.linux.driver = 'option1' (string)
info.udi =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if0'
(string)
linux.subsystem = 'usb' (string)
linux.hotplug_type = 1 (0x1) (int)
info.product = 'USB Vendor Specific Interface' (string)
usb.interface.protocol = 255 (0xff) (int)
usb.interface.subclass = 255 (0xff) (int)
usb.interface.class = 255 (0xff) (int)
usb.interface.number = 0 (0x0) (int)
usb.linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1:1.0' (string)
usb.configuration_value = 1 (0x1) (int)
usb.num_configurations = 1 (0x1) (int)
usb.num_interfaces = 3 (0x3) (int)
usb.device_class = 0 (0x0) (int)
usb.device_subclass = 0 (0x0) (int)
usb.device_protocol = 0 (0x0) (int)
usb.vendor_id = 4817 (0x12d1) (int)
usb.product_id = 4099 (0x1003) (int)
usb.vendor = 'HUAWEI Technologies' (string)
usb.product = 'USB Vendor Specific Interface' (string)
usb.device_revision_bcd = 0 (0x0) (int)
usb.max_power = 500 (0x1f4) (int)
usb.num_ports = 0 (0x0) (int)
usb.linux.device_number = 2 (0x2) (int)
usb.speed_bcd = 4608 (0x1200) (int)
usb.version_bcd = 272 (0x110) (int)
usb.is_self_powered = false (bool)
usb.can_wake_up = true (bool)
usb.bus_number = 1 (0x1) (int)
info.bus = 'usb' (string)
info.parent =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial' (string)
linux.sysfs_path_device =
'/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1:1.0' (string)
linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1:1.0' (string)
udi =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if0_serial_usb_0'
info.udi =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if0_serial_usb_0' (string)
linux.device_file = '/dev/ttyUSB0' (string)
linux.subsystem = 'tty' (string)
linux.hotplug_type = 2 (0x2) (int)
info.product = 'HUAWEI Mobile' (string)
serial.type = 'usb' (string)
serial.port = 0 (0x0) (int)
serial.device = '/dev/ttyUSB0' (string)
serial.physical_device =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if0'
(string)
info.capabilities = {'serial'} (string list)
info.category = 'serial' (string)
info.parent =
'/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if0'
(string)
linux.sysfs_path = '/sys/class/tty/ttyUSB0' (string)
udi = '/org/freedesktop/Hal/devices/computer'
info.callouts.add = {'hal-system-storage-cleanup-mountpoints'} (string
list)
storage.policy.default.mount_option.exec = true (bool)
org.freedesktop.Hal.Device.SystemPowerManagement.method_execpaths =
{'hal-system-power-suspend', 'hal-system-power-hibernate',
'hal-system-power-shutdown', 'hal-system-power-reboot',
'hal-system-power-set-power-save'} (string list)
org.freedesktop.Hal.Device.SystemPowerManagement.method_signatures =
{'i', '', '', '', 'b'} (string list)
org.freedesktop.Hal.Device.SystemPowerManagement.method_names =
{'Suspend', 'Hibernate', 'Shutdown', 'Reboot', 'SetPowerSave'} (string
list)
info.interfaces = {'org.freedesktop.Hal.Device.SystemPowerManagement'}
(string list)
info.addons = {'hald-addon-acpi'} (string list)
system.product = 'Inspiron 4150' (string)
system.vendor = 'Dell Computer Corporation' (string)
smbios.chassis.type = 'Portable' (string)
smbios.chassis.manufacturer = 'Dell Computer Corporation' (string)
smbios.system.uuid = '44454C4C-3400-1054-804B-CAC04F50304A' (string)
smbios.system.serial = 'J4TKP0J' (string)
smbios.system.version = 'Not Specified' (string)
smbios.system.product = 'Inspiron 4150' (string)
smbios.system.manufacturer = 'Dell Computer Corporation' (string)
smbios.bios.release_date = '01/24/2003' (string)
smbios.bios.version = 'A05' (string)
smbios.bios.vendor = 'Dell Computer Corporation' (string)
power_management.can_suspend_to_disk = true (bool)
power_management.can_suspend_to_ram = true (bool)
system.formfactor = 'laptop' (string)
power_management.acpi.linux.version = '20060707' (string)
power_management.type = 'acpi' (string)
system.kernel.machine = 'i686' (string)
system.kernel.version = '2.6.20-15-generic' (string)
system.kernel.name = 'Linux' (string)
info.udi = '/org/freedesktop/Hal/devices/computer' (string)
info.product = 'Computer' (string)
linux.sysfs_path_device = '(none)' (string)
info.bus = 'unknown' (string)
udi = '/org/freedesktop/Hal/devices/platform_bluetooth'
info.udi = '/org/freedesktop/Hal/devices/platform_bluetooth' (string)
linux.subsystem = 'platform' (string)
linux.hotplug_type = 1 (0x1) (int)
info.product = 'Platform Device (bluetooth)' (string)
platform.id = 'bluetooth' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
info.bus = 'platform' (string)
linux.sysfs_path_device = '/sys/devices/platform/bluetooth' (string)
linux.sysfs_path = '/sys/devices/platform/bluetooth' (string)
udi = '/org/freedesktop/Hal/devices/acpi_SBTN'
info.udi = '/org/freedesktop/Hal/devices/acpi_SBTN' (string)
linux.hotplug_type = 4 (0x4) (int)
button.has_state = false (bool)
info.capabilities = {'button'} (string list)
info.category = 'button' (string)
info.product = 'Sleep Button' (string)
button.type = 'sleep' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
linux.acpi_type = 10 (0xa) (int)
linux.acpi_path = '/proc/acpi/button/sleep/SBTN' (string)
udi = '/org/freedesktop/Hal/devices/acpi_PBTN'
info.udi = '/org/freedesktop/Hal/devices/acpi_PBTN' (string)
linux.hotplug_type = 4 (0x4) (int)
button.has_state = false (bool)
info.capabilities = {'button'} (string list)
info.category = 'button' (string)
info.product = 'Power Button' (string)
button.type = 'power' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
linux.acpi_type = 10 (0xa) (int)
linux.acpi_path = '/proc/acpi/button/power/PBTN' (string)
udi = '/org/freedesktop/Hal/devices/acpi_LID'
info.udi = '/org/freedesktop/Hal/devices/acpi_LID' (string)
linux.hotplug_type = 4 (0x4) (int)
button.has_state = true (bool)
button.state.value = false (bool)
info.capabilities = {'button'} (string list)
info.category = 'button' (string)
info.product = 'Lid Switch' (string)
button.type = 'lid' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
linux.acpi_type = 10 (0xa) (int)
linux.acpi_path = '/proc/acpi/button/lid/LID' (string)
udi = '/org/freedesktop/Hal/devices/acpi_AC'
info.udi = '/org/freedesktop/Hal/devices/acpi_AC' (string)
linux.hotplug_type = 4 (0x4) (int)
ac_adapter.present = true (bool)
info.capabilities = {'ac_adapter'} (string list)
info.category = 'ac_adapter' (string)
info.product = 'AC Adapter' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
linux.acpi_type = 3 (0x3) (int)
linux.acpi_path = '/proc/acpi/ac_adapter/AC' (string)
udi = '/org/freedesktop/Hal/devices/acpi_CPU0'
info.udi = '/org/freedesktop/Hal/devices/acpi_CPU0' (string)
linux.hotplug_type = 4 (0x4) (int)
processor.can_throttle = true (bool)
processor.number = 0 (0x0) (int)
info.capabilities = {'processor'} (string list)
info.category = 'processor' (string)
info.product = 'Processor' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
linux.acpi_type = 1 (0x1) (int)
linux.acpi_path = '/proc/acpi/processor/CPU0' (string)
udi = '/org/freedesktop/Hal/devices/acpi_BAT0'
info.udi = '/org/freedesktop/Hal/devices/acpi_BAT0' (string)
linux.hotplug_type = 4 (0x4) (int)
battery.charge_level.percentage = 100 (0x64) (int)
battery.charge_level.rate = 0 (0x0) (int)
battery.charge_level.last_full = 36290 (0x8dc2) (int)
battery.charge_level.current = 36290 (0x8dc2) (int)
battery.voltage.current = 16399 (0x400f) (int)
battery.reporting.rate = 0 (0x0) (int)
battery.reporting.current = 65120 (0xfe60) (int)
battery.charge_level.capacity_state = 'ok' (string)
battery.rechargeable.is_discharging = false (bool)
battery.rechargeable.is_charging = false (bool)
battery.is_rechargeable = true (bool)
battery.alarm.unit = 'mWh' (string)
battery.alarm.design = 3000 (0xbb8) (int)
battery.charge_level.unit = 'mWh' (string)
battery.charge_level.granularity_2 = 200 (0xc8) (int)
battery.charge_level.granularity_1 = 200 (0xc8) (int)
battery.charge_level.low = 1000 (0x3e8) (int)
battery.charge_level.warning = 3000 (0xbb8) (int)
battery.charge_level.design = 65120 (0xfe60) (int)
battery.voltage.design = 14800 (0x39d0) (int)
battery.voltage.unit = 'mV' (string)
battery.reporting.granularity_2 = 200 (0xc8) (int)
battery.reporting.granularity_1 = 200 (0xc8) (int)
battery.reporting.low = 1000 (0x3e8) (int)
battery.reporting.warning = 3000 (0xbb8) (int)
battery.reporting.design = 65120 (0xfe60) (int)
battery.reporting.last_full = 36290 (0x8dc2) (int)
battery.reporting.unit = 'mWh' (string)
battery.technology = 'LION' (string)
battery.serial = '6593' (string)
battery.model = 'CGR-B/858' (string)
battery.vendor = 'Panasonic' (string)
battery.present = true (bool)
info.capabilities = {'battery'} (string list)
info.category = 'battery' (string)
battery.type = 'primary' (string)
info.product = 'Battery Bay' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
linux.acpi_type = 0 (0x0) (int)
linux.acpi_path = '/proc/acpi/battery/BAT0' (string)
udi = '/org/freedesktop/Hal/devices/acpi_BAT1'
info.udi = '/org/freedesktop/Hal/devices/acpi_BAT1' (string)
linux.hotplug_type = 4 (0x4) (int)
battery.present = false (bool)
info.capabilities = {'battery'} (string list)
info.category = 'battery' (string)
battery.type = 'primary' (string)
info.product = 'Battery Bay' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
linux.acpi_type = 0 (0x0) (int)
linux.acpi_path = '/proc/acpi/battery/BAT1' (string)
Dumped 17 device(s) from the Global Device List.
------------------------------------------------
Device is
the /org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial. Why no
have parent??
Anyone knows what is happening?? I can fix easyly withour new version of
packages or kernel or patching? Exists any workaround for this?
Thanks very much in advance.
More information about the hal
mailing list