On Wed, 2025-09-03 at 12:33 +1000, Lachlan Hodges wrote: > On Tue, Sep 02, 2025 at 01:36:02PM +0200, Johannes Berg wrote: > > To maybe describe where I'm confused more clearly: > > > > > > * ->chan points to the primary 1MHz or 2MHz channel > > > > This was based on something I said. When I first read it it, I thought > > this was because 2 MHz primary channel was a completely independent mode > > of operation of the two 1 MHz frequency ranges that make up this 2 MHz > > range. > > > > But maybe that was wrong? Because you also said this: > > > > > > As mentioned, the one difference is that S1G primary channels can be 2MHz. > > > > The standard (and by extension, the S1G Operation element) uses the notion of > > > > primary channel location. When we have a 2MHz primary channel, the AP must > > > > specify which 1MHz subchannel _within_ this 2MHz primary channel is used. > > > > So this seems to indicate the primary channel is always 1 MHz? > > Not necessarily, in fact most cases we use a 2MHz primary when possible. > In cases like this, beacons are transmitted on the center frequency of the > 2MHz primary channel (And I realise Im just saying "channel" again). This is > a composite of 2 1MHz subchannels and we then specify the location of the > 1MHz subchannel and advertise this to STAs (This is done in hostapd anyway, > so not really a concern here). With the flag you suggested below, this is fine > though. Right, sorry; I understood this better after looking at the spec, but didn't go back and correct this part of what I wrote. > Yes this works. If we have the s1g_primary_2mhz set to true we'd need to do > some validation that both 1Mhz subchannels dont contain the NO_PRIMARY flag, > but that should be fairly straightforward. Right. There could also be a few other things to validate, but generally with this as long as the primary 'chan' is within the range described by center_freq1 +/- (bandwidth/2 - 0.5 MHz) the chandef should describe a valid channel configuration, I think. If something else is needed we always have chandef_valid(). Obviously it should be expanded to check that s1g_primary_2mhz is only used for S1G :-) Oh and I guess we'd need a new nl80211 attribute for that to configure it on the AP side? > These emails have been very helpful, will go ahead and draft the patchset then > probably send sometime next week for RFC. Sounds good! johannes