Project

General

Profile

Bug #6770

802.11 stack on FreeBSD 11 requires changes to support its new device creation method

Added by Jim Pingle about 1 year ago. Updated 10 months ago.

Status:
Resolved
Priority:
Normal
Category:
Wireless
Target version:
Start date:
09/06/2016
Due date:
% Done:

100%

Affected version:
2.4
Affected Architecture:

Description

On FreeBSD 11 you have to clone the interface and the wireless device (e.g. ath0) does not show in ifconfig.

The list of current wireless devices is in the net.wlan.devices sysctl OID so fetching them from there is easy, but we lose some of the extra info we had before pre-assignment, such as the MAC address of ath0.

You can make it show up temporarily by running:

ifconfig wlan0 create wlandev ath0

You can then assign that interface and use it, but unless you have an earlyshellcmd to bring it back it'll fail on the next boot.

It also looks like they've changed it so that the cloned device name must be wlan<number> which will require all of our existing wireless device name/assignments to change. (e.g. ath0_wlan0 => wlan0)

Associated revisions

Revision ac516731
Added by Renato Botelho 10 months ago

Ticket #6770: Update wireless regex to match FreeBSD 11

Revision d3343d02
Added by Renato Botelho 10 months ago

Ticket #6770: Detect wlan interfaces from sysctl net.wlan.devices

Revision ae7d6aca
Added by Renato Botelho 10 months ago

Ticket #6770: Create a function to list available wireless interfaces and include model description

Revision 5794e197
Added by Jim Pingle 10 months ago

Fix typo. Ticket #6770

Revision 3947f294
Added by Renato Botelho 10 months ago

Add a note that wireless clones must be created before they can be assigned. This should fix #6770

Revision 481db4fe
Added by Jim Pingle 10 months ago

Reword/rework wireless note on assignment page. Ticket #6770

History

#1 Updated by Jim Thompson 11 months ago

  • Assignee set to Renato Botelho

#2 Updated by Kill Bill 10 months ago

I guess you produced a typo in the latest commit.

$clone_exists = falsek;

https://github.com/pfsense/pfsense/blob/master/src/usr/local/www/interfaces_wireless_edit.php#L100

#3 Updated by Renato Botelho 10 months ago

Kill Bill wrote:

I guess you produced a typo in the latest commit.

[...]

https://github.com/pfsense/pfsense/blob/master/src/usr/local/www/interfaces_wireless_edit.php#L100

Jim Pingle fixed it. Thanks for spotting that

#4 Updated by Jim Pingle 10 months ago

  • % Done changed from 0 to 80

It works on the latest CE snapshot from overnight, but there is one regression from the previous behavior. At the moment you have to create the new wireless interface first from the wireless tab, then assign it. Where before you could assign first and that initial instance was created automatically. We're looking into that now.

#5 Updated by Renato Botelho 10 months ago

  • Status changed from Confirmed to Feedback
  • % Done changed from 80 to 100

After discussed it, we decided to let user create wireless clone interface before assign it and remove any special treatment it had in the past.

#6 Updated by Jim Pingle 10 months ago

  • Status changed from Feedback to Resolved

It's working well now.

I updated the wiki and book to follow the new requirement, and made a slight adjustment to the note on the assignment page. It's also mentioned on the 2.4 changes wiki doc so it should be well-covered and hard to miss.

Also available in: Atom PDF