Hello,
I have a question regarding adding support for this stick. It was working under resin with my raspberry pi, but not yet with intel NUC resin. So I added “linux-firmware-8192cu” in kernel-core, since (rtl8192cu) should support RTL 8188CUS.
I see the files inside /lib/firmware, but I believe I need some module for this to run. modprobe 8192cu. iwconfig and ifconfig only show my internal wifi.
bash-4.3# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0aa7 Intel Corp.
Bus 001 Device 002: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
CONNECTIVITY_FIRMWARES =+ "linux-firmware-ibt linux-firmware-rtl8723 linux-firmware-rtl8821 linux-firmware-rtl8723b-bt linux-firmware-rtl8192cu linux-firmware-iwlwifi-3168 linux-firmware-rtl8168"
I believe some flags are needed in recipes-kernel/linux
# Support for RTL8723BE and RTL8821AE based WiFi/BT cards
RESIN_CONFIGS_append = " rtl8723be_rtl8821ae"
RESIN_CONFIGS_DEPS[rtl8723be_rtl8821ae] = " \
CONFIG_RTL_CARDS=m \
"
RESIN_CONFIGS[rtl8723be_rtl8821ae] = " \
CONFIG_RTL8723BE=m \
CONFIG_RTL8821AE=m \
"
Inside the raspberry pi image repo there were two last lines:
Hey @rquant, I was just discussing this with my colleague. You need not compile the whole kernel, but merely the driver (a kernel module), using module headers we provide. You can find a repo showing an example of this [1] in our public github org balena-io-projects, in the repo kernel-module-build, in which an example module (named “hello”) is built (build.sh) and installed using insmod (run.sh). You could do this in your container for the driver in question. The repo is best read by starting in Dockerfile.template and descending into the logic from there.
That said, I will happily forward this to the relevant engineers to see if they are able / think it’s wise to add the driver in our built images for this device.
the problem is the following. You are building the module, but not for the underlying Balena OS. So you cannot use WIFI to initially to deploy or correctly use the communication interface between Your OS and Balena OS.
Ah, you’re very correct. The device, on initially powering-up, will need to have a working network interface it can use to contact the backend and download the container images, inside of which are the modules that have been built, etc. In this case, you have three options:
preload the device with your built image [1] (device boots up, runs the container(s), one of which (or… the only one, if there’s only one) installs the kernel module, enabling the wifi device)
build your own BalenaOS with the kernel module included (requires a yocto build setup) [2] and then affiliate the device to the BalenaCloud backend [3].
wait for our team to include the driver, if that turns out to be the path we take (I’ve forwarded this request to the engineers)