Hi Artem, thanks for your reply
> Is this device CDC (Communication Device Class) compliant or vendor > specific? Vendor specific with some CDC-like details. > What do USB descriptors look like? output of usb_log_descr_tree USB descriptor tree for Option N.V. Globetrotter HSUPA Modem highest configuration found=0 Configuration #0 (Addr= 0xffffff017c918010) String descr=<null string> config descr: len=9 tp=2 totLen=65 numIf=2 cfgVal=1 att=0x80 pwr=250 usb_cfg_data_t shows max if=1 and 0 cv descr(s). interface #0 (0xffffff0191d6ce08) Alt #0 (0xffffff018004c5a0) String descr=Data Interface if descr: len=9 type=4 if=0 alt=0 n_ept=3 cls=255 sub=255 proto=255 usb_alt_if_data_t shows max ep=2 and 0 cv descr(s). endpoint[0], epaddr=0x83 (0xffffff01543e8010) len=7 type=5 attr=0x2 pktsize=64 interval=0 endpoint[1], epaddr=0x3 (0xffffff01543e8028) len=7 type=5 attr=0x2 pktsize=64 interval=0 endpoint[2], epaddr=0x85 (0xffffff01543e8040) len=7 type=5 attr=0x3 pktsize=16 interval=128 usb_ep_data_t shows 1 cv descr(s) endpoint cv descriptor 0 (0xffffff015734f028), size=3 3 24 interface #1 (0xffffff0191d6ce18) Alt #0 (0xffffff017d0f5788) String descr=Data Interface if descr: len=9 type=4 if=1 alt=0 n_ept=2 cls=255 sub=255 proto=255 usb_alt_if_data_t shows max ep=1 and 0 cv descr(s). endpoint[0], epaddr=0x84 (0xffffff01812148a8) len=7 type=5 attr=0x2 pktsize=64 interval=0 endpoint[1], epaddr=0x4 (0xffffff01812148c0) len=7 type=5 attr=0x2 pktsize=64 interval=0 Yes, two, but that does not help. > If you have a poorly designed vendor-specific device with multiple > functions but no corresponding interfaces, I think the cleanest approach > would be to implement a nexus driver, similar in purpose to usb_mid, > that would create two interface nodes and enable you to bind two drivers. see above: interface#0 contains two bulk and one intr ep. ep[2] (intr) is used for serial mux rx data notification which is to be polled over the ctrl pipe. interface#0 ep[0] and ep[1] are the network i/f endpoints. Do you think I'd get a clean solution from this mess with three drivers? I also don't see how I would be able to use the usba framework when a nexus driver only passes down specific pipes plus the control pipe. I really appreciate your ideas, but at this point I don't understand how this would make the solution cleaner or even easier. Nils _______________________________________________ driver-discuss mailing list driver-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/driver-discuss