LinkedIn Sourceforge

Vincent's Blog

Pleasure in the job puts perfection in the work (Aristote)

For just my memory here is how I've configure OpenBSD and FreeBSD for a IPv6 Wifi at Fosdem

Posted on 2026-01-31 21:14:00 from Vincent in OpenBSD FreeBSD

Last year I've took notes about the way to connect to FOSDEM's wifi from my laptop doing dual boot OpenBSD and FreeBSD. But this year those commands, were not working. So, here the new method.


Connecting to FOSDEM WiFi (IPv6-focused) on OpenBSD and FreeBSD

FOSDEM (the free, annual open source conference in Brussels) provides free wireless access via the open SSID FOSDEM.
According to the official practical information for FOSDEM 2026, it offers Wireless IPv4/IPv6 internet access in most locations.

In practice, the network is dual-stack (native IPv6 + IPv4 via DHCP), but IPv6 is very reliable and often the preferred path. Many attendees get full connectivity via IPv6 SLAAC alone, while IPv4 may require DHCP and can be slower in high-density crowds.

This guide shows the minimal commands to get connected on OpenBSD and FreeBSD laptops. Tested in real conditions at crowded events.

Prerequisites (both systems)

  • Know your wireless interface name:
    Usually iwm0 on OpenBSD
    Usually wlan0 (created from parent like iwm0) on FreeBSD
    Check with ifconfig or dmesg | grep -i wireless.

  • The network is open (no WPA/WPA2/WPA3 key).

1. OpenBSD — Simple & Reliable

OpenBSD handles open networks cleanly with ifconfig.

One-time / manual connection

  1. Bring interface up and scan

    ifconfig iwm0 up
    ifconfig iwm0 scan

  2. Join the open SSID (replace iwm0 with your interface)

    ifconfig iwm0 join FOSDEM

Optional: force a strong channel if association fails
ifconfig iwm0 join FOSDEM chan 6

Optional: set regulatory domain (Belgium)

ifconfig iwm0 country BE
  1. Get addresses

    dhclient iwm0 # for IPv4 (DHCP)

IPv6 SLAAC happens automatically via router advertisements

  1. Check

    ifconfig iwm0
    route -n show
    ping6 ipv6.google.com
    ping 8.8.8.8 # if IPv4 DHCP worked

Persistent (auto-connect at boot)

Create /etc/hostname.iwm0 (replace with your interface):

join FOSDEM inet6 autoconf
# chan 6          # optional: lock to a good channel

Then reboot or run sh /etc/netstart iwm0.

Notes:
- OpenBSD usually "just works" for association and SLAAC.
- If no IPv4 → the network might be under heavy load; IPv6 often has better performance.
- Test hostnames: most apps resolve via DNS and prefer AAAA records.

2. FreeBSD — Slightly More Flags Needed

FreeBSD requires explicit IPv6 activation on wireless interfaces.

One-time / manual connection

  1. Create/associate (if not already done)

    ifconfig wlan0 create wlandev iwm0 # only once, if interface doesn't exist
    ifconfig wlan0 up scan

    ifconfig wlan0 ssid FOSDEM up

Optional: regulatory domain

ifconfig wlan0 country BE
  1. Enable IPv6 SLAAC (critical step!)

    ifconfig wlan0 inet6 -ifdisabled accept_rtadv
    rtsol wlan0 # send router solicitation now

  2. Get IPv4 (optional, but usually works)

    dhclient wlan0

  3. Check

    ifconfig wlan0 # expect global IPv6 address + status: associated
    netstat -rn -f inet6 # default route via fe80::...
    ping6 ipv6.google.com
    ping 8.8.8.8 # if DHCP succeeded

Persistent (recommended for /etc/rc.conf)

Add to /etc/rc.conf:

# Wireless parent (adjust to your driver, e.g. iwm0 → wlan0)
wlans_iwm0="wlan0"

# Main config line — both IPv4 and IPv6
ifconfig_wlan0="WPA DHCP"                       # WPA=open here
ifconfig_wlan0_ipv6="inet6 -ifdisabled accept_rtadv"

# Router solicitation daemon (recommended for laptops)
rtsold_enable="YES"
rtsold_flags="-a"                               # auto-detect interfaces

Re-apply without reboot:

`service netif restart wlan0 && service rtsold start`

Important FreeBSD gotcha — Why -ifdisabled?

Many FreeBSD versions set the IFDISABLED flag by default on wlan* interfaces for security (prevents unwanted IPv6 activation).
Without -ifdisabled, accept_rtadv is ignored → no global IPv6, no default route from RAs.
Always include it when you want SLAAC on wireless.

Check current flags:

ifconfig wlan0 | grep nd6  
→ If `IFDISABLED` appears → that's why plain `accept_rtadv` failed.

Troubleshooting Tips (both OS)

  • No association / "no carrier"
    → Run ifconfig <iface> scan again → pick strong channel → join FOSDEM chan X or ssid FOSDEM chan X up.
    → Move closer to an AP (ask at infodesk where they are).
    → Try 5 GHz if your card sees it (mode 11a on OpenBSD, wlanmode 11a on FreeBSD).

  • IPv6 works, but IPv4 pings fail
    → Normal if DHCP didn't assign an address (crowd overload). Use hostnames — most resolve via DNS and work over IPv6.

  • No global IPv6
    → Confirm RAs: tcpdump -i <iface> icmp6 (look for type 134 Router Advertisement).
    → Force solicitation: rtsol <iface> (OpenBSD/FreeBSD) or rtsold -a.

  • Still nothing?
    → Visit the Network Devroom (usually H.1302 Depage) or infodesk — they monitor the network live and help debug.

Summary Table

| Step                  | OpenBSD                              | FreeBSD                                                        |
|-----------------------|--------------------------------------|----------------------------------------------------------------|
| Join SSID             | `ifconfig iwm0 join FOSDEM autoconf` | `ifconfig wlan0 ssid FOSDEM inet6 -ifdisabled accept_rtadv`    |
| IPv6 SLAAC            | Automatic                            |  + `rtsol`                                                     |
| IPv4 DHCP             | `dhclient iwm0`                      | `dhclient wlan0`                                               |
| Persistent file       | `/etc/hostname.iwm0`                 | `/etc/rc.conf`                                                 |
| Key gotcha            | Rarely needed                        | Must clear `IFDISABLED` flag                                   |

With these steps, both OpenBSD and FreeBSD connect reliably to FOSDEM WiFi — often with excellent IPv6 performance.
Happy hacking at FOSDEM!



0, 0
displayed: 81



What is the last letter of the word Python?