[rtems-libbsd commit] libbsd.txt: Move WLAN description

Sebastian Huber sebh at rtems.org
Wed May 25 06:05:24 UTC 2022


Module:    rtems-libbsd
Branch:    6-freebsd-12
Commit:    f2583218dd4ed0f288d8cebd60f7ba1c1abe7bc3
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=f2583218dd4ed0f288d8cebd60f7ba1c1abe7bc3

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon May 23 15:27:48 2022 +0200

libbsd.txt: Move WLAN description

---

 README.rst | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/README.rst b/README.rst
index 440fc3ba..1c2078e2 100644
--- a/README.rst
+++ b/README.rst
@@ -448,6 +448,71 @@ Currently, PF on RTEMS always uses the configuration for memory restricted
 systems (on FreeBSD that means systems with less than 100 MB RAM). This is
 fixed in ``pfctl_init_options()``.
 
+Wireless Network (WLAN)
+=======================
+
+The LibBSD provides a basic support for WLAN. Note that currently this support
+is still in an early state. The WLAN support is _not_ enabled in the default
+buildset. You have to configure LibBSD with the
+``--buildset=buildset/everything.ini`` to enable that feature.
+
+Configuration
+-------------
+
+The following gives a rough overview over the necessary steps to connect to an
+encrypted network with an RTL8188EU based WiFi dongle:
+
+* Reference all necessary module for your BSP. For some BSPs this is already
+  done in the ``nexus-devices.h``:
+
+  .. code-block:: none
+
+      SYSINIT_MODULE_REFERENCE(wlan_ratectl_none);
+      SYSINIT_MODULE_REFERENCE(wlan_sta);
+      SYSINIT_MODULE_REFERENCE(wlan_amrr);
+      SYSINIT_MODULE_REFERENCE(wlan_wep);
+      SYSINIT_MODULE_REFERENCE(wlan_tkip);
+      SYSINIT_MODULE_REFERENCE(wlan_ccmp);
+      SYSINIT_DRIVER_REFERENCE(rtwn_usb, uhub);
+
+* Create your wlan device using ifconfig:
+
+  .. code-block:: none
+
+      ifconfig wlan0 create wlandev rtwn0 up
+
+* Start a ``wpa_supplicant`` instance for that device:
+
+  .. code-block:: none
+
+      wpa_supplicant_fork -Dbsd -iwlan0 -c/media/mmcsd-0-0/wpa_supplicant.conf
+
+Note that the wpa_supplicant will only be active till the device goes down. A
+workaround is to just restart it every time it exits.
+
+Known Restrictions
+------------------
+
+* The network interface (e.g. wlan0) is currently not automatically created. It
+  would be nice, if some service would create it as soon as for example a USB
+  device is connected. In FreeBSD the names are assigned via rc.conf with lines
+  like ``wlans_rtwn0="wlan0"``.
+
+* ``wpa_supplicant`` hast to be started after the device is created. It has to be
+  restarted every time the connection goes down. Instead of this behaviour,
+  there should be some service that starts and restarts ``wpa_supplicant``
+  automatically if a interface is ready. Probably the dhcpcd hooks could be used
+  for that.
+
+* The current ``wpa_supplicant`` implementation is protected with a lock so it can't
+  be started more than one time. If multiple interface should be used, all have
+  to be handled by that single instance. That makes it hard to add interfaces
+  dynamically. ``wpa_supplicant`` should be reviewed thoroughly whether multiple
+  instances could be started in parallel.
+
+* The control interface of ``wpa_supplicant`` most likely doesn't work. The wpa_cli
+  application is not ported.
+
 Updating RTEMS Waf Support
 ==========================
 



More information about the vc mailing list