OLD | NEW |
(Empty) | |
| 1 #!/bin/sh |
| 2 |
| 3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. |
| 6 |
| 7 # This script prints the hardware class (e.g., the hardware |
| 8 # qualification ID) of this device, or "unknown" if it can't determine |
| 9 # the hardware class. |
| 10 |
| 11 # TODO(petkov): The hardware qualification ID is not available on |
| 12 # systems yet, so the script uses alternative ways to identify |
| 13 # different system classes (e.g., the WiFi adapter PCI vendor and |
| 14 # device IDs). Switch the script to use real hardware qualification ID |
| 15 # when that becomes available. |
| 16 |
| 17 # Appends a new component ID to the hardware class. Separates IDs with |
| 18 # dashes. |
| 19 append_class() { |
| 20 [ -n "$HARDWARE_CLASS" ] && HARDWARE_CLASS="${HARDWARE_CLASS}-" |
| 21 HARDWARE_CLASS="${HARDWARE_CLASS}$1" |
| 22 } |
| 23 |
| 24 # Adds the CPU family, model and stepping info, if available, to the |
| 25 # class. |
| 26 cpu() { |
| 27 [ -r /proc/cpuinfo ] || return |
| 28 FAMILY=`grep -m1 '^cpu family' /proc/cpuinfo \ |
| 29 | sed 's/cpu family\s\+:\s\+\([0-9]\+\)$/\1/'` |
| 30 MODEL=`grep -m1 '^model' /proc/cpuinfo \ |
| 31 | sed 's/model\s\+:\s\+\([0-9]\+\)$/\1/'` |
| 32 STEPPING=`grep -m1 '^stepping' /proc/cpuinfo \ |
| 33 | sed 's/stepping\s\+:\s\+\([0-9]\+\)$/\1/'` |
| 34 if [ -n "$FAMILY" ] && [ -n "$MODEL" ] && [ -n "$STEPPING" ]; then |
| 35 append_class "cpu/$FAMILY:$MODEL:$STEPPING" |
| 36 fi |
| 37 } |
| 38 |
| 39 # Adds the wlan0 PCI vendor and device ID, if available, to the class. |
| 40 wlan() { |
| 41 WLAN_DEV=/sys/class/net/wlan0/device |
| 42 if [ -r $WLAN_DEV/vendor ] && [ -r $WLAN_DEV/device ]; then |
| 43 WLAN_ID=`paste -d ':' $WLAN_DEV/vendor $WLAN_DEV/device | sed s/0x//g` |
| 44 append_class "wlan0/$WLAN_ID" |
| 45 fi |
| 46 } |
| 47 |
| 48 |
| 49 HARDWARE_CLASS= |
| 50 |
| 51 cpu |
| 52 wlan |
| 53 |
| 54 [ -z "$HARDWARE_CLASS" ] && HARDWARE_CLASS=unknown |
| 55 |
| 56 echo $HARDWARE_CLASS |
OLD | NEW |