Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: umodem(4) with "no pointer to data interface"



On Wed, Jan 22, 2014 at 12:28:50PM +0100, Felix Deichmann wrote:
> 
> Adding the Conexant modem with UQ_NO_UNION_NRM (or maybe something
> else?) to usb_quirks would be the most elegant solution, right?

only part of the solution - you would get hit by the "no data interface"
when it tries to get that bit because the code in
umodoem_common_attach() only looks for data endpoints on the same
interface as the control
(http://nxr.netbsd.org/xref/src/sys/dev/usb/umodem_common.c#149).

> Then umodem_get_caps() should be fixed, and OpenBSD (seems to
> "brute-force" and iterate over all descriptors anyway) or Linux
> (treats data if = 1, ctl if = 0 (?) for NO_UNION_NORMAL quirk) can
> serve as an example.
> But this is beyond me now :-).

Probably iterating over all the interfaces iff we are about to spit the
"no data interface" error would be an ok thing to do.  In effect, we try
nicely first and if that doesn't work then use brute force.  IIRC the
rest of the driver should be fine with that because the data interface
is referenced separately to the control interface.

-- 
Brett Lymn
Staple Guns: because duct tape doesn't make that KerCHUNK sound - xkcd.com


Home | Main Index | Thread Index | Old Index