The current essid setting(SIOCSIWESSID) are not satisfactory in case
of specified bssid connection, if there are multiple essids with same name,
we need additional bssid information to connect to the specified softap.
The extended flag "WAPI_ESSID_DELAY_ON" instructs the driver to delay the
connection behavior of essid, so that which can accept more accurate
information before generating a connection.
About flow of wapi command, drivers that support WAPI_ESSID_DELAY_ON semantics
will have the following behavior changes:
1. Station mode without bssid set:
$ ifup wlan0
$ wapi mode wlan0 2
$ wapi psk wlan0 12345678 3
$ wapi essid wlan0 archer 1
$ renew wlan0
2. Station mode with bssid set:
$ ifup wlan0
$ wapi mode wlan0 2
$ wapi psk wlan0 12345678 3
$ wapi essid wlan0 archer 2 <----- WAPI_ESSID_DELAY_ON will indicate the driver delay
$ the connection event late to bssid set (SIOCSIWAP).
$ wapi ap wlan0 ec:41:18:e0:76:7e
$ renew wlan0
Signed-off-by: chao.an <anchao@xiaomi.com>
wget is missing from some system (like macOS and Windows native),
it's better to use curl to simplify build environment.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
Therefore, the associate can support the connection of specified
channel if the scan results contain the multiple AP with same essids.
Change-Id: I4e657c52e638693e7ae19aea2a4fe8a431885547
Signed-off-by: chao.an <anchao@xiaomi.com>
Summary:
- This commit enables gs2200m application to get IWNWID/IWFREQ/IWSENS information
Impact:
- Affects gs2200m only
Testing:
- Tested with spresense:wifi
Summary:
- This commit adds support for ioctl(fd, SIOCGIFADDR, ...) to gs2200m_main.c
Impact:
- Only affects ioctl(fd, SIOCGIFADDR, ...) with gs2200m
- Need to update nuttx as well
Testing:
- Tested with spresense:wifi
- Tested with dhcpc
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Summary:
- This commit adds getperrname_request() to gs2200m_main.c
Impact:
- Affects gs2200m only
- Need to update nuttx as well
Testing:
- Tested with spresense:wifi
- Modify telnetd and add getpeername() to show a client address
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Summary:
- This commit fixes to handle address info in accept()
Impact:
- All use cases which use accept() with gs2200m
- Need to update nuttx as well
Testing:
- Tested with spresene:wifi
- Tested with telnet daemon
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Summary:
- This commit fixes to handle UDP connect() with bind() to local port
- NOTE: GS2200M does not support TCP connect() with bind to local port
Impact:
- All UDP cases which use connect() with gs2200m
- Need to update nuttx as well
Testing:
- Tested with spresense:wifi
- Create a UDP socket and bind() to local port.
- Then connect() to remote address with port and send()
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Summary:
- During Wi-Fi stress test, I noticed ASSERT happens in gs2200m_main.c
- Actually, req->max_buflen was 0 but the case was not handled correctly
- This commit fixes this issue
Impact:
- Affects read/recvfrom with len=0 cases
Testing:
- Tested with spresense:wifi_smp
- Run nxplayer for audio streaming
- Run ps/free/ifconfig commands via telnet
- Run smp command via telnet
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
This commit changes only ones with the default 2048 and
leaves the others.
E.g. this leaves SYSTEM_RAMTEST_STACKSIZE, whose default is 1024.
I guess those need to be inspected one-by-one.
For now, I left the following instances because it isn't
clear to me why they are using the different values.
Maybe they need one-by-one inspection.
examples/igmp/Makefile:STACKSIZE = 1024
examples/powerled/Makefile:STACKSIZE = 1024
examples/powermonitor/Makefile:STACKSIZE = 768
examples/relays/Makefile:STACKSIZE = 512
examples/smps/Makefile:STACKSIZE = 1024
graphics/screenshot/Makefile:STACKSIZE = 4096
system/flash_eraseall/Makefile:STACKSIZE = 1024
testing/cxxtest/Makefile:STACKSIZE = 4096
testing/smart_test/Makefile:STACKSIZE = 4096
The ASSERT is too strong, as it cannot be disabled, so changing to
DEBUGASSERT, as calling these functions should not be a problem as
long as the application logic handle the error correctly.
The error code is changed to ENOSYS, as it seems to better reflect
the fact that the call itself would be valid, but the functionality
is not implemented (see [1] or `man errno`).
[1] https://www.gnu.org/software/libc/manual/html_node/Error-Codes.html
Author: Alan Carvalho de Assis <engenharia03@siam.ind.br>
Run nxstyle again gs2200m_main.c file and fix issues
Author: YAMAMOTO Takashi <yamamoto@midokura.com>
gs2200m: Retry indefinately on GS2200M_IOC_ASSOC failure
The ioctl doesn't return why it failed.
It might or might not be a transient failure.
In my environment, gs2200m often returns the following for AT+WA.
It usually works after a few retries.
[ 12.110000] _parse_pkt_in_s1: +++++ 0:(msize=19, msg=WLAN CONNECT ERROR|)
[ 12.110000] _parse_pkt_in_s1: +++++ 1:(msize=6, msg=ERROR|)
Run all .c and .h files in last PR through nxstyle and fix all complaints.
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Wapi improvement (#16)
* wireless: add passphrase control
* wireless: add disconnect control
1.Remove void cast for function because many place ignore the returned value witout cast
2.Replace void cast for variable with UNUSED macro
Change-Id: Ie644129a563244a6397036789c4c3ea83c4e9b09
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
1. Check NSH_NETINIT for self network initialization
2. Check NSH_ARCHINIT for sel arch specific initialization
3. Always show help regardless of NSH_BUILTIN_APPS
4. Loop forever regardless of NSH_BUILTIN_APPS, user could:
a.change the default behavior by the command line argument
b.or ctrl+c to break out the loop
i8shark: Adds support for intentionally suppressing passing the FCS so that Wireshark doesn't try to validate it.
Approved-by: Gregory Nutt <gnutt@nuttx.org>
I8sak improvements
* wireless/ieee802154: Adds support for getting/setting maxretries and promsicuous mode from i8sak
* wireless/ieee802154/i8sak: Fixes a build warning and handles a few cases where a fault can occur due to not catching missing arguments.
Approved-by: Gregory Nutt <gnutt@nuttx.org>
wireless/ieee802154/i8sak: Fixes issues related to re-running daemon. Releases lock when releasing daemon. Re-sets daemon_shutdown so that a subsequent daemon launch does not immediately return.
Approved-by: GregoryN <gnutt@nuttx.org>
Author: anchao <anchao@pinecone.net>
apps/, most main() function: Correct CONFIG_BUILD_LOADABLE usage
Loadable apps/: Correct loadable symbol table generate
apps/system/ubloxmodem: Fix build break
apps/examples/ostest: start restart/waitpid/user test from main loop
apps/nshlib: Expand reboot and poweroff commands to include a second, optional mode argument
Author: Gregory Nutt <gnutt@nuttx.org>
An attempt to fix build issues. Does not work.
apps/examples/ostest: Fix some inappropriate renaming of static functions introduced with recent patches.
apps/builtin/exec_builtin.c: Fix a error introduced by recent comments. Found in build testing.
Author: anchao <anchao@pinecone.net>
apps/builtin/exec_builtin.c: Try posix_spawn if builtin apps do not have have an entry point.
apps/Application.mk: introduce MODULE config to simplify tristate(m)
apps/nsh: Change the nuttx shell module type to tristate
apps: Add loadable application support
script/mksymtab: Generate symbol table name by default
apps/builtin: Allow loadable applications can register with apps/builtin.
apps/builtin/exec_builtin.c: Try posix_spawn if builtin apps do not have have an entry point.
apps/Application.mk: introduce MODULE config to simplify tristate(m)
apps/nsh: Change the nuttx shell module type to tristate
apps: Add loadable application support
script/mksymtab: Generate symbol table name by default
apps/builtin: Allow loadable applications can register with apps/builtin.
i8sak: i8sak daemon now gets shutdown if not in use.
Previously, once the i8sak daemon was started, by running any command, it would stay running. This means that if you want to use i8sak to setup your network, but then want exclusive access to the char device, or network device, you have to manually shutdown the i8sak daemon. Now the daemon stays active as long as required to finish any commands, or stays open if a new command keeps it on, but when all work is finished, it shuts down.
Approved-by: GregoryN <gnutt@nuttx.org>
i8shark: Adds CONFIG_IEEE802154_I8SHARK_XBEE_APPHDR option to remove XBee's application header before sending to Wireshark. This option will corrupt any traffic received that does not include this application header.
Approved-by: Gregory Nutt <gnutt@nuttx.org>
i8sak: Channel setting is now saved locally, so when performing a startpan or assoc, the channel previously set is still used, even though the MAC layer gets reset. Also fixes a few build issues
Approved-by: Gregory Nutt <gnutt@nuttx.org>
Adds i8shark, a sniffer "adapter" that captures all 802.15.4 traffic, packages it into a Wireshark ZEP packet, and sends it to a host running Wireshark.
Approved-by: Gregory Nutt <gnutt@nuttx.org>
i8sak: Updates README to include details about socket interface and new addressing setup and fixes warning
* i8sak: Updates README to include details about socket interface and new addressing setup
* i8sak: Fixes warning about unitintialized variable
Approved-by: Gregory Nutt <gnutt@nuttx.org>
Merged in merlin17/apps/i8sak-sock (pull request #108)
i8sak: Fixes mistake where socket was accidentally bound to endpoint address
i8sak: Fixes bad logic that bound outbound port to the destination address
i8sak: Adds sniffer port option and a few other get/set parameters
Merged in merlin17/apps/i8sak-sock (pull request #106)
i8sak: Endpoint address is updated whenever 802.15.4 addressing information is updated
wireless/ieee802154/i8sak: Converts PF_INETX to PF_INET6 and SOCK_IWPAN to SOCK_DGRAM
wireless/ieee802154/i8sak: Catches case where arguments are included, but the interface was never set
wireless/ieee802154/i8sak: Endpoint IP address is now updated whenever 802.15.4 addressing info changes
wireless/ieee802154/i8sak: Routes all error output to stderr rather than stdout
Merged in merlin17/apps/i8sak-sock (pull request #104)
i8sak: Fixes socket version of sniffer logic. socket logic for sniffer now works
i8sak: Fixes socket version of sniffer logic. socket logic for sniffer now works
Merged in merlin17/apps/i8sak-sock (pull request #103)
wireless/ieee802154/i8sak: Adds socket interface support. You can now use both socket or char driver to control the MAC layer
* wireless/ieee802154: Removes useless wpanlistener folder with build files
* wireless/ieee802154/libmac: Merges some files together and adds some missing sixlowpan functionality
* wireless/ieee802154/i8sak: Starts adding support for both character driver and socket
* Removes unneccessary Kconfig statement
* ieee802154: Adds function prototypes missed on previous commit
* wireless/ieee802154/libmac: Fixes sixlowpan_resetreq
* wireless/ieee802154/libmac: Small fixes and removes enableevents helper
* apps/ieee802154/i8sak: Moves wpanlistener functionality into i8sak directly
* apps/ieee802154/i8sak: Major restructuring to allow both char driver and socket control
Also changes Kconfig options and certain args held previously by i8sak. This is to bring it closer to a real CLI tool rather than a development tool. For instance, no longer does the app change the addressing of the device automatically. This is because you probably don't want i8sak overwriting the extended address after board bring-up. Additionally, the endpoint logic has been simplified. There is only ever one active endpoint now.
* wireless/ieee802154/i8sak: Non-functional clean-up.
* i8sak: Removes chan and coordinfo commands and introduces generic get/set commands
* i8sak: startpan now requires PAN ID argument
* i8sak: Adds ability to set endpoint address using set command
* i8sak: Minor fixes and cleanup
* i8sak: Adds addrmode setting to i8sak. exposed via get/set calls
* i8sak: Clean up poll logic and allow polling address mode to be based off endpoint address setting.
* i8sak: Trivial
* i8sak: Adds get/set hook for endpoint address mode (destination address mode)
* i8sak: Changes default address modes to short.
* i8sak: Fixes build erros associated with enabling 6LoWPAN support
* i8sak: Adds socket version of get/set implementation. Simplifies some logic as well.
* wireless/ieee802154/i8sak: Removes unused files
* wireless/ieee802154/libmac: Fixes sixlowpan_assocresp. resp was not being copied into the ioctl argument.
Approved-by: Gregory Nutt <gnutt@nuttx.org>