#3222 accepted enhancement

libbsd: WiFi Support needs rc.conf integration

Reported by: Christian Mauderer Owned by: Christian Mauderer
Priority: normal Milestone: Indefinite
Component: network/libbsd Version: 5
Severity: normal Keywords: SoC libbsd WiFi WLAN
Cc: Blocked By:
Blocking:

Description

Currently WLAN is still only poorly integrated into libbsd. A number of manual commands are necessary to create a WLAN device.

FreeBSD supports rc.conf lines like the following one for setting up a WLAN device (see rc.conf(5) section ''network_interfaces''):

wlans_rtwn0="wlan0"
ifconfig_wlan0="DHCP"

The rtems-libbsd should support this notation too.

Problematic in this context is that all currently supported WLAN devices are USB devices. These devices need some time to enumerate or can even be hot plugged. Therefore they might not be available during the first parsing of rc.conf.

We need a method to handle such hot plugged events. For that it will be necessary to keep relevant information from the rc.conf available.

Change History (4)

comment:1 Changed on Nov 10, 2017 at 7:02:54 AM by Christian Mauderer

On FreeBSD, the configuration is used during hot-plug events. For example with the following configuration a hot-plugged RTL8188 based USB WiFi? adapter creates a new wlan7 device:

wlans_rtwn0="wlan7"
ifconfig_wlan7="DHCP"

comment:2 Changed on Jan 3, 2018 at 8:28:09 PM by Christian Mauderer

Keywords: SoC added

comment:3 Changed on Jan 18, 2018 at 7:54:01 PM by Christian Mauderer

Owner: set to Christian Mauderer
Status: newaccepted

comment:4 Changed on Jan 18, 2018 at 8:01:00 PM by Christian Mauderer

Possible Approach

The way freebsd handles hot-plug events in general or network device
events in special should be analyzed. If possible, a similar method
should be implemented in rtems-libbsd.

Necessary Hardware

Some board which is supported in rtems-libbsd and has a (supported) USB host connection and a (supported) USB-WiFi? interface is necessary. A known working board is the Beagle Bone Black with a RTL8188 USB dongle. Some kind of hardware debugger (Segger J-Link, Flyswatter 2, something supported by OpenOCD, ...) is strongly recommended.

Related projects

#3223 will need some WiFi? related rc.conf integration too and maybe depends on some of the functionality here (creating interfaces).

Note: See TracTickets for help on using tickets.