{"id":19418419,"url":"https://github.com/framps/raspberrytools","last_synced_at":"2025-04-24T13:34:43.647Z","repository":{"id":41432418,"uuid":"55804380","full_name":"framps/raspberryTools","owner":"framps","description":"Some useful tools for Raspberry Pi","archived":false,"fork":false,"pushed_at":"2025-03-12T21:17:37.000Z","size":484,"stargazers_count":46,"open_issues_count":0,"forks_count":9,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-16T09:40:46.564Z","etag":null,"topics":["linux","python","raspberry","raspberry-pi","sample-code","tools"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/framps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["framps"]}},"created_at":"2016-04-08T19:27:42.000Z","updated_at":"2025-04-12T01:43:59.000Z","dependencies_parsed_at":"2024-01-26T16:53:06.770Z","dependency_job_id":"388c784e-0d71-4f7b-acb1-06a16700e116","html_url":"https://github.com/framps/raspberryTools","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/framps%2FraspberryTools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/framps%2FraspberryTools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/framps%2FraspberryTools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/framps%2FraspberryTools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/framps","download_url":"https://codeload.github.com/framps/raspberryTools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250636623,"owners_count":21463114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["linux","python","raspberry","raspberry-pi","sample-code","tools"],"created_at":"2024-11-10T13:13:56.320Z","updated_at":"2025-04-24T13:34:43.518Z","avatar_url":"https://github.com/framps.png","language":"Shell","funding_links":["https://github.com/sponsors/framps"],"categories":[],"sub_categories":[],"readme":"![](https://img.shields.io/github/last-commit/framps/raspberryTools.svg?style=flat)\n![](https://img.shields.io/github/stars/framps/raspberryTools?style=flat)\n\n***\nIf you like my work and want me to be able to keep improving it, please sponsor me on [GitHub](https://github.com/sponsors/framps) or visit [this page](https://www.linux-tips-and-tricks.de/en/donations) which lists alternate ways to donate.\n***\n\n### Note\nThere is a [very useful tools collection](https://forums.raspberrypi.com/viewtopic.php?t=196778) available, called usb-tools **Running Raspbian from USB Devices : Made Easy** which contains four very nice tools called usb-boot, sdc-boot, mbr2gpt and set-partuuid.\n\n### Note\nUse invokeTool.sh to download and call a tool immediately.\n\nExamples: \n*   `curl -s https://raw.githubusercontent.com/framps/raspberryTools/master/invokeTool.sh | bash -s -- findSensors.sh -s m` \n*   `curl -s https://raw.githubusercontent.com/framps/raspberryTools/master/invokeTool.sh | sudo bash -s -- synUUIDs.sh -u /dev/mmcblk0`\n\nOr use downloadRepoFiles.sh to select multiple tools you want to download and test first. Optionally you can install them later with option `-i`.\n\nCommand to download and execute downloadRepoFiles.sh:\n* `curl -s -O https://raw.githubusercontent.com/framps/raspberryTools/master/downloadRepoFiles.sh; bash ./downloadRepoFiles.sh -i`\n\n### List of my \"some useful tools for Raspberry Pi\"\nFor sample outputs of the tools click the links.\n\n1. [raspiNetInfo.sh](#raspinetinfosh) - Collect network information for people who want to help in network problem determination and test for common network configuration errors\n\n2. checkWLANAndRestart.sh - Check on regular base for WLAN connection and either restart network interface or reboot Raspberry if there is no connection\n\n3. [checkThrottled.sh](#checkthrottledsh) - Check Raspberry throttled bits with `vcgencmd get_throttled` and display their meaning if throtteling happened since boot or since last script invocation\n\n4. [testCPUTemperature.sh](#testcputemperaturesh) - Generates 100% CPU load on a Raspberry and monitors the CPU temperature. Useful to test the effectiveness of a heat sink and/or fan.\n\n5. [retrieveTerrabytesWritten.sh](#retrieveterrabyteswrittensh) - Either retrieves the Total Bytes Written of all existing SSDs on the system or a specific SSD. Helps to get an idea when the SSD will reach it's end of life.\n\n6. [retrieveLifetimeWrites.sh](#retrievelifetimewritessh) - Either retrieves the LifetimeWrites of one or all existing ext2/ext3 and ext4 partitions. Helps to get an idea when the SD card or disk will reach it's end of life.\n\n7. [findDevices.sh](#finddevicessh) - Scan the local net for Raspberries or ESPs and print the IPs, macs and hostnames sorted by IP. A config file can be used to add an additional descriptions for the hostname. This replaces deprecated findRaspis and findSensors. \n\n8. findRaspis.sh - Deprecated. Use findDevices.sh\n\n9. findSensors.sh - Deprecated. Use findDevices.sh\n\n10. [checkPARTUUIDsInDDImage.sh](https://github.com/framps/raspberryTools/blob/master/checkPARTUUIDsInDDImage.sh) - Retrieve PARTUUIDs of Raspberry dd Backup image partitions /boot and / and check if they match in /boot/cmdline.txt and /etc/fstab\n\n11. [syncUUIDs.sh](https://github.com/framps/raspberryTools/blob/master/syncUUIDs.sh) - Check whether /boot/cmdline.txt and /etc/fstab on a device match the UUIDs, PARTUUIDs or LABELs used on the device partitions. Option -u (update) will synchronize the files. Useful when an image was cloned to another device and fails during boot because of missing updates in /boot/cmdline.txt and /etc/fstab.\nWith option -n (new) new UUIDs and PARTUUIDs are created on the target device and /boot/cmdline.txt and /etc/fstab are updated accordingly. Useful if somebody uses dd to clone a system and requires to have the clone mounted on the cloned system **Note**: Runs on any Linux OS and HW\n\n12. [raspiKernelInfo.sh](https://github.com/framps/raspberryTools/blob/master/raspiKernelInfo.sh) - Retrieve info about the running system on a Raspberry\n\n13. [raspiHandleKernels.sh](#raspiHandleKernels.sh) - Uninstall and reinstall unused kernels in a bookworm image to speed up apt upgrade processing\n\n14. [switchOS.sh](https://github.com/framps/raspberryTools/blob/master/switchOS.sh) - Switch the OS boot device if there are multiple boot devices (e.g. mmcblk0 and nvme0n1)\n\n\n## findDevices.sh\n```\nfindDevices.sh 0.1.0 (https://github.com/framps/raspberryTools)\nScanning subnet 192.168.0.0/24 for Raspberries ...\n\nIP address      Mac address       Hostname                                        Description     \n192.168.0.8     b8:27:eb:a4:e8:74 troubadix                                       NetworkGateway  \n192.168.0.10    b8:27:eb:2c:94:90 idefix                                          HomeAutomation  \n192.168.0.12    dc:a6:32:7f:28:fd asterix                                         InfluxDB/Grafana\n192.168.0.158   dc:a6:32:ef:4f:9a raspberrypi-bookworm-64-lite-cm4-emmc.fritz.box CM4             \n192.168.0.164   dc:a6:32:bb:d9:7e raspberrypi4-8GB.fritz.box                      RPi4            \n192.168.0.179   2c:cf:67:b2:18:90 raspberrypi-bookworm64-lite-beta.fritz.box      RPi5            \n```\n\n## raspiHandleKernels.sh\n\nDisplay unused kernels\n```\nraspiHandleKernels.sh v0.2.4 (https://github.com/framps/raspberryTools)\n--- Following kernel is used\nlinux-image-6.6.31+rpt-rpi-v8\n--- Following 3 kernels are not required and can be uninstalled to speed up system updates\n--- Note the kernel names are saved in /boot/raspiHandleKernels.krnl and thus can be reinstalled if hardware changes\nlinux-image-6.6.31+rpt-rpi-2712\nlinux-image-rpi-2712\nlinux-image-rpi-v8\n--- Use option -e to uninstall 3 unused kernels\n```\n\nUninstall unused kernels\n```\n./raspiHandleKernels.sh -e\nraspiHandleKernels.sh v0.2.4 (https://github.com/framps/raspberryTools)\n--- Following kernel is used\nlinux-image-6.6.31+rpt-rpi-v8\n--- Following 3 kernels are not required and can be uninstalled to speed up system updates\n--- Note the kernel names are saved in /boot/raspiHandleKernels.krnl and thus can be reinstalled if hardware changes\nlinux-image-6.6.31+rpt-rpi-2712\nlinux-image-rpi-2712\nlinux-image-rpi-v8\n--- Are you sure to uninstall all 3 unused kernels ? (y/N) y\n--- Do you have a backup ? (y/N) y\n--- Saving 3 unused kernel names in /boot/raspiHandleKernels.krnl\n--- Removing 3 unused kernels\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following packages will be REMOVED:\n  linux-image-6.6.31+rpt-rpi-2712 linux-image-rpi-2712 linux-image-rpi-v8\n0 upgraded, 0 newly installed, 3 to remove and 1 not upgraded.\nAfter this operation, 33.0 MB disk space will be freed.\n(Reading database ... 55838 files and directories currently installed.)\nRemoving linux-image-rpi-2712 (1:6.6.31-1+rpt1) ...\nRemoving linux-image-6.6.31+rpt-rpi-2712 (1:6.6.31-1+rpt1) ...\n/etc/kernel/postrm.d/initramfs-tools:\nupdate-initramfs: Deleting /boot/initrd.img-6.6.31+rpt-rpi-2712\n/etc/kernel/postrm.d/z50-raspi-firmware:\nremoved '/boot/firmware/kernel_2712.img'\nremoved '/boot/firmware/initramfs_2712'\nRemoving linux-image-rpi-v8 (1:6.6.31-1+rpt1) ...\n\n```\n\nDisplay kernels which will be reinstalled\n```\n./raspiHandleKernels.sh\nraspiHandleKernels.sh v0.2.4 (https://github.com/framps/raspberryTools)\n--- Following 3 unused kernels can be reinstalled\nlinux-image-6.6.31+rpt-rpi-2712\nlinux-image-rpi-2712\nlinux-image-rpi-v8\n--- Use option -e to reinstall 3 unused kernels\n```\n\nReinstall unused kernels\n```\n./raspiHandleKernels.sh -e\nraspiHandleKernels.sh v0.2.4 (https://github.com/framps/raspberryTools)\n--- Following 3 unused kernels can be reinstalled\nlinux-image-6.6.31+rpt-rpi-2712\nlinux-image-rpi-2712\nlinux-image-rpi-v8\n--- Are you sure to reinstall all 3 unused kernels ? (y/N) y\n--- Installing 3 unused kernels\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nySuggested packages:\n  linux-doc-6.6 debian-kernel-handbook\nThe following NEW packages will be installed:\n  linux-image-6.6.31+rpt-rpi-2712\n0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.\nNeed to get 29.4 MB of archives.\nAfter this operation, 32.9 MB of additional disk space will be used.\nGet:1 http://archive.raspberrypi.com/debian bookworm/main arm64 linux-image-6.6.31+rpt-rpi-2712 arm64 1:6.6.31-1+rpt1 [29.4 MB]\nFetched 29.4 MB in 3s (10.5 MB/s)                           \nSelecting previously unselected package linux-image-6.6.31+rpt-rpi-2712.\n(Reading database ... 53260 files and directories currently installed.)\nPreparing to unpack .../linux-image-6.6.31+rpt-rpi-2712_1%3a6.6.31-1+rpt1_arm64.deb ...\nUnpacking linux-image-6.6.31+rpt-rpi-2712 (1:6.6.31-1+rpt1) ...\nSetting up linux-image-6.6.31+rpt-rpi-2712 (1:6.6.31-1+rpt1) ...\n/etc/kernel/postinst.d/initramfs-tools:\nupdate-initramfs: Generating /boot/initrd.img-6.6.31+rpt-rpi-2712\n'/boot/initrd.img-6.6.31+rpt-rpi-2712' -\u003e '/boot/firmware/initramfs_2712'\n/etc/kernel/postinst.d/z50-raspi-firmware:\n'/boot/vmlinuz-6.6.31+rpt-rpi-2712' -\u003e '/boot/firmware/kernel_2712.img'\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following NEW packages will be installed:\n  linux-image-rpi-2712\n0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.\nNeed to get 1,432 B of archives.\nAfter this operation, 13.3 kB of additional disk space will be used.\nGet:1 http://archive.raspberrypi.com/debian bookworm/main arm64 linux-image-rpi-2712 arm64 1:6.6.31-1+rpt1 [1,432 B]\nFetched 1,432 B in 0s (8,335 B/s)                \nSelecting previously unselected package linux-image-rpi-2712.\n(Reading database ... 55832 files and directories currently installed.)\nPreparing to unpack .../linux-image-rpi-2712_1%3a6.6.31-1+rpt1_arm64.deb ...\nUnpacking linux-image-rpi-2712 (1:6.6.31-1+rpt1) ...\nSetting up linux-image-rpi-2712 (1:6.6.31-1+rpt1) ...\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following NEW packages will be installed:\n  linux-image-rpi-v8\n0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.\nNeed to get 1,428 B of archives.\nAfter this operation, 13.3 kB of additional disk space will be used.\nGet:1 http://archive.raspberrypi.com/debian bookworm/main arm64 linux-image-rpi-v8 arm64 1:6.6.31-1+rpt1 [1,428 B]\nFetched 1,428 B in 0s (8,847 B/s)              \nSelecting previously unselected package linux-image-rpi-v8.\n(Reading database ... 55835 files and directories currently installed.)\nPreparing to unpack .../linux-image-rpi-v8_1%3a6.6.31-1+rpt1_arm64.deb ...\nUnpacking linux-image-rpi-v8 (1:6.6.31-1+rpt1) ...\nSetting up linux-image-rpi-v8 (1:6.6.31-1+rpt1) ...\n```\n\n\n## syncUUIDs.sh\n\nCheck UUIDs (UUIDs are OK):\n```\nsudo syncUUIDs.sh  /dev/mmcblk0\n--- Root PARTUUID 18aea473-02 already used in /dev/mmcblk0p1/cmdline.txt\n--- Boot PARTUUID 18aea473-01 already used in /dev/mmcblk0p2/etc/fstab\n--- Root PARTUUID 18aea473-02 already used in /dev/mmcblk0p2/etc/fstab\n```\n\nCheck UUIDs (UUIDs are not OK) (Note: There is a mix of UUID and PARTUUID usage):\n\n```\nsudo syncUUIDs.sh /dev/mmcblk0\n!!! PARTUUID 1aea473-02 should be updated to 18aea473-02 in /dev/mmcblk0p1/cmdline.txt\n!!! UUID 18aea473-01 should be updated to 5DF9-E225 in /dev/mmcblk0p2/etc/fstab\n!!! PARTUUID 18aea47-02 should be updated to 18aea473-02 in /dev/mmcblk0p2/etc/fstab\n!!! Use option -u to update the incorrect UUIDs or PARTUUIDs\n```\n\nUpdate UUIDs (UUIDs are not OK):\n\n```\nsudo syncUUIDs.sh  -u /dev/mmcblk0\n--- Creating cmdline backup cmdline.txt.bak on /dev/mmcblk0p1\n--- Updating PARTUUID 1aea473-02 to 18aea473-02 in /dev/mmcblk0p1/cmdline.txt\n--- Creating fstab backup etc/fstab.bak on /dev/mmcblk0p2\n--- Updating UUID 18aea473-01 to 5DF9-E225 in /dev/mmcblk0p2/etc/fstab\n--- Updating PARTUUID 18aea47-02 to 18aea473-02 in /dev/mmcblk0p2/etc/fstab\n```\n\nCheck if update was successfull :\n```\nsudo syncUUIDs.sh /dev/mmcblk0\n--- Root PARTUUID 18aea473-02 already used in /dev/mmcblk0p1/cmdline.txt\n--- Boot UUID 5DF9-E225 already used in /dev/mmcblk0p2/etc/fstab\n--- Root PARTUUID 18aea473-02 already used in /dev/mmcblk0p2/etc/fstab\n```\n\nUse PARTUUID in fstab now:\n```\nsudo syncUUIDs.sh -u /dev/mmcblk0\n--- Root PARTUUID 18aea473-02 already used in /dev/mmcblk0p1/cmdline.txt\n--- Creating fstab backup etc/fstab.bak on /dev/mmcblk0p2\n--- Updating PARTUUID 5DF9-E225 to 18aea473-01 in /dev/mmcblk0p2/etc/fstab\n--- Root PARTUUID 18aea473-02 already used in /dev/mmcblk0p2/etc/fstab\nsudo syncUUIDs.sh /dev/mmcblk0\n--- Root PARTUUID 18aea473-02 already used in /dev/mmcblk0p1/cmdline.txt\n--- Boot PARTUUID 18aea473-01 already used in /dev/mmcblk0p2/etc/fstab\n--- Root PARTUUID 18aea473-02 already used in /dev/mmcblk0p2/etc/fstab\n```\n\nGenerate new UUIDs and PARTUUIDs\n```\nsudo syncUUIDs.sh -n /dev/sda\nsyncUUIDs.sh 0.3 (https://github.com/framps/raspberryTools)\n!!! Creating new UUID and PARTUUID on /dev/sda. Are you sure? (y|N) y\n--- Creating new PARTUUID 856f0aa3 on /dev/sda\n--- Creating new UUID D0D0-1BF8 on /dev/sda1\n4+0 records in\n4+0 records out\n4 bytes copied, 0.0035762 s, 1.1 kB/s\n--- Creating new UUID f685cb4a-b320-4d81-8dd4-a7e0943e0b7c on /dev/sda2\ne2fsck 1.47.0 (5-Feb-2023)\nPass 1: Checking inodes, blocks, and sizes\nPass 2: Checking directory structure\nPass 3: Checking directory connectivity\nPass 4: Checking reference counts\nPass 5: Checking group summary information\n/dev/sda2: 61814/452480 files (0.1% non-contiguous), 505485/1808384 blocks\ntune2fs 1.47.0 (5-Feb-2023)\nSetting the UUID on this filesystem could take some time.\nProceed anyway (or wait 5 seconds to proceed) ? (y,N) \u003cproceeding\u003e\n!!! PARTUUID cc5fd38e-02 should be updated to 856f0aa3-02 in /dev/sda1/cmdline.txt\n!!! PARTUUID cc5fd38e-01 should be updated to 856f0aa3-01 in /dev/sda2/etc/fstab \n!!! PARTUUID cc5fd38e-02 should be updated to 856f0aa3-02 in /dev/sda2/etc/fstab \n!!! Use option -u to update the incorrect UUIDs, PARTUUIDs or LABELs\n```\n\n## checkThrottled.sh\n\n[Code](https://github.com/framps/raspberryTools/blob/master/checkThrottled.sh)\n\n```\npi@raspberrypi-buster:~ $ ./checkThrottled.sh\nThrottling in hex (bits reset on boot): 0x20000\nBit 17 set: Arm frequency capped has occurred\nThrottling in hex: 0x20002 (bits reset every call)\n```\n\n## testCPUTemperature.sh\n\n[Code](https://github.com/framps/raspberryTools/blob/master/testCPUTemperature.sh)\n\n```\npi@raspberrypi-buster:~ $ ./testCPUTemperature.sh -i 5\nGenerate 100% CPU utilization and measure CPU temperature ...\nCPU watch interval: 5s\nWatch +0s:temp=55.8'C\nStarting run 1: +0s:temp=56.4'C\nWatch +5s:temp=64.5'C\nWatch +10s:temp=67.7'C\nWatch +15s:temp=70.4'C\nWatch +20s:temp=73.1'C\nWatch +25s:temp=74.1'C\nWatch +30s:temp=76.3'C\nWatch +35s:temp=77.4'C\nWatch +40s:temp=79.0'C\nWatch +45s:temp=80.6'C\nWatch +50s:temp=80.6'C\nWatch +55s:temp=81.1'C\nWatch +60s:temp=81.7'C\nWatch +65s:temp=82.2'C\nWatch +70s:temp=82.7'C\nWatch +75s:temp=82.7'C\n```\n\n## retrieveLifetimeWrites.sh\n\n[Code](https://github.com/framps/raspberryTools/blob/master/retrieveLifetimeWrites.sh)\n\n```\nsudo retrieveLifetimeWrites.sh  -a\nLTW of /dev/mmcblk0p2: 57.35 GiB\nLTW of /dev/sdd1: 1.66 TiB\nLTW of /dev/md0: 596.31 GiB\n```\n\n## retrieveTerrabytesWritten.sh\n\n[Code](https://github.com/framps/raspberryTools/blob/master/retrieveTerrabytesWritten.sh)\n```\nsudo retrieveTBW.sh -a\nTBW of sda: 1.56 TiB\n```\n\n## raspiNetInfo.sh\n\n[Code](https://github.com/framps/raspberryTools/blob/master/raspiNetInfo.sh)\n\nTests executed:\n\n1. IP assigned?\n2. ping of IP in internet possible?\n3. ping of hostname in internet possible?\n4. default gateway defined?\n5. nameserver defined in /etc/resolv.conf\n6. ssid found with iwlist scan?\n7. ssid conforms to IEEE 802.11?\n\nSensitive information like external IPs, MAC addresses, SSIDs and keys in config files are masqueraded.\n\n### Sample output of script for ethernet\n\n```\npi@raspberrypi ~ $ ./raspiNetInfo.sh -e\nThis program comes with ABSOLUTELY NO WARRANTY; This is free software, and you are welcome to redistribute it under certain conditions\n[spoiler][code]\nraspiNetInfo.sh V0.2.9, $/$ -\n--- RNI010I: Starting collection of data and network analysis. This may take some time ...\n--- RNI012I: Ping of 8.8.8.8 successful\n--- RNI012I: Ping of www.google.com successful\n--- uname -a\nLinux raspberrypi 4.1.13+ #826 PREEMPT Fri Nov 13 20:13:22 GMT 2015 armv6l GNU/Linux\n--- [ -d /home/pi/.xbmc ]\nno\n--- ip a s | egrep \"(eth|wlan)\n2: eth0: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qdisc pfifo_fast state UP qlen 1000\n    link/ether @@:@@:@@:@@:@@ brd @@:@@:@@:@@:@@\n    inet 192.168.0.109/24 brd 192.168.0.255 scope global eth0\n       valid_lft forever preferred_lft forever\n       valid_lft forever preferred_lft forever\n3: wlan0: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qdisc mq state UP qlen 1000\n    link/ether @@:@@:@@:@@:@@ brd @@:@@:@@:@@:@@\n    inet 192.168.0.118/24 brd 192.168.0.255 scope global wlan0\n       valid_lft forever preferred_lft forever\n       valid_lft forever preferred_lft forever\n--- cat /etc/resolv | grep -i \"nameserver\"\nnameserver 192.168.0.1\n--- cat /etc/network/interfaces\nauto lo\niface lo inet loopback\niface eth0 inet dhcp\nallow-hotplug wlan0\niface wlan0 inet manual\nwpa-roam /etc/wpa_supplicant/wpa_supplicant.conf\niface default inet dhcp\n--- cat /etc/hosts\n127.0.0.1\tlocalhost raspberrypi.@@@@@@@@@@.de\n127.0.1.1\towncloud\n--- ip r s | egrep \"(eth|wlan)\"\ndefault via 192.168.0.1 dev eth0\n192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.109\n192.168.0.0/24 dev wlan0  proto kernel  scope link  src 192.168.0.118\n--- ip n s\n192.168.0.6 dev wlan0 lladdr @@:@@:@@:@@:@@:@@ STALE\n192.168.0.3 dev eth0 lladdr @@:@@:@@:@@:@@:@@ STALE\n192.168.0.10 dev eth0 lladdr @@:@@:@@:@@:@@:@@ STALE\n192.168.0.1 dev wlan0 lladdr @@:@@:@@:@@:@@:@@ STALE\n192.168.0.113 dev wlan0 lladdr @@:@@:@@:@@:@@:@@ STALE\n192.168.0.3 dev wlan0 lladdr @@:@@:@@:@@:@@:@@ STALE\n192.168.0.6 dev eth0 lladdr @@:@@:@@:@@:@@:@@ STALE\n192.168.0.1 dev eth0 lladdr @@:@@:@@:@@:@@:@@ REACHABLE\n192.168.0.113 dev eth0 lladdr @@:@@:@@:@@:@@:@@ REACHABLE\n--- RNI016I: Check logile raspiNetInfo.log for sensitive data before publishing\n[/code][/spoiler]\n```\n\n### Sample output of script for WLAN\n\n```\npi@raspberrypi ~ $ ./raspiNetInfo.sh -s MySSID\nThis program comes with ABSOLUTELY NO WARRANTY; This is free software, and you are welcome to redistribute it under certain conditions\n[spoiler][code]\nraspiNetInfo.sh V0.2.9, $/$ -\n--- RNI010I: Starting collection of data and network analysis. This may take some time ...\n--- RNI012I: Ping of 8.8.8.8 successful\n??? RNI013E: Ping of www.google.com failed\n--- uname -a\nLinux raspberrypi 4.1.13+ #826 PREEMPT Fri Nov 13 20:13:22 GMT 2015 armv6l GNU/Linux\n--- [ -d /home/pi/.xbmc ]\nno\n--- ip a s | egrep \"(eth|wlan)\n2: eth0: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qdisc pfifo_fast state UP qlen 1000\n    link/ether @@:@@:@@:@@:@@ brd @@:@@:@@:@@:@@\n    inet 192.168.0.109/24 brd 192.168.0.255 scope global eth0\n       valid_lft forever preferred_lft forever\n       valid_lft forever preferred_lft forever\n3: wlan0: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qdisc mq state UP qlen 1000\n    link/ether @@:@@:@@:@@:@@ brd @@:@@:@@:@@:@@\n    inet 192.168.0.118/24 brd 192.168.0.255 scope global wlan0\n       valid_lft forever preferred_lft forever\n       valid_lft forever preferred_lft forever\n--- cat /etc/resolv | grep -i \"nameserver\"\nnameserver 192.168.0.1\n--- cat /etc/network/interfaces\nauto lo\niface lo inet loopback\niface eth0 inet dhcp\nallow-hotplug wlan0\niface wlan0 inet manual\nwpa-roam /etc/wpa_supplicant/wpa_supplicant.conf\niface default inet dhcp\n--- cat /etc/hosts\n127.0.0.1\tlocalhost raspberrypi.@@@@@@@@@.de\n127.0.1.1\towncloud\n--- ip r s | egrep \"(eth|wlan)\"\ndefault via 192.168.0.1 dev eth0\n192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.109\n192.168.0.0/24 dev wlan0  proto kernel  scope link  src 192.168.0.118\n--- ip n s\n192.168.0.6 dev wlan0 lladdr @@:@@:@@:@@:@@:@@ STALE\n192.168.0.3 dev eth0 lladdr @@:@@:@@:@@:@@:@@ STALE\n192.168.0.10 dev eth0 lladdr @@:@@:@@:@@:@@:@@ STALE\n192.168.0.1 dev wlan0 lladdr @@:@@:@@:@@:@@:@@ STALE\n192.168.0.113 dev wlan0 lladdr @@:@@:@@:@@:@@:@@ STALE\n192.168.0.3 dev wlan0 lladdr @@:@@:@@:@@:@@:@@ STALE\n192.168.0.6 dev eth0 lladdr @@:@@:@@:@@:@@:@@ STALE\n192.168.0.1 dev eth0 lladdr @@:@@:@@:@@:@@:@@ REACHABLE\n192.168.0.113 dev eth0 lladdr @@:@@:@@:@@:@@:@@ REACHABLE\n--- lsusb | grep -v \"root hub\" | grep -i \"wire\"\nBus 001 Device 006: ID 0846:9030 NetGear, Inc. WNA1100 Wireless-N 150 [Atheros AR9271]\n--- iwconfig (eth und wlan)\nwlan0     IEEE 802.11bgn  ESSID:\"@@@@@@@@\"\n          Mode:Managed  Frequency:2.412 GHz  Access Point: @@:@@:@@:@@:@@\n          Link Quality=40/70  Signal level=-70 dBm\n          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0\n          Tx excessive retries:0  Invalid misc:5308   Missed beacon:0\n--- /etc/wpa_supplicant/wpa_supplicant.conf\nctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev\nupdate_config=1\nnetwork={\n\tssid=\"@@@@@@@@\"\n\tpsk=\"@@@@@@@@\"\n\tproto=RSN\n\tkey_mgmt=WPA-PSK\n\tpairwise=CCMP\n\tauth_alg=OPEN\n}\n--- grep wpa_action /var/log/messages | tail -n 15\n--- RNI016I: Check logile raspiNetInfo.log for sensitive data before publishing\n[/code][/spoiler]\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fframps%2Fraspberrytools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fframps%2Fraspberrytools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fframps%2Fraspberrytools/lists"}