Damirados

Damirados

How to use custom wifi drivers with Nerves?

Hi, for my project I need patched version of wifi drivers.
I already have custom nerves system but I have never done custom drivers.
How would I go about this after I compile drivers?
I will also need this card to be unmanaged, how does that work with VintageNet do I just not include it in config?

Marked As Solved

pojiro

pojiro

Hi!

When I added a driver, kernel-module, before, I made a buildroot package like following.

https://github.com/pojiro/nerves_system_rpi4_mouse/commit/5b6cc45f9962c87263107f0083e6047f2b7e4b43

Related Buildroot document is Chapter 18. Adding new packages to Buildroot.

Also Liked

abelino

abelino

@Damirados At a quick glance, the repo you link is a hard fork from fariouche/rtl8812au-unified which is a soft fork of aircrack-ng/rtl8812au. Buildroot’s has a package for aircrack-ng/rtl8812au and since svpcom’s repo is also merging in upstream changes from fariouche’s repo, I see two options for you:

  1. Generate a patch that captures the differences between svpcom and fariouche’s repo and add it to your patches/rtl8812au-aircrack-ng directory. This allows you to use the package available in upstream buildroot and also bring in all the code changes from svpcom in the form of a single or multiple patch files. More importantly, you don’t need to redefine a package. (This is the approach I would take long term)

NOTE: User defined packages can’t use existing names used by upstream packages.

  1. Define a custom package by copying package/rtl8812au-aircrack-ng. Rename it. Modify RTL8821AU_SITE to point to svpcom repo and fix any compilation issues that might come up. This might be the easier option of the two approaches because generating a patch file might require dealing with conflicts.

Buildroot also has an alternative driver you might want to look at: package/rtl8821au

Once you have buildroot compiling your driver, you will need to enable it in the linux defconfig via make linux-menuconfig or by editing the system’s linux defconfig file directly.

Damirados

Damirados

I am currently building companion computer system for autonomous drones that enables live streaming.

As test drone I am using 5 inch FPV drone with flight controller capable of running ardupilot.

I am basically implementing OpenHD using nerves and membrane. So video transmission, bidirectional Mavlink and data tunnel over wifibroadcast

Once that is done I plan to experiment with features like object detection and tracking…

Damirados

Damirados

Thanks,

I found a package that is very similar to the one I am trying to compile, so I think it won’t be that hard using it as starting point.

Where Next?

Popular in Questions Top

aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
hariharasudhan94
lets say i have a sample like a = 20; b = 10; if (a > b) do {:ok, "a"} end if (a < b) do {:ok, b} end if (a == b) do {:ok, "equa...
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
PeterCarter
There are pre-rolled solutions for other frameworks that do work. However, Phoenix does not seem to have these. Have people had good expe...
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New

Other popular topics Top

Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New
vegabook
I’m brand new to Phoenix and I have stripped one of the demo applications to the bone. I just want to get an svg up on the screen. Here i...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
marius95
Hello everyone, I try to use an Javascript Event Handler in my root.html.leex file. Therefore I created a function in the app.js file: ...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
Lily
In templates/appointment/index.html.eex: <%= for appointment <- @appointments do %> <tr> <td><%= appoi...
New
rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement