illiliti / eiwd Goto Github PK
View Code? Open in Web Editor NEWiwd without dbus -- maintained fork of original dylanaraps/eiwd
License: GNU Lesser General Public License v2.1
iwd without dbus -- maintained fork of original dylanaraps/eiwd
License: GNU Lesser General Public License v2.1
I am on Tiny Core Linux x86_64 with kernel version 5.15.10. eiwd version 1.20-1 was working perfectly. Yesterday I upgraded to eiwd version 2.0-1 and noticed strange behavior: I can authenticate with all APs that have a password, but only some open APs. Unfortunately, the open AP at my work place is the one that I cannot authenticate with.
Here is the result of an AP scan using sudo iw dev wlan0 scan flush
. It includes an open AP that works fine (AndroidAP-bd) and also shows the open AP that I am having trouble authenticating with (ARWCVisitor): https://pastebin.com/WWqcGxMf
I am trying to authenticate like this:
# touch /var/lib/iwd/ARWCVisitor.open
# iwd -i wlan0 &
Can you please help me figure out how to authenticate with ARWCVisitor when using eiwd 2.0-1?
I built iwd with --disable-dbus
and only then did I realise that it won't include iwctl. I was wondering if there's a way to connect to WiFi now with the configuration files in /var/lib/iwd. Every tutorial I have seen requires iwctl to connect to WiFi.
Also, any plans on writing that custom client?
Thanks in advance, and also thanks for keeping this project alive.
is it possible to list the available networks?
Hi there! eiwd works fine so far! but one thing bugs me , my wifi gets disconnected if I wake up my pc after sleep. I have to reconnect the wifi
Due to unknown circumstances(something related to dhcp/ipv6), eiwd may cause segfault while connecting to wifi.
Further investigation revealed that it was caused by passing NULL to inet_ntop
function.
[0] The problem is here:
https://git.kernel.org/pub/scm/libs/ell/ell.git/tree/ell/icmp6.c#n291
[1] NULL is set to client->ra by l_icmp6_client_stop
:
https://git.kernel.org/pub/scm/libs/ell/ell.git/tree/ell/icmp6.c#n516
[2] Which may be called by l_dhcp6_client_stop
:
https://git.kernel.org/pub/scm/libs/ell/ell.git/tree/ell/dhcp6.c#n1854
[3] Which is called by dhcp6_client_icmp6_event
:
https://git.kernel.org/pub/scm/libs/ell/ell.git/tree/ell/dhcp6.c#n1479
[4] Which is called via client->event_handler
:
https://git.kernel.org/pub/scm/libs/ell/ell.git/tree/ell/icmp6.c#n268
[5] client->event_handler
is set by l_icmp6_client_set_event_handler
:
https://git.kernel.org/pub/scm/libs/ell/ell.git/tree/ell/dhcp6.c#n1513
[6] The actual problem is here:
https://git.kernel.org/pub/scm/libs/ell/ell.git/tree/ell/dhcp6.c#n1478
If managed
and other
is false, client->ra
will be set to NULL and later deferenced by inet_ntop
.
https://git.kernel.org/pub/scm/libs/ell/ell.git/tree/ell/icmp6.c#n333:
if (!client->ra) {
client->ra = r;
// client->ra will be set to NULL if `managed` and `other` is false[6]
icmp6_client_event_notify(client, L_ICMP6_CLIENT_EVENT_ROUTER_FOUND);
// client->ra will deferenced by `inet_ntop` in `icmp6_client_setup_routes`[0]
icmp6_client_setup_routes(client);
return 0;
}
The fix is trivial:
diff --git a/ell/icmp6.c b/ell/icmp6.c
index fe8a506..c7f1458 100644
--- a/ell/icmp6.c
+++ b/ell/icmp6.c
@@ -288,6 +288,10 @@ static void icmp6_client_setup_routes(struct l_icmp6_client *client)
char buf[INET6_ADDRSTRLEN];
unsigned int i;
+ if (!ra) {
+ return;
+ }
+
rt = l_rtnl_route_new_gateway(inet_ntop(AF_INET6, ra->address,
buf, sizeof(buf)));
if (!rt) {
Looks like upstream is affected too? If so, i will try to send patch to mailing list.
Recently it get fixed by this patch, i tried and fixed the problem
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.