On Tue, 2008-05-06 at 17:53 +0400, Ilya Bakulin wrote: > 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.
To the best of my knowledge it's a user space driver for rndis, I don't know what it's status is however. > 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 > > I think I know what we need to do. We should actually be attaching to the outermost leaf node, if that's the right way to say it. For instance, for my WM2003 device /org/freedesktop/Hal/devices/usb_device_502_16e3_noserial has a child /org/freedesktop/Hal/devices/usb_device_502_16e3_noserial_if0 has a child /org/freedesktop/Hal/devices/usb_device_502_16e3_noserial_if0_serial_usb_0 The final one is the device that dccm attaches to, but the second is the one that has info.linux.driver=ipaq. So in your case I would really want to attach dccm to the child. So the rule should contain <match key="@info.parent:freebsd.driver" contains="ucom"> Then we'd need to get the unit number from the parent, that can be done with the hal tools. Is that the complete listing of both those devices, and is the child the outermost leaf ie. it has no children ? Mark ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ SynCE-Devel mailing list SynCE-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synce-devel