2.Plx_unload
Plx_unload是和Plx_load配对使用的工具,用来卸载加载的驱动并删除Plx_laod工具创建的设备文件和设备节点。
Plx_unload与Plx_load一样,由于涉及到设备文件的创建,删除以及权限的更改,因此必须是root才可以执行。
下面是具体的代码和分析,同样为了方便直接在源代码上注释了。
#-----------------------------------------------------------------------------
#
# File : Plx_unload
# Abstract : Unloads a PLX module
#
#-----------------------------------------------------------------------------
clear
# Remove comment to display script commands as it runs
#set -x
# Path to the driver nodes
path=/dev/plx
#驱动设备文件的路径
# Verify command-line
if [ "$1" = "" ]; then
plx_error=1
#Plx_unload 9054 d,$1=9054,如果$1为空,则设置错误标志plx_error为1
else
plx_error=1
if [ "$1" = "9050" ]; then
plx_error=0
fi
if [ "$1" = "9030" ]; then
plx_error=0
fi
if [ "$1" = "9080" ]; then
plx_error=0
fi
if [ "$1" = "9054" ]; then
plx_error=0
fi
if [ "$1" = "9056" ]; then
plx_error=0
fi
if [ "$1" = "9656" ]; then
plx_error=0
fi
if [ "$1" = "8311" ]; then
plx_error=0
fi
if [ "$1" = "6000" ]; then
plx_error=0
fi
if [ "$1" = "8000" ]; then
plx_error=0
fi
if [ "$1" = "Dma" ]; then
plx_error=0
fi
if [ "$1" = "EoPCIe" ]; then
plx_error=0
fi
if [ "$1" = "Svc" ]; then
plx_error=0
fi
#检测第一个参数是否是支持的芯片类型,如果是则清零错误标志plx_error
fi
if [ "${plx_error}" == "1" ]; then
#检测错误标志是否为1,为了则表示芯片类型为空或者不支持的芯片类型,
#打印出Plx_unload 用法,然后退出
echo
echo "PLX Linux module unload script"
echo
echo " Usage: Plx_unload {PLX_Chip} [DebugOption]"
echo
echo " PLX_Chip = 6000 : PLX 6254/6540/6466 NT-mode PnP driver"
echo " 8000 : PLX 8000 NT-mode PnP driver"
echo " 9050 : PLX 9050/9052 PnP driver"
echo " 9030 : PLX 9030 PnP driver"
echo " 9080 : PLX 9080 PnP driver"
echo " 9054 : PLX 9054 PnP driver"
echo " 9056 : PLX 9056 PnP driver"
echo " 9656 : PLX 9656 PnP driver"
echo " 8311 : PLX 8311 PnP driver"
echo " Dma : PLX 8600 DMA Controller PnP driver"
echo " Svc : PLX PCI/PCIe Service driver"
echo
echo " DebugOption =