Regression - D-Link DWA-131 not working anymore


I found that after the earlier updates, my D-Link DWA-131 wifi usb dongle does not work anymore. I’ve made tests on my ASUS-K53 laptop and a MacBook 2012, both with Haiku installed. With the current update (hrev 57716, x86_64 version), the DWA-131 dongle does not work anymore.

The problem appears in the last week. Before that, the wifi usb dongle worked fine, almost perfect. The usb device dongle is fully funcional (was tested on OpenBSD and FreeBSD to be sure is not broken or something).

I suppose the problem started with the hrev57702, into the TCPEndpoint.cpp file. I guess the problem is with the fState == LISTEN which was added there. Maybe this device (or others) remains into the LISTEN state a little bit longer than others, and because of that, it throws a socket error. I donno, I m just saying.

Some info about my wifi dongle:

  1. The name is D-Link DWA-131
  2. The driver used by Haiku is realtek
  3. The driver used by OpenBSD/FreeBSD is rsu

The connection in Haiku was tested both from the network app and command line. There is the same behavior.

If you can revert the changes into the TCPEndpoint.cpp file, I can confirm if this fix the problem or not.


Connecting to a wifi endpoint does not use tcp. That comes into play only much later, when you have already received an ip address, the interface is configured, and you open your web browser and try to access a website.

we need to know:

  • what behavior you get exactly: is there an error message, is the interface not visible at all in network preferences, etc
  • also attach a copy of the syslog (from /var/log/syslog), it will contain logs from the driver to help us see if anything goes wrong. If you can, also attach a syslog from an older version of haiku where the wifi is working, then we can compare them

Is strange, now works again. It just works without any change or reason. I dont understand what is that. Sorry!

This is the best advice to try to catch why something is not working correctly. Make a copy of the syslog when the error occurs to inspect at a later time.