On Fri, Feb 14, 2020 at 8:10 AM Adam Feuer <a...@starcat.io> wrote: > > Xiang, > > Thanks for the encouragement, I will submit my simulator route setup script > and docs in a PR soon. I too think it's best to keep the two scripts > separate right now. >
Sure , it's fine in either form. > cheers > adam > > On Thu, Feb 13, 2020 at 4:49 AM Xiang Xiao <xiaoxiang781...@gmail.com> > wrote: > > > On Thu, Feb 13, 2020 at 10:33 AM Adam Feuer <a...@starcat.io> wrote: > > > > > > Thanks to Xiang and Greg, I got Internet networking running in the > > > simulator. > > > > > > Xiang, your configuration as you sent it didn't work for me, but using it > > > as a base with some modifications, I got the simulator to compile. > > > Then with some debugging and using your simbridge script, I was able to > > get > > > the simulator's network working. I had some problems with /dev/net/tun > > file > > > permissions and capabilities– apparently on Ubuntu (and maybe other > > recent > > > Linuxes?) to access /dev/net/tun as a regular user, the program has to > > have > > > the cap_net_admin capability. This is detailed in the Linux TUN/TAP > > Readme > > > < > > https://github.com/torvalds/linux/blob/master/Documentation/networking/tuntap.txt > > >. > > > I was able to get the nuttx simulator working as root. Then I got it > > > running as a regular user by doing this: > > > > > > sudo chmod 0666 /dev/net/tun > > > > sudo setcap cap_net_admin+ep ./nuttx > > > > > > > > > > I can execute the tcpecho command, so now I can use it as a comparison to > > > the SAMA5D36-Xplained board while debugging the GMAC. > > > > > > I'm not using the simbridge.sh script, I wrote a different one based on > > it, > > > and instead of bridging I use local routes and iptables to let the nuttx > > > box access the Internet. (The simbridge.sh script caused some problems > > with > > > how I accessed my VMWare linux installation.) > > > > > > > it's great if you can enhance simbrigde.sh to cover the host mode, but > > the script name may need to change. > > > > > I will write a more full guide to getting everything set up in the next > > few > > > days. > > > > > > > It will be the valuable contrbution to sim/README.txt. > > > > > Thank you both for your help! > > > > > > cheers > > > adam > > > > > > On Mon, Feb 10, 2020 at 10:44 PM Adam Feuer <a...@starcat.io> wrote: > > > > > > > Xiang, > > > > > > > > Thank you! It's late here in Seattle WA USA; I'll try it tomorrow! > > > > > > > > cheers > > > > adam > > > > > > > > On Mon, Feb 10, 2020 at 10:40 PM Xiang Xiao <xiaoxiang781...@gmail.com > > > > > > > wrote: > > > > > > > >> MAC is assigned through: > > > >> tapdev_init->set_macaddr->netdriver_setmacaddr > > > >> > > > >> netinit task is responsible for the networking initialization, so it > > > >> is a good indicator that the iniitaliation finish succesfully if ps > > > >> doesn't list it any more. > > > >> > > > >> Here is my config: > > > >> # > > > >> # This file is autogenerated: PLEASE DO NOT EDIT IT. > > > >> # > > > >> # You can use "make menuconfig" to make any modifications to the > > > >> installed .config file. > > > >> # You can then do "make savedefconfig" to generate a new defconfig > > > >> file that includes your > > > >> # modifications. > > > >> # > > > >> CONFIG_ARCH="sim" > > > >> CONFIG_ARCH_BOARD="sim" > > > >> CONFIG_ARCH_BOARD_SIM=y > > > >> CONFIG_ARCH_CHIP="sim" > > > >> CONFIG_ARCH_SIM=y > > > >> CONFIG_BOARDCTL_POWEROFF=y > > > >> CONFIG_BUILTIN=y > > > >> CONFIG_CLOCK_MONOTONIC=y > > > >> CONFIG_DEBUG_ASSERTIONS=y > > > >> CONFIG_DEBUG_ERROR=y > > > >> CONFIG_DEBUG_FEATURES=y > > > >> CONFIG_DEBUG_INFO=y > > > >> CONFIG_DEBUG_SYMBOLS=y > > > >> CONFIG_DEBUG_WARN=y > > > >> CONFIG_DEV_LOOP=y > > > >> CONFIG_DEV_ZERO=y > > > >> CONFIG_DRIVERS_VIDEO=y > > > >> CONFIG_ELF=y > > > >> CONFIG_EXAMPLES_FTPC=y > > > >> CONFIG_EXECFUNCS_HAVE_SYMTAB=y > > > >> CONFIG_FS_BINFS=y > > > >> CONFIG_FS_HOSTFS=y > > > >> CONFIG_FS_LITTLEFS=y > > > >> CONFIG_FS_PROCFS=y > > > >> CONFIG_FS_TMPFS=y > > > >> CONFIG_IDLETHREAD_STACKSIZE=2048 > > > >> CONFIG_INPUT=y > > > >> CONFIG_IOB_NOTIFIER=y > > > >> CONFIG_LIBC_EXECFUNCS=y > > > >> CONFIG_LIBC_IOCTL_VARIADIC=y > > > >> CONFIG_LIBC_LOCALE=y > > > >> CONFIG_LIBC_LOCALTIME=y > > > >> CONFIG_LIBM=y > > > >> CONFIG_MTD=y > > > >> CONFIG_NET=y > > > >> CONFIG_NETDB_DNSCLIENT=y > > > >> CONFIG_NETDB_DNSCLIENT_MAXRESPONSE=176 > > > >> CONFIG_NETDB_DNSCLIENT_RECV_TIMEOUT=3 > > > >> CONFIG_NETDB_DNSSERVER_IPv4ADDR=0x771d1d1d > > > >> CONFIG_NETDEVICES=y > > > >> CONFIG_NETDEV_STATISTICS=y > > > >> CONFIG_NETINIT_DHCPC=y > > > >> CONFIG_NETINIT_THREAD=y > > > >> CONFIG_NETUTILS_DHCPC=y > > > >> CONFIG_NETUTILS_FTPC=y > > > >> CONFIG_NETUTILS_TELNETD=y > > > >> CONFIG_NETUTILS_TFTPC=y > > > >> CONFIG_NETUTILS_WEBCLIENT=y > > > >> CONFIG_NET_ARP_SEND=y > > > >> CONFIG_NET_BROADCAST=y > > > >> CONFIG_NET_ICMP=y > > > >> CONFIG_NET_ICMP_SOCKET=y > > > >> CONFIG_NET_ICMPv6=y > > > >> CONFIG_NET_ICMPv6_AUTOCONF=y > > > >> CONFIG_NET_ICMPv6_NEIGHBOR=y > > > >> CONFIG_NET_ICMPv6_SOCKET=y > > > >> CONFIG_NET_IPv6=y > > > >> CONFIG_NET_LOOPBACK=y > > > >> CONFIG_NET_SENDFILE=y > > > >> CONFIG_NET_SLIP=y > > > >> CONFIG_NET_SOLINGER=y > > > >> CONFIG_NET_STATISTICS=y > > > >> CONFIG_NET_TCP=y > > > >> CONFIG_NET_TCPBACKLOG=y > > > >> CONFIG_NET_TCP_WRITE_BUFFERS=y > > > >> CONFIG_NET_UDP=y > > > >> CONFIG_NET_UDP_BINDTODEVICE=y > > > >> CONFIG_NET_UDP_WRITE_BUFFERS=y > > > >> CONFIG_NSH_ARCHINIT=y > > > >> CONFIG_NSH_BUILTIN_APPS=y > > > >> CONFIG_NSH_FILE_APPS=y > > > >> CONFIG_NSH_READLINE=y > > > >> CONFIG_NSH_TELNETD_CLIENTSTACKSIZE=4096 > > > >> CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=2048 > > > >> CONFIG_PSEUDOFS_SOFTLINKS=y > > > >> CONFIG_PSEUDOTERM=y > > > >> CONFIG_PSEUDOTERM_BSD=y > > > >> CONFIG_PTHREAD_CLEANUP=y > > > >> CONFIG_PTHREAD_CLEANUP_STACKSIZE=2 > > > >> CONFIG_PTHREAD_MUTEX_TYPES=y > > > >> CONFIG_PTHREAD_STACK_DEFAULT=8192 > > > >> CONFIG_RAMMTD=y > > > >> CONFIG_READLINE_CMD_HISTORY=y > > > >> CONFIG_READLINE_TABCOMPLETION=y > > > >> CONFIG_SCHED_CHILD_STATUS=y > > > >> CONFIG_SCHED_HAVE_PARENT=y > > > >> CONFIG_SCHED_HPWORK=y > > > >> CONFIG_SCHED_ONEXIT=y > > > >> CONFIG_SERIAL_TERMIOS=y > > > >> CONFIG_SIG_DEFAULT=y > > > >> CONFIG_SIG_EVTHREAD=y > > > >> CONFIG_SIM_M32=y > > > >> CONFIG_SIM_NET_BRIDGE=y > > > >> CONFIG_STACK_COLORATION=y > > > >> CONFIG_SYSLOG_BUFFER=y > > > >> CONFIG_SYSLOG_CHARDEV=y > > > >> CONFIG_SYSLOG_TIMESTAMP=y > > > >> CONFIG_SYSTEM_CLE=y > > > >> CONFIG_SYSTEM_NSH=y > > > >> CONFIG_SYSTEM_NSH_STACKSIZE=4096 > > > >> CONFIG_SYSTEM_NTPC=y > > > >> CONFIG_SYSTEM_PING6=y > > > >> CONFIG_SYSTEM_PING6_STACKSIZE=4096 > > > >> CONFIG_SYSTEM_PING=y > > > >> CONFIG_SYSTEM_PING_STACKSIZE=4096 > > > >> CONFIG_SYSTEM_SYSTEM=y > > > >> CONFIG_SYSTEM_TELNET_CLIENT=y > > > >> CONFIG_SYSTEM_TELNET_CLIENT_STACKSIZE=4096 > > > >> CONFIG_SYSTEM_TIME64=y > > > >> CONFIG_TELNET_CHARACTER_MODE=y > > > >> CONFIG_TTY_SIGINT=y > > > >> CONFIG_TTY_SIGSTP=y > > > >> CONFIG_USERMAIN_STACKSIZE=4096 > > > >> CONFIG_USER_ENTRYPOINT="nsh_main" > > > >> > > > >> On Tue, Feb 11, 2020 at 2:18 PM Adam Feuer <a...@starcat.io> wrote: > > > >> > > > > >> > Xiang, > > > >> > > > > >> > Looks like attachments aren't making it through for some reason. > > Would > > > >> you > > > >> > be willing to just paste the config into an email message? > > > >> > > > > >> > BTW my ethernet interface isn't getting a MAC address... it's all > > 0's. > > > >> Your > > > >> > virtual ethernet has one. So something is wrong with the netinit > > for my > > > >> > interface. > > > >> > > > > >> > cheers > > > >> > adam > > > >> > > > > >> > On Mon, Feb 10, 2020 at 10:03 PM Xiang Xiao < > > xiaoxiang781...@gmail.com> > > > >> > wrote: > > > >> > > > > >> > > It's my full config, but to avoid the LittleVGL downloading, I > > remove > > > >> > > some graphic related config. > > > >> > > Here is my output with the latest mainline: > > > >> > > xiaoxiang@xiaoxiang-VirtualBox:~/nuttx/nuttx$ sudo ./nuttx > > > >> > > > > > >> > > NuttShell (NSH) NuttX-8.2 > > > >> > > nsh> ps > > > >> > > PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK > > > >> > > STACK USED FILLED COMMAND > > > >> > > 0 0 0 FIFO Kthread N-- Ready 00000000 > > > >> > > 000000 000000 0.0% Idle Task > > > >> > > 1 1 224 FIFO Kthread --- Waiting Signal 00000000 > > > >> > > 002032 000460 22.6% hpwork > > > >> > > 2 1 100 FIFO Kthread --- Waiting Signal 00000000 > > > >> > > 002032 000924 45.4% lpwork > > > >> > > 3 1 100 FIFO Task --- Running 00000000 > > > >> > > 004080 002096 51.3% init > > > >> > > 5 4 100 FIFO Task --- Waiting Semaphore 00000010 > > > >> > > 002000 000804 40.2% Telnet daemon 0x56623690 > > > >> > > 6 4 100 FIFO Task --- Waiting Semaphore 00000010 > > > >> > > 002000 000804 40.2% Telnet daemon 0x56624510 > > > >> > > 7 4 100 FIFO Task --- Waiting Semaphore 00000000 > > > >> > > 002016 001828 90.6%! NTP daemon > > > >> > > nsh> ifconfig > > > >> > > eth0 Link encap:Ethernet HWaddr 42:09:36:15:9c:19 at UP > > > >> > > inet addr:10.0.2.18 DRaddr:10.0.2.2 Mask:255.255.255.0 > > > >> > > inet6 addr: fe80::4009:36ff:fe15:9c19/64 > > > >> > > inet6 DRaddr: ::/64 > > > >> > > > > > >> > > RX: Received Fragment Errors > > > >> > > 00000014 00000000 00000000 > > > >> > > IPv4 IPv6 ARP Dropped > > > >> > > 00000003 00000010 00000001 00000000 > > > >> > > TX: Queued Sent Errors Timeouts > > > >> > > 00000012 00000012 00000000 00000000 > > > >> > > Total Errors: 00000000 > > > >> > > > > > >> > > lo Link encap:Local Loopback at UP > > > >> > > inet addr:127.0.0.1 DRaddr:127.0.0.1 Mask:255.0.0.0 > > > >> > > inet6 addr: ::1/128 > > > >> > > inet6 DRaddr: ::1/128 > > > >> > > > > > >> > > RX: Received Fragment Errors > > > >> > > 00000000 00000000 00000000 > > > >> > > IPv4 IPv6 ARP Dropped > > > >> > > 00000000 00000000 00000000 00000000 > > > >> > > TX: Queued Sent Errors Timeouts > > > >> > > 00000000 00000000 00000000 00000000 > > > >> > > Total Errors: 00000000 > > > >> > > > > > >> > > IPv4 IPv6 TCP UDP ICMP ICMPv6 > > > >> > > Received 0003 0010 0000 0009 0000 000a > > > >> > > Dropped 0000 0000 0000 0000 0000 0008 > > > >> > > IPv4 VHL: 0000 Frg: 0000 > > > >> > > IPv6 VHL: 0000 > > > >> > > Checksum 0000 ---- 0000 0000 ---- ---- > > > >> > > TCP ACK: 0000 SYN: 0000 > > > >> > > RST: 0000 0000 > > > >> > > Type 0000 0000 ---- ---- 0000 0007 > > > >> > > Sent 0006 000d 0000 0006 0000 000d > > > >> > > Rexmit ---- ---- 0000 ---- ---- ---- > > > >> > > nsh> ping www.google.com > > > >> > > PING 216.58.200.68 56 bytes of data > > > >> > > 56 bytes from 216.58.200.68: icmp_seq=0 time=240 ms > > > >> > > 56 bytes from 216.58.200.68: icmp_seq=1 time=220 ms > > > >> > > 56 bytes from 216.58.200.68: icmp_seq=2 time=210 ms > > > >> > > 56 bytes from 216.58.200.68: icmp_seq=3 time=210 ms > > > >> > > 56 bytes from 216.58.200.68: icmp_seq=4 time=210 ms > > > >> > > 56 bytes from 216.58.200.68: icmp_seq=5 time=160 ms > > > >> > > 56 bytes from 216.58.200.68: icmp_seq=6 time=120 ms > > > >> > > 56 bytes from 216.58.200.68: icmp_seq=7 time=120 ms > > > >> > > 56 bytes from 216.58.200.68: icmp_seq=8 time=260 ms > > > >> > > 56 bytes from 216.58.200.68: icmp_seq=9 time=130 ms > > > >> > > 10 packets transmitted, 10 received, 0% packet loss, time 10100 ms > > > >> > > > > > >> > > > > > >> > > On Tue, Feb 11, 2020 at 1:38 PM Adam Feuer <a...@starcat.io> > > wrote: > > > >> > > > > > > >> > > > Thank you Xiang. > > > >> > > > > > > >> > > > I tried your config options, but the simulator still crashes > > when I > > > >> do a > > > >> > > > ping. > > > >> > > > > > > >> > > > You didn't attach a whole config file– would you be willing to > > send > > > >> one? > > > >> > > > > > > >> > > > cheers > > > >> > > > adam > > > >> > > > > > > >> > > > On Mon, Feb 10, 2020 at 8:50 PM Xiang Xiao < > > > >> xiaoxiang781...@gmail.com> > > > >> > > > wrote: > > > >> > > > > > > >> > > > > Do you enable CONFIG_SIM_NET_BRIDGE? > > > >> > > > > To get the basic network, the below options are required: > > > >> > > > > CONFIG_NET=y > > > >> > > > > > > > >> > > > > CONFIG_NETINIT_DHCPC=y > > > >> > > > > CONFIG_NETUTILS_DHCPC=y > > > >> > > > > > > > >> > > > > CONFIG_NET_ICMP=y > > > >> > > > > CONFIG_NET_ICMP_SOCKET=y > > > >> > > > > > > > >> > > > > CONFIG_NET_UDP=y > > > >> > > > > CONFIG_NET_UDP_BINDTODEVICE=y > > > >> > > > > > > > >> > > > > CONFIG_SIM_NET_BRIDGE=y > > > >> > > > > > > > >> > > > > CONFIG_SYSTEM_PING=y > > > >> > > > > > > > >> > > > > IPv6 need more options: > > > >> > > > > CONFIG_NET_ICMPv6=y > > > >> > > > > CONFIG_NET_ICMPv6_AUTOCONF=y > > > >> > > > > CONFIG_NET_ICMPv6_SOCKET=y > > > >> > > > > > > > >> > > > > CONFIG_NET_IPv6=y > > > >> > > > > > > > >> > > > > CONFIG_SYSTEM_PING6=y > > > >> > > > > > > > >> > > > > Anyway, you can try the attached config which has more > > options to > > > >> get > > > >> > > > > the better network. > > > >> > > > > > > > >> > > > > > > > >> > > > > On Tue, Feb 11, 2020 at 12:22 PM Adam Feuer <a...@starcat.io> > > > >> wrote: > > > >> > > > > > > > > >> > > > > > Xiang, > > > >> > > > > > > > > >> > > > > > Thanks for the tips! I tried to get this working, but I > > don't > > > >> see any > > > >> > > > > > network interfaces on my nuttx system other than loopback. > > > >> > > > > > > > > >> > > > > > I ran the script on my Linux box, it created a nuttx0: > > > >> > > > > > interface > > > >> > > with an > > > >> > > > > IP > > > >> > > > > > address. But on the nuttx simulator all I see is this: > > > >> > > > > > > > > >> > > > > > nsh> ifconfig > > > >> > > > > > > lo Link encap:Local Loopback at UP > > > >> > > > > > > inet addr:127.0.0.1 DRaddr:127.0.0.1 Mask:255.0.0.0 > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > Do you have a defconfig that I can run that will bring up > > NSH? > > > >> Or > > > >> > > any > > > >> > > > > > defconfig that will show the network is working? > > > >> > > > > > > > > >> > > > > > cheers > > > >> > > > > > adam > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > On Mon, Feb 10, 2020 at 7:45 PM Xiang Xiao < > > > >> > > xiaoxiang781...@gmail.com> > > > >> > > > > > wrote: > > > >> > > > > > > > > >> > > > > > > Adam, please follow this instruction if you want to > > connect > > > >> the > > > >> > > real > > > >> > > > > > > network instead loopback: > > > >> > > > > > > > > > >> > > > > > > > > > >> > > > > > > > >> > > > > > >> > > https://github.com/apache/incubator-nuttx/pull/249/commits/1b489449f790c2b4618df9133114bb05f0132e87 > > > >> > > > > > > The setup is very simple, you don't need config any IP > > > >> > > > > > > address > > > >> > > > > manually. > > > >> > > > > > > > > > >> > > > > > > Thanks > > > >> > > > > > > Xiang > > > >> > > > > > > > > > >> > > > > > > On Tue, Feb 11, 2020 at 2:23 AM Gregory Nutt < > > > >> spudan...@gmail.com> > > > >> > > > > wrote: > > > >> > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > I'm trying to get the NuttX simulator working with > > TCP/IP > > > >> > > > > networking. I > > > >> > > > > > > > > used the sim:nsh defconfig as a base, then used "make > > > >> > > menuconfig" > > > >> > > > > to > > > >> > > > > > > select > > > >> > > > > > > > > TCP/IP, ICMP, and ping commands. > > > >> > > > > > > > > > > > >> > > > > > > > > My host is Ubuntu 19.10 Eoan. I installed bridge-utils > > > >> > > > > > > > > and > > > >> > > > > configured a > > > >> > > > > > > > > bridge device nuttx0 and gave it an IP address > > 10.0.1.1. > > > >> From > > > >> > > > > linux I > > > >> > > > > > > can > > > >> > > > > > > > > ping the bridge. > > > >> > > > > > > > > > > > >> > > > > > > > > I can compile and run the simulator. Commands seem to > > > >> work. I > > > >> > > can > > > >> > > > > > > configure > > > >> > > > > > > > > the eth0 interface with IP address 10.0.1.2 and bring > > it > > > >> up > > > >> > > using > > > >> > > > > > > ifup. But > > > >> > > > > > > > > when I try to ping the bridge, the nuttx simulator > > > >> immediately > > > >> > > > > exits > > > >> > > > > > > with > > > >> > > > > > > > > no messages. > > > >> > > > > > > > > > > > >> > > > > > > > > I checked the .config against the sim:nettest > > defconfig, > > > >> and my > > > >> > > > > > > settings in > > > >> > > > > > > > > .config match that one. > > > >> > > > > > > > > > > > >> > > > > > > > > What am I doing wrong? How do I debug this? > > > >> > > > > > > > > > > >> > > > > > > > I don't use TCP/IP networking with the simulator. > > Perhaps > > > >> Xiao > > > >> > > Xiang > > > >> > > > > > > > will respond later. > > > >> > > > > > > > > > > >> > > > > > > > I am creating a simulator example that runs the TCP > > blaster > > > >> > > example > > > >> > > > > > > > using the loopback 127.0.0.1 device. I will give that > > to > > > >> you > > > >> > > once I > > > >> > > > > > > > verify it. > > > >> > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > -- > > > >> > > > > > Adam Feuer <a...@starcat.io> > > > >> > > > > > > > >> > > > > > > >> > > > > > > >> > > > -- > > > >> > > > Adam Feuer <a...@starcat.io> > > > >> > > > > > >> > > > > >> > > > > >> > -- > > > >> > Adam Feuer <a...@starcat.io> > > > >> > > > > > > > > > > > > -- > > > > Adam Feuer <a...@starcat.io> > > > > > > > > > > > > > -- > > > Adam Feuer <a...@starcat.io> > > > > > -- > Adam Feuer <a...@starcat.io>