Linux wireless drivers development
 help / color / mirror / Atom feed
From: Johnson Tsai <wenjie.tsai@realtek.com>
To: Greg KH <gregkh@linuxfoundation.org>,
	Elliot Saba <sabae@valvesoftware.com>
Cc: 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 13:06:09 +0000	[thread overview]
Message-ID: <fe2a612385f8439a820272f442314d37@realtek.com> (raw)
In-Reply-To: <2026052152-pureness-blinker-9e5c@gregkh>


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.

> 
> > 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.

> 
> > 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.

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
  $ 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.


Thanks,

Johnson

  reply	other threads:[~2026-05-21 13:06 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 [this message]
2026-05-21 13:11                 ` 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=fe2a612385f8439a820272f442314d37@realtek.com \
    --to=wenjie.tsai@realtek.com \
    --cc=charlesl@valvesoftware.com \
    --cc=driver-core@lists.linux.dev \
    --cc=gregkh@linuxfoundation.org \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=pkshih@realtek.com \
    --cc=sabae@valvesoftware.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