Commit graph

1863 commits

Author SHA1 Message Date
inxi-svn 46e71bb187 added an error handler case to cpu speed output, just in case 2014-09-17 04:00:30 +00:00
inxi-svn 45b7042c16 small output edit 2014-09-17 03:55:25 +00:00
inxi-svn f368a7c64c bug fix, needed a space for irc output or it broke, also shortened short form output 2014-09-17 03:53:09 +00:00
inxi-svn d1c7042ab7 New version, new tarball. This fixes a long standing weakness with min/max cpu speed
handling. Or rather, non handling, since that data only showed in rare cases on short form
(inxi no args) output. Now it uses /sys query to determine min/max speed of cpu, and uses
that data to override any other min/max data discovered.

Still uses /proc/cpuinfo for actual speeds per core. The assumption in this is that all
cares will have the same min/max speeds, which is generally going to be a safe assumption.

Now in short form, inxi, output, it will show actual speed then (max speed) or just (max)
if actual speed matches max speed. Same for -b short CPU output.

For long, -C output, shows max speed before the actual cpu core speeds per core. 

With -xx, and in multi cpu/core systems only, shows if available min/max speeds.

Note that not all /sys have this data, so it doesn't show any N/A if it's missing.
2014-09-17 03:41:21 +00:00
inxi-svn d886822e6c some fixes to bsd cpu output 2014-09-12 02:16:53 +00:00
inxi-svn fc7410f91e New version, new tarball. Mostly bsd changes, except for downloader options, which now
permit wget/curl/(openbsd ftp)/(bsd fetch) interchangeably.

This lets more standard downloader defaults in bsds, as well as curl on gnu/linux systems
without triggering an error of missing wget.

1. Fixed cpu core issues on bsds, now shows core count + if > 1, cpus total.

2. Now shows OS instead of Distro on short/long output, since each bsd is an OS.

3. fixed vmstat issues for used memory outputs

Also fixed potential failures with cpu core count array by making it a ',' separated array.
2014-09-12 01:21:55 +00:00
inxi-svn 91ffaca5e7 New version, new tarball. Contains a major bug fix for a regression introduced in 2.2.2
-m/-M would always show requires root for dmidecode no matter what. Also improved dmidecode
error messages/handling.

Also, a fix for no display card data, now shows as expected no card data

Most other fixes are for bsd, mostly openbsd.

1. Added a class for network devices in freebsd pciconf

2. Added -r support for openbsd

3. Fixed some cpu issues for openbsd

4. Fixed an issue in openbsd/freebsd where client version data failed to get cleaned

5. Changed inxi short form output for bsds to show OS data instead of kernel data.

6. BSDs, maybe all, different syntax in xorg.0.log made unloaded gfx drivers not show, 
   that is fixed now.
      
-p fixed file system type in -p/-P for openbsd, now shows.
      
-I / inxi short - fixed used memory, did not show in openbsd, now does.
      
-f fixed cpu flags in openbsd, now works
      
-C corrected corrupted cpu data outputs, in openbsd at least, maybe also freebsd
      
-C added an openbsd hack to sometimes show cpu L2 cache
      
-m/-M fixed/improved dmidecode error handling for all systems
      
Modified handling of dmesg.boot data, synched so gawk can parse better.
2014-09-03 19:10:11 +00:00
inxi-svn c453bbf713 New version, new tarball. This version fixes an issue with a white space at the end of lines.
Now all lines are stripped of ending whitespaces automatically.

Also a dmidecode error handler correction, that was not working right in bsd systems.

Added some debuggers for bsd systems.
2014-09-01 23:11:41 +00:00
inxi-svn 007913cf38 New version, new tarball. Some systems are showing a new xfce syntax in the xrop -root
output, like so, instead of the old quotes "XFCE4" it shows like this:

XFCE_DESKTOP_WINDOW(WINDOW): window id # 0x1000003

Updated and added a much less strict fallback test case.
2014-08-21 02:46:20 +00:00
inxi-svn 99d4b0292e A tiny change, that should impact almost nobody, this is included as 2.2.0, I changed the order
that runit/sysvinit are tested for, a test case showed up where runit had been installed
as a dependency but was not the init system, so that was wrong output. Moved runit
after sysvinit case in tests.
2014-08-19 00:26:22 +00:00
inxi-svn b4a34c0c90 forgot to set 2.2.00 to 2.2.0 2014-08-18 22:28:21 +00:00
inxi-svn f7117db9ac New version, tarball, man page. Maintainers, this is the official release of -m feature.
I have collected enough datasamples to allow for reasonably fine grained corrections, estimates,
warnings about unreliable capacity now, and have fixed all major failures. 

