Linux wireless drivers development
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: Johnson Tsai <wenjie.tsai@realtek.com>
Cc: Elliot Saba <sabae@valvesoftware.com>,
	Johannes Berg <johannes@sipsolutions.net>,
	Ping-Ke Shih <pkshih@realtek.com>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	"driver-core@lists.linux.dev" <driver-core@lists.linux.dev>,
	Charles Lohr <charlesl@valvesoftware.com>
Subject: Re: [External Mail] Re: [RFC rtw-next 1/2] wifi: rtw89: usb: add hw_info sysfs attribute
Date: Thu, 21 May 2026 15:11:48 +0200	[thread overview]
Message-ID: <2026052142-backfire-afar-9587@gregkh> (raw)
In-Reply-To: <fe2a612385f8439a820272f442314d37@realtek.com>

On Thu, May 21, 2026 at 01:06:09PM +0000, Johnson Tsai wrote:
> 
> On Thursday, May 21, 2026 18:58, Greg KH wrote:
> > On Wed, May 20, 2026 at 07:32:13PM +0000, Elliot Saba wrote:
> > > Hello Greg, Johannes, thank you for your time and feedback on this
> > patchset.
> > >
> > > The purpose of this information is to provide access to two pieces of
> > information, a serial number (also printed on the outside of the device, used
> > for product tracking, RMAs, etc...) and a GUID (random entropy that is
> > intentionally difficult to guess).
> > > We use the GUID to establish a direct connection between the USB network
> > adapter and another device.
> > >
> > > To directly answer your USB questions, unfortunately the ASIC used in this
> > product does not support customization of the USB serial number; all devices
> > have the same USB serial number.  Indeed, I believe there is no mutable state
> > on the device at all except for the e-fuses that are written at the factory to
> > write these two values.  Given those constraints, we're trying to find the best
> > way to raise this up to userspace, and we're grateful for your feedback.
> > 
> > Then where exactly does that "serial number" come from in the device so that
> > it can be read by the kernel, if not in the USB device itself?
> 
> The "serial number" we're talking about right now is not exposed through the standard 
> USB descriptors. It is obtained via a vendor-specific H2C (Host-to-Chip) 
> command, which reads EFUSE data into the rtw89 driver. 
> Both SN and UUID are stored as specific fields within that data block.

Ick, ok, gotta love custom USB commands :(

> > > This USB device is expected to operate on both Windows and Linux hosts,
> > on the Windows side we have a custom driver that allows our host application
> > (Steam) to directly query these fuses and setup the network connection
> > appropriately.  We're attempting to upstream this capability as much as
> > possible so that users running a vanilla kernel can take advantage of these
> > features as much as possible.
> > 
> > Great, why can't this driver also query the fuses?
> 
> Yes, the driver can query the fuses directly, similar to the Windows driver 
> implementation.
> In this RFC v1, the H2C implementation is intentionally omitted to keep the discussion 
> focused on the sysfs interface design and gather early feedback from the 
> community.

Great, put these on the network device that you create as they are not a
generic USB attribute, and properly document them in Documentation/ABI/

> 
> > 
> > > With regards to permissions, we'd really like to make this serial number
> > readable by non-root users so that the pairing functionality can work out-of-
> > the-box without needing special udev/tmpfiles.d rules to adjust permissions
> > to allow Steam to read this information, but we are simultaneously
> > sympathetic to the desire to limit trackable/identifying information by default.
> > Of course we can adjust permissions however needed for our own Linux
> > distribution, but in our effort to support the rest of the Linux ecosystem as
> > best we can, we'd like to do our best to find a solution that would work
> > everywhere.  We're open to comparing against any existing precedent for
> > devices that necessarily require identifying information to perform their basic
> > function, if you know of any.
> > 
> > My objection is the placement of random sysfs files in the USB device
> > directory, for something that is not a USB device-specific thing, but rather a
> > driver-specific thing.  If this is a driver/device bound specific thing, then put it
> > in the device that the driver creates and owns.  NOT in the device that the USB
> > core creates and owns.
> > 
> 
> We completely agree with your concern. Since accessing these values requires 
> driver-specific commands rather than standard USB requests, they should not live 
> under the USB device directory.

Great

> In the upcoming v2 patchset, we will move these attributes under the wiphy device 
> managed by the rtw89 driver. The paths will be something like: 
> 
>   $ cat /sys/class/ieee80211/phy0/sn
>   3642000123

Spell it out, you have almost unlimited number of characters for a file name :)

>   $ cat /sys/class/ieee80211/phy0/uuid
>   aaec2b7c-0a55-4727-8de0-b30febccbbaa
> 
> Additionally, these sysfs attributes will be strictly limited to Valve's specific VID/PID 
> pair and will not be exposed on generic RTL8852CU devices.

Great, please document it as such.

thanks,

greg k-h

      reply	other threads:[~2026-05-21 13:11 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-19  7:24 [RFC rtw-next 1/2] wifi: rtw89: usb: add hw_info sysfs attribute Ping-Ke Shih
2026-05-19  7:24 ` [RFC rtw-next 2/2] wifi: rtw89: usb: add sysfs write example Ping-Ke Shih
2026-05-19  7:37 ` [RFC rtw-next 1/2] wifi: rtw89: usb: add hw_info sysfs attribute Ping-Ke Shih
2026-05-19 12:11   ` Johannes Berg
2026-05-19 12:22     ` Greg KH
2026-05-20  9:41       ` Johnson Tsai
2026-05-20 11:36         ` Greg KH
2026-05-20 19:32           ` [External Mail] " Elliot Saba
2026-05-21 10:57             ` Greg KH
2026-05-21 13:06               ` Johnson Tsai
2026-05-21 13:11                 ` Greg KH [this message]

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=2026052142-backfire-afar-9587@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=charlesl@valvesoftware.com \
    --cc=driver-core@lists.linux.dev \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=pkshih@realtek.com \
    --cc=sabae@valvesoftware.com \
    --cc=wenjie.tsai@realtek.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