From: Michal Pecio <michal.pecio@gmail.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Nikhil Solanke <nikhilsolanke5@gmail.com>,
linux-usb@vger.kernel.org, gregkh@linuxfoundation.org,
mathias.nyman@linux.intel.com, sakari.ailus@linux.intel.com,
katieeliu@tencent.com, johannes.bruederl@gmail.com,
kees@kernel.org, dengjie03@kylinos.cn, limiao@kylinos.cn,
wse@tuxedocomputers.com, dev@a1rm4x.com, vahnenko2003@gmail.com,
cs@tuxedo.de, lijiayi@kylinos.cn, oneukum@suse.com,
bence98@sch.bme.hu, eeodqql09@gmail.com
Subject: Re: USB: Request for guidance investigating configuration descriptor enumeration failure
Date: Sun, 7 Jun 2026 23:25:35 +0200 [thread overview]
Message-ID: <20260607232535.74b935a2.michal.pecio@gmail.com> (raw)
In-Reply-To: <1996a7ac-2670-4124-b855-6fdf0c9999ad@rowland.harvard.edu>
On Sat, 6 Jun 2026 22:17:20 -0400, Alan Stern wrote:
> On Thu, Jun 04, 2026 at 12:53:23PM +0200, Michal Pecio wrote:
> > On Wed, 3 Jun 2026 22:02:44 -0400, Alan Stern wrote:
> > > I used a bus analyzer to capture what happens when Windows 11
> > > initializes and enumerates a USB-2 flash drive. The short answer
> > > is that yes, the initial Get-Configuration-Descriptor request is
> > > for 255 bytes.
> >
> > Could you also try a few BIOSes, UEFIs and such?
> > Or anything from Apple?
>
> Here's the information. It may not clear things up as much as you
> would like.
>
> Samsung UEFI BIOS:
> Get Device Desc 8
> Set Address
> Get Device Desc 18
> Get Config Desc 255
> Set Config
>
> Lenovo UEFI BIOS:
> Set Address
> Get Device Desc 8
> Get Device Desc 8
> Get Device Desc 18
> Get Config Desc 8
> Get Config Desc 32
> Get String Desc 0 2
> Get String Desc 0 4
> Set Config
>
> IpadOS 26.5:
> Set Address
> Get Device Desc 18
> Get String Desc 2 2
> Get String Desc 2 34
> Get String Desc 1 2
> Get String Desc 1 18
> Get String Desc 3 2
> Get String Desc 3 50
> Get Config Desc 9
> Get Config Desc 32
> Set Config
>
> OSX 10.5:
> Get Device Desc 18
> Set Address
> Get Device Desc 18
> Get String Desc 2 2
> Get String Desc 2 34
> Get String Desc 1 2
> Get String Desc 1 18
> Get String Desc 3 2
> Get String Desc 3 50
> Get Config Desc 8
> Get Config Desc 32
> Set Config
Quite a variation.
Ipad is interesting because the single Device request must be a
high-speed optimization, or they hacked their xHC to ignore short
packets and keep reissuing IN tokens until the URB is filled.
Linux has been doing the initial 8 or 64 byte read at LS and HS since
forever and I found no explanation besides nobody daring to touch it.
Though I wonder if it wouldn't make sense to skip this at SS, because
Windows does (in my QEMU tests) and very likely Apple too.
> I suspect that non-storage devices (such as an Xbox clone) might have
> more stringent requirements, because they don't need to be visible to
> a BIOS. In general, imitating Windows is almost certainly the best
> approach -- except perhaps for a few devices which are meant to be
> used exclusively with Macs.
Are you suggesting to make the 255 byte configuration the new default,
or are we still talking about a quirk exclusive to one device so far?
Regards,
Michal
next prev parent reply other threads:[~2026-06-07 21:25 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-29 21:22 USB: Request for guidance investigating configuration descriptor enumeration failure Nikhil Solanke
2026-05-30 1:58 ` Alan Stern
2026-05-30 6:57 ` Nikhil Solanke
2026-05-30 14:48 ` Alan Stern
2026-05-30 16:48 ` Nikhil Solanke
2026-05-30 20:26 ` Alan Stern
2026-05-30 20:47 ` Nikhil Solanke
2026-05-31 1:44 ` Alan Stern
2026-05-31 7:49 ` Nikhil Solanke
2026-05-31 14:03 ` Alan Stern
2026-05-31 8:16 ` Michal Pecio
2026-05-31 10:11 ` Nikhil Solanke
2026-05-31 10:38 ` Michal Pecio
2026-05-31 11:20 ` Nikhil Solanke
2026-05-31 14:12 ` Alan Stern
2026-06-01 6:49 ` Michal Pecio
2026-06-01 9:01 ` Nikhil Solanke
2026-06-02 17:30 ` Michal Pecio
2026-06-04 2:02 ` Alan Stern
2026-06-04 10:53 ` Michal Pecio
2026-06-07 2:17 ` Alan Stern
2026-06-07 20:02 ` Nikhil Solanke
2026-06-08 1:24 ` Alan Stern
2026-06-07 21:25 ` Michal Pecio [this message]
2026-06-08 1:34 ` Alan Stern
2026-06-01 13:02 ` Alan Stern
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=20260607232535.74b935a2.michal.pecio@gmail.com \
--to=michal.pecio@gmail.com \
--cc=bence98@sch.bme.hu \
--cc=cs@tuxedo.de \
--cc=dengjie03@kylinos.cn \
--cc=dev@a1rm4x.com \
--cc=eeodqql09@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=johannes.bruederl@gmail.com \
--cc=katieeliu@tencent.com \
--cc=kees@kernel.org \
--cc=lijiayi@kylinos.cn \
--cc=limiao@kylinos.cn \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@linux.intel.com \
--cc=nikhilsolanke5@gmail.com \
--cc=oneukum@suse.com \
--cc=sakari.ailus@linux.intel.com \
--cc=stern@rowland.harvard.edu \
--cc=vahnenko2003@gmail.com \
--cc=wse@tuxedocomputers.com \
/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