Wifi not working after building customized image
I just build my own firmware and wifi is working !
( I just have to manually select Coreutils to make the wifi drivers appears in onion/wifi )
can you explain your steps to succeed your image.
hello stephane , could you please write a brief explanation on how you build your image ?
I simply copied the folder wifi-warp-core from https://github.com/OnionIoT/OpenWRT-Packages to source/package/onion.
After doing this, Onion > WiFi > wifi-warp-core* appears in menuconfig, but when I enable it I get the following error:
Collected errors: * satisfy_dependencies_for: Cannot satisfy the following dependencies for wifi-warp-core: * coreutils-base64 * * opkg_install_cmd: Cannot install package wifi-warp-core. package/Makefile:60: recipe for target 'package/install' failed
I tried enabling coreutils-base64 by enabling Base system > busybox > Coreutils (after enabling Customize busybox options) > base64 in menuconfig but nothing changed...
Could anyone tell me what I'm doing wrong?
I have successfully built the customised image. The steps are pretty straight forward. I am using Docker on my MAC. Just follow the steps on Cross-Compiling C & C++ Programs: Part 1 - Setting Up the Build System to pull the latest source from the repository. If you do not have Docker, just follow the steps to install & set up Docker and create a container.
Run the image. After the container is up, you should be at ~/source. If not, just ensure you are at ~/source.
Select Onion -> WiFi, you should see "wifi-warp-core" there.
It should be automatically selected already. If it is not, just click "Y" to include this in the kernel.
If you need other libraries, drivers, modules, etc., just select those in the config menu.
There is a problem with compiling mosquito if libwebsockets is selected under Libraries, I disable
Network -> mosquito-ssl -> libwebsocket support
Save & Exit the config menu.
Usually, I will run
scripts/feeds update -a
If the packages I require are not there, I run
scripts/feeds install package_name
To compile the customised image, run
If you encounter a problem with compiling MicroPython and you are not using it, just unselect it in the config menu.
@Caio-Mehlem Perhaps you are using the wrong tree. Try https://github.com/OnionIoT/source/tree/lede-17.01. "wifi-warp-core" should be in the config menu.
@aobs , I was in the
lede-17.01branch, but I stupidly did not run the feed scripts... (I'm new to OpenWRT/LEDE/Buildroot so I'm still figuring out how things work).
I can now build the image correctly with wifi-warp-core, but only by cloning the repo @ https://github.com/OnionIoT/source (commit 564089f624f1eb47c20d1f4f8766f2383ce32ef9).
The Docker image is out of date AND did not compile correctly for me.
For some reason I had to manually change
PKG_SOURCE_URLin libsoxr from
git clonewas failing! I'm running the compilation again but it didn't finish yet.
The image built without docker boots fine and connects to WiFi using wifi-warp-core (by entering WiFi info manually with
Type network info), but I still have the following problems:
- hostname is Omega-0000, not sure how to make it use the MAC address as in the official build
wifisetupand trying to "Scan for Wifi networks" fails:
root@Omega-0000:/# wifisetup Onion Omega Wifi Setup Select from the following: 1) Scan for Wifi networks 2) Type network info q) Exit Selection: 1 Scanning for wifi networks... Command failed: Not found Failed to parse message data WARNING: Variable 'results' does not exist or is not an array/object > ERROR: Scan failed, try again > ERROR: specified ssid not in the database root@Omega-0000:/# [ 1017.277206] br-wlan: port 1(ra0) entered disabled state [ 1017.959763] device ra0 left promiscuous mode [ 1017.964266] br-wlan: port 1(ra0) entered disabled state [ 1018.019989] IPv6: ADDRCONF(NETDEV_UP): br-wlan: link is not ready [ 1018.375215] [ 1018.375215] _ _____ ___ ___ _________ ___ ____ [ 1018.375215] | | /| / / _ | / _ \/ _ \ / ___/ __ \/ _ \/ __/ V1.0 [ 1018.375215] | |/ |/ / __ |/ , _/ ___/ / /__/ /_/ / , _/ _/ [ 1018.375215] |__/|__/_/ |_/_/|_/_/ \___/\____/_/|_/___/ [ 1018.375215] Onion Enhanced MT7688 WiFi Driver [ 1018.375215] [ 1018.527499] DMA Scheduler Mode=0(LMAC) [ 1018.531374] efuse_probe: efuse = 10000012 [ 1018.535498] 1. Phy Mode = 14 [ 1018.711670] 2. Phy Mode = 14 [ 1018.714643] 3. Phy Mode = 14 [ 1018.717882] WTBL Segment 1 info: [ 1018.721296] MemBaseAddr/FID:0x28000/0 [ 1018.725186] EntrySize/Cnt:32/128 [ 1018.728632] WTBL Segment 2 info: [ 1018.732010] MemBaseAddr/FID:0x40000/0 [ 1018.735899] EntrySize/Cnt:64/128 [ 1018.739344] WTBL Segment 3 info: [ 1018.742720] MemBaseAddr/FID:0x42000/64 [ 1018.746695] EntrySize/Cnt:64/128 [ 1018.750140] WTBL Segment 4 info: [ 1018.753515] MemBaseAddr/FID:0x44000/128 [ 1018.757578] EntrySize/Cnt:32/128 [ 1026.936528] device ra0 entered promiscuous mode [ 1026.941279] br-wlan: port 1(ra0) entered forwarding state [ 1026.946860] br-wlan: port 1(ra0) entered forwarding state [ 1026.952961] IPv6: ADDRCONF(NETDEV_CHANGE): br-wlan: link becomes ready [ 1028.941473] br-wlan: port 1(ra0) entered forwarding state [ 1030.277136] Interface apcli0 link up! (WPA2PSK AES) [ 1032.830996] da match,0x40a36bc073f5
root@Omega-0000:/# opkg update Downloading http://repo.onion.io/omega2/packages/core/Packages.gz Updated list of available packages in /var/opkg-lists/omega2_core Downloading http://repo.onion.io/omega2/packages/core/Packages.sig Signature check failed. Remove wrong Signature file. Downloading http://repo.onion.io/omega2/packages/base/Packages.gz Updated list of available packages in /var/opkg-lists/omega2_base Downloading http://repo.onion.io/omega2/packages/base/Packages.sig Signature check failed. Remove wrong Signature file. Downloading http://repo.onion.io/omega2/packages/packages/Packages.gz Updated list of available packages in /var/opkg-lists/omega2_packages Downloading http://repo.onion.io/omega2/packages/packages/Packages.sig Signature check failed. Remove wrong Signature file. Downloading http://repo.onion.io/omega2/packages/routing/Packages.gz Updated list of available packages in /var/opkg-lists/omega2_routing Downloading http://repo.onion.io/omega2/packages/routing/Packages.sig Signature check failed. Remove wrong Signature file. Downloading http://repo.onion.io/omega2/packages/onion/Packages.gz Updated list of available packages in /var/opkg-lists/omega2_onion Downloading http://repo.onion.io/omega2/packages/onion/Packages.sig Signature check failed. Remove wrong Signature file.
Anyone has ideas why I'm getting these problems?
@Caio-Mehlem Try to use the packages in your image directories. My packages are under ~/source/bin/packages/mipsel_24kc & ~/source/bin/targets/ramips/mt7688/packages. Copy the packages you need to your Omega2 and install them with opkg.
Please check New omega2 boots with Omega-0000 AP and wont let me connect and see whether this can fix your problem.
@aobs I'm quite new to Linux development and buildsystems, so sorry for the stupid questions... I realized there is a script to set the hostname which was not selected.
For the rest, I built a new image with a custom configuration loosely based on the one found at the Docker image (since copying the docker
make oldconfigdidn't work) and now everything seems to be working.
I still don't understand why Onion doesn't keep their official configuration at the repo's
.config, it would make customization a lot easier since we could start from the official build and add/remove what we needed.
We do keep our official configuration in the
.configfile on Github.
However, when you run:
./scripts/feeds update -a ./scripts/feeds install -a
This will actually overwrite the
.configand clear our settings.
My advice would be to run
git checkout .configafter running the
feedsscript, and you'll get all of our settings.
@Caio-Mehlem Yep, exactly
Hi @Lazar-Demin ,
I'm happy to see that Onion has released Warp Core. We have a product shipping with Omega2 as Ethernet only because of the issues we ran into with WiFi. I'm playing around with building a custom image from the OnionIoT Repo.
Can you tell me, if you were to build a fresh image that would be posted to http://repo.onion.io/omega2/images/, after cloning the repo and running "./scripts/feeds update -a" , what "./scripts/feeds install xxx" commands would you execute? install -a?
The reason I ask is, with all packages installed, the make fails and I have to go disable something, then try again. Latest issue is with libs->telephony->libre missing a zlib dep. Remove libre and opensip fails. I know this isn't Onion's problem so I'm curious which packages you actually install for the prod releases of the Omega2 firmware.
We run some commands to setup the environment, that you can see in our Dockerfile. It in turn, runs the
onion-feed-setup.shscript to setup our feeds. We then rely on the build system configuration that's stored in
If it seems that your build system configuration isn't matching the firmware that we build, it might be because when
./scripts/feedsis run, it overwrites the
.configfile. To remedy this, you can just run
git checkout .config(assuming you're using our github repo or docker image).
As for packages failing to build, we've seen this happen as well but only when running our Docker image on a windows machine. If the Docker image is running on Linux or Mac, there's no issues. (Haven't had the cycles to figure out why it doesn't play nice with Windows)
This post is deleted!