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.

TMDSEVM437X: Unable to start WiFi mesh (error code -95)

Part Number: TMDSEVM437X

Hello,

I am trying to start WiFi mesh using this EVM and SDK 6.0.0.7 (Kernel 4.19.x).

Getting the error that "command failed: Operation not supported (-95)" when I attempt to start the mesh.
Gone through the previous discussion around this. Some of them are marked as "Resolved" without any details.
Some of them talks about old kernels (like 4.4, 4.14 etc).

Before debugging the WiFi driver, I want to make sure whether this kernel and other OS components supports WiFi mesh.

Please find below the details of my setup

Looking forward for the confirmation about this SDK WiFi mesh capabilities,

Thanks

root@am437x-evm:/# iw --debug phy phy1 interface add mesh0 type mp
-- Debug: Sent Message:
--------------------------   BEGIN NETLINK MESSAGE ---------------------------
  [NETLINK HEADER] 16 octets
    .nlmsg_len = 48
    .type = 24 <0x18>
    .flags = 5 <REQUEST,ACK>
    .seq = 1566794326
    .port = 931136652
  [GENERIC NETLINK HEADER] 4 octets
    .cmd = 7
    .version = 0
    .unused = 0
  [PAYLOAD] 28 octets
    08 00 01 00 01 00 00 00 0a 00 04 00 6d 65 73 68 ............mesh
    30 00 00 00 08 00 05 00 07 00 00 00             0...........
---------------------------  END NETLINK MESSAGE   ---------------------------
-- Debug: Received Message:
--------------------------   BEGIN NETLINK MESSAGE ---------------------------
  [NETLINK HEADER] 16 octets
    .nlmsg_len = 68
    .type = 2 <ERROR>
    .flags = 0 <>
    .seq = 1566794326
    .port = 931136652
  [ERRORMSG] 20 octets
    .error = -95 "Operation not supported"
  [ORIGINAL MESSAGE] 16 octets
    .nlmsg_len = 16
    .type = 24 <0x18>
    .flags = 5 <REQUEST,ACK>
    .seq = 1566794326
    .port = 931136652
---------------------------  END NETLINK MESSAGE   ---------------------------
command failed: Operation not supported (-95)

root@am437x-evm:/# u-n  name -a
Linux am437x-evm 4.19.38-g4dae378bbe #1 PREEMPT Mon Sep 9 09:29:17 UTC 2019 armv7l GNU/Linux

root@am437x-evm:/# zgrep MESH /proc/config.gz 
CONFIG_MAC80211_MESH=y

root@am437x-evm:/lib/firmware# wpa_supplicant --version        v
wpa_supplicant v2.6-devel-R8.7_SP3+
Copyright (c) 2003-2016, Jouni Malinen <j@w1.fi> and contributors

root@am437x-evm:/lib/firmware# hostapd -v
hostapd v2.6
User space daemon for IEEE 802.11 AP management,
IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Copyright (c) 2002-2016, Jouni Malinen <j@w1.fi> and contributors

root@am437x-evm:/# lsmod
Module                  Size  Used by
arc4                   16384  2
rtl8xxxu              102400  0
mac80211              454656  1 rtl8xxxu
sha256_generic         20480  0
sha256_arm             24576  0
cfg80211              270336  1 mac80211
pru_rproc              20480  0
irq_pruss_intc         16384  1 pru_rproc
pruss                  16384  1 pru_rproc
ti_am335x_adc          20480  0
snd_soc_simple_card    16384  0
snd_soc_simple_card_utils    16384  1 snd_soc_simple_card
pm33xx                 16384  0
matrix_keypad          20480  0
matrix_keymap          16384  1 matrix_keypad
omap_des               20480  0
des_generic            28672  1 omap_des
pruss_soc_bus          16384  0
omap_aes_driver        24576  0
crypto_engine          16384  2 omap_des,omap_aes_driver
omap_sham              28672  0
omap_crypto            16384  2 omap_des,omap_aes_driver
ti_emif_sram           16384  1 pm33xx
am437x_vpfe            36864  0
pixcir_i2c_ts          16384  0
c_can_platform         16384  0
c_can                  20480  1 c_can_platform
snd_soc_tlv320aic3x    57344  1
can_dev                28672  1 c_can
ov2659                 16384  1
v4l2_fwnode            20480  2 am437x_vpfe,ov2659
wkup_m3_ipc            16384  1 pm33xx
wkup_m3_rproc          16384  1
remoteproc             45056  3 pru_rproc,wkup_m3_rproc,wkup_m3_ipc
rtc_omap               20480  2
omap_wdt               16384  0
ti_am335x_tscadc       16384  1 ti_am335x_adc
sch_fq_codel           20480  6

