radxa / meta-rockchip

Yocto BSP layer for the Rockchip SOC boards
Other
25 stars 14 forks source link

ZERO 3W build missing AIC8800 drivers and wlan0 #23

Open elockman opened 2 weeks ago

elockman commented 2 weeks ago

@RadxaStephen

I've been able to build the ZERO 3W per the changes shown in Issue #21 I believe Issue #21 also resolves Issue #18

Nevertheless, I am building the scarthgap branch on Ubuntu 22.04.5 LTS with the following command: MACHINE=radxa-zero-3w bitbake core-image-base and loading the image onto a microSD card

My issue is that I do not see a wlan0 or aic8800 drivers The debian build contains aic8800_fdrv and aic8800_bsp drivers

However, on the yocto build:

ip a only yields the loopback interface

lspcidoes not yield anything

lsmod | grep aic8800 does not yield anything

I've also tried building core-image-minimal and core-image-full-cmdline images 1) It appears that the build is missing the onboard wifi drivers. Is there another predefined image to try? 2) How can I add aic8800 support to a yocto build to bring wlan0 back?

elockman commented 2 weeks ago

@RadxaStephen @RadxaYuntian

I've created my own custom image with the same results.

I have USB WiFi adapters (MT7610U and RT5370) as additional WiFi options, and have included the following config to include their drivers.

CONFIG_MT76=m
CONFIG_MT76x0U=m
CONFIG_RT2800USB=m

I also have linux-firmware and kernel-modules packages included in my build.

lsusb shows that these devices are recognized, however wlan0 still does not appear when these devices are inserted.

I also see that radxa has posted the driver code for the aic8800 here. It appears I would have to create a custom yocto recipe to compile and install this code. I assume that I want to install the PCIE version, is that correct? Do you have a sample recipe you can share for the onboard wifi support?

Also, what must I do to get the wlan0 interface to show up with the ip a command?

I would prefer to get the onboard wireless module working. The USB WiFi devices are a secondary priority. I am evaluating the ZERO 3W for our company and need to have a solution to move forward with this product. Any help would be appreciated.

Thanks

RadxaYuntian commented 2 weeks ago

You need to use SDIO version of the driver. We also do not guarantee it can work properly on mainline kernel, since the vendor did not test against that kernel.

elockman commented 2 weeks ago

@RadxaYuntian Thank you.

I have drivers installed in my build for mt76. Can you offer an example yocto recipe to try to get wireless support on the 3W? Or perhaps a list of kernel packages and CONFIG_* you would include?

RadxaYuntian commented 2 weeks ago

We currently don't have a Yocto recipe for it. The chipset also requires userspace hacks to get Bluetooth working.

RadxaYuntian commented 2 weeks ago

We use systemd service in normal Debian to run it at boot time, which may not be available in Yocto.

elockman commented 2 weeks ago

Understood.

It looks like the defconfig file that the project points to is pretty limited. I'll add to the defconfig based on other projects.

elockman commented 2 weeks ago

I've made progress today with usb wifi modules. I've been able to connect to WiFi with an mt7610u. I'll provide more info once I have things dialed in a little more.