| From 0db3fb3119eda8c2360454c2a01f84602a879c38 Mon Sep 17 00:00:00 2001 | 
 | From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com> | 
 | Date: Tue, 16 Jan 2024 15:32:12 +0100 | 
 | Subject: [PATCH] raspinfo: adapt to OpenWrt | 
 | MIME-Version: 1.0 | 
 | Content-Type: text/plain; charset=UTF-8 | 
 | Content-Transfer-Encoding: 8bit | 
 |  | 
 | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | 
 | --- | 
 |  raspinfo/raspinfo | 186 ++++------------------------------------------ | 
 |  1 file changed, 13 insertions(+), 173 deletions(-) | 
 |  | 
 | --- a/raspinfo/raspinfo | 
 | +++ b/raspinfo/raspinfo | 
 | @@ -1,4 +1,4 @@ | 
 | -#!/bin/bash | 
 | +#!/bin/sh | 
 |   | 
 |  # Some of the regex's used in sed | 
 |  # Catch basic IP6 address   "s/\([0-9a-fA-F]\{1,4\}:\)\{7,7\}[0-9a-fA-F]\{1,4\}/y.y.y.y.y.y.y.y/g" | 
 | @@ -6,147 +6,6 @@ | 
 |  # IP4 d.d.d.d decimal	    "s/\([0-9]\{1,3\}\.\)\{3,3\}[0-9]\{1,3\}/x.x.x.x/g" | 
 |  # mac address	            "s/\([0-9a-fA-F]\{2,2\}\:\)\{5,5\}[0-9a-fA-F]\{2,2\}/m.m.m.m/g" | 
 |   | 
 | - | 
 | -display_info_drm() { | 
 | -   # If running X then can use xrandr, otherwise | 
 | -   # dump the /sys/class entries for the displays | 
 | -   if command -v xrandr > /dev/null && | 
 | -      DISPLAY=${DISPLAY:-:0} xrandr --listmonitors &>/dev/null; | 
 | -   then | 
 | -      echo "Running (F)KMS and X" | 
 | -      echo | 
 | - | 
 | -      DISPLAY=${DISPLAY:-:0} xrandr --verbose | 
 | -   else | 
 | -      echo "Running (F)KMS, console" | 
 | -      echo | 
 | - | 
 | -      for card in /sys/class/drm/card[0-9]-*; | 
 | -      do | 
 | -         echo $card | 
 | - | 
 | -         # if kmsprint isn't installed print basic mode info | 
 | -         if ! command -v kmsprint > /dev/null; then | 
 | -            if [ -f $card/modes ]; | 
 | -            then | 
 | -               cat $card/modes | 
 | -            else | 
 | -               echo "No modes found" | 
 | -            fi | 
 | -         fi | 
 | - | 
 | -         if [ -f $card/edid ]; | 
 | -         then | 
 | -            base64 $card/edid | 
 | -         else | 
 | -            echo "No EDID found" | 
 | -         fi | 
 | -         echo | 
 | -      done | 
 | -   fi | 
 | - | 
 | -   # kmsprint is more useful, but not always installed | 
 | -   echo | 
 | -   if command -v kmsprint > /dev/null; then | 
 | -      kmsprint | 
 | -      echo | 
 | -      kmsprint -m | 
 | -   else | 
 | -      echo "kmsprint is not installed. Install with: sudo apt install kms++-utils" | 
 | -   fi | 
 | - | 
 | -   echo | 
 | - | 
 | -   # dump the /sys/class entries for the displays | 
 | -   cardfound=0 | 
 | -   for card in `seq 0 9`; | 
 | -   do | 
 | -      if sudo test -f "/sys/kernel/debug/dri/${card}/state"; | 
 | -      then | 
 | -        for hdmi in 0 1; | 
 | -        do | 
 | -         if sudo test -f "/sys/kernel/debug/dri/${card}/hdmi${hdmi}_regs"; | 
 | -         then | 
 | -            echo "HDMI${hdmi}: $(sudo cat /sys/kernel/debug/dri/$card/hdmi${hdmi}_regs | grep HOTPLUG)" | 
 | -         fi | 
 | -      done | 
 | -      echo | 
 | -      echo "/sys/kernel/debug/dri/$card/state:" | 
 | -      sudo cat "/sys/kernel/debug/dri/$card/state" | 
 | -      echo | 
 | -      cardfound=1 | 
 | -      fi | 
 | -   done | 
 | -   if [ "$cardfound" == "0" ]; | 
 | -   then | 
 | -      echo "kms state not found" | 
 | -   fi | 
 | -   echo | 
 | - | 
 | -} | 
 | - | 
 | -display_info_legacy() { | 
 | -   # Legacy mode | 
 | -   echo "Running Legacy framebuffer" | 
 | -   echo | 
 | - | 
 | -   for card in `seq 0 9`; | 
 | -   do | 
 | -      F="/dev/fb${card}" | 
 | -      if test -e $F; | 
 | -      then | 
 | -         echo Framebuffer: $F | 
 | -         fbset -s -fb $F | 
 | -      fi | 
 | -   done | 
 | - | 
 | -   disps=`tvservice -l | awk '/Display Number/{print substr($3,1,1)}'` | 
 | - | 
 | -   tmp=$(mktemp) | 
 | - | 
 | -   for display in $disps | 
 | -   do | 
 | -      echo | 
 | -      echo "Display: " $display | 
 | - | 
 | -      tvservice -v $display -s | 
 | -      tvservice -v $display -n | 
 | -      tvservice -v $display -m CEA | 
 | -      tvservice -v $display -m DMT | 
 | - | 
 | -      echo | 
 | -      tvservice -v $display -d $tmp > /dev/null | 
 | -      base64 $tmp | 
 | -   done | 
 | - | 
 | -   rm $tmp | 
 | -} | 
 | - | 
 | -display_info() { | 
 | -   # Check if we are running a KMS/DRM system | 
 | - | 
 | -   if [ -d "/dev/dri" ]; | 
 | -   then | 
 | -      display_info_drm | 
 | -   else | 
 | -      display_info_legacy | 
 | -   fi | 
 | -} | 
 | - | 
 | -audio_info() { | 
 | -   aplay -l | 
 | -   echo | 
 | -   aplay -L | 
 | -   echo | 
 | -   systemctl --user status pipewire.socket pipewire.service pulseaudio.service pulseaudio.socket | 
 | -   echo | 
 | -   if command -v pactl > /dev/null; then | 
 | -      pactl info | 
 | -   else | 
 | -      echo pactl not installed | 
 | -   fi | 
 | -} | 
 | - | 
 |  OUT=raspinfo.txt | 
 |   | 
 |  rm -f $OUT | 
 | @@ -163,8 +22,6 @@ echo | 
 |  cat /etc/os-release | head -4 | 
 |  echo | 
 |   | 
 | -cat /etc/rpi-issue | 
 | -echo | 
 |  uname -a | 
 |   | 
 |  cat /proc/cpuinfo | tail -3 | 
 | @@ -190,17 +47,6 @@ echo | 
 |  cat /proc/swaps | 
 |   | 
 |  echo | 
 | -echo "Package version information" | 
 | -echo "---------------------------" | 
 | - | 
 | -apt-cache policy raspberrypi-ui-mods | head -2 | 
 | -apt-cache policy raspberrypi-sys-mods | head -2 | 
 | -apt-cache policy openbox | head -2 | 
 | -apt-cache policy lxpanel | head -2 | 
 | -apt-cache policy pcmanfm | head -2 | 
 | -apt-cache policy rpd-plym-splash | head -2 | 
 | - | 
 | -echo | 
 |  echo "Networking Information" | 
 |  echo "----------------------" | 
 |  echo | 
 | @@ -212,21 +58,11 @@ echo "USB Information" | 
 |  echo "---------------" | 
 |  echo | 
 |   | 
 | -lsusb -t | 
 | - | 
 | -echo | 
 | -echo "Display Information" | 
 | -echo "-------------------" | 
 | -echo | 
 | - | 
 | -display_info | 
 | - | 
 | -echo | 
 | -echo "Audio Information" | 
 | -echo "-------------------" | 
 | -echo | 
 | - | 
 | -audio_info | 
 | +if command -v lsusb > /dev/null; then | 
 | +   lsusb -t | 
 | +else | 
 | +   echo usbutils not installed | 
 | +fi | 
 |   | 
 |  echo | 
 |  echo "config.txt" | 
 | @@ -250,7 +86,7 @@ echo "-----------------" | 
 |  echo | 
 |   | 
 |  if command -v pinctrl > /dev/null; then | 
 | -   sudo pinctrl 2>&1 | 
 | +   pinctrl 2>&1 | 
 |  elif command -v raspi-gpio > /dev/null; then | 
 |     raspi-gpio get 2>&1 | 
 |  else | 
 | @@ -263,9 +99,9 @@ echo "------------------" | 
 |  echo | 
 |   | 
 |  if command -v vcdbg > /dev/null; then | 
 | -   sudo vcdbg log msg 2>&1 | 
 | +   vcdbg log msg 2>&1 | 
 |  elif command -v vclog > /dev/null; then | 
 | -   sudo vclog --msg 2>&1 | 
 | +   vclog --msg 2>&1 | 
 |  else | 
 |     echo "vcdbg not found" | 
 |  fi | 
 | @@ -284,5 +120,9 @@ echo | 
 |  echo "EEPROM" | 
 |  echo "------" | 
 |  echo | 
 | -sudo rpi-eeprom-update | 
 | +if command -v rpi-eeprom-update > /dev/null; then | 
 | +   rpi-eeprom-update | 
 | +else | 
 | +   echo bcm27xx-eeprom not installed | 
 | +fi | 
 |  fi |