[LEDE-DEV] Script to gather system info for bug reports and similar.

Bruno Randolf br1 at einfach.org
Wed May 11 01:02:46 PDT 2016


On 10/05/16 21:00, Ben Greear wrote:
> Here is an initial pass at a script to gather pertinent info about
> a LEDE (or similar) system.  Suggestions for improvement are welcome.
> 
> If someone could add a way to put the git commit ID(s) into
> the file system somewhere, I think that would be an excellent
> addition.
> 
> And once the script is in place, a way to call it through the web UI would
> be most welcome.

Some of these commands could be replaced by ubus calls. The benefit of
this is could be that we get it structured as JSON so it's easier to
parse and easy to upload to a webservice (e.g. for submitting test
results or bug reports).

> [root at ben-dt3 linux-wt.x64]# cat ~/verinfo.sh
> #!/bin/sh
> 
> echo "System Information"
> uname -a
> echo
> echo "lspci:"
> lspci

No ubus equivalent yet.
lsusb would also be interesting.

> echo
> echo "CPU Info"
> cat /proc/cpuinfo
> echo
> echo "Banner:"
> cat /etc/banner
> echo

root at Rpi2:~# ubus call system board
{
        "kernel": "3.18.29",
        "hostname": "Rpi2",
        "system": "ARMv7 Processor rev 5 (v7l)",
        "model": "Raspberry Pi 2",
        "release": {
                "distribution": "OpenWrt",
                "version": "Chaos Calmer",
                "revision": "2016-04-21-140-ge1357c0",
                "codename": "chaos_calmer",
                "target": "brcm2708\/bcm2709",
                "description": "OpenWrt Chaos Calmer
2016-04-21-140-ge1357c0"
        }
}

root at Rpi2:~# ubus call system info
{
        "uptime": 60,
        "localtime": 1462952915,
        "load": [
                31264,
                10560,
                3648
        ],
        "memory": {
                "total": 976216064,
                "free": 937431040,
                "shared": 73728,
                "buffered": 884736
        },
        "swap": {
                "total": 0,
                "free": 0
        }
}

> echo "Network Devices:"
> ip addr show
> echo

root at Rpi2:~# ubus call network.device status
{
        "eth0": {
                "external": false,
                "present": true,
                "type": "Network device",
                "up": true,
                "carrier": true,
                "link-advertising": [
                        "10H",
                        "10F",
                        "100H",
                        "100F"
                ],
                "link-supported": [
                        "10H",
                        "10F",
                        "100H",
                        "100F"
                ],
                "speed": "100F",
                "mtu": 1500,
                "mtu6": 1500,
                "macaddr": "b8:27:eb:bb:b3:40",
                "txqueuelen": 1000,
                "ipv6": true,
                "promisc": false,
                "rpfilter": 0,
                "acceptlocal": false,
                "igmpversion": 0,
                "mldversion": 0,
                "neigh4reachabletime": 30000,
                "neigh6reachabletime": 30000,
                "dadtransmits": 1,
                "statistics": {
                        "collisions": 0,
                        "rx_frame_errors": 0,
                        "tx_compressed": 0,
                        "multicast": 0,
                        "rx_length_errors": 0,
                        "tx_dropped": 0,
                        "rx_bytes": 433918,
                        "rx_missed_errors": 0,
                        "tx_errors": 0,
                        "rx_compressed": 0,
                        "rx_over_errors": 0,
                        "tx_fifo_errors": 0,
                        "rx_crc_errors": 0,
                        "rx_packets": 979,
                        "tx_heartbeat_errors": 0,
                        "rx_dropped": 0,
                        "tx_aborted_errors": 0,
                        "tx_packets": 1688,
                        "rx_errors": 0,
                        "tx_bytes": 388341,
                        "tx_window_errors": 0,
                        "rx_fifo_errors": 0,
                        "tx_carrier_errors": 0
                }
        },
        "lo": {
                "external": false,
                "present": true,
                "type": "Network device",
                "up": true,
                "carrier": true,
                "mtu": 65536,
                "mtu6": 65536,
                "macaddr": "00:00:00:00:00:00",
                "txqueuelen": 0,
                "ipv6": true,
                "promisc": false,
                "rpfilter": 0,
                "acceptlocal": false,
                "igmpversion": 0,
                "mldversion": 0,
                "neigh4reachabletime": 30000,
                "neigh6reachabletime": 30000,
                "dadtransmits": 1,
                "statistics": {
                        "collisions": 0,
                        "rx_frame_errors": 0,
                        "tx_compressed": 0,
                        "multicast": 0,
                        "rx_length_errors": 0,
                        "tx_dropped": 0,
                        "rx_bytes": 15694,
                        "rx_missed_errors": 0,
                        "tx_errors": 0,
                        "rx_compressed": 0,
                        "rx_over_errors": 0,
                        "tx_fifo_errors": 0,
                        "rx_crc_errors": 0,
                        "rx_packets": 132,
                        "tx_heartbeat_errors": 0,
                        "rx_dropped": 0,
                        "tx_aborted_errors": 0,
                        "tx_packets": 132,
                        "rx_errors": 0,
                        "tx_bytes": 15694,
                        "tx_window_errors": 0,
                        "rx_fifo_errors": 0,
                        "tx_carrier_errors": 0
                }
        },
        "moni0": {
                "external": false,
                "present": true,
                "type": "Network device",
                "up": true,
                "carrier": true,
                "mtu": 1500,
                "mtu6": -1,
                "macaddr": "7c:dd:90:7d:c7:2b",
                "txqueuelen": 1000,
                "promisc": false,
                "rpfilter": 0,
                "acceptlocal": false,
                "igmpversion": 0,
                "mldversion": 0,
                "neigh4reachabletime": 30000,
                "neigh6reachabletime": 30000,
                "dadtransmits": 1,
                "statistics": {
                        "collisions": 0,
                        "rx_frame_errors": 0,
                        "tx_compressed": 0,
                        "multicast": 0,
                        "rx_length_errors": 0,
                        "tx_dropped": 0,
                        "rx_bytes": 1004498,
                        "rx_missed_errors": 0,
                        "tx_errors": 0,
                        "rx_compressed": 0,
                        "rx_over_errors": 0,
                        "tx_fifo_errors": 0,
                        "rx_crc_errors": 0,
                        "rx_packets": 5185,
                        "tx_heartbeat_errors": 0,
                        "rx_dropped": 0,
                        "tx_aborted_errors": 0,
                        "tx_packets": 0,
                        "rx_errors": 0,
                        "tx_bytes": 0,
                        "tx_window_errors": 0,
                        "rx_fifo_errors": 0,
                        "tx_carrier_errors": 0
                }
        },
        "wlan0": {
                "external": true,
                "present": true,
                "type": "Network device",
                "up": true,
                "carrier": true,
                "mtu": 1500,
                "mtu6": 1500,
                "macaddr": "7c:dd:90:7b:6d:71",
                "txqueuelen": 1000,
                "ipv6": true,
                "promisc": false,
                "rpfilter": 0,
                "acceptlocal": false,
                "igmpversion": 0,
                "mldversion": 0,
                "neigh4reachabletime": 30000,
                "neigh6reachabletime": 30000,
                "dadtransmits": 1,
                "statistics": {
                        "collisions": 0,
                        "rx_frame_errors": 0,
                        "tx_compressed": 0,
                        "multicast": 0,
                        "rx_length_errors": 0,
                        "tx_dropped": 0,
                        "rx_bytes": 8994,
                        "rx_missed_errors": 0,
                        "tx_errors": 0,
                        "rx_compressed": 0,
                        "rx_over_errors": 0,
                        "tx_fifo_errors": 0,
                        "rx_crc_errors": 0,
                        "rx_packets": 130,
                        "tx_heartbeat_errors": 0,
                        "rx_dropped": 0,
                        "tx_aborted_errors": 0,
                        "tx_packets": 143,
                        "rx_errors": 0,
                        "tx_bytes": 12054,
                        "tx_window_errors": 0,
                        "rx_fifo_errors": 0,
                        "tx_carrier_errors": 0
                }
        }
}

