For #90: network troubleshooting commands, in the Shell and over both consoles.
Command
Tells you
ping <host> [count] [size]
Whether a host answers and how fast
nslookup <name> [server]
A name's addresses, which DNS server answered, in how long
port <host> <port>
A TCP port: open, refused, or silent
traceroute <host>
The routers on the way
ifconfig
The interfaces (Wi-Fi, VPN), which is the default route, the DNS servers
arp
The neighbours heard on the Wi-Fi
The first four run on a task of their own and print as they go, to the console that asked. One at a time; cancel stops it.
Tab completes them in the Shell, since they are in the help text.
lib/net/src/net_probe.h holds the packets and their parsing, host-tested.
Not in this PR:tls, ntp and netstat from the issue's list. The issue should stay open for them.
Checked
544 host tests pass (5 new: arguments, ICMP echo and its answers, DNS query and answer including a pointer loop).
On the device, with the VPN up: every command, including a second command while a ping runs, cancel, a refused and a silent port, a name that doesn't exist, and a sized ping that finds the tunnel's 1420 bytes. In the Shell with Tab.
Not checked: without the VPN, and on a network that drops ICMP.
Docs: the Shell guide page, a new how-to ("When the network doesn't work"), the VPN guide and how-to, the FAQ, the README, the milestone notes and status line.
Costs 12 KB of flash, and a 6 KB task while a command runs.
For #90: network troubleshooting commands, in the Shell and over both consoles.
| Command | Tells you |
|---|---|
| `ping <host> [count] [size]` | Whether a host answers and how fast |
| `nslookup <name> [server]` | A name's addresses, which DNS server answered, in how long |
| `port <host> <port>` | A TCP port: open, refused, or silent |
| `traceroute <host>` | The routers on the way |
| `ifconfig` | The interfaces (Wi-Fi, VPN), which is the default route, the DNS servers |
| `arp` | The neighbours heard on the Wi-Fi |
- The first four run on a task of their own and print as they go, to the console that asked. One at a time; `cancel` stops it.
- Tab completes them in the Shell, since they are in the `help` text.
- `lib/net/src/net_probe.h` holds the packets and their parsing, host-tested.
**Not in this PR:** `tls`, `ntp` and `netstat` from the issue's list. The issue should stay open for them.
**Checked**
- 544 host tests pass (5 new: arguments, ICMP echo and its answers, DNS query and answer including a pointer loop).
- On the device, with the VPN up: every command, including a second command while a ping runs, `cancel`, a refused and a silent port, a name that doesn't exist, and a sized ping that finds the tunnel's 1420 bytes. In the Shell with Tab.
**Not checked:** without the VPN, and on a network that drops ICMP.
**Docs:** the Shell guide page, a new how-to ("When the network doesn't work"), the VPN guide and how-to, the FAQ, the README, the milestone notes and status line.
Costs 12 KB of flash, and a 6 KB task while a command runs.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT
Network troubleshooting from the device itself, in the Shell and over both
consoles. ping, nslookup, port and traceroute each run on a task of their
own and print as they go, to the console that asked; one at a time, and
`cancel` stops it. ifconfig and arp answer at once: the interfaces (Wi-Fi
and the VPN), which is the default route, the DNS servers, the neighbours.
nslookup asks a DNS server itself, so it can say which server answered and
in how long, and ask another. A sized ping finds what a tunnel really
carries.
With a how-to, "When the network doesn't work", and the rest of the docs.
tls, ntp and netstat from the issue's list are not in this.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
For #90: network troubleshooting commands, in the Shell and over both consoles.
ping <host> [count] [size]nslookup <name> [server]port <host> <port>traceroute <host>ifconfigarpcancelstops it.helptext.lib/net/src/net_probe.hholds the packets and their parsing, host-tested.Not in this PR:
tls,ntpandnetstatfrom the issue's list. The issue should stay open for them.Checked
cancel, a refused and a silent port, a name that doesn't exist, and a sized ping that finds the tunnel's 1420 bytes. In the Shell with Tab.Not checked: without the VPN, and on a network that drops ICMP.
Docs: the Shell guide page, a new how-to ("When the network doesn't work"), the VPN guide and how-to, the FAQ, the README, the milestone notes and status line.
Costs 12 KB of flash, and a 6 KB task while a command runs.
🤖 Generated with Claude Code
https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT