Please read this entire post before replying, as it contains important information and caveats. Thanks.
So. Thanks to the tireless work of korli on the ethernet side, and the less-sleep-than-usual work of myself on the WiFi side, as of hrev52040 Haiku has a fully-updated network driver compatibility layer for FreeBSD 11.1.
In ensuring a smooth upgrade that does not block the beta release, I’d like testers to verify all new / updated drivers before I merge them. So, there are three general categories of chipsets here:
Chipsets that already work with Haiku. If you are in this category, excellent! Please comment below with the device ID of your chipset, the driver you presently use, and what architecture of Haiku you run.
How to get this information: Reply with a copy of your syslog and the output of these commands: listimage | grep dev/net uname -a
Notes. Before replying, check the below lists to see if your driver has already been upgraded and tested.
If it says OK, then it has already been tested, and you don’t need to comment here.
If it says untested, then test with hrev52040 or higher to see if it works, and report back with that information; no need to attach those files.
If it says not upgraded, then do comment with those files and I (or someone else) will make a driver for you to test with.
Chipsets that do not work with Haiku but are covered by an 11.1 driver we have. This category is a little tricky. In order to determine if your driver is covered, try following these steps:
Figure out what the name of your chipset is. Try running: listdev | grep Network listdev | grep Wireless.
Run a Google search with the name of the chipset, like so: site:freebsd.org Vendor-name Device-name XXXX
See if a manual page is returned. For instance, this manpage tells me that the iwn driver supports the chipset Intel Centrino Wireless-N 1030.
See if this driver is in one of the lists below. If it is, then congratulations, you are in this category.
See 1.2 (“Notes”) above, and determine what the Status? column says about this driver, and proceed according to the instructions there.
Chipsets that do not work with Haiku and are covered by a 11.1 driver we do not have. This category is much like #2, but due to the tricky nature of porting new drivers (firmware…), I’ll be prioritizing drivers covered under #1 and #2 before I try these. (If you know how to code and want to attempt this on your own, see me on IRC for guidance; I’m happy to help!)
If you’d like, you can do steps 1-3 of #2 above to determine what driver (if any) you are covered by. If nothing turns up, then it’s possible FreeBSD just doesn’t have a driver for you, in which case I can’t do anything. Sorry.
As a special case: USB-based ethernet and WiFi chipsets will not be supported at all, even if FreeBSD has a driver for them. Sorry.
The Lists
Ethernet drivers (list initially copied from this ticket)
If I (or another trusted developer) gives you a new driver binary to test (i.e. one that is not in master yet), here are the…
Testing instructions
Download the new driver and verify it against the posted SHA256sum.
Blacklist the old driver. (If you’re unfamiliar with blacklisting files, see this page for an introduction.) In general, this will mean creating a file /system/settings/packages/ with contents like this:
Maybe you want to update the instructions regarding uname to “uname -a” or “uname -v” because uname with no parameter just outputs “Haiku” which is great in itself but not very useful in this case I guess
Anyway, great work, thanks a lot. I’ll be back with my testing info soon.
Tested with hrev52051 x86_64 with rtl81xx ethernet driver on a 60 Mbps uplink:
Performance: Download: 61.2 Mbps, Upload: 60.0 Mbps, Ping: 2 msec
Result: WORKING - Very good performance on the test network and within similar network performance seen on my test Windows desktop (i.e. 62.52 Mbps (d) / 62.03 Mbps (up) / Ping: 2 msec). Some networking stack overhead.causes minor performance degradation in download speed performance during consistent usage with this driver - but not a major issue at this time.
Tested with hrev52044 x86_gcc2 with iprowifi3945 WLAN driver on a 60 Mbps uplink:
Performance: Still Pending…
Result: NOT WORKING YET - My laptop usually produced a recoverable KDL event during boot with the previous driver or during join attempts to my wireless network. The new iprowifi3945 driver crashes during boot - but not during join attempts.
Somehow after iprowifi4965 update my machine is unable to connect to the wireless network (and looks like it can’t even scan the available ones). I’m using Intel Centrino Advanced-N 6205. Can’t attach the syslog at the moment, but I tried multiple times with both -ht switch and without it, still couldn’t get it to work.
Thanks; merged in hrev52043. (I tweaked the glue code slightly vs. the version I gave you to test; so please delete your non-packaged version and make sure that one still works.)
OK, I’ll have a look.
Yes, I merged the driver slightly incorrectly and so it was broken on 5000 models and up. Also fixed in hrev52043, so please try again.
Ah, it looks like it is one of the BCM ones that their driver supports now. I had a look at what porting those would entail, and it looks like it needs a whole new bus manager… I’m probably going to defer those to last, if I get around to it at all
The update packages for those architectures should be newer. But I also know that @kallisti5 is in the process of transitioning us to a new buildbot, which may explain why those are old.
If updating the installed OS is the way to test the new drivers, then it is assumed that we already have functional networking to perform the update. With Debian-based distros I can run the same version on two different PCs, and I copy the package manager’s cache to other PCs to update offline. Is this possible with Haiku?
It is. But ethernet drivers should be working fine; or do you not have access to an eithernet port?
If you want to do an offline update, download the contents of the current repository for your architecture (it will either be x86_gcc2 or x86_64), and then copy these files into /system/packages/, delete the /system/packages/administrative directory, and reboot.
I can report that ‘vendor 1814: Ralink corp. device 0781: RT2790 Wireless 802.11n 1T/2R PCIe’ is not working in hrev52044, see ticket #11013. Tested on an Asus Eee PC 901.