Adding wifi source code
Thomas Mueller
mueller6722 at twc.com
Sat Sep 2 08:11:03 UTC 2017
> Here's a pdf giving a decent overview:
> https://www.bsdcan.org/2006/papers/freebsd.device.driver.slides.pdf
> But, the FreeBSD handbook also goes over the process as well.
> https://www.freebsd.org/doc/en_US.ISO8859-1/books/arch-handbook/driverbasics.html
> For the guy that took Linux drivers, you might want to look into the Linux
> Emulator, that would be the easiest path especially if those Linux drivers
> includes a lot of Linux specific headers.
> The NetBSD drivers should be a bit easier to port.
> Best,
> Owen
I downloaded it but haven't read yet.
Actually, it's the arch-handbook, not in the regular FreeBSD handbook.
Thanks for the leads!
> I was planning on also porting over the Atheros AR9271 driver from NetBSD
> (athn(4) /usr/src/sys/dev/usb/if_athn_usb.c), but not until I finish the
> current device I am working on. It might not be for a while though. There
> is likely a lot of shared code with ath(4) on FreeBSD
> (/usr/src/sys/dev/athn). NetBSD seems to separate all code between USB and
> PCI, whereas FreeBSD combines drivers. Let me know if I can help out, as I
> already own this device and would be willing to test out code or
> troubleshoot with you.
> I am currently working on another driver from Linux to FreeBSD. The core
> concepts are the same, but a lot of code is in different order. FreeBSD
> drivers have an attach function that assign function pointers to the softc
> struct. The Linux equivalent is in DRIVERNAME_ops. In my case, this:
> http://src.illumos.org/source/xref/linux-master/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c#224
> Hope this helps. But yes, would love to work on AR9271!
What is the rtl8188ee? Maybe I'd recognize the brand and model.
I have Hiro H50191, which uses rsu driver.
That last URL looks like something related to Illumos and OpenIndiana.
My Atheros AR9271 is (quasi-)USB, an inseparable part of the motherboard in contrast to the Hiro H50191 which is a USB-stick wireless adapter.
It has sometimes worked on NetBSD, but more often would fail to load firmware.
On latest NetBSD-current, it stops the kernel from booting unless I disable it or comment out in kernel config. GENERIC kernel reboots immediately without showing any messages.
OpenBSD also has AR9271 driver and Realtek re. I have NetBSD installations but no OpenBSD.
I would like, at first, if possible, when I have a driver to build, to build the module rather than the whole kernel every time.
I am familiar with C and C++ but think I need to brush up. Any online leads/references?
Tom
More information about the freebsd-wireless
mailing list