Ilya Bakulin
2008-05-06 13:53:27 UTC
Hi,
Could anyone tell me, what is the purpose of usb-rndis-ng driver? It's section in 10-synce.fdi conflicts with uipaq driver on FreeBSD.
Here I have two HAL entries for WM device in lshal.
First is:
====================================================
udi = '/org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial'
freebsd.driver = 'ucom' (string)
freebsd.unit = 0 (0x0) (int)
info.bus = 'usb_device' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
info.product = 'USB Serial for Wizard' (string)
info.subsystem = 'usb_device' (string)
info.udi = '/org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial' (string)
info.vendor = 'HTC' (string)
usb_device.bus_number = 2 (0x2) (int)
usb_device.can_wake_up = false (bool)
usb_device.configuration_value = 1 (0x1) (int)
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.max_power = 100 (0x64) (int)
usb_device.num_configurations = 1 (0x1) (int)
usb_device.num_interfaces = 1 (0x1) (int)
usb_device.num_ports = 0 (0x0) (int)
usb_device.port_number = 3 (0x3) (int)
usb_device.product = 'USB Serial for Wizard' (string)
usb_device.product_id = 2641 (0xa51) (int)
usb_device.speed_bcd = 4608 (0x1200) (int)
usb_device.vendor = 'HTC' (string)
usb_device.vendor_id = 2996 (0xbb4) (int)
usb_device.version_bcd = 512 (0x200) (int)
====================================================
... and it has one child:
====================================================
udi = '/org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial_if0'
info.bus = 'usb' (string)
info.parent = '/org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial' (string)
info.product = 'USB Vendor Specific Interface' (string)
info.subsystem = 'usb' (string)
info.udi = '/org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial_if0' (string)
usb.bus_number = 2 (0x2) (int)
usb.can_wake_up = false (bool)
usb.configuration_value = 1 (0x1) (int)
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.number = 0 (0x0) (int)
usb.interface.protocol = 255 (0xff) (int)
usb.interface.subclass = 255 (0xff) (int)
usb.is_self_powered = false (bool)
usb.max_power = 100 (0x64) (int)
usb.num_configurations = 1 (0x1) (int)
usb.num_interfaces = 1 (0x1) (int)
usb.num_ports = 0 (0x0) (int)
usb.port_number = 3 (0x3) (int)
usb.product = 'USB Vendor Specific Interface' (string)
usb.product_id = 2641 (0xa51) (int)
usb.speed_bcd = 4608 (0x1200) (int)
usb.vendor = 'HTC' (string)
usb.vendor_id = 2996 (0xbb4) (int)
usb.version_bcd = 512 (0x200) (int)
====================================================
When I connect WM device, FreeBSD ucom rule invokes hal-dccm and appends required keys to first HAL entry.
Among them is "pda.platform" key. usb-rndis-ng rule finds "pda.platform" key in parent device's key list and appends its keys to SECOND HAL entry. :-(
When I use pls or other utilities, they find _if0 device entry first... The followin error occures:
** (process:11112): CRITICAL **: synce_info_from_hal: Failed to obtain property pda.pocketpc.name for device /org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial_if0: org.freedesktop.Hal.NoSuchProperty: No property pda.pocketpc.name on device with id /org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial_if0
Now I remove usb-rndis-ng rule and everything gets OK :-)
Could anyone tell me, what is the purpose of usb-rndis-ng driver? It's section in 10-synce.fdi conflicts with uipaq driver on FreeBSD.
Here I have two HAL entries for WM device in lshal.
First is:
====================================================
udi = '/org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial'
freebsd.driver = 'ucom' (string)
freebsd.unit = 0 (0x0) (int)
info.bus = 'usb_device' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
info.product = 'USB Serial for Wizard' (string)
info.subsystem = 'usb_device' (string)
info.udi = '/org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial' (string)
info.vendor = 'HTC' (string)
usb_device.bus_number = 2 (0x2) (int)
usb_device.can_wake_up = false (bool)
usb_device.configuration_value = 1 (0x1) (int)
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.max_power = 100 (0x64) (int)
usb_device.num_configurations = 1 (0x1) (int)
usb_device.num_interfaces = 1 (0x1) (int)
usb_device.num_ports = 0 (0x0) (int)
usb_device.port_number = 3 (0x3) (int)
usb_device.product = 'USB Serial for Wizard' (string)
usb_device.product_id = 2641 (0xa51) (int)
usb_device.speed_bcd = 4608 (0x1200) (int)
usb_device.vendor = 'HTC' (string)
usb_device.vendor_id = 2996 (0xbb4) (int)
usb_device.version_bcd = 512 (0x200) (int)
====================================================
... and it has one child:
====================================================
udi = '/org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial_if0'
info.bus = 'usb' (string)
info.parent = '/org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial' (string)
info.product = 'USB Vendor Specific Interface' (string)
info.subsystem = 'usb' (string)
info.udi = '/org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial_if0' (string)
usb.bus_number = 2 (0x2) (int)
usb.can_wake_up = false (bool)
usb.configuration_value = 1 (0x1) (int)
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.number = 0 (0x0) (int)
usb.interface.protocol = 255 (0xff) (int)
usb.interface.subclass = 255 (0xff) (int)
usb.is_self_powered = false (bool)
usb.max_power = 100 (0x64) (int)
usb.num_configurations = 1 (0x1) (int)
usb.num_interfaces = 1 (0x1) (int)
usb.num_ports = 0 (0x0) (int)
usb.port_number = 3 (0x3) (int)
usb.product = 'USB Vendor Specific Interface' (string)
usb.product_id = 2641 (0xa51) (int)
usb.speed_bcd = 4608 (0x1200) (int)
usb.vendor = 'HTC' (string)
usb.vendor_id = 2996 (0xbb4) (int)
usb.version_bcd = 512 (0x200) (int)
====================================================
When I connect WM device, FreeBSD ucom rule invokes hal-dccm and appends required keys to first HAL entry.
Among them is "pda.platform" key. usb-rndis-ng rule finds "pda.platform" key in parent device's key list and appends its keys to SECOND HAL entry. :-(
When I use pls or other utilities, they find _if0 device entry first... The followin error occures:
** (process:11112): CRITICAL **: synce_info_from_hal: Failed to obtain property pda.pocketpc.name for device /org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial_if0: org.freedesktop.Hal.NoSuchProperty: No property pda.pocketpc.name on device with id /org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial_if0
Now I remove usb-rndis-ng rule and everything gets OK :-)
--
Ilya Bakulin <***@kibab.com>
Ilya Bakulin <***@kibab.com>