116 lines
4.0 KiB
Plaintext
116 lines
4.0 KiB
Plaintext
|
|
||
|
# Function
|
||
|
|
||
|
The simwifi can provides host Settings for sim wifi on nuttx sim emulator.
|
||
|
The script sim_wifi.sh supports two modes that simulate wifi, HWSIM and RNC
|
||
|
(real network card).
|
||
|
|
||
|
- In the HWSIM mode, we simulates two wlan interfaces. The wlan0 is STA and
|
||
|
the wlan1 is AP. The wlan0 can connect to the wlan1 in the nuttx simulator.
|
||
|
- In the RNC mode, we can use the same wlan interface name on the nuttx simulator
|
||
|
to control the connection behavior of the real wireless card.
|
||
|
|
||
|
# Config
|
||
|
|
||
|
Before using the Sim WiFi function, we need to perform the following
|
||
|
configurations:
|
||
|
|
||
|
- nuttx
|
||
|
SIM_NETDEV_NUMBER=3
|
||
|
SIM_WIFIDEV_NUMBER=2
|
||
|
SIM_NETDEV_TAP=y
|
||
|
DRIVERS_IEEE80211=y
|
||
|
NETDEV_WIRELESS_HANDLER=y
|
||
|
|
||
|
- apps
|
||
|
WIRELESS_WAPI_CMDTOOL=y
|
||
|
SYSTEM_DHCPC_RENEW=y
|
||
|
NETUTILS_DHCPD=y
|
||
|
|
||
|
# Using
|
||
|
|
||
|
We can use the './tools/simwifi/sim_wifi.sh help' command to view the commands
|
||
|
provided by the sim_wifi.sh script and the results are as follows.
|
||
|
|
||
|
sim_wifi.sh (rename <old> <new> |
|
||
|
init <wan> <mode> |clean |
|
||
|
start_wpa <wlan0> |stop_wpa |
|
||
|
start_hostapd <wlan0> |stop_hostapd |
|
||
|
start_udhcpc <wlan0> |stop_udhcpc |
|
||
|
start_dhcp <wlan0> |stop_dhcp |
|
||
|
start_hwsim |stop_hwsim |up_hwsim |
|
||
|
start_net <wlan0> |stop_net <wlan0> |
|
||
|
start_sta <wlan0> |stop_sta |
|
||
|
start_ap <wlan0> [eth0] |stop_ap <wlan0> [eth0] |
|
||
|
start_bridge <eth0> |stop_bridge <eth0> |
|
||
|
show | help)
|
||
|
|
||
|
- Init the simwifi, the command format is as follows:
|
||
|
sudo ./tools/simwifi/sim_wifi.sh init <wan> <mode>
|
||
|
|
||
|
The <wan> is the name of the interface for accessing the Internet.
|
||
|
The <mode> is the simwifi mode, HWSIM and RNC.
|
||
|
|
||
|
Setting HWSIM:
|
||
|
sudo ./tools/simwifi/sim_wifi.sh init eno1 HWSIM
|
||
|
|
||
|
Setting RNC:
|
||
|
sudo ./tools/simwifi/sim_wifi.sh init eno1 RNC
|
||
|
|
||
|
- In HWSIM mode:
|
||
|
Start the hwsim services, the command is as follows.
|
||
|
sudo ./tools/simwifi/sim_wifi.sh start_hwsim
|
||
|
|
||
|
Stop the hwsim services, the command is as follows
|
||
|
sudo ./tools/simwifi/sim_wifi.sh stop_hwsim
|
||
|
|
||
|
|
||
|
- In RNC mode:
|
||
|
Maybe the real wireless card name format is not wlanx, in this case
|
||
|
we need to change it to wlanx format. The command is as follows
|
||
|
sudo simwifi rename <old_name> wlanx
|
||
|
|
||
|
* Set the real wireless network card to STA mode.
|
||
|
sudo ./tools/simwifi/sim_wifi.sh start_sta wlan0
|
||
|
|
||
|
* Set the real wireless network card to AP mode.
|
||
|
sudo ./tools/simwifi/sim_wifi.sh start_ap wlan0
|
||
|
|
||
|
Finally we can clean up all the files, configurations and services of the simwifi.
|
||
|
sudo ./tools/simwifi/sim_wifi.sh clean
|
||
|
|
||
|
# Location problems
|
||
|
We can use the following command to locate the problem and display the
|
||
|
status.
|
||
|
cmd: sudo ./tools/simwifi/sim_wifi.sh show
|
||
|
log:
|
||
|
|
||
|
/var/run/simwifi
|
||
|
dnsmasq.conf hostapd simwifi.log udhcpc.script wpa_supplicant.pid
|
||
|
dnsmasq.leases hostapd.conf simwifi.state wpa_supplicant
|
||
|
dnsmasq.pid simwifi.conf udhcpc.pid wpa_supplicant.conf
|
||
|
|
||
|
services list
|
||
|
root 1880671 2046 0 10月10 ? 00:00:00 /usr/sbin/wpa_supplicant -B -c /var/run/simwifi/wpa_supplicant.conf -iwlan0 -P /var/run/simwifi/wpa_supplicant.pid
|
||
|
nobody 1880680 2046 0 10月10 ? 00:00:00 /usr/sbin/dnsmasq -inuttx0 -C /var/run/simwifi/dnsmasq.conf --log-debug -x /var/run/simwifi/dnsmasq.pid
|
||
|
root 1880672 2046 0 10月10 ? 00:00:00 /usr/sbin/udhcpc -i wlan0 -p /var/run/simwifi/udhcpc.pid -s /var/run/simwifi/udhcpc.script
|
||
|
|
||
|
bridge nuttx0
|
||
|
222: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master nuttx0 state UNKNOWN mode DEFAULT group default qlen 1000
|
||
|
link/ether 2e:b0:bc:79:41:02 brd ff:ff:ff:ff:ff:ff
|
||
|
223: tap1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop master nuttx0 state DOWN mode DEFAULT group default qlen 1000
|
||
|
link/ether a6:33:96:26:a4:1d brd ff:ff:ff:ff:ff:ff
|
||
|
|
||
|
default config
|
||
|
defwan:eno1
|
||
|
mode:rnc
|
||
|
|
||
|
state:SW_STA
|
||
|
wlan:wlan0
|
||
|
br:nuttx0
|
||
|
|
||
|
default via 10.221.127.254 dev eno1 proto dhcp metric 100
|
||
|
10.0.1.0/24 dev nuttx0 proto kernel scope link src 10.0.1.1
|
||
|
10.221.96.0/19 dev eno1 proto kernel scope link src 10.221.108.5 metric 100
|
||
|
|