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