diff --git a/configs/b-l475e-iot01a/README.txt b/configs/b-l475e-iot01a/README.txt index 22503a8c758..91e066cdb99 100644 --- a/configs/b-l475e-iot01a/README.txt +++ b/configs/b-l475e-iot01a/README.txt @@ -392,6 +392,12 @@ Configuration sub-directories the UDP test is now fully functional. CRC filtering still must be disabled. + 2017-08-05: Add the Telnet client problem. Verified HC06 tests with + no debug output; verified Telnet seessions between two spirit nodes. + + At this point everything seems functional, but somewhat reliable. + Sometimes things seem to initialize in a bad state. + Test Matrix: The following configurations have been tested successfully (with CRC disabled): @@ -399,10 +405,90 @@ Configuration sub-directories TEST DATE COMPRESSION UDP TCP Telnet ----------- ----- ----- ------ - hc06 08/04 08/04 --- (CRC disabled) + hc06 08/04 08/04 08/05 (CRC disabled) hc1 --- --- --- ipv6 --- --- --- ----------- ----- ----- ------ Other configuration options have not been specifically addressed (such non-compressable ports, non-MAC based IPv6 addresses, etc.) + + spirit-starhub and spirit-starpoint + + These two configurations implement hub and and star endpoint in a + star topology. Both configurations derive from the spirit-6lowpan + configuration and most of the notes there apply here as well. + + 1. You must must have three b-l475e-iot01a boards in order to run + these tests: One that serves as the star hub and at least two + star endpoints. + + 2. The star point configuration differs from the primarily in the + spirit-6lowpan in following is also set: + + CONFIG_NET_STAR=y + CONFIG_NET_STARPOINT=y + + The CONFIG_NET_STARPOINT selection informs the endpoint that it + must send all frames to the hub of the star, rather than directly + to the recipient. + + The star hub configuration, on the other hand, differs from the + spirit-6lowpan in these fundamental ways: + + CONFIG_NET_STAR=y + CONFIG_NET_STARHUB=y + CONFIG_NET_IPFORWARD=y + + The CONFIG_NET_IPFORWARD selection informs the hub that if it + receives any packets that are not destined for the hub, it should + forward those packets appropriately. + + 3. TCP and UDP Tests: The same TCP and UDP tests as described for + the spirit-6lowpan coniguration are supported on the star + endpoints, but NOT on the star hub. Therefore, all network testing + is between endpoints with the hub acting, well, only like a hub. + + Each node in the configuration must be manually initialized. + Ideally, this would be automatically initialized with software logic + and configuration data in non-volatilbe memory. The the procedure + is manual in this example. These are the basic initialization + steps with E1 and E2 representing the two star endpoints and C + representing the star hub: + + C: nsh> ifconfig wpan0 hw 34 <-- Sets hub node address + C: nsh> ifup wpan0 <-- Brings up the network on the hub + C: nsh> telnetd <-- Starts the Telnet daemon on the hub + C: nsh> ifconfig <-- To get the IP address of the hub + + E1: nsh> ifconfig wpan0 hw 37 <-- Sets E1 endpoint node address + E1: nsh> ifup wpan0 <-- Brings up the network on the E1 node + E1: nsh> telnetd <-- Starts the Telnet daemon on the E1 node + E1: nsh> ifconfig <-- To get the IP address of E1 endpoint + + E2: nsh> ifconfig wpan0 hw 38 <-- Sets E2 endpoint node address + E2: nsh> ifup wpan0 <-- Brings up the network on the E2 node + E2: nsh> telnetd <-- Starts the Telnet daemon on the E2 node + E2: nsh> ifconfig <-- To get the IP address of E2 endpoint + + The modified usage of the TCP test is show below: + + E1: nsh> tcpserver & + E2: nsh> tcpclient & + + Where is the IP address of the E1 endpoint. + + Similarly for the UDP test: + + E1: nsh> udpserver & + E2: nsh> udpclient & + + Telenet sessions may be initiated from the any node to any other node: + + XX: nsh> telnet <-- Runs the Telnet client on any node XX + + Where is the IP address of either the E1 or E2 endpoints + or of the star hub. + + STATUS: + 2017-08-05: Configurations added. diff --git a/configs/b-l475e-iot01a/spirit-6lowpan/defconfig b/configs/b-l475e-iot01a/spirit-6lowpan/defconfig index c58dc5f89be..93879c1720d 100644 --- a/configs/b-l475e-iot01a/spirit-6lowpan/defconfig +++ b/configs/b-l475e-iot01a/spirit-6lowpan/defconfig @@ -46,6 +46,7 @@ CONFIG_MM_REGIONS=2 CONFIG_NET_6LOWPAN_FRAMELEN=96 CONFIG_NET_6LOWPAN=y CONFIG_NET_BROADCAST=y +CONFIG_NET_HOSTNAME="B-L475E-IOT01A" CONFIG_NET_IPv6=y CONFIG_NET_SOCKOPTS=y CONFIG_NET_STATISTICS=y @@ -93,6 +94,7 @@ CONFIG_START_DAY=2 CONFIG_START_MONTH=8 CONFIG_STM32L4_SPI3=y CONFIG_STM32L4_USART1=y +CONFIG_SYSTEM_TELNET_CLIENT=y CONFIG_USART1_SERIAL_CONSOLE=y CONFIG_USER_ENTRYPOINT="nsh_main" CONFIG_WIRELESS_PKTRADIO=y diff --git a/configs/b-l475e-iot01a/spirit-starhub/defconfig b/configs/b-l475e-iot01a/spirit-starhub/defconfig new file mode 100644 index 00000000000..6d032df55e8 --- /dev/null +++ b/configs/b-l475e-iot01a/spirit-starhub/defconfig @@ -0,0 +1,86 @@ +# CONFIG_NET_ETHERNET is not set +# CONFIG_NET_IPv4 is not set +# CONFIG_NSH_ARGCAT is not set +# CONFIG_NSH_CMDOPT_DF_H is not set +# CONFIG_NSH_CMDOPT_HEXDUMP is not set +# CONFIG_NSH_CMDPARMS is not set +CONFIG_ARCH_BOARD_B_L475E_IOT01A=y +CONFIG_ARCH_BOARD="b-l475e-iot01a" +CONFIG_ARCH_CHIP_STM32L4=y +CONFIG_ARCH_CHIP_STM32L475VG=y +CONFIG_ARCH_STACKDUMP=y +CONFIG_ARCH="arm" +CONFIG_BOARD_LOOPSPERMSEC=8025 +CONFIG_BUILTIN=y +CONFIG_DRIVERS_WIRELESS=y +CONFIG_EXAMPLES_NSH_CXXINITIALIZE=y +CONFIG_EXAMPLES_NSH=y +CONFIG_FS_PROCFS=y +CONFIG_HAVE_CXX=y +CONFIG_HAVE_CXXINITIALIZE=y +CONFIG_INTELHEX_BINARY=y +CONFIG_IOB_BUFSIZE=96 +CONFIG_IOB_NBUFFERS=32 +CONFIG_IOB_NCHAINS=16 +CONFIG_LIBM=y +CONFIG_MAX_TASKS=16 +CONFIG_MAX_WDOGPARMS=2 +CONFIG_MM_REGIONS=2 +CONFIG_NET_6LOWPAN_FRAMELEN=96 +CONFIG_NET_6LOWPAN=y +CONFIG_NET_BROADCAST=y +CONFIG_NET_HOSTNAME="B-L475E-IOT01A" +CONFIG_NET_IPv6=y +CONFIG_NET_SOCKOPTS=y +CONFIG_NET_STAR=y +CONFIG_NET_STARHUB=y +CONFIG_NET_STATISTICS=y +CONFIG_NET_TCP_WRITE_BUFFERS=y +CONFIG_NET_TCP=y +CONFIG_NET_TCPBACKLOG=y +CONFIG_NET_UDP=y +CONFIG_NET=y +CONFIG_NETDEV_LATEINIT=y +CONFIG_NETDEV_STATISTICS=y +CONFIG_NETDEV_WIRELESS_IOCTL=y +CONFIG_NETDEVICES=y +CONFIG_NETUTILS_TELNETD=y +CONFIG_NFILE_DESCRIPTORS=8 +CONFIG_NFILE_STREAMS=8 +CONFIG_NSH_ARCHINIT=y +CONFIG_NSH_BUILTIN_APPS=y +CONFIG_NSH_DISABLE_GET=y +CONFIG_NSH_DISABLE_PUT=y +CONFIG_NSH_DISABLE_WGET=y +CONFIG_NSH_FILEIOSIZE=512 +CONFIG_NSH_LINELEN=64 +CONFIG_NSH_NETLOCAL=y +CONFIG_NSH_NOMAC=y +CONFIG_NSH_READLINE=y +CONFIG_PREALLOC_MQ_MSGS=4 +CONFIG_PREALLOC_TIMERS=4 +CONFIG_PREALLOC_WDOGS=16 +CONFIG_RAM_SIZE=114688 +CONFIG_RAM_START=0x20000000 +CONFIG_RAW_BINARY=y +CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_HPWORK=y +CONFIG_SCHED_HPWORKPERIOD=50000 +CONFIG_SCHED_HPWORKPRIORITY=192 +CONFIG_SCHED_LPWORK=y +CONFIG_SCHED_LPWORKPRIORITY=160 +CONFIG_SCHED_WAITPID=y +CONFIG_SDCLONE_DISABLE=y +CONFIG_SPIRIT_BROADCAST=y +CONFIG_SPIRIT_CRCDISABLE=y +CONFIG_SPIRIT_MULTICAST=y +CONFIG_SPIRIT_NETDEV=y +CONFIG_START_DAY=2 +CONFIG_START_MONTH=8 +CONFIG_STM32L4_SPI3=y +CONFIG_STM32L4_USART1=y +CONFIG_SYSTEM_TELNET_CLIENT=y +CONFIG_USART1_SERIAL_CONSOLE=y +CONFIG_USER_ENTRYPOINT="nsh_main" +CONFIG_WIRELESS_PKTRADIO=y +CONFIG_WIRELESS=y diff --git a/configs/b-l475e-iot01a/spirit-starpoint/defconfig b/configs/b-l475e-iot01a/spirit-starpoint/defconfig new file mode 100644 index 00000000000..4701bf238c2 --- /dev/null +++ b/configs/b-l475e-iot01a/spirit-starpoint/defconfig @@ -0,0 +1,102 @@ +# CONFIG_NET_ETHERNET is not set +# CONFIG_NET_IPv4 is not set +# CONFIG_NSH_ARGCAT is not set +# CONFIG_NSH_CMDOPT_DF_H is not set +# CONFIG_NSH_CMDOPT_HEXDUMP is not set +# CONFIG_NSH_CMDPARMS is not set +CONFIG_ARCH_BOARD_B_L475E_IOT01A=y +CONFIG_ARCH_BOARD="b-l475e-iot01a" +CONFIG_ARCH_CHIP_STM32L4=y +CONFIG_ARCH_CHIP_STM32L475VG=y +CONFIG_ARCH_STACKDUMP=y +CONFIG_ARCH="arm" +CONFIG_BOARD_LOOPSPERMSEC=8025 +CONFIG_BUILTIN=y +CONFIG_DRIVERS_WIRELESS=y +CONFIG_EXAMPLES_NETTEST_DEVNAME="wpan0" +CONFIG_EXAMPLES_NETTEST_SERVER_PORTNO=61616 +CONFIG_EXAMPLES_NETTEST_SERVERIPv6ADDR_1=0xfe80 +CONFIG_EXAMPLES_NETTEST_SERVERIPv6ADDR_6=0x00ff +CONFIG_EXAMPLES_NETTEST_SERVERIPv6ADDR_7=0xfe00 +CONFIG_EXAMPLES_NETTEST_SERVERIPv6ADDR_8=0xa900 +CONFIG_EXAMPLES_NETTEST_TARGET2=y +CONFIG_EXAMPLES_NETTEST=y +CONFIG_EXAMPLES_NSH_CXXINITIALIZE=y +CONFIG_EXAMPLES_NSH=y +CONFIG_EXAMPLES_UDP_CLIENT_PORTNO=61617 +CONFIG_EXAMPLES_UDP_DEVNAME="wpan0" +CONFIG_EXAMPLES_UDP_SERVER_PORTNO=61616 +CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_1=0xfe80 +CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_6=0x00ff +CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_7=0xfe00 +CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_8=0x1000 +CONFIG_EXAMPLES_UDP_TARGET2=y +CONFIG_EXAMPLES_UDP=y +CONFIG_FS_PROCFS=y +CONFIG_HAVE_CXX=y +CONFIG_HAVE_CXXINITIALIZE=y +CONFIG_INTELHEX_BINARY=y +CONFIG_IOB_BUFSIZE=96 +CONFIG_IOB_NBUFFERS=32 +CONFIG_IOB_NCHAINS=16 +CONFIG_LIBM=y +CONFIG_MAX_TASKS=16 +CONFIG_MAX_WDOGPARMS=2 +CONFIG_MM_REGIONS=2 +CONFIG_NET_6LOWPAN_FRAMELEN=96 +CONFIG_NET_6LOWPAN=y +CONFIG_NET_BROADCAST=y +CONFIG_NET_HOSTNAME="B-L475E-IOT01A" +CONFIG_NET_IPv6=y +CONFIG_NET_SOCKOPTS=y +CONFIG_NET_STAR=y +CONFIG_NET_STATISTICS=y +CONFIG_NET_TCP_WRITE_BUFFERS=y +CONFIG_NET_TCP=y +CONFIG_NET_TCPBACKLOG=y +CONFIG_NET_UDP=y +CONFIG_NET=y +CONFIG_NETDEV_LATEINIT=y +CONFIG_NETDEV_STATISTICS=y +CONFIG_NETDEV_WIRELESS_IOCTL=y +CONFIG_NETDEVICES=y +CONFIG_NETUTILS_TELNETD=y +CONFIG_NFILE_DESCRIPTORS=8 +CONFIG_NFILE_STREAMS=8 +CONFIG_NSH_ARCHINIT=y +CONFIG_NSH_BUILTIN_APPS=y +CONFIG_NSH_DISABLE_GET=y +CONFIG_NSH_DISABLE_PUT=y +CONFIG_NSH_DISABLE_WGET=y +CONFIG_NSH_FILEIOSIZE=512 +CONFIG_NSH_LINELEN=64 +CONFIG_NSH_NETLOCAL=y +CONFIG_NSH_NOMAC=y +CONFIG_NSH_READLINE=y +CONFIG_PREALLOC_MQ_MSGS=4 +CONFIG_PREALLOC_TIMERS=4 +CONFIG_PREALLOC_WDOGS=16 +CONFIG_RAM_SIZE=114688 +CONFIG_RAM_START=0x20000000 +CONFIG_RAW_BINARY=y +CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_HPWORK=y +CONFIG_SCHED_HPWORKPERIOD=50000 +CONFIG_SCHED_HPWORKPRIORITY=192 +CONFIG_SCHED_LPWORK=y +CONFIG_SCHED_LPWORKPRIORITY=160 +CONFIG_SCHED_WAITPID=y +CONFIG_SDCLONE_DISABLE=y +CONFIG_SPIRIT_BROADCAST=y +CONFIG_SPIRIT_CRCDISABLE=y +CONFIG_SPIRIT_MULTICAST=y +CONFIG_SPIRIT_NETDEV=y +CONFIG_START_DAY=2 +CONFIG_START_MONTH=8 +CONFIG_STM32L4_SPI3=y +CONFIG_STM32L4_USART1=y +CONFIG_SYSTEM_TELNET_CLIENT=y +CONFIG_USART1_SERIAL_CONSOLE=y +CONFIG_USER_ENTRYPOINT="nsh_main" +CONFIG_WIRELESS_PKTRADIO=y +CONFIG_WIRELESS=y diff --git a/configs/clicker2-stm32/README.txt b/configs/clicker2-stm32/README.txt index b2dc89257c6..e4a967648a2 100644 --- a/configs/clicker2-stm32/README.txt +++ b/configs/clicker2-stm32/README.txt @@ -380,8 +380,8 @@ Configurations NOTES: - 1. You must must have two clicker2-stm32 boards each with an MRF24J40 - click board in order to run these tests. + 1. You must have two clicker2-stm32 boards each with an MRF24J40 click + board in order to run these tests. 2. This configuration differs from the mrf24j40-mac configuration in that this configuration, like the usbnsh configuration, uses a USB @@ -593,8 +593,8 @@ Configurations star topology. Both configurations derive from the mrf24j40-6lowpan configuration and most of the notes there apply here as well. - 1. You must must have three clicker2-stm32 boards each with an MRF24J40 - click board in order to run these tests: One that servers as the + 1. You must have three clicker2-stm32 boards each with an MRF24J40 + click board in order to run these tests: One that serves as the star hub and at least two star endpoints. 2. The star point configuration differs from the primarily in the @@ -662,7 +662,7 @@ Configurations C: nsh> telnet <-- Runs the Telnet client - Where is the IP address of either the E1 or I2 endpoints. + Where is the IP address of either the E1 or E2 endpoints. STATUS: 2017-06-29: Configurations added. Initial testing indicates that @@ -684,7 +684,7 @@ Configurations This required a change to assure that the destination IPv6 address is not elided in the case of the star endpoint configuration. After some additional fixes for byte ordering in 16-bit and 64-bit - compressed IPv6 addresses, the all tests are working as expectedd: + compressed IPv6 addresses, then all tests are working as expected: TCP, UDP, Telnet. nsh: diff --git a/drivers/wireless/spirit/drivers/spirit_netdev.c b/drivers/wireless/spirit/drivers/spirit_netdev.c index 2384feacea9..8367b09fe99 100644 --- a/drivers/wireless/spirit/drivers/spirit_netdev.c +++ b/drivers/wireless/spirit/drivers/spirit_netdev.c @@ -1822,7 +1822,7 @@ static int spirit_ioctl(FAR struct net_driver_s *dev, int cmd, * Calculate the MAC header length given the frame meta-data. * * Input parameters: - * netdev - The networkd device that will mediate the MAC interface + * netdev - The network device that will mediate the MAC interface * meta - Obfuscated metadata structure needed to create the radio * MAC header * @@ -1854,7 +1854,7 @@ static int spirit_get_mhrlen(FAR struct sixlowpan_driver_s *netdev, * 6LoWPAN radio packets. * * Input parameters: - * netdev - The networkd device that will mediate the MAC interface + * netdev - The network device that will mediate the MAC interface * meta - Obfuscated metadata structure needed to create the radio * MAC header * framelist - Head of a list of frames to be transferred.