Drivers for network hardware on Haiku

Since driver is not available for RTL8192EE, I was cursing Realtek why the hell he will not support open source…but, I remembered this works on Linux. Checked and found Realtek gives drivers for windows / linux but not BSD’s

May be there are many manufacturer’s like Realtek

In view of this situation, if Haiku changes it’s approach of having drivers only from freebsd / openbsd and looks at how to adopt Haiku to use drivers from linux, I think many Haiku user’s will be benefitted

Just my thinking…

Linux drivers are almost always GPL licenced. There is a reason that FreeBSD and OpenBSD drivers are used instead.

Is Licencing such a big show stopper?

I think I had read one of the developer writing that the linux drivers when they are updated, they become incompatible and break the package or some thing like that…

In a word: yes.

1 Like

Licensing is only one small part of the problem.

The other part is that Linux changes its internal interface between drivers and the kernel quite frequently. So, a compatibility wrapper is not a very good solution, it would only work for drivers for a specific version of Linux and needs to be changed a lot at every new release.

This is intentional from Linux: it forces manufacturers to put their drivers inside Linux git repository and maintain them there. But it also makes it harder for us to re-extract such drivers for our own use.

You are probably going to get better results by implementing a Haiku driver for your network device, and copy-pasting some of the relevant code from Linux (or finding a developer who is interested in doing that).

3 Likes

I don’t necessarily disagree in principle, but I’d caution against trying direct ports of Linux drivers. Some are pretty massive. The Realtek ones sit ontop of a Realtek wifi framework you’d have to port.

I ran into that with the RTL8814AU driver I’m working on. Since Realtek doesn’t release datasheets often (I did email and ask) I need to use the Linux driver for things like register mapping, but porting the entire driver is just too much junk.