Wifi not working after building customized image





  • hi,

    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 )



  • Hi Stephane
    can you explain your steps to succeed your image.



  • @Stephane-Foloppe
    hello stephane , could you please write a brief explanation on how you build your image ?



  • @Stephane-Foloppe hi, I'm trying to build my own image (from https://github.com/OnionIoT/source) with wifi-warp-core.

    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?



  • Re: Wifi not working after building customized image

    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.

    Run

     make menuconfig
    

    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

     make V=s
    

    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.01 branch, 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_URL in libsoxr from git://git.code.sf.net/p/soxr/code to https//git.code.sf.net/p/soxr/code because git clone was 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 wifisetup and selecting 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
    • Running wifisetup and 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
    
    • opkg update fails:
    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?

    Thank you!!



  • @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 .config and running make oldconfig didn'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.


  • administrators

    We do keep our official configuration in the .config file on Github.
    However, when you run:

    ./scripts/feeds update -a
    ./scripts/feeds install -a
    

    This will actually overwrite the .config and clear our settings.

    My advice would be to run git checkout .config after running the feeds script, and you'll get all of our settings.



  • @Lazar-Demin Sorry, my mistake! Thank you for clarifying this! Can you confirm that building this will result in the exact same image provided @ http://repo.onion.io/omega2/images/ ?

    Thanks!


  • administrators

    @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.

    Thank you,
    Nick


  • administrators

    @Nick-Garner
    We run some commands to setup the environment, that you can see in our Dockerfile. It in turn, runs the onion-feed-setup.sh script to setup our feeds. We then rely on the build system configuration that's stored in .config.

    If it seems that your build system configuration isn't matching the firmware that we build, it might be because when ./scripts/feeds is run, it overwrites the .config file. 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!


Looks like your connection to Community was lost, please wait while we try to reconnect.