NetBSD Problem Report #55494
From www@netbsd.org Thu Jul 16 20:11:53 2020
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id 8936A1A9213
for <gnats-bugs@gnats.NetBSD.org>; Thu, 16 Jul 2020 20:11:53 +0000 (UTC)
Message-Id: <20200716201152.849761A921E@mollari.NetBSD.org>
Date: Thu, 16 Jul 2020 20:11:52 +0000 (UTC)
From: nykula@ukr.net
Reply-To: nykula@ukr.net
To: gnats-bugs@NetBSD.org
Subject: wpa_supplicant missing linux wifi driver
X-Send-Pr-Version: www-1.0
>Number: 55494
>Category: pkg
>Synopsis: wpa_supplicant missing linux wifi driver
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: reed
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Jul 16 20:15:00 +0000 2020
>Last-Modified: Thu Jul 16 20:31:40 +0000 2020
>Originator: Denys Nykula
>Release: current
>Organization:
>Environment:
Linux e11 5.4.48_1 #1 SMP PREEMPT Mon Jun 22 10:55:16 UTC 2020 x86_64 GNU/Linux
>Description:
Pkgsrc wpa_supplicant defconfig enables no wireless device driver when
building on Linux. So the resulting system can't connect to any Wi-Fi,
as only the wired driver is present.
Linux kernel provides two wifi APIs, ioctl+wext and netlink+cfg80211:
wireless.wiki.kernel.org/en/developers/documentation/wireless-extensions
wireless.wiki.kernel.org/en/developers/documentation/nl80211
Cfg80211 is used by new drivers being added to the kernel. It requires
linking wpa_supplicant with an external GPL library, libnl:
http://www.infradead.org/~tgr/libnl/
Wext is frozen but still widely supported. For example, it handles my
ath9k card from 2015. No lib dependency, so one config line enables it.
>How-To-Repeat:
On rolling release of Void Linux:
export SH=/bin/bash
git clone https://github.com/oasislinux/pkgsrc /usr/pkgsrc
cd /usr/pkgsrc/bootstrap; $SH bootstrap --full --prefer-pkgsrc=yes
cd /usr/pkgsrc/net/wpa_supplicant; /usr/pkg/bin/bmake install
/usr/pkg/sbin/wpa_supplicant
(Note that I use Michael Forney's frequently updated pkgsrc fork with
musl libc compat patches.)
The shown help text should have at least one wireless option:
drivers:
nl80211 = Linux nl80211/cfg80211
wext = Linux wireless extensions (generic)
wired = Wired Ethernet driver
But now it just says wired:
drivers:
wired = Wired Ethernet driver
>Fix:
Add the wext enabling line. If Linux pkgsrc users with new cards ever
appear, revisit this and ask them to package libnl.
--- /dev/null
+++ net/wpa_supplicant/files/defconfig.Linux
@@ -0,0 +1,2 @@
+# for Linux
+CONFIG_DRIVER_WEXT=y
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: pkg-manager->reed
Responsible-Changed-By: leot@NetBSD.org
Responsible-Changed-When: Thu, 16 Jul 2020 20:31:40 +0000
Responsible-Changed-Why:
Jeremy, can you please give it a look?
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.