> echo "Routing information:"
> ip route show
> echo

Not quite the same, but similar. For each interface:

root at Rpi2:~# ubus call network.interface.wan status
{
        "up": true,
        "pending": false,
        "available": true,
        "autostart": true,
        "dynamic": false,
        "uptime": 758,
        "l3_device": "eth0",
        "proto": "dhcp",
        "device": "eth0",
        "updated": [
                "addresses",
                "routes",
                "data"
        ],
        "metric": 2,
        "delegation": true,
        "ipv4-address": [
                {
                        "address": "192.168.5.182",
                        "mask": 24
                }
        ],
        "ipv6-address": [

        ],
        "ipv6-prefix": [

        ],
        "ipv6-prefix-assignment": [

        ],
        "route": [
                {
                        "target": "192.168.5.1",
                        "mask": 32,
                        "nexthop": "0.0.0.0",
                        "source": "192.168.5.182\/32"
                },
                {
                        "target": "0.0.0.0",
                        "mask": 0,
                        "nexthop": "192.168.5.1",
                        "source": "192.168.5.182\/32"
                }
        ],
        "dns-server": [
                "192.168.5.1"
        ],
        "dns-search": [
                "lan"
        ],
        "inactive": {
                "ipv4-address": [

                ],
                "ipv6-address": [

                ],
                "route": [

                ],
                "dns-server": [

                ],
                "dns-search": [

                ]
        },
        "data": {
                "leasetime": 43200
        }
}

> echo "Qdisc information:"
> tc qdisc show
> echo

No equivalent.

> echo "WiFi Information"
> if [ -f /sys/class/net/wlan0/address ]
> then
>     iw dev wlan0 info
> fi
> if [ -f /sys/class/net/wlan1/address ]
> then
>         iw dev wlan1 info
> fi

root at Rpi2:~# ubus call iwinfo devices
{
        "devices": [
                "wlan0",
                "moni0"
        ]
}

root at Rpi2:~# ubus call iwinfo info "{'device':'wlan0'}"
{
        "phy": "phy0",
        "ssid": "infsoft-ln",
        "bssid": "EE:94:F6:67:DB:E9",
        "country": "00",
        "mode": "Client",
        "channel": 11,
        "frequency": 2462,
        "txpower": 20,
        "quality": 70,
        "quality_max": 70,
        "signal": -35,
        "bitrate": 57800,
        "encryption": {
                "enabled": true,
                "wpa": [
                        2
                ],
                "authentication": [
                        "psk"
                ],
                "ciphers": [
                        "ccmp"
                ]
        },
        "hwmodes": [
                "b",
                "g",
                "n"
        ],
        "hardware": {
                "name": "Generic MAC80211"
        }
}

> echo
> echo "dmesg output"
> dmesg

bruno




More information about the Lede-dev mailing list