Also, because this stuff is filled out by people somewhere, or not, some fields often are just
empty, or contain the default values, ie, they are worthless. inxi shows N/A for those situations,
it means there is really no actual data to show you.

This feature, sadly, well never be totally reliable, because dmi data is frankly junk, especially
dmi type 5 and 16, which is what is supposed to tell you total capacity of memory array, and the
maximum module size (type 5). However, this data is totally random, often it is right, sometimes
it is wrong. Sometimes type 5 is right and type 16 is wrong, sometimes the other way. And since
type 5 is only present in some systems, it's not reliable anyway.

What is reliable and always right is the actually installed memory per device, ie, sticks. I have
not seen any errors in that, so that seems to be actually coming from the system itself. type 5 / 16
sadly are clearly entered in manually by some poorly paid engineers out there in the world, and are
often total fictions, either far too small, or far too big, or whatever.

inxi will attempt to correct all clear logic errors, and whenever it changes the listed data from 
type 5/16, it notes either (est) or (check). (est) means it is a good guess, one I am comfortable making,
(check) means it is either an unreliable guess, or that what the system is reporting is so unlikely that
even though inxi is showing it, it doubts it could actually be true, or at least, it thinks you
should check this yourself. 

-m has 3 extra data options, -x prints the part number, if found, and the max module size, if type 5
is present. inxi does NOT attempt to guess at max module size based on what is installed, it only will
correct a listed max module size if installed modules are > than listed max size. Usually part numbers,
if present, are all you need to order a new stick.

-xx shows serial number, manufacturer (often empty, or just random alphanumeric identifiers, but sometimes
they list the actual company name, which is helpful. It also shows, if type 5 data is present, single/double
bank.

-xxx as usual shows largely useless data that may be of interest to soemone, like if ram type is synchronous, 
memory bus width data, and module voltage (type 5 data).

This feature will never be reliable I am sad to say because the source data itself is random and much
has been filled out, or not filled out, by engineering drones somewhere out there in the underpaid
world. The ranges of errors are so wide that inxi just has to check what is possible, reasonable, unlikely,
etc, to generate its numbers. In other words, this is NOT just parsing dmidecode output, that is the raw
material only, sad to say.

So this is it, for better or worse. All bug / issue reports with this MUST come with a full:
inxi -xx@14 
hardware data upload, run as root. 

Also, much to my annoyance, this feature requires root, since /dev/mem needs root to be read, and I assume
the dmi table, so that is a departure from normal inxi standards, as is the low quality input, and thus,
output, data, though I can guarantee that what inxi tells you is in most cases on average more accurate than
what dmidecode tells you, since dmidecode simply prints out what it finds in the dmi table, and nothing else,
in whatever order it finds it, from what I can see, ie, you also cannot trust the order of dmidecode output.

I had been hoping that /sys would start to contain memory data like it does mobo/system data, but it never
happened so I finally decided to just do the ram thing, require dmidecode, require root/sudo, and that's
that.

There will be issue reports, you can help them by looking up the mobo stats/specs yourself and listing them
in the issue, so I don't have to do it. I use the tool at crucial.com which is very accurate and also very 
complete in terms of all possible hardware out there. 

I would trust that tool before trusting the companies that have the least reliable data, like ASUS.

Much thanks to everyone who is contributing datasets, and the distros, particularly siduction, that really 
were very helpful in this process, by finding more and more failure cases that helped me start to tighten
the logic, and make it more and more robust. Special thanks to Mikaela, of #smxi irc.oftc.net, who came up
with two systems that both required a full redo of the logic, and thus who helped a lot in this process.
2014-08-18 22:26:25 +00:00
inxi-svn 33966eb988 New patch version, new tarball. Another error case dataset, wrong cap, wrong max mod
size, derived mod size 2gb, listed cap 8, but 2 slots, ie, 2gb x 2 == 4. Made this
retain the listed size, but adds (check) to it because either max mod size is wrong
or cap is wrong.
2014-08-18 02:42:43 +00:00
inxi-svn a19125c8c7 New version, new tarball. Fixed bad assumption, DMI type 0 is not always before other
types, in at least one case, it is last, so can't use that as trigger to start loop.

Now using: Table at .. which is always at start of dmi output.

Also, changed size output per module to be in MB GB TB instead of all mB, since modules
are sold by GB or MB, the data should show that as well. Also shortens output.
2014-08-17 19:04:20 +00:00
inxi-svn 579ba364f7 New version, new tarball. Another logic redo to handle a fringe case (dmidecode places
type 17 in front of type 16), now each array is created as a multidimenstional, 2x array,
and each device is a 3 dimensional array. This seems to clean up the problems with bad
ordering of dmidecode data.
2014-08-16 23:24:08 +00:00
inxi-svn 04b84edb24 forgot to remove debugger on switch 2014-08-15 23:55:27 +00:00
inxi-svn 718d6f9dea Small change, forgot to add -m to the debugger inxi output. 2014-08-15 23:44:32 +00:00
inxi-svn bd12b27526 New version, new tarball, new man page. This version hopefully brings inxi closer to
at least making good guesses when the data is bad for ram, and hopefully will not break
too many cases where it was actually right but seemed wrong.

Unfortunately, dmidecode data simply cannot be relied on, and is FAR inferior to the type
of data inxi tries in general to present users, ie, taken directly from the system, and,
ideally, more accurate than most other tools. But in this case, there is just no way to get
the data truly accurate no matter how many hacks I add.

But if you have bad data, then submit: inxi -xx@ 14 so I can take a look at the system,
and see if I can modify the hacks to improve that data.
2014-08-15 00:44:47 +00:00
inxi-svn 5af0c33bac New patch version, tarball. Fixed a few small oversights, more debugging added.
Will next try to handle the remaining corner cases if possible.
2014-08-14 19:24:51 +00:00
inxi-svn 38d88507da a few tests on corner cases, but the logic is too hard to get all of them, either:
capacity 1 gB wrong, actually 2 gB, deduced from 2x1gB sticks found, OR
capacity 4 gB right, but 2 x 1 4gB stick found gives 8, which is wrong.
2014-08-14 05:26:04 +00:00
inxi-svn 8da1e3bfd8 trying bug fix for corner case capacity issue 2014-08-14 05:10:52 +00:00
inxi-svn 2709f5120b patch version, trying to fix a small glitch with gawk wanting to change integers to strings.
forcing int() on relevant items.
2014-08-14 04:30:22 +00:00
inxi-svn 5f09b1555c some bug fixes, a small glitch, added debuggers 2014-08-14 04:08:54 +00:00
inxi-svn d2b254fac1 New version, new tarball. Attempting to handle bad extra data for max module size, sometimes
it is too big, and sometimes too small. Changed data gathering to use arrays, then print/process
the arrays once they are assembled.

Now it will get rid of any max module size if it's greater than the calculated capacity, and it
will generate an estimated capacity/max module size if they are clearly wrong because actual
module sizes are greater than listed max size, or capacity is less than greatest module sizes times
number of devices.

Not perfect, but it never is, this covers more cases now correctly than before.
2014-08-14 03:45:14 +00:00
inxi-svn 403bc46f6d changed EC to None from No 2014-08-13 21:13:19 +00:00
inxi-svn 2481e9f7d2 small output tweak for array line on memory 2014-08-13 21:12:02 +00:00
inxi-svn 0b8847301d New version, new man page, new tarball. Realized that I can on some systems also add
maximum supported module size, and module voltage. Most systems do not have this data,
but some do. It's Type 5 item in dmidecode.

Getting the type 6 data however is too hard, and even using type 5 assumes that the 
system only has one physical memory array, but that's fine given how few systems
probably will have this information in the first place.
2014-08-13 21:05:21 +00:00
inxi-svn a49695250b more man cleanup 2014-08-13 19:36:44 +00:00
inxi-svn 1b0bb32f24 more man, help cleanup, synching 2014-08-13 19:35:19 +00:00
inxi-svn 44c8f88a38 more man page edits 2014-08-13 19:28:44 +00:00
inxi-svn fe76bcd91f some man page edits 2014-08-13 19:26:47 +00:00
inxi-svn 9603e12645 forgot to add -m to full option listings in man and help 2014-08-13 19:22:56 +00:00
inxi-svn 013236264b New version, new man page. Fixed man page errors, improved man page explanations of -m
features. Changed output syntax to be more consistent, now each main array line starts with:

Array-X capacity: (where X is an integer, counting from 1)

and each device line starts with:
Device-X: (where X is an integer incremented by 1 for each device, and starting at 1
for each array. I have no data sets that contain > 1 physical memory array, if one appears,
I may need to patch the output to link the array handles with the device handles explicitly.

Made memory bus width output more clear, and added in a hack to correct dmidecode output errors,
sometimes total width > data width, and sometimes data width is > total width, so using always
greatest value for total if not equal to other width.

I think this will be close to it barring any user feedback or bugs, if nothing comes to
mind within a few days, I'll move the number to the new major version, 2.2.0
2014-08-13 19:17:21 +00:00
inxi-svn 54aef688bb bug fix to inxi, forgot to remove a debugger 2014-08-13 03:44:21 +00:00
inxi-svn bdecf1f08c New version, new tarball. This is closer to final release. Removed Bank/Slot separate
items and am now just generating one: Locator item, usually from Slot/DIMM locator info,
but sometimes from Bank Locator info when it is more reliable based on my data samples.

Updated help menu, updated man page, now shows working -x -xx -xxx extra data. This may
change slightly over time.

Also removed speed output when No Module Installed is returned for device size. This
also wills switch off width if both total/data are empty.

This is much closer now to live 2.2.0, but I'll leave a few more tests before putting
it at 2.2.0.
2014-08-13 03:19:55 +00:00
inxi-svn 86e68baaa0 New version, new tarball. This is a transitional version, most -x/-xx/-xxx data is now
working, but help/man does not have that yet, until I finalize the order.

Fixed dmidecode issues, showing extra data types for -m, added line length handling
so -m is properly integrated with rest of inxi re max line lengths.
2014-08-13 01:13:10 +00:00
inxi-svn 75dbb9d473 New version, new tarball, new man page. Finally, after all these years, initial memory/ram
support. This feature requires dmidecode, and usually that needs to be run as root.

Significantly improved dmidecode error handling and output, and have as 2.1.90 testing/initial
release basic ram data. 

In subsequent releases, extra info for -x and -xx and -xxx will be added as well to the output.

For those who want to jump on board early for ram data, update your repos, for those who want to
wait for the full featured version, with -x type data, wait for 2.2.0

And that's that.
2014-08-12 05:26:35 +00:00
inxi-svn 1de90298a6 branch three, cleanup of output 2014-08-12 05:13:23 +00:00
inxi-svn 973cbadcac branch three, numbering change 2014-08-12 05:04:19 +00:00
inxi-svn e8d871385b branch three, testing ram feature 2014-08-12 05:03:05 +00:00
inxi-svn 3db4eb50a1 branch three, more dmidecode 2014-08-12 00:53:46 +00:00
inxi-svn c7d1eb2f6a branch three, dmiddecode fixes 2014-08-12 00:27:46 +00:00
inxi-svn f965cfc3ff branch three, dmidecode cleanup 2014-08-11 23:46:47 +00:00
inxi-svn 7f6caf973b No version change, this only will impact ancient systems, cleans up a data error message
and restores N/A to IF id in networking. No functional change, and won't be seen on any
non ancient systems.
2014-08-11 23:11:40 +00:00
inxi-svn 0dbe19b9d2 small bug fix for ancient networking stuff 2014-08-11 23:08:40 +00:00
inxi-svn 6ae2e5d7ce branch three, inxi test 2014-08-11 23:02:30 +00:00
inxi-svn a67aab89b1 New version, tarball. Big update/fix to -n/-i/-N. Now supports infiniband devices, which
have the odd feature in our test data of having > 1 IF id, like ib0 ib1 per pcibusid.

Added support for virtual nics as well. This required refactoring the networking functions
significantly, so hopefully nothing breaks for existing systems. It should in theory be more
robust now than it was before, with more accurate output, particularly with multiple port
devices, like two port nics etc.
2014-08-08 17:20:55 +00:00
inxi-svn ce92d41dc1 trimming off path in shell running in extra data 2014-05-22 23:46:30 +00:00
inxi-svn ef1e83fec9 freebsd only update, added file debuggers, freebsd did not work re getting clang compiler version for kernel, need to see why 2014-05-22 23:40:26 +00:00
inxi-svn 415bf24239 small update, future proofing lxqt id 2014-05-05 19:20:16 +00:00