From: Michael Drake <michael.drake@codethink.co.uk>
To: Greg KH <greg@kroah.com>
Cc: linux-usb@vger.kernel.org
Subject: [v2,0/8] lsusb: Add initial support for USB Audio Class 3
Date: Fri, 8 Dec 2017 10:30:43 +0000 [thread overview]
Message-ID: <96af14fe-7f4f-e91b-e767-1caa4596d9be@codethink.co.uk> (raw)
On 07/12/17 20:04, Greg KH wrote:
> On Thu, Dec 07, 2017 at 07:24:35PM +0000, Michael Drake wrote:
>> On 07/12/17 17:26, Greg KH wrote:
>>> On Thu, Dec 07, 2017 at 05:14:10PM +0000, Michael Drake wrote:
>>>> On 07/12/17 15:16, Greg KH wrote:
>>>>> On Thu, Dec 07, 2017 at 04:01:23PM +0100, Greg KH wrote:
>>>>>> Oops, I should have tested the code, it now crashes for me with the
>>>>>> following error:
>>>>>> Floating point exception (core dumped)
>>>>>>
>>>>>> Do you see this as well?
>>>>
>>>> No, I don't see that.
>>>>
>>>>> And it's crashing on my USB audio device. Here's the output of it from
>>>>> the "old" lsusb output.
>>>>
>>>> [snip]
>>>>
>>>> Does it still crash with the warning fixes I posted? If so I'll
>>>> look in detail tomorrow.
>>>
>>> I will check when I get home tonight, I don't have the USB device on me
>>> at the moment.
>>
>> Thank you. I believe I've guessed the problem and sent a patch.
>
> Ok, that now works.
>
> But there is a difference in the "old" and "new" outputs, here's a diff
> of a full -v output of my laptop and a bunch of USB devices plugged in,
> showing the fields that now look different.
>
> The big one is the change from "streaming" to "control", is that
> correct?
Replied inline below.
> thanks,
>
> greg k-h
>
>
> --- lsusb-v.orig 2017-12-07 21:01:26.153185002 +0100
> +++ lsusb-v.new 2017-12-07 21:01:32.806517978 +0100
> @@ -1110,9 +1110,9 @@
> bDescriptorType 36
> bDescriptorSubtype 1 (HEADER)
> bcdADC 1.00
> - wTotalLength 0x0028
> + wTotalLength 40
I was a bit confused by this diff at first, because the
"-" lines are my version and the "+" lines are the old
version.
Anyway, this is expected. For NUMBER type fields, my
code uses the heuristic that 1 byte fields are shown as
decimal and >1 byte is shown as full hexadecimal, with
leading zeros shown. This is consistent with the way
the old lsusb behaved in most cases, although it was
slightly inconsistent about it, and this is an example
of that inconsistency.
Anyway, since it's a 2 byte field the hex representation
is expected here, and the actual value is the same.
> bInCollection 1
> - baInterfaceNr(0) 1
> + baInterfaceNr( 0) 1
Just a whitespace change. My version's not using
a fixed width for the array index, and only uses what's
needed for the largest index to be represented.
> AudioControl Interface Descriptor:
> bLength 12
> bDescriptorType 36
> @@ -1142,10 +1142,10 @@
> bUnitID 13
> bSourceID 1
> bControlSize 1
> - bmaControls(0) 0x01
> + bmaControls( 0) 0x01
> Mute Control
> - bmaControls(1) 0x00
> - bmaControls(2) 0x00
> + bmaControls( 1) 0x00
> + bmaControls( 2) 0x00
Ditto for these.
> iFeature 0
> Interface Descriptor:
> bLength 9
> @@ -1173,7 +1173,7 @@
> bDescriptorSubtype 1 (AS_GENERAL)
> bTerminalLink 1
> bDelay 1 frames
> - wFormatTag 0x0001 PCM
> + wFormatTag 1 PCM
This is the >1 byte shown as hexadecimal thing.
> AudioStreaming Interface Descriptor:
> bLength 20
> bDescriptorType 36
> @@ -1199,14 +1199,14 @@
> bInterval 4
> bRefresh 0
> bSynchAddress 133
> - AudioStreaming Endpoint Descriptor:
> + AudioControl Endpoint Descriptor:
This is from the dump_audiostreaming_endpoint() function.
The "AudioStreaming" string is correct. Looks like a typo
in the old lsusb output.
> bLength 7
> bDescriptorType 37
> bDescriptorSubtype 1 (EP_GENERAL)
> bmAttributes 0x01
> Sampling Frequency
> bLockDelayUnits 0 Undefined
> - wLockDelay 0x0000
> + wLockDelay 0 Undefined
This and the remaining entries are similar to the above ones.
> Endpoint Descriptor:
> bLength 9
> bDescriptorType 5
> @@ -1235,7 +1235,7 @@
> bDescriptorSubtype 1 (AS_GENERAL)
> bTerminalLink 1
> bDelay 1 frames
> - wFormatTag 0x0001 PCM
> + wFormatTag 1 PCM
> AudioStreaming Interface Descriptor:
> bLength 20
> bDescriptorType 36
> @@ -1261,14 +1261,14 @@
> bInterval 4
> bRefresh 0
> bSynchAddress 133
> - AudioStreaming Endpoint Descriptor:
> + AudioControl Endpoint Descriptor:
> bLength 7
> bDescriptorType 37
> bDescriptorSubtype 1 (EP_GENERAL)
> bmAttributes 0x01
> Sampling Frequency
> bLockDelayUnits 0 Undefined
> - wLockDelay 0x0000
> + wLockDelay 0 Undefined
> Endpoint Descriptor:
> bLength 9
> bDescriptorType 5
>
Cheers,
next reply other threads:[~2017-12-08 10:30 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-08 10:30 Michael Drake [this message]
-- strict thread matches above, loose matches on Subject: below --
2017-12-08 15:29 [v2,0/8] lsusb: Add initial support for USB Audio Class 3 Greg KH
2017-12-08 14:57 Greg KH
2017-12-08 14:44 Michael Drake
2017-12-08 14:27 Greg KH
2017-12-07 20:04 Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=96af14fe-7f4f-e91b-e767-1caa4596d9be@codethink.co.uk \
--to=michael.drake@codethink.co.uk \
--cc=greg@kroah.com \
--cc=linux-usb@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).