From: Brett Lymn <[email protected]>, Date: Tue, 21 Jan 2014 22:45:58 +1030
> On Tue, Jan 21, 2014 at 07:49:18PM +0900, Ryo ONODERA wrote: >> >> Here is output of >> # ./probe_usb /dev/ugen0.00 >> >> There is two interfaces. >> > > Yes, that is fine. Lots of usb devices have more than one interface. > > >> >> Interface 0: >> Length: 9 >> Descriptor Type: 4 >> Interface No: 0 >> Alt Setting: 0 >> Num Endpoints: 1 >> Interface Class: 2 >> Interface SubClass: 2 >> Interface Protocol: 1 >> Interface: 0 >> Endpoint 0: >> Length: 7 >> Length: 5 >> Length: (0x81) 1 (in) >> Attributes: (0x3) interrupt >> Max Packet Size: -9228 >> Interval: 128 >> > > Interface class is UICLASS_CDC, subclass UISUBCLASS_ABSTRACT_CONTROL_MODEL > protocol is UIPROTO_CDC_AT. Umodem should attach on this. Maybe I > borked the match... try changing: > > if (uaa->class != UICLASS_CDC || > uaa->subclass != UISUBCLASS_ABSTRACT_CONTROL_MODEL || > !(uaa->proto == UIPROTO_CDC_NOCLASS || uaa->proto == > UIPROTO_CDC_AT)) > > in umodem_match to: > > if (uaa->class != UICLASS_CDC || > uaa->subclass != UISUBCLASS_ABSTRACT_CONTROL_MODEL || > uaa->proto != UIPROTO_CDC_AT) > > > see if that attaches... if it does then perhaps try: > > if (uaa->class != UICLASS_CDC || > uaa->subclass != UISUBCLASS_ABSTRACT_CONTROL_MODEL || > (uaa->proto != UIPROTO_CDC_NOCLASS && uaa->proto != > UIPROTO_CDC_AT)) > > see if that works better... what we need to do is attach if the protocol > is NOCLASS or CDC_AT (arduino serial connections come up as NOCLASS). I > never was certain I had the negative boolean logic right :( The result of both changes are same. ugen0 at uhub4 port 1 ugen0: Conexant USB Modem, rev 1.10/1.00, addr 11 As Felix Deichmann says, first and third are identical. >> Interface 1: >> Length: 9 >> Descriptor Type: 4 >> Interface No: 1 >> Alt Setting: 0 >> Num Endpoints: 2 >> Interface Class: 10 >> Interface SubClass: 0 >> Interface Protocol: 0 >> Interface: 0 >> Endpoint 0: >> Length: 7 >> Length: 5 >> Length: (0x82) 2 (in) >> Attributes: (0x2) bulk >> Max Packet Size: -9228 >> Interval: 1 >> Endpoint 1: >> Length: 7 >> Length: 5 >> Length: (0x2) 2 (out) >> Attributes: (0x2) bulk >> Max Packet Size: -9228 >> Interval: 1 >> > > Interface class is UICLASS_CDC_DATA, interface subclass is UISUBCLASS_DATA > this is the data interface for the modem. -- Ryo ONODERA // [email protected] PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3
