This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Mesh Network with Wireless BeagleBone Black

I bought several wireless BeagleBone Black to my research. The plan is to make a mesh network (ad-hoc mode) with the BBBWs and process some data between them.

However, I recently realize that BBBWs Wifi driver is Wl18xx and it does not support ad-hoc mode....

Is there a way to configure ad-hoc or mesh-point modes on this BBBW.?

Thanks

Maria

  • Maria,

    We have assigned your post to the relevant engineer and will get back to you.
  • Thank you! I'll wait

  • Hi,

    Please check the following document for using mesh with wilink8.

    You need to make sure you are using our latest release (R8.7_SP2) or latest mainline as mesh was added just recently.

    BR,

    Eyal

  • Hi Eyal

    Yes, I had that document and I was trying to build the image using this another document:  

    However, I had experience a lot or problems. I have solved many of them, but I reach one point I don't know what the error means... 

    Do you have a image that works for Wireless BeagleBone Black?

    Please see the error here

    Building backport-include/backport/autoconf.h ... done.
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/main.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/core.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-3.13.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-3.14.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/sysfs.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-3.15.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-3.17.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-3.18.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/radiotap.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-3.19.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/util.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.0.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/reg.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.1.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.2.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.3.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.4.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.5.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/scan.o
    /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.4.c: In function ‘backport_tso_build_hdr’:
    /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.4.c:103:6: error: dereferencing pointer to incomplete type
    /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.4.c:106:40: error: dereferencing pointer to incomplete type
    /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.4.c:110:7: error: dereferencing pointer to incomplete type
    /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.4.c:111:7: error: dereferencing pointer to incomplete type
    /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.4.c:112:7: error: dereferencing pointer to incomplete type
    /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.4.c: In function ‘backport_tso_start’:
    /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.4.c:140:2: error: implicit declaration of function ‘tcp_hdr’ [-Werror=implicit-function-declaration]
    /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.4.c:140:17: error: invalid type argument of ‘->’ (have ‘int’)
    /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.4.c:140:17: error: invalid type argument of ‘->’ (have ‘int’)
    /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.4.c:140:17: error: invalid type argument of ‘->’ (have ‘int’)
    /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.4.c:140:17: error: invalid type argument of ‘->’ (have ‘int’)
    /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.4.c:140:17: error: invalid type argument of ‘->’ (have ‘int’)
    /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.4.c:140:17: error: invalid type argument of ‘->’ (have ‘int’)
    cc1: some warnings being treated as errors
    make[6]: *** [/home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat/backport-4.4.o] Error 1
    make[5]: *** [/home/sensorfield/wl8-build/build-utilites/src/compat_wireless/compat] Error 2
    make[5]: *** Waiting for unfinished jobs....
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/nl80211.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/mlme.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/ibss.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/sme.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/chan.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/ethtool.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/mesh.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/ap.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/trace.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/ocb.o
      CC [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/debugfs.o
      LD [M]  /home/sensorfield/wl8-build/build-utilites/src/compat_wireless/net/wireless/cfg80211.o
    make[4]: *** [_module_/home/sensorfield/wl8-build/build-utilites/src/compat_wireless] Error 2
    make[3]: *** [modules] Error 2
    make[2]: *** [modules] Error 2
    make[1]: *** [modules] Error 2
    make: *** [default] Error 2
    ****** ERROR 0 *******

    I really appreciate your help on this....

    Thanks

    Maria

  • Do you have a compiled image we can use directly on WBBB??? In that way I can easily follow the steps in the PDF file you provided.

    Thanks

    Maria

  • Hi Maria,

    I believe that the BBBW comes ready with functional image where wifi is working. Isn't it the case?
    What kernel version do you have on it? In case you are using a >4.4 kernel on the BBBW those build errors are expected as the drivers have been developed using K4.4 and you are trying to build using backports with a newer kernel that was supported with this release.

    In case of using Kernel 4.9.x for example it is better to just use the in-tree wl18xx drivers and just try using mesh.

    Best Regards,
    Eyal
  • Hi Eyal

    Yes, the BBBW has a functional image. I can connect internet and other Wifi networks without problems. But, I cannot create a mesh network with ad-hoc mode. The BBBW has kernel 4.4.30-ti-r64

    Any recommendation?

    Thanks
  • Understood.

    You need to be on a 4.9.x based image to have the mesh related patches mostly in-tree.

    You can try to see if there is already an updated image for BBBW which is based on the latest ti kernel?

    Otherwise you would need to continue using the build script with the offical R8.7_SP2 and build with the sources of your 4.4.30-ti based kernel.

    Best Regards,

    Eyal

  • Hi,

    Seems like the is a newer kernel for BBBW that may make it easier for you...

    elinux.org/Beagleboard:BeagleBoneBlack_Debian

    Perhaps you can just upgrade your kernel that is running on the board from v4.4 to v4.9?
    I suggest you look at this page:
    wiki.debian.org/HowToUpgradeKernel

    Best Regards,
    Eyal
  • Hi Eyal

    I upgraded my BBBW kernel to v4.9 following the suggestions here: wiki.debian.org/HowToUpgradeKernel .... Now my uname -r result is

    root@beaglebone:~# uname -r
    4.9.59-ti-rt-r74

    I configured my mesh network by updating /etc/network/interfaces
    ______________________________________________
    auto wlan0
    iface wlan0 inet static
    address 10.0.0.121
    netmask 255.255.255.0
    wireless-channel 1
    wireless-essid meshNetwork
    wireless-mode ad-hoc
    _______________________________________________

    When I restart the networking service, I continue having the same error (ad-hoc mode not supported)

    root@beaglebone:~# ifdown wlan0
    root@beaglebone:~# ifup wlan0
    Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlan0 ; Operation not supported.

    This is the same error I got when I was using kernel 4.4.30. I have tested this configuration on other devices BBB+dongle and Raspberry Pi and it works perfectly. The problem is I have around 70 BBBW and I need to make them work.

    Any other suggestion????

    Thanks

    Maria
  • Hi Eyal

    I am able to see the mesh point mode now on my BBBWs. However, I have some problems with the configuration.

    Can you provide the mesh_start.sh and mesh_join.sh scripts, so I can take a look on the configuration?

    Thanks

    Maria
  • Hi Maria,

    Latest scripts are all here:

    BR

    Eyal

  • Hi Eyal

    I finally created the mesh network on BBBW!!!!
    _______________________________________________________________________________________________________________
    What I did:

    1. Generate the driver files ( fs_skeleton.tbz2 and zlmage) by following the instructions here: NOTE: processors.wiki.ti.com/.../WL18xx_System_Build_Scripts Please be aware there are some broken links in the compilation.

    2. Update the BBBW kernel to 4.9 following the steps here: elinux.org/Beagleboard:BeagleBoneBlack_Debian

    3. Copy fs_skeleton.tbz into the BBBW root directory e.g /
    $ cd /
    $ tar -xvf fs_skeleton.tbz2
    $ sync

    4. Copy zImage file into /boot directory

    5. Reboot the BBB

    6. Go to
    $ cd /usr/share/wl18xx/
    There, you can see all the scripts to form the mesh network.

    7. Open wpa_supplicant.conf
    Uncomment and/or change the following lines:
    max_peer_links=10.
    mesh_max_inactivity=300
    p2p_disabled =1

    8. Open mesh_start.sh
    Change the IP address. Remember each BBB should have a different IP address

    9. Run the script for starting the mesh0 interface
    $ ./mesh_start.sh
    IMPORTANT NOTE: If your BBB has a previous configured wpa_supplicant, you must run $ ./mesh_stop.sh first.

    10. Run the script to join to the mesh
    $ ./mesh_join.sh NAMEMESH 2412
    IMPORTANT NOTE: The parameters are the mesh_network_SSID and the Frequency (usually 2.4GHz)

    11. It will take some seconds to connect to the mesh. To see which other stations are connected to the mesh, you can type:
    $ iw dev mesh0 station dump
    _________________________________________________________________________________________________________________

    Thank you very much for your guidance.

    Last quick question: Does the driver come with a routing protocol included?

    Thanks

    Maria
  • Does the driver come with a routing protocol included?

    Thanks

    Maria