Supported interface modes:
 * managed
 * monitor

 Supported commands:
 * new_interface
 * set_interface
 * new_key
 * start_ap
 * new_station
 * new_mpath
 * set_mesh_config
 * set_bss
 * authenticate
 * associate
 * deauthenticate
 * disassociate
 * join_ibss
 * join_mesh
 * set_tx_bitrate_mask
 * frame
 * frame_wait_cancel
 * set_wiphy_netns
 * set_channel
 * set_wds_peer
 * probe_client
 * set_noack_map
 * register_beacons
 * start_p2p_device
 * set_mcast_rate
 * testmode
 * connect
 * disconnect
 * set_qos_map
 * set_multicast_to_unicast
Supported TX frame types:
 * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
 * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
 * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
 * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
 * P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
Supported RX frame types:
 * IBSS: 0x40 0xb0 0xc0 0xd0
 * managed: 0x40 0xd0
 * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
 * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
 * mesh point: 0xb0 0xc0 0xd0
 * P2P-client: 0x40 0xd0
 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
 * P2P-device: 0x40 0xd0

  • Hello, could you please confirm which WiFi module you are using? How is it connected to the AM437x? Thank you.

  • Hello Ron,

    I have used an USB Wireless dongle as I do not have any other native interface (like SDIO) with this EVM. 

    [  153.460963] usb 3-1: New USB device found, idVendor=2357, idProduct=0107, bcdDevice= 2.00
    [  153.469283] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [  153.476472] usb 3-1: Product: 802.11n NIC 
    [  153.484142] usb 3-1: Manufacturer: Realtek 
    [  153.488384] usb 3-1: SerialNumber: 00e04c000001
    [  153.504213] usb 3-1: This Realtek USB WiFi dongle (0x2357:0x0107) is untested!
    [  153.515660] usb 3-1: Please report results to email.deleted@gmail.com
    [  153.667085] usb 3-1: Vendor: Realtek
    [  153.670733] usb 3-1: Product: 802.11n NI
    

    This dongle was supported by the in-box Realtek driver.
    It was loading properly as seen from the lsmod and messages.

    Able to access the dongle also (scan returns all the APs).

    As per the driver code, this interface (MESH_POINT) is enabled.
    Not sure where this is blocked.

    Let me know, if I could provide any information that could help to narrow down the component.
    Feel free to suggest any tested module or dongle, that I could try with this EVM and SDK.

    Thanks

  • Hello,

    Linux mesh networking is a generic Linux function that we do not modify. Since we do not modify it, it is just the standard open source components that are generic to any Linux system. Therefore, we recommend working with the Linux community or the communities of the other components that are being used to get help. 

  • Hello,

    Thank you for your reply. I can understand and fine with that.

    I just need the clarification on these two.

    Q1. TI's SDK 6.0.0.7 supports WiFi mesh out of the box, as long as we use a compatible hardware (like TI WL18xx series).
    No specific changes are needed other than re-configuring the kernel with CONFIG_MAC80211_MESH=y.

    Q2. For this specific EVM TMDSEVM437X, is there any other compatible (supported) WiFi mesh interface.
    We are considering WL18xx EVK over a serial link. However, I am not sure whether it could provide maximum performance.

    Looking forward for your reply,

    Thanks

  • Hello,

    I was told you've received this information outside of E2E, but I wanted to post it here for completeness.

    HCRajan GopalSamy said:
    Q1. TI's SDK 6.0.0.7 supports WiFi mesh out of the box, as long as we use a compatible hardware (like TI WL18xx series).
    No specific changes are needed other than re-configuring the kernel with CONFIG_MAC80211_MESH=y.

    No other specific changes should be needed beyond the config.

    HCRajan GopalSamy said:
    Q2. For this specific EVM TMDSEVM437X, is there any other compatible (supported) WiFi mesh interface.
    We are considering WL18xx EVK over a serial link. However, I am not sure whether it could provide maximum performance.

    This module would be a good choice for evaluating WL18xx over serial link:

    http://www.ti.com/tool/TIDC-WL1835MODCOM8B?jktype=design

    And it supports mesh. Please see:

    http://www.ti.com/lit/an/swaa166/swaa166.pdf

    Thanks so much.