1

I'm trying to set up a wifi mesh network on/between a PC and a Rasberry Pi 4b (not using the onboard wifi). But seem to have hit a snag on the PC node side.

For some reason, apparently only the Rasberry Pi is able to see PC node, but the PC can seemingly not see the RasberryPi node. When i run iw dev mesh0 station dump on both , only the Pi gives me any output. (see below)


Some notes:

  • Both computers are running Network Manager. But, I have set the WIFI devices used to be unmanaged by Network Manager on both, via both their permanent MAC addresses (confirmed by using ethtool --show-permaddr <interface>), the interface device(s) names. (including the created mesh0 device by name)

  • The guide initially followed is mjuenema.github.io/80211s_wireless_mesh/ (archived snapshot)

    • Notable excerpt example:

             $ sudo iw dev wlan1 interface add mesh0 type mp mesh_id MYMESHID
             $ sudo iw dev mesh0 set channel 4
             $ sudo ifconfig wlan1 down
             $ sudo ifconfig mesh0 up
             $ sudo ip addr add 10.1.100.10/24 dev mesh0
      
  • I have confirmed that rfkill is not interfering on either side.

  • The PC usb wifi dongle LED is blinking as if there might actually be some (idling) activity going on.. At least indicating that it's active..

  • Physical distance between is only ~4-5 meters, so signal strength issues could be ruled out i believe..

The operating systems used are: (info from uname -r)

  • The PC is running Arch (kernel 5.7.12-zen1-1-zen)
  • The Pi is running ARM Arch (kernel 5.4.51-1-ARCH)

The network devices used are: (info from lsusb)

  • On the PC (some Jensen usb dongle) : Ralink Technology, Corp. 802.11 n WLAN
  • On the Pi (some external usb wifi) : Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
    • appears to also be using rt2800usb driver v2.3.0 (ID 148f:3070 / RT3070)
    • (make and model currently uncertain)

Running iw dev mesh0 station dump, as mentioned in the guide followed, on the PC produces NO output at all, not even any error message, and it exits with exit code 0 .. Which is something i find rather unexpected and weird..

But on the Pi however, I'd get an output similar to:

Station 34:21:09:07:36:e2 (on mesh0)  # WHICH IS AFAIK THE PCs EXPECTED 'mesh0' MAC (as shown further down below)
inactive time:  710 ms
rx bytes:   293888
rx packets: 7168
tx bytes:   846996
tx packets: 13234
tx retries: 42352
tx failed:  13234
rx drop misc:   337
signal:     -53 dBm
signal avg: -53 dBm
Toffset:    18446744073676093275 us
tx bitrate: 1.0 MBit/s
tx duration:    0 us
rx duration:    0 us
mesh llid:  19732
mesh plid:  0
mesh plink: OPN_SNT
mesh local PS mode: UNKNOWN
mesh peer PS mode:  UNKNOWN
mesh non-peer PS mode:  ACTIVE
authorized: yes
authenticated:  yes
associated: yes
preamble:   long
WMM/WME:    yes
MFP:        no
TDLS peer:  no
DTIM period:    2
beacon interval:1000
connected time: 3935 seconds
associated at [boottime]:   3549.455s
associated at:  18446725625934785637 ms
current time:   18446744072675308235 ms

I'm confused as to why the PC doesn't produce any output.

(Though for all i know, and as far as my knowledge extends, this might even be normal behavior; That only one of the two nodes would report seeing the other.. Since the very similar thing happened when i was earlier experimenting with batman-adv mesh. Where the Pi would report seeing the PC trough batctl, though nothing listed on the PC.)


Running iw mesh0 info, ifconfig mesh0, iwconfig and iw phy phy<X> info on the two computers give me:

On the PI:

    Interface mesh0
        ifindex 5
        wdev 0x100000002
        addr 00:0f:02:2d:cc:45
        type mesh point
        wiphy 1
        channel 4 (2427 MHz), width: 20 MHz (no HT), center1: 2427 MHz
        txpower 20.00 dBm

.

    mesh0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 10.20.0.2  netmask 255.252.0.0  broadcast 10.23.255.255
            inet6 fe80::20f:2ff:fe2d:cc45  prefixlen 64  scopeid 0x20<link>
            ether 00:0f:02:2d:cc:45  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 188  bytes 28372 (27.7 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

.

    mesh0     IEEE 802.11  Mode:Auto  Tx-Power=20 dBm   
              Retry short  long limit:2   RTS thr:off   Fragment thr:off
              Power Management:off
      
    wlp1s0u1u2  IEEE 802.11  ESSID:off/any  
              Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm   
              Retry short  long limit:2   RTS thr:off   Fragment thr:off
              Encryption key:off
              Power Management:off

.

( full iw phy phy1 info output at https://pastebin.com/raw/sJR1eDsc )

On the PC:

    Interface mesh0
        ifindex 7
        wdev 0x2
        addr 34:21:09:07:36:e2
        type mesh point
        wiphy 0
        channel 4 (2427 MHz), width: 20 MHz (no HT), center1: 2427 MHz
        txpower 20.00 dBm

.

    mesh0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 10.20.0.1  netmask 255.252.0.0  broadcast 10.23.255.255
            inet6 fe80::3621:9ff:fe07:36e2  prefixlen 64  scopeid 0x20<link>
            ether 34:21:09:07:36:e2  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 8  overruns 0  frame 0
            TX packets 701  bytes 150487 (146.9 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

.

    wlp3s0f0u3  IEEE 802.11  ESSID:off/any  
              Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm   
              Retry short  long limit:2   RTS thr:off   Fragment thr:off
              Encryption key:off
              Power Management:off
      
    
    mesh0     IEEE 802.11  Mode:Auto  Tx-Power=20 dBm   
              Retry short  long limit:2   RTS thr:off   Fragment thr:off
              Power Management:off

.

( full iw phy phy0 info output at https://pastebin.com/raw/9hD1G6YZ )


I'm not sure how to troubleshoot this further..Or even whether this might actually be perfectly normal or not. (Though i'd like to rule it out from being the underlying problem before complicating things by moving further)

Could it perhaps be a problem with the relatively old Jensen USB dongle ? Even though it reports to support "mesh point" mode ?

I'm grateful for tips, advices or help of any sort. NOTE: I'm very new to mesh networking (or advanced networking in general)

Please let me know via comment if there is any other information i aught to provide that might be of use.

Just some "note-to-self" links possibly of value:

0

After much frustration, I think it safe to say that my problem was likely caused by a combo of; the Jensen USB dongle, the rt2800usb firmware driver (with that specific dongle), and perhaps something about the specific kernel version...Perhaps even the PC itself, I have no real idea..

When i eventually tested a (rtl8192cu) Netgear dongle, on the same PC, mesh network between the PC and the Pi worked straight away.

And for some odd reason or another, mesh on the Jensen USB dongle also started working when later tried on a different PC. (running Arch, kernel 5.7.12-arch1-1)

Once they were all found to be working, setting up each node became a breeze..

For reference, here's how the node i intend to use as dhcpd etc. gets set up:

    iw phy phy0 interface add mesh0 type mesh mesh_id OpenMesh
    ifconfig mesh0 down
    iw dev mesh0 set channel 7     # switch to ch.7, from the default ch.1
    ifconfig mesh0 up
    
    ifconfig mesh0 10.8.0.1 netmask 255.252.0.0 broadcast 10.11.255.255

After a few seconds, the node can been seen by the others, and vice versa. (I was running watch iw dev mesh0 mpath dump on each node, so to not having to manually update it all the time). Resulting in something like this to pop up on each of the three nodes:

    DEST ADDR         NEXT HOP          IFACE       SN      METRIC  QLEN    EXPTIME         DTIM    DRET    FLAGS
    00:0f:02:2d:cc:45 00:0f:02:2d:cc:45 mesh0       246     598     0       0       100     0       0x14
    10:0d:7f:b8:61:68 10:0d:7f:b8:61:68 mesh0       3523    2581    0       0       0       0       0x14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.