ns-3

ns-3 is a discrete-event network simulator for Internet systems,

https://www.nsnam.org/

ns-3 app store: Wireless

loraw-wan

One liner:

git clone https://gitlab.com/nsnam/ns-3-dev.git && 
cd ns-3-dev && git clone https://github.com/signetlabdei/lorawan src/lorawan &&
tag=$(< src/lorawan/NS3-VERSION) && tag=${tag#release } && git checkout $tag -b $tag
./ns3 configure --enable-tests --enable-examples --enable-modules lorawan
./ns3 build
./test.py 
./ns3 run aloha-throughput

Python binding and visualiser

sudo apt install python3-pygraphviz python3-dev cmake g++ ninja-build graphviz libgraphviz-dev pkg-config gir1.2-goocanvas-2.0
 
# in ns-3-dev folder create venv:
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install cppyy pygraphviz pycairo
pip install "pygobject<3.51.0"  # Debian 12
 
./ns3 clean
./ns3 configure --enable-examples --enable-tests --enable-python-bindings