mirror of
https://github.com/smxi/inxi.git
synced 2024-11-17 00:31:19 +00:00
(change version)
fixed a bug that made two networking chips of same company when identical create one single doubled driver output. Also added in pcibus id output for -x option with networking and audio cards.
This commit is contained in:
parent
c1dff27d83
commit
a5b42c8fc0
120
inxi
120
inxi
|
@ -1,8 +1,8 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
########################################################################
|
########################################################################
|
||||||
#### Script Name: inxi
|
#### Script Name: inxi
|
||||||
#### version: 1.3.9
|
#### version: 1.3.10
|
||||||
#### Date: February 1 2010
|
#### Date: February 5 2010
|
||||||
########################################################################
|
########################################################################
|
||||||
#### SPECIAL THANKS
|
#### SPECIAL THANKS
|
||||||
########################################################################
|
########################################################################
|
||||||
|
@ -1250,6 +1250,7 @@ show_options()
|
||||||
print_screen_output " 4 - Also show partition size/filled data for (if present):/, /home, /var/, /boot"
|
print_screen_output " 4 - Also show partition size/filled data for (if present):/, /home, /var/, /boot"
|
||||||
print_screen_output " 5 - For multicore systems, also shows: per core clock speeds; audio card; full disk data."
|
print_screen_output " 5 - For multicore systems, also shows: per core clock speeds; audio card; full disk data."
|
||||||
print_screen_output "-x Show extra data: bogomips on Cpu; driver version (if available) for Network/Audio;"
|
print_screen_output "-x Show extra data: bogomips on Cpu; driver version (if available) for Network/Audio;"
|
||||||
|
print_screen_output " for network, audio cards, shows PCI Bus ID number also;"
|
||||||
print_screen_output " direct rendering status for Graphics (in X). Only works with verbose or line output;"
|
print_screen_output " direct rendering status for Graphics (in X). Only works with verbose or line output;"
|
||||||
print_screen_output " shows (for single gpu, nvidia driver) screen number gpu is running on."
|
print_screen_output " shows (for single gpu, nvidia driver) screen number gpu is running on."
|
||||||
print_screen_output " Shows hdd temp with disk data if you have hddtemp installed, if you are root OR if you have"
|
print_screen_output " Shows hdd temp with disk data if you have hddtemp installed, if you are root OR if you have"
|
||||||
|
@ -1700,7 +1701,7 @@ get_audio_data()
|
||||||
gsub(/,/, " ", audioCard)
|
gsub(/,/, " ", audioCard)
|
||||||
gsub(/^ +| +$/, "", audioCard)
|
gsub(/^ +| +$/, "", audioCard)
|
||||||
gsub(/ [ \t]+/, " ", audioCard)
|
gsub(/ [ \t]+/, " ", audioCard)
|
||||||
|
aPciBusId[audioCard] = gensub(/(^[0-9a-f:\.]+) [^:]+: .+$/,"\\1","g",$0)
|
||||||
cards[audioCard]++
|
cards[audioCard]++
|
||||||
|
|
||||||
# loop until you get to the end of the data block
|
# loop until you get to the end of the data block
|
||||||
|
@ -1724,17 +1725,13 @@ get_audio_data()
|
||||||
useDrivers=""
|
useDrivers=""
|
||||||
useModules=""
|
useModules=""
|
||||||
usePorts=""
|
usePorts=""
|
||||||
|
usePciBusId=""
|
||||||
|
|
||||||
if (cards[i]>1) {
|
if (cards[i]>1) {
|
||||||
a[j]=cards[i]"x "i
|
a[j]=cards[i]"x "i
|
||||||
if (drivers[i] != "") {
|
if (drivers[i] != "") {
|
||||||
useDrivers=drivers[i]
|
useDrivers=drivers[i]
|
||||||
}
|
}
|
||||||
if (ports[i] != "") {
|
|
||||||
usePorts = ports[i]
|
|
||||||
}
|
|
||||||
if (modules[i] != "" ) {
|
|
||||||
useModules = modules[i]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
a[j]=i
|
a[j]=i
|
||||||
|
@ -1746,15 +1743,18 @@ get_audio_data()
|
||||||
else if ( alsaDriver != "" ) {
|
else if ( alsaDriver != "" ) {
|
||||||
useDrivers=alsaDriver
|
useDrivers=alsaDriver
|
||||||
}
|
}
|
||||||
if (ports[i] != "") {
|
}
|
||||||
usePorts=ports[i]
|
if (ports[i] != "") {
|
||||||
}
|
usePorts = ports[i]
|
||||||
if (modules[i] != "" ) {
|
}
|
||||||
useModules = modules[i]
|
if (modules[i] != "" ) {
|
||||||
}
|
useModules = modules[i]
|
||||||
|
}
|
||||||
|
if ( aPciBusId[i] != "" ) {
|
||||||
|
usePciBusId = aPciBusId[i]
|
||||||
}
|
}
|
||||||
# create array primary item for master array
|
# create array primary item for master array
|
||||||
print a[j] "," useDrivers "," usePorts "," useModules
|
print a[j] "," useDrivers "," usePorts "," useModules "," usePciBusId
|
||||||
j++
|
j++
|
||||||
}
|
}
|
||||||
}') )
|
}') )
|
||||||
|
@ -2796,13 +2796,15 @@ get_module_version_number()
|
||||||
get_networking_data()
|
get_networking_data()
|
||||||
{
|
{
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
|
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
A_NETWORK_DATA=( $( echo "$Lspci_Data" | gawk '
|
A_NETWORK_DATA=( $( echo "$Lspci_Data" | gawk '
|
||||||
BEGIN {
|
BEGIN {
|
||||||
IGNORECASE=1
|
IGNORECASE=1
|
||||||
|
counter=0 # required to handle cases of > 1 instance of the same chipset
|
||||||
}
|
}
|
||||||
/^[0-9a-f:.]+ (ethernet|network) (controller|bridge)/ || /^[0-9a-f:.]+ [^:]+: .*(ethernet|network).*$/ {
|
/^[0-9a-f:.]+ (ethernet|network) (controller|bridge)/ || /^[0-9a-f:.]+ [^:]+: .*(ethernet|network).*$/ {
|
||||||
nic=gensub(/^[0-9a-f:.]+ [^:]+: (.+)$/,"\\1","g",$0)
|
nic=gensub(/^[0-9a-f:\.]+ [^:]+: (.+)$/,"\\1","g",$0)
|
||||||
gsub(/realtek semiconductor/, "Realtek", nic)
|
gsub(/realtek semiconductor/, "Realtek", nic)
|
||||||
gsub(/davicom semiconductor/, "Davicom", nic)
|
gsub(/davicom semiconductor/, "Davicom", nic)
|
||||||
# The doublequotes are necessary because of the pipes in the variable.
|
# The doublequotes are necessary because of the pipes in the variable.
|
||||||
|
@ -2810,16 +2812,20 @@ get_networking_data()
|
||||||
gsub(/,/, " ", nic)
|
gsub(/,/, " ", nic)
|
||||||
gsub(/^ +| +$/, "", nic)
|
gsub(/^ +| +$/, "", nic)
|
||||||
gsub(/ [ \t]+/, " ", nic)
|
gsub(/ [ \t]+/, " ", nic)
|
||||||
|
# construct a unique string ending for each chipset detected, this allows for
|
||||||
|
# multiple instances of the same exact chipsets, ie, dual gigabit
|
||||||
|
nic = nic "~~" counter++
|
||||||
|
aPciBusId[nic] = gensub(/(^[0-9a-f:\.]+) [^:]+: .+$/,"\\1","g",$0)
|
||||||
|
# I do not understand why incrementing a string index makes sense?
|
||||||
eth[nic]++
|
eth[nic]++
|
||||||
while (getline && !/^$/) {
|
while ( getline && !/^$/ ) {
|
||||||
if (/I\/O/) {
|
if ( /I\/O/ ) {
|
||||||
ports[nic] = ports[nic] $4 " "
|
ports[nic] = ports[nic] $4 " "
|
||||||
}
|
}
|
||||||
if (/driver in use/) {
|
if ( /driver in use/ ) {
|
||||||
drivers[nic] = drivers[nic] gensub(/(.*): (.*)/,"\\2","g",$0) ""
|
drivers[nic] = drivers[nic] gensub(/(.*): (.*)/,"\\2","g",$0) ""
|
||||||
}
|
}
|
||||||
else if (/kernel modules/) {
|
else if ( /kernel modules/ ) {
|
||||||
modules[nic] = modules[nic] gensub(/(.*): (.*)/,"\\2","g",$0) ""
|
modules[nic] = modules[nic] gensub(/(.*): (.*)/,"\\2","g",$0) ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2831,33 +2837,30 @@ get_networking_data()
|
||||||
useDrivers=""
|
useDrivers=""
|
||||||
usePorts=""
|
usePorts=""
|
||||||
useModules=""
|
useModules=""
|
||||||
if (eth[i]>1) {
|
usePciBusId=""
|
||||||
a[j]=eth[i]"x "i
|
if ( eth[i] > 1 ) {
|
||||||
## note: this loses the plural ports case, is it needed anyway?
|
a[j] = eth[i] "x " i
|
||||||
if (ports[i] != "") {
|
|
||||||
usePorts=ports[i]
|
|
||||||
}
|
|
||||||
if (drivers[i] != "") {
|
|
||||||
useDrivers=drivers[i]
|
|
||||||
}
|
|
||||||
if (modules[i] != "" ) {
|
|
||||||
useModules = modules[i]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
a[j]=i
|
a[j] = i
|
||||||
if (ports[i] != "") {
|
}
|
||||||
usePorts=ports[i]
|
## note: this loses the plural ports case, is it needed anyway?
|
||||||
}
|
if ( ports[i] != "" ) {
|
||||||
if (drivers[i] != "") {
|
usePorts = ports[i]
|
||||||
useDrivers=drivers[i]
|
}
|
||||||
}
|
if ( drivers[i] != "" ) {
|
||||||
if (modules[i] != "" ) {
|
useDrivers = drivers[i]
|
||||||
useModules = modules[i]
|
}
|
||||||
}
|
if ( modules[i] != "" ) {
|
||||||
|
useModules = modules[i]
|
||||||
|
}
|
||||||
|
if ( aPciBusId[i] != "" ) {
|
||||||
|
usePciBusId = aPciBusId[i]
|
||||||
}
|
}
|
||||||
# create array primary item for master array
|
# create array primary item for master array
|
||||||
print a[j] "," useDrivers "," usePorts "," useModules
|
# and strip out the counter again, this handled dual cards with same chipset
|
||||||
|
sub( /~~[0-9]+$/, "", a[j] )
|
||||||
|
print a[j] "," useDrivers "," usePorts "," useModules, "," usePciBusId
|
||||||
j++
|
j++
|
||||||
}
|
}
|
||||||
}') )
|
}') )
|
||||||
|
@ -4004,7 +4007,7 @@ print_short_data()
|
||||||
print_audio_data()
|
print_audio_data()
|
||||||
{
|
{
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
local i='' card_one='Card-1' audio_data='' a_audio_data='' port_data=''
|
local i='' card_one='Card-1' audio_data='' a_audio_data='' port_data='' pci_bus_id=''
|
||||||
local a_audio_working='' alsa_driver='' alsa_data='' port_plural='' module_version=''
|
local a_audio_working='' alsa_driver='' alsa_data='' port_plural='' module_version=''
|
||||||
# set A_AUDIO_DATA and get alsa data
|
# set A_AUDIO_DATA and get alsa data
|
||||||
get_audio_data
|
get_audio_data
|
||||||
|
@ -4035,7 +4038,10 @@ print_audio_data()
|
||||||
fi
|
fi
|
||||||
port_data=" ${C1}at port$port_plural${C2} ${a_audio_working[2]}"
|
port_data=" ${C1}at port$port_plural${C2} ${a_audio_working[2]}"
|
||||||
fi
|
fi
|
||||||
audio_data="${C1}$card_one${C2} ${a_audio_working[0]}$alsa_driver$port_data"
|
if [[ -n ${a_audio_working[4]} && $B_EXTRA_DATA == 'true' ]];then
|
||||||
|
pci_bus_id="${C1}BusID:${C2} ${a_audio_working[4]}"
|
||||||
|
fi
|
||||||
|
audio_data="${C1}$card_one${C2} ${a_audio_working[0]}$alsa_driver$port_data$pci_bus_id"
|
||||||
audio_data=$( create_print_line "Audio:" "$audio_data" )
|
audio_data=$( create_print_line "Audio:" "$audio_data" )
|
||||||
print_screen_output "$audio_data"
|
print_screen_output "$audio_data"
|
||||||
i=0 ## loop starts with 1 by auto-increment so it only shows cards > 1
|
i=0 ## loop starts with 1 by auto-increment so it only shows cards > 1
|
||||||
|
@ -4048,6 +4054,7 @@ print_audio_data()
|
||||||
alsa_driver=''
|
alsa_driver=''
|
||||||
port_plural=''
|
port_plural=''
|
||||||
module_version=''
|
module_version=''
|
||||||
|
pci_bus_id=''
|
||||||
if [[ -n ${a_audio_working[3]} && $B_EXTRA_DATA == 'true' ]];then
|
if [[ -n ${a_audio_working[3]} && $B_EXTRA_DATA == 'true' ]];then
|
||||||
module_version=$( print_module_version "${a_audio_working[3]}" )
|
module_version=$( print_module_version "${a_audio_working[3]}" )
|
||||||
fi
|
fi
|
||||||
|
@ -4061,8 +4068,11 @@ print_audio_data()
|
||||||
fi
|
fi
|
||||||
port_data=" ${C1}at port$port_plural${C2} ${a_audio_working[2]}"
|
port_data=" ${C1}at port$port_plural${C2} ${a_audio_working[2]}"
|
||||||
fi
|
fi
|
||||||
|
if [[ -n ${a_audio_working[4]} && $B_EXTRA_DATA == 'true' ]];then
|
||||||
|
pci_bus_id="${C1}BusID:${C2} ${a_audio_working[4]}"
|
||||||
|
fi
|
||||||
if [[ -n ${a_audio_working[0]} ]];then
|
if [[ -n ${a_audio_working[0]} ]];then
|
||||||
audio_data="${C1}Card-$(( $i + 1 ))${C2} ${a_audio_working[0]}$alsa_driver$port_data"
|
audio_data="${C1}Card-$(( $i + 1 ))${C2} ${a_audio_working[0]}$alsa_driver$port_data$pci_bus_id"
|
||||||
fi
|
fi
|
||||||
if [[ -n $audio_data ]];then
|
if [[ -n $audio_data ]];then
|
||||||
audio_data=$( create_print_line " " "$audio_data" )
|
audio_data=$( create_print_line " " "$audio_data" )
|
||||||
|
@ -4441,7 +4451,7 @@ print_networking_data()
|
||||||
{
|
{
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
local i='' card_one='Card-1' network_data='' a_network_working='' port_data='' driver_data=''
|
local i='' card_one='Card-1' network_data='' a_network_working='' port_data='' driver_data=''
|
||||||
local card_string='' port_plural='' module_version=''
|
local card_string='' port_plural='' module_version='' pci_bus_id=''
|
||||||
# set A_NETWORK_DATA
|
# set A_NETWORK_DATA
|
||||||
get_networking_data
|
get_networking_data
|
||||||
|
|
||||||
|
@ -4467,8 +4477,12 @@ print_networking_data()
|
||||||
fi
|
fi
|
||||||
port_data=" ${C1}at port$port_plural${C2} ${a_network_working[2]}"
|
port_data=" ${C1}at port$port_plural${C2} ${a_network_working[2]}"
|
||||||
fi
|
fi
|
||||||
|
if [[ -n ${a_network_working[4]} && $B_EXTRA_DATA == 'true' ]];then
|
||||||
|
pci_bus_id="${C1}BusID:${C2} ${a_network_working[4]}"
|
||||||
|
fi
|
||||||
|
|
||||||
card_string=''
|
card_string=''
|
||||||
network_data="${C1}$card_one${C2} ${a_network_working[0]}$driver_data$port_data"
|
network_data="${C1}$card_one${C2} ${a_network_working[0]}$driver_data$port_data$pci_bus_id"
|
||||||
network_data=$( create_print_line "Network:" "$network_data" )
|
network_data=$( create_print_line "Network:" "$network_data" )
|
||||||
print_screen_output "$network_data"
|
print_screen_output "$network_data"
|
||||||
i=0 ## loop starts with 1 by auto-increment so it only shows cards > 1
|
i=0 ## loop starts with 1 by auto-increment so it only shows cards > 1
|
||||||
|
@ -4481,6 +4495,7 @@ print_networking_data()
|
||||||
driver_data=''
|
driver_data=''
|
||||||
port_plural=''
|
port_plural=''
|
||||||
module_version=''
|
module_version=''
|
||||||
|
pci_bus_id=''
|
||||||
if [[ -n ${a_network_working[1]} && $B_EXTRA_DATA == 'true' ]];then
|
if [[ -n ${a_network_working[1]} && $B_EXTRA_DATA == 'true' ]];then
|
||||||
module_version=$( print_module_version "${a_network_working[1]}" )
|
module_version=$( print_module_version "${a_network_working[1]}" )
|
||||||
fi
|
fi
|
||||||
|
@ -4493,7 +4508,10 @@ print_networking_data()
|
||||||
fi
|
fi
|
||||||
port_data=" ${C1}at port$port_plural${C2} ${a_network_working[2]}"
|
port_data=" ${C1}at port$port_plural${C2} ${a_network_working[2]}"
|
||||||
fi
|
fi
|
||||||
network_data="${C1}Card-$(( $i + 1 ))${C2} ${a_network_working[0]}$driver_data$port_data"
|
if [[ -n ${a_network_working[4]} && $B_EXTRA_DATA == 'true' ]];then
|
||||||
|
pci_bus_id="${C1}BusID:${C2} ${a_network_working[4]}"
|
||||||
|
fi
|
||||||
|
network_data="${C1}Card-$(( $i + 1 ))${C2} ${a_network_working[0]}$driver_data$port_data$pci_bus_id"
|
||||||
network_data=$( create_print_line " " "$network_data" )
|
network_data=$( create_print_line " " "$network_data" )
|
||||||
print_screen_output "$network_data"
|
print_screen_output "$network_data"
|
||||||
done
|
done
|
||||||
|
|
Loading…
Reference in a new issue