Added a script to capture device information for PnP support

This commit is contained in:
Gaston Gonzalez
2024-09-30 10:42:12 -07:00
parent fa6d633fee
commit 3898b34d35
2 changed files with 56 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.DS_Store

View File

@@ -0,0 +1,55 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 30 September 2024
# Purpose : Capture device information to aid in plug-and-play development.
echo
read -p "1. Enter a short name for the radio with no spaces (i.e. ic-7100): " input
RADIO=$(echo $input | sed 's/[ ]*//g')
DATE_NOW=$(date +%Y%m%d-%H%M%S)
OUT_DIR_BASE="${RADIO}-${DATE_NOW}"
[ ! -e $OUT_DIR_BASE ] && mkdir $OUT_DIR_BASE
echo
read -p "2. Unplug the USB radio/interface from your computer. Press [enter] when done."
# Capture devices by ID with radio unplugged
find /dev | grep by-id > "${OUT_DIR_BASE}/dev-by-id.before"
echo
read -p "3. Connect the USB radio/interface to your computer. Press [enter] when done." input
# Capture devices by ID with radio plugged in
find /dev | grep by-id > "${OUT_DIR_BASE}/dev-by-id.after"
diff "${OUT_DIR_BASE}/dev-by-id.before" "${OUT_DIR_BASE}/dev-by-id.after" > "${OUT_DIR_BASE}/dev-by-id.diff"
echo -e "\n4. Found the following new devices:\n"
cat "${OUT_DIR_BASE}/dev-by-id.diff" | grep ">" | sed 's/> //g' | sort | while read device
do
# skip directories
if [ ! -d $device ]; then
# Grab the short device name"
SHORT_DEV_NAME=$(udevadm info $device | grep DEVNAME | cut -d"=" -f2)
SHORT_DEV_FILE=$(echo $SHORT_DEV_NAME | sed 's|/|-|g')
echo -e "${SHORT_DEV_NAME} = $device\n"
OUT_FILE="${OUT_DIR_BASE}/udevadm-info${SHORT_DEV_FILE}"
udevadm info $SHORT_DEV_NAME > ${OUT_FILE}
udevadm info --attribute-walk --name $SHORT_DEV_NAME >> ${OUT_FILE}
sleep 1
fi
done
echo -e "\n4. Created a directory called '${OUT_DIR_BASE}' to capture the device info for ${RADIO}"
find ${OUT_DIR_BASE}
TARBALL="$OUT_DIR_BASE.tar.gz"
echo -e "\n5. Packaging up device information"
tar -czf ${TARBALL} ${OUT_DIR_BASE}
echo "There should be a file called '${TARBALL}' in this directory. Please send it to Gaston."
echo "Thank you for the support!"