Fwd: Re: calibre: kindle usb connection problem
Andriy Gapon
avg at FreeBSD.org
Thu Mar 29 17:46:41 UTC 2012
Not sure if the problem is caused by something in the device or by one of the
hal's utilities.
This is what I see in the system log:
Mar 29 20:37:20 trant kernel: ugen2.2: <Amazon> at usbus2
Mar 29 20:37:20 trant kernel: umass0: <Mass Storage> on usbus2
Mar 29 20:37:20 trant kernel: ugen2.2: <Amazon> at usbus2 (disconnected)
Mar 29 20:37:20 trant kernel: umass0: at uhub2, port 6, addr 2 (disconnected)
Mar 29 20:37:22 trant kernel: ugen2.2: <Amazon> at usbus2
Mar 29 20:37:22 trant kernel: umass0: <Mass Storage> on usbus2
Mar 29 20:37:22 trant kernel: da0 at umass-sim0 bus 0 scbus8 target 0 lun 0
Mar 29 20:37:22 trant kernel: da0: <Kindle Internal Storage 0100> Removable
Direct Access SCSI-2 device
Mar 29 20:37:22 trant kernel: da0: 40.000MB/s transfers
Mar 29 20:37:22 trant kernel: da0: 3090MB (6328768 512 byte sectors: 255H 63S/T
393C)
Note how the umass driver attaches, then immediately detaches and two seconds
later attaches again.
Here's hald output from that period:
20:37:17.378 [I] hf-devd.c:316: received devd event: !system=DEVFS
subsystem=CDEV type=CREATE cdev=usb/2.2.0^M
20:37:17.378 [I] hf-devd.c:316: received devd event: !system=DEVFS
subsystem=CDEV type=CREATE cdev=ugen2.2^M
20:37:19.448 [I] hf-devd.c:316: received devd event: !system=DEVFS
subsystem=CDEV type=CREATE cdev=usb/2.2.1^M
20:37:20.576 [I] hf-devd.c:316: received devd event: !system=USB
subsystem=DEVICE type=ATTACH ugen=ugen2.2 cdev=ugen2.2 vendor=0x1949
product=0x0004 devclass=0x00 devsubclass=0x00 sernum="B008A0A00527517D"
release=0x0100 mode=host port=6 parent=ugen2.1^M
20:37:20.577 [I] hf-usb2.c:213: received devd attach event, device ugen=ugen2.2^M
Run started hald-probe-usb2-device (20000) (0) ^M
! full path is '/usr/local/libexec/hald-probe-usb2-device', program_dir is
'/usr/local/libexec'^M
pid 70609: rc=0 signaled=0: /usr/local/libexec/hald-probe-usb2-device^M
20:37:22.640 [I] hald.c:108: Added device to GDL;
udi=/org/freedesktop/Hal/devices/usb_device_1949_4_B008A0A00527517D^M
Run started hald-probe-usb2-interface (20000) (0) ^M
! full path is '/usr/local/libexec/hald-probe-usb2-interface', program_dir is
'/usr/local/libexec'^M
pid 70610: rc=0 signaled=0: /usr/local/libexec/hald-probe-usb2-interface^M
20:37:22.665 [I] hald.c:108: Added device to GDL;
udi=/org/freedesktop/Hal/devices/usb_device_1949_4_B008A0A00527517D_if0^M
20:37:22.666 [I] hf-devd.c:316: received devd event: !system=USB
subsystem=INTERFACE type=ATTACH ugen=ugen2.2 cdev=ugen2.2 vendor=0x1949
product=0x0004 devclass=0x00 devsubclass=0x00 sernum="B008A0A00527517D"
release=0x0100 mode=host interface=0 endpoints=2 intclass=0x08 intsubclass=0x06
intprotocol=0x50^M
20:37:22.666 [I] hf-devd.c:316: received devd event: +umass0 at bus=1 hubaddr=6
port=2 devaddr=2 interface=0 vendor=0x1949 product=0x0004 devclass=0x00
devsubclass=0x00 sernum="B008A0A00527517D" release=0x0100 mode=host
intclass=0x08 intsubclass=0x06 intprotocol=0x50 on uhub2^M
20:37:22.671 [I] hald.c:108: Added device to GDL;
udi=/org/freedesktop/Hal/devices/usb_device_1949_4_B008A0A00527517D_if0_scsi_host^M
20:37:22.681 [I] hf-devd.c:316: received devd event: !system=USB
subsystem=DEVICE type=DETACH ugen=ugen2.2 cdev=ugen2.2 vendor=0x1949
product=0x0004 devclass=0x00 devsubclass=0x00 sernum="B008A0A00527517D"
release=0x0100 mode=host port=6 parent=ugen2.1^M
20:37:22.681 [I] hf-usb2.c:221: received devd detach event, device ugen=ugen2.2^M
20:37:22.682 [I] hald.c:143: Removed device from GDL;
udi=/org/freedesktop/Hal/devices/usb_device_1949_4_B008A0A00527517D_if0_scsi_host^M
20:37:22.682 [I] hald.c:143: Removed device from GDL;
udi=/org/freedesktop/Hal/devices/usb_device_1949_4_B008A0A00527517D_if0^M
20:37:22.683 [I] hald.c:143: Removed device from GDL;
udi=/org/freedesktop/Hal/devices/usb_device_1949_4_B008A0A00527517D^M
20:37:22.685 [I] hf-devd.c:316: received devd event: !system=USB
subsystem=INTERFACE type=DETACH ugen=ugen2.2 cdev=ugen2.2 vendor=0x1949
product=0x0004 devclass=0x00 devsubclass=0x00 sernum="B008A0A00527517D"
release=0x0100 mode=host interface=0 endpoints=2 intclass=0x08 intsubclass=0x06
intprotocol=0x50^M
20:37:22.685 [I] hf-devd.c:316: received devd event: !system=DEVFS
subsystem=CDEV type=DESTROY cdev=ugen2.2^M
20:37:23.188 [I] hald.c:108: Added device to GDL;
udi=/org/freedesktop/Hal/devices/computer_scsi_host_6^M
20:37:23.190 [I] hald.c:108: Added device to GDL;
udi=/org/freedesktop/Hal/devices/computer_scsi_host_6_scsi_device_lun0^M
Run started hald-probe-scsi (20000) (0) ^M
Note how computer_scsi_host_6 device is getting inserted when
usb_device_1949_4_B008A0A00527517D_if0_scsi_host is removed.
I think that this is where the USB ancestry information is lost.
on 29/03/2012 20:26 Andriy Gapon said the following:
>
>
> -------- Original Message --------
> Message-ID: <4F749AD1.7020703 at FreeBSD.org>
> Date: Thu, 29 Mar 2012 20:24:33 +0300
> From: Andriy Gapon <avg at FreeBSD.org>
> Subject: Re: calibre: kindle usb connection problem
> References: <4F749941.8070704 at FreeBSD.org>
>
> on 29/03/2012 20:17 Andriy Gapon said the following:
>>
>> Looks like calibre is no longer able to detect my Kindle via USB (calibre is at
>> version 0.8.40).
>> The problem seems to be that the umass<->da relationship is not reflected in the
>> HAL device hierarchy in the way that calibre expects.
>>
>> This is the ancestry line for the Kindle da device:
>
> Now even weirder stuff. I disconnected/reconnected the Kindle and now it is
> directly under the computer device:
> udi = '/org/freedesktop/Hal/devices/computer_storage'
> block.device = '/dev/da0' (string)
> block.is_volume = false (bool)
> block.major = 0 (0x0) (int)
> block.minor = 232 (0xe8) (int)
> block.storage_device = '/org/freedesktop/Hal/devices/computer_storage' (string)
> freebsd.device_file = '/dev/da0' (string)
> freebsd.driver = 'da' (string)
> freebsd.unit = 0 (0x0) (int)
> info.capabilities = {'block', 'storage'} (string list)
> info.category = 'storage' (string)
> info.parent = '/org/freedesktop/Hal/devices/computer' (string)
> info.product = 'Storage Device' (string)
> info.subsystem = 'block' (string)
> info.udi = '/org/freedesktop/Hal/devices/computer_storage' (string)
> storage.automount_enabled_hint = true (bool)
> storage.bus = 'platform' (string)
> storage.drive_type = 'disk' (string)
> storage.hotpluggable = false (bool)
> storage.media_check_enabled = false (bool)
> storage.model = '' (string)
> storage.no_partitions_hint = false (bool)
> storage.originating_device = '' (string)
> storage.removable = false (bool)
> storage.removable.support_async_notification = false (bool)
> storage.requires_eject = false (bool)
> storage.vendor = '' (string)
>
> camcontrol sees it properly:
> amcontrol devlist -v
> scbus0 on ahcich0 bus 0:
> <ST3500410AS CC34> at scbus0 target 0 lun 0 (pass0,ada0)
> <> at scbus0 target -1 lun -1 ()
> scbus1 on ahcich1 bus 0:
> <ST3500418AS CC34> at scbus1 target 0 lun 0 (pass1,ada1)
> <> at scbus1 target -1 lun -1 ()
> scbus2 on ahcich2 bus 0:
> <WDC WD4000AAKS-00YGA0 12.01C02> at scbus2 target 0 lun 0 (pass2,ada2)
> <> at scbus2 target -1 lun -1 ()
> scbus3 on ahcich3 bus 0:
> <> at scbus3 target -1 lun -1 ()
> scbus4 on ahcich4 bus 0:
> <> at scbus4 target -1 lun -1 ()
> scbus5 on ahcich5 bus 0:
> <Optiarc DVD RW AD-7191S 1.02> at scbus5 target 0 lun 0 (pass3,cd0)
> <> at scbus5 target -1 lun -1 ()
> scbus6 on ata0 bus 0:
> <> at scbus6 target -1 lun -1 ()
> scbus7 on sbp0 bus 0:
> <> at scbus7 target -1 lun -1 ()
> scbus8 on umass-sim0 bus 0:
> <Kindle Internal Storage 0100> at scbus8 target 0 lun 0 (da0,pass4)
> scbus-1 on xpt0 bus 0:
> <> at scbus-1 target -1 lun -1 (xpt0)
>
>
>> udi = '/org/freedesktop/Hal/devices/computer_scsi_host_6'
>> info.parent = '/org/freedesktop/Hal/devices/computer' (string)
>> info.product = 'SCSI Host Adapter' (string)
>> info.subsystem = 'scsi_host' (string)
>> info.udi = '/org/freedesktop/Hal/devices/computer_scsi_host_6' (string)
>> scsi_host.host = 8 (0x8) (int)
>>
>> udi = '/org/freedesktop/Hal/devices/computer_scsi_host_6_scsi_device_lun0'
>> info.parent = '/org/freedesktop/Hal/devices/computer_scsi_host_6' (string)
>> info.product = 'SCSI Device' (string)
>> info.subsystem = 'scsi' (string)
>> info.udi =
>> '/org/freedesktop/Hal/devices/computer_scsi_host_6_scsi_device_lun0' (string)
>> info.vendor = 'Kindle' (string)
>> scsi.bus = 8 (0x8) (int)
>> scsi.host = 8 (0x8) (int)
>> scsi.lun = 0 (0x0) (int)
>> scsi.model = 'Internal Storage' (string)
>> scsi.target = 0 (0x0) (int)
>> scsi.type = 'disk' (string)
>> scsi.vendor = 'Kindle' (string)
>>
>> udi = '/org/freedesktop/Hal/devices/storage_model_Internal_Storage'
>> block.device = '/dev/da0' (string)
>> block.freebsd.cam_path = '8,0,0' (string)
>> block.is_volume = false (bool)
>> block.major = 0 (0x0) (int)
>> block.minor = 232 (0xe8) (int)
>> block.storage_device =
>> '/org/freedesktop/Hal/devices/storage_model_Internal_Storage' (string)
>> freebsd.device_file = '/dev/da0' (string)
>> freebsd.driver = 'da' (string)
>> freebsd.unit = 0 (0x0) (int)
>> info.addons = {'hald-addon-storage'} (string list)
>> info.capabilities = {'block', 'storage'} (string list)
>> info.category = 'storage' (string)
>> info.interfaces = {'org.freedesktop.Hal.Device.Storage.Removable'} (string list)
>> info.parent =
>> '/org/freedesktop/Hal/devices/computer_scsi_host_6_scsi_device_lun0' (string)
>> info.product = 'Internal Storage' (string)
>> info.subsystem = 'block' (string)
>> info.udi = '/org/freedesktop/Hal/devices/storage_model_Internal_Storage' (string)
>> info.vendor = 'Kindle' (string)
>> storage.automount_enabled_hint = true (bool)
>> storage.bus = 'scsi' (string)
>> storage.drive_type = 'disk' (string)
>> storage.firmware_revision = '0100' (string)
>> storage.hotpluggable = false (bool)
>> storage.lun = 0 (0x0) (int)
>> storage.media_check_enabled = true (bool)
>> storage.model = 'Internal Storage' (string)
>> storage.no_partitions_hint = false (bool)
>> storage.originating_device =
>> '/org/freedesktop/Hal/devices/computer_scsi_host_6_scsi_device_lun0' (string)
>> storage.removable = true (bool)
>> storage.removable.support_async_notification = false (bool)
>> storage.requires_eject = false (bool)
>> storage.vendor = 'Kindle' (string)
>>
>> Here is the umass device:
>>
>> udi = '/org/freedesktop/Hal/devices/usb_device_1949_4_B008A0A00527517D_if0'
>> freebsd.driver = 'umass' (string)
>> freebsd.unit = 0 (0x0) (int)
>> info.bus = 'usb' (string)
>> info.parent =
>> '/org/freedesktop/Hal/devices/usb_device_1949_4_B008A0A00527517D' (string)
>> info.product = 'Amazon Kindle' (string)
>> info.subsystem = 'usb' (string)
>> info.udi =
>> '/org/freedesktop/Hal/devices/usb_device_1949_4_B008A0A00527517D_if0' (string)
>> info.vendor = 'Amazon' (string)
>> usb.bus_number = 2 (0x2) (int)
>> usb.can_wake_up = false (bool)
>> usb.configuration = 'Self-powered' (string)
>> usb.configuration_value = 1 (0x1) (int)
>> usb.device_class = 0 (0x0) (int)
>> usb.device_protocol = 0 (0x0) (int)
>> usb.device_revision_bcd = 256 (0x100) (int)
>> usb.device_subclass = 0 (0x0) (int)
>> usb.freebsd.devname = 'umass0' (string)
>> usb.interface.class = 8 (0x8) (int)
>> usb.interface.description = 'Mass Storage' (string)
>> usb.interface.number = 0 (0x0) (int)
>> usb.interface.protocol = 80 (0x50) (int)
>> usb.interface.subclass = 6 (0x6) (int)
>> usb.is_self_powered = true (bool)
>> usb.level_number = 1 (0x1) (int)
>> usb.max_power = 0 (0x0) (int)
>> usb.num_configurations = 1 (0x1) (int)
>> usb.num_interfaces = 1 (0x1) (int)
>> usb.num_ports = 0 (0x0) (int)
>> usb.port_number = 2 (0x2) (int)
>> usb.product = 'Amazon Kindle' (string)
>> usb.product_id = 4 (0x4) (int)
>> usb.serial = 'B008A0A00527517D' (string)
>> usb.speed = 480.0 (480) (double)
>> usb.speed_bcd = 294912 (0x48000) (int)
>> usb.vendor = 'Amazon' (string)
>> usb.vendor_id = 6473 (0x1949) (int)
>> usb.version = 2.0 (2) (double)
>>
>> What do you think?
>> Is this a FreeBSD HAL problem?
>>
>
--
Andriy Gapon
More information about the freebsd-gnome
mailing list