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"



From: Brett Lymn <blymn%internode.on.net@localhost>, 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 // ryo_on%yk.rim.or.jp@localhost
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3


Home | Main Index | Thread Index | Old Index