Magellan Linux

Diff of /trunk/hwinfo/emulate-hwsetup.sh

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1198 by niro, Mon Nov 22 22:06:20 2010 UTC revision 1225 by niro, Thu Dec 9 11:40:07 2010 UTC
# Line 5  export LC_ALL=C Line 5  export LC_ALL=C
5  HWSETUP_DIR=/etc/sysconfig/hwsetup  HWSETUP_DIR=/etc/sysconfig/hwsetup
6  HWINFO="/usr/sbin/hwinfo"  HWINFO="/usr/sbin/hwinfo"
7    
8    UNSUPPORTED_GFXCARD_DRIVERS=""
9    UNSUPPORTED_NETCARD_DRIVERS=""
10    if [ -f ${HWSETUP_DIR}/unsupported-gfxcard-drivers ]
11    then
12     UNSUPPORTED_GFXCARD_DRIVERS="$(< ${HWSETUP_DIR}/unsupported-gfxcard-drivers)"
13    fi
14    if [ -f ${HWSETUP_DIR}/unsupported-netcard-drivers ]
15    then
16     UNSUPPORTED_NETCARD_DRIVERS="$(< ${HWSETUP_DIR}/unsupported-netcard-drivers)"
17    fi
18    
19  clearconfig()  clearconfig()
20  {  {
21   local file="$1"   local file="$1"
# Line 19  addconfig() Line 30  addconfig()
30   echo "${data}" >> ${HWSETUP_DIR}/${file}   echo "${data}" >> ${HWSETUP_DIR}/${file}
31  }  }
32    
33    # check_unsupported_netcard_drivers UNSUPPORTED_ARRAY DRIVER
34    check_unsupported_drivers()
35    {
36     local unsupported="$1"
37     local driver="$2"
38     local i
39    
40     # filter unsupported devices
41     for i in ${unsupported}
42     do
43     [[ ${i} = ${driver} ]] && return 1
44     done
45     return 0
46    }
47    
48    # disable probeonly, load all modules by default
49    probeonly=0
50    
51    # check getops
52    for i in $*
53    do
54     case $1 in
55     # ignoring -p,-v,-a,-s
56     -p|-v|-a|-s) shift;;
57     # only support dry-run
58     -n) shift; probeonly=1 ;;
59     esac
60     shift
61    done
62    
63    echo -n "Autoconfiguring devices...  " 1>&2
64    
65  GFXCARD_INFO="$(${HWINFO} --gfxcard)"  GFXCARD_INFO="$(${HWINFO} --gfxcard)"
66  NETCARD_INFO="$(${HWINFO} --netcard)"  NETCARD_INFO="$(${HWINFO} --netcard)"
67  MOUSE_INFO="$(${HWINFO} --mouse)"  MOUSE_INFO="$(${HWINFO} --mouse)"
# Line 34  GFXCARD_XSERVER="Xorg" Line 77  GFXCARD_XSERVER="Xorg"
77  # network  # network
78  eval $(echo NETCARD_MODULE=\($(echo "${NETCARD_INFO}" | grep 'Driver Modules:' | sed 's:.*\:\ \"\(.*\)\"$:\"\1\":')\))  eval $(echo NETCARD_MODULE=\($(echo "${NETCARD_INFO}" | grep 'Driver Modules:' | sed 's:.*\:\ \"\(.*\)\"$:\"\1\":')\))
79  eval $(echo NETCARD_DESC=\($(echo "${NETCARD_INFO}" | grep 'Model:' | sed 's:.*\:\ \"\(.*\)\"$:\"\1\":')\))  eval $(echo NETCARD_DESC=\($(echo "${NETCARD_INFO}" | grep 'Model:' | sed 's:.*\:\ \"\(.*\)\"$:\"\1\":')\))
80    # fallback (only needed for systems without netlink)
81    eval $(echo NETCARD_MODULE_FB=\($(echo "${NETCARD_INFO}" | grep 'Driver Activation Cmd:' | sed 's:.*\:\ \"modprobe\ \(.*\)\"$:\"\1\":')\))
82  #  #
83  # mouse  # mouse
84  eval $(echo MOUSE_MODULE=\($(echo "${MOUSE_INFO}" | grep 'Driver Modules:' | sed 's:.*\:\ \"\(.*\)\"$:\"\1\":')\))  eval $(echo MOUSE_MODULE=\($(echo "${MOUSE_INFO}" | grep 'Driver Modules:' | sed 's:.*\:\ \"\(.*\)\"$:\"\1\":')\))
# Line 62  do Line 107  do
107   GFXCARD_MODULE[${i}]="vesa"   GFXCARD_MODULE[${i}]="vesa"
108   fi   fi
109    
110     # exclude unsupported drivers
111     check_unsupported_drivers "${UNSUPPORTED_GFXCARD_DRIVERS}" "${NETCARD_MODULE[${i}]}" || continue
112    
113   addconfig xserver "XSERVER=\"${GFXCARD_XSERVER}\""   addconfig xserver "XSERVER=\"${GFXCARD_XSERVER}\""
114   addconfig xserver "XMODULE=\"${GFXCARD_MODULE[${i}]}\""   addconfig xserver "XMODULE=\"${GFXCARD_MODULE[${i}]}\""
115   addconfig xserver "XDESC=\"${GFXCARD_DESC[${i}]}\""   addconfig xserver "XDESC=\"${GFXCARD_DESC[${i}]}\""
# Line 74  done Line 122  done
122    
123  for ((i=0; i<NETCARD_COUNT; i++))  for ((i=0; i<NETCARD_COUNT; i++))
124  do  do
125     # use fallback
126     if [[ -z ${NETCARD_MODULE[${i}]} ]]
127     then
128     NETCARD_MODULE[${i}]="${NETCARD_MODULE_FB[${i}]}"
129     fi
130    
131     # exclude unsupported drivers
132     check_unsupported_drivers "${UNSUPPORTED_NETCARD_DRIVERS}" "${NETCARD_MODULE[${i}]}" || continue
133    
134   addconfig netcard "FULLNAME=\"${NETCARD_DESC[${i}]}\""   addconfig netcard "FULLNAME=\"${NETCARD_DESC[${i}]}\""
135   addconfig netcard "DRIVER=\"${NETCARD_MODULE[${i}]}\""   addconfig netcard "DRIVER=\"${NETCARD_MODULE[${i}]}\""
136    
137   # add them to knoppix too   # add them to knoppix too
138   addconfig knoppix "NETCARD_FULLNAME=\"${NETCARD_DESC[${i}]}\""   addconfig knoppix "NETCARD_FULLNAME=\"${NETCARD_DESC[${i}]}\""
139   addconfig knoppix "NETCARD_DRIVER=\"${NETCARD_MODULE[${i}]}\""   addconfig knoppix "NETCARD_DRIVER=\"${NETCARD_MODULE[${i}]}\""
140    
141     # load the netcard modules
142     if [[ ${probeonly} = 0 ]]
143     then
144     modprobe -q "${NETCARD_MODULE[${i}]}"
145     fi
146  done  done
147    
148  for ((i=0; i<MOUSE_COUNT; i++))  for ((i=0; i<MOUSE_COUNT; i++))
# Line 108  do Line 171  do
171   addconfig knoppix "MOUSE_DEVICE=\"${MOUSE_DEVICE[${i}]}\""   addconfig knoppix "MOUSE_DEVICE=\"${MOUSE_DEVICE[${i}]}\""
172   addconfig knoppix "MOUSE_DRIVER=\"${MOUSE_MODULE[${i}]}\""   addconfig knoppix "MOUSE_DRIVER=\"${MOUSE_MODULE[${i}]}\""
173  done  done
174    
175    echo "Done." 1>&2

Legend:
Removed from v.1198  
changed lines
  Added in v.1225