Hardware Configuration Automation: I Need Your Help.

Talk about successully using hardware here.

Moderator: Pablo

Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Hardware Configuration Automation: I Need Your Help.

Post by Pablo » Thu Sep 14, 2006 9:20 pm

I need your help.

As MiniMyth evolved to support more hardware and features, the rather static hardware configuration model began to show its weaknesses. Therefore, over the past few releases, I have begun to add hardware auto-detection. However, to continue to make progress, I need the help of people that have hardware different from mine.

It is not easy to detect a motherboard's sensor chip. Therefore, I map the motherboard to the Linux sensor driver. In order to do this, I need the output of the following command:

Code: Select all

dmidecode -t baseboard
along with the Linux sensor driver used (or at least the vendor and model of the sensor chip).

Other drivers such as the CPU fequency stepping drivers are loaded depending on processor. Therefore, I need the make and model of processor along with the output of the command

Code: Select all

dmidecode -t processor
Finally, while I can get the vendor and device identifiers for USB connected IR receivers and LCD/VFD displays, I do not always know what device they are and I rarely have their configuration files. Therefore, if people have configuration files for particular IR receiver+remote hardware or paticular LCD/VFD displays, I would appreciate them filing a bug report containing the configuration files along with the output of 'lsusb' with the device connected.

The 'dmidecode' utility is not in any older versions of MiniMyth. Therefore, in order to help with this, you would need to use either 0.19-19b3 or 0.20-19b3. These are basicly the same as the previous test releases but with 'dmidecode' included.

Thank you.
MiniMyth running on an Acer ApireRevo 3610 and a Zotac ZBOX-ID80-U. Find out more at my MythTV page.

kdewaal
Contributor
Posts: 79
Joined: Mon Sep 12, 2005 8:06 am
Location: Netherlands

Asus M2NPV-VM board and sensor identification

Post by kdewaal » Sun Jan 21, 2007 11:35 am

Hi,

I am building a new frontend with an Asus M2NPV-VM board.
With the "21b8" build the "sensors" command did show the "k8temp" sensor values.
With the "22b3" build there is no output of the "sensors" command.
With Fedora Core 6 on the same hardware the "sensors" output is:

k8temp-pci-00c3
Adapter: PCI adapter
temp1: +27

Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Re: Asus M2NPV-VM board and sensor identification

Post by Pablo » Sun Jan 21, 2007 9:18 pm

kdewaal wrote:With the "21b8" build the "sensors" command did show the "k8temp" sensor values.
With the "22b3" build there is no output of the "sensors" command.
-21 uses kernel 2.6.19, whereas -22 uses kernel 2.6.17. The kernel version was downgraded due to problems that some people were having with the kernel 2.6.19. Kernel 2.6.19 includes the k8temp driver, whereas kernel 2.6.17 does not.

I have backported the k8temp driver from 2.6.19 to 2.6.17 and it appears to work. Therefore, I will include it in the next release.
With Fedora Core 6 on the same hardware the "sensors" output is:

...

it8716-isa-0290

...


Manufacturer: ASUSTek Computer INC.
Product Name: M2NPV-VM
Thank you for the information. I will configure MiniMyth to load the it87 kernel module for this motherboard.
MiniMyth running on an Acer ApireRevo 3610 and a Zotac ZBOX-ID80-U. Find out more at my MythTV page.

Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Post by Pablo » Wed Jan 24, 2007 4:21 am

This has been added in the latest test release: 0.20-22b4.
MiniMyth running on an Acer ApireRevo 3610 and a Zotac ZBOX-ID80-U. Find out more at my MythTV page.

kdewaal
Contributor
Posts: 79
Joined: Mon Sep 12, 2005 8:06 am
Location: Netherlands

Post by kdewaal » Wed Jan 24, 2007 11:15 pm

Hi Pablo,

With the 22b4 on my Asus M2NPV-VM the "sensors" command
gives the k8temp CPU core values, same as with 21b8.
I do not get the values from sensor on the motherboard (the it8716).

Regards,
Klaas

Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Post by Pablo » Thu Jan 25, 2007 2:26 am

kdewaal wrote:Hi Pablo,

With the 22b4 on my Asus M2NPV-VM the "sensors" command
gives the k8temp CPU core values, same as with 21b8.
I do not get the values from sensor on the motherboard (the it8716).

Regards,
Klaas
Bummer.

Could you let me know a few things.

First, on your frontend, did the module it87 load? You can check this by telneting into the frontend and running the command 'lsmod'.

Second, when you are running FC6, what is the contents of the file /etc/sysconfig/lm_sensors?
MiniMyth running on an Acer ApireRevo 3610 and a Zotac ZBOX-ID80-U. Find out more at my MythTV page.

kdewaal
Contributor
Posts: 79
Joined: Mon Sep 12, 2005 8:06 am
Location: Netherlands

lm_sensors

Post by kdewaal » Thu Jan 25, 2007 8:32 pm

Hi Pablo,

I think I did not mention that I the sensors did not work with FC6-out-of-the-box; I have used the lm_sensors-2.10.1 and the latest vanilla kernel (2.6.19.1) available at end of December.


The "lsmod" showed that the it87 was NOT loaded. The module is present in /lib/modules/... and I can do manually "modprobe -v it87" and then it loads. It still does not show up in the "sensors" command.


This is the /etc/sysconfig/lm_sensors of FC6:
#
# Generated by sensors-detect on Tue Dec 26 14:48:26 2006
MODULE_0=i2c-nforce2
MODULE_1=eeprom
MODULE_2=k8temp
MODULE_3=it87

Maybe superfluous, but just in case it is useful here is the complete log of a sensors-detect executed yesterday evening:

--------------- start of output of sensors-detect -----------------

[root@myth2 ~]# sensors-detect
# sensors-detect revision 4171 (2006-09-24 03:37:01 -0700)

This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.

We can start with probing for (PCI) I2C or SMBus adapters.
Do you want to probe now? (YES/no):
Probing for PCI bus adapters...
Use driver `i2c-nforce2' for device 0000:00:0a.1: nVidia Corporation nForce4 SMBus (MCP51)

We will now try to load each adapter module in turn.
Module `i2c-nforce2' already loaded.
If you have undetectable or unsupported adapters, you can have them
scanned by manually loading the modules before running this script.

We are now going to do the I2C/SMBus adapter probings. Some chips may
be double detected; we choose the one with the highest confidence
value in that case.
If you found that the adapter hung after probing a certain address,
you can specify that address to remain unprobed.

Next adapter: SMBus nForce2 adapter at 4c40
Do you want to scan it? (YES/no/selectively):
Client found at address 0x08

Next adapter: SMBus nForce2 adapter at 4c00
Do you want to scan it? (YES/no/selectively):
Client found at address 0x08
Client found at address 0x52
Handled by driver `eeprom' (already loaded), chip type `eeprom'
Client found at address 0x53
Handled by driver `eeprom' (already loaded), chip type `eeprom'

Some chips are also accessible through the ISA I/O ports. We have to
write to arbitrary I/O ports to probe them. This is usually safe though.
Yes, you do have ISA I/O ports even if you do not have any ISA slots!
Do you want to scan the ISA I/O ports? (YES/no):
Probing for `National Semiconductor LM78' at 0x290... No
Probing for `National Semiconductor LM78-J' at 0x290... No
Probing for `National Semiconductor LM79' at 0x290... No
Probing for `Winbond W83781D' at 0x290... No
Probing for `Winbond W83782D' at 0x290... No
Probing for `Winbond W83627HF' at 0x290... No
Probing for `Silicon Integrated Systems SIS5595'... No
Probing for `VIA VT82C686 Integrated Sensors'... No
Probing for `VIA VT8231 Integrated Sensors'... No
Probing for `AMD K8 thermal sensors'... Success!
(confidence 9, driver `k8temp')
Probing for `IPMI BMC KCS' at 0xca0... No
Probing for `IPMI BMC SMIC' at 0xca8... No

Some Super I/O chips may also contain sensors. We have to write to
standard I/O ports to probe them. This is usually safe.
Do you want to scan for Super I/O sensors? (YES/no):
Probing for Super-I/O at 0x2e/0x2f
Trying family `ITE'... Yes
Found `ITE IT8716F Super IO Sensors' Success!
(address 0x290, driver `it87')
Trying family `National Semiconductor'... No
Trying family `SMSC'... No
Trying family `VIA/Winbond/Fintek'... No
Probing for Super-I/O at 0x4e/0x4f
Trying family `ITE'... No
Trying family `National Semiconductor'... No
Trying family `SMSC'... No
Trying family `VIA/Winbond/Fintek'... No

Now follows a summary of the probes I have just done.
Just press ENTER to continue:

Driver `eeprom' (should be inserted):
Detects correctly:
* Bus `SMBus nForce2 adapter at 4c00'
Busdriver `i2c-nforce2', I2C address 0x52
Chip `eeprom' (confidence: 6)
* Bus `SMBus nForce2 adapter at 4c00'
Busdriver `i2c-nforce2', I2C address 0x53
Chip `eeprom' (confidence: 6)

EEPROMs are *NOT* sensors! They are data storage chips commonly
found on memory modules (SPD), in monitors (EDID), or in some
laptops, for example.

Driver `k8temp' (should be inserted):
Detects correctly:
* ISA bus, undetermined address (Busdriver `i2c-isa')
Chip `AMD K8 thermal sensors' (confidence: 9)

Driver `it87' (should be inserted):
Detects correctly:
* ISA bus address 0x0290 (Busdriver `i2c-isa')
Chip `ITE IT8716F Super IO Sensors' (confidence: 9)

I will now generate the commands needed to load the required modules.
Just press ENTER to continue:

To make the sensors modules behave correctly, add these lines to
/etc/modules.conf:

#----cut here----
# I2C module options
alias char-major-89 i2c-dev
#----cut here----

To load everything that is needed, add this to some /etc/rc* file:

#----cut here----
# I2C adapter drivers
modprobe i2c-nforce2
# Chip drivers
modprobe eeprom
modprobe k8temp
modprobe it87
# sleep 2 # optional
/usr/local/bin/sensors -s # recommended
#----cut here----

If you have some drivers built into your kernel, the list above will
contain too many modules. Skip the appropriate ones! You really
should try these commands right now to make sure everything is
working properly. Monitoring programs won't work until the needed
modules are loaded.

Do you want to overwrite /etc/sysconfig/lm_sensors? (YES/no): no
[root@myth2 ~]#

---------------- end of output of sensors_detect ------------------

Hope this helps!

Regards,
Klaas.

Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Post by Pablo » Fri Jan 26, 2007 12:37 am

It looks like the driver did not load do to an incorrect case for the letter k in ASUSTek. I will fix that and try to backport the it87 driver from 2.6.19.2.
MiniMyth running on an Acer ApireRevo 3610 and a Zotac ZBOX-ID80-U. Find out more at my MythTV page.

Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Post by Pablo » Fri Jan 26, 2007 7:16 am

Could you give 0.20-22b6 from the download test directory? It contains the ASUSTek name fix and the backport of the it87 driver.
MiniMyth running on an Acer ApireRevo 3610 and a Zotac ZBOX-ID80-U. Find out more at my MythTV page.

kdewaal
Contributor
Posts: 79
Joined: Mon Sep 12, 2005 8:06 am
Location: Netherlands

sensor it87 now works OK with 22b6

Post by kdewaal » Fri Jan 26, 2007 11:13 pm

Hi Pablio,

The it87 sensor now works OK with the 22b6!! Great!!
If you ever feel bored there are two more issues with this board:
- X11server (process called X) uses ALL the CPUcycles that are not consumed by mythfrontend. Eg for MPEG2 recordings it is about 18% CPU for mythfrontend and the rest for X. For comparison, on FC6 the CPU use of X is almost 0.
- Variable CPU speed depending on load does not seem to be present.This is a great feature to reduce CPU p ower consumption and thus fan speed and noise.

Regards,
Klaas.

Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Re: sensor it87 now works OK with 22b6

Post by Pablo » Fri Jan 26, 2007 11:21 pm

kdewaal wrote:Hi Pablio,

The it87 sensor now works OK with the 22b6!! Great!!
If you ever feel bored there are two more issues with this board:
- X11server (process called X) uses ALL the CPUcycles that are not consumed by mythfrontend. Eg for MPEG2 recordings it is about 18% CPU for mythfrontend and the rest for X. For comparison, on FC6 the CPU use of X is almost 0.
- Variable CPU speed depending on load does not seem to be present.This is a great feature to reduce CPU p ower consumption and thus fan speed and noise.

Regards,
Klaas.
I have noticed that for some combinations of screen resolution, deinterlacer setting and mythfrontend version, I had this problem as well. Are the settings on the two systems exactly the same (including NVIDIA driver).

Also, people have said that certain compiler options can cause problems with X, but I have dumbed down the compiler options to the point that I believe I fixed those problems.

I hate the binary NVIDIA drivers because I cannot track down problems as easily with binary drivers.

As for variable CPU speed, have you set MM_CPUFREQ_GOVERNOR in your minimyth.conf file?
MiniMyth running on an Acer ApireRevo 3610 and a Zotac ZBOX-ID80-U. Find out more at my MythTV page.

kdewaal
Contributor
Posts: 79
Joined: Mon Sep 12, 2005 8:06 am
Location: Netherlands

Variable CPUspeed and X-server as CPUeater

Post by kdewaal » Mon Jan 29, 2007 10:23 pm

Hi Pablo,

Variable CPU speed now works OK, I had not set this in the minimyth.conf file. A case of RTFM....

About the X-server CPUeater.
1. Settings of MythTV are in principle the same, both MiniMyth and FC6 have the same machine name /identifier to the MythTV backend/database.
2. De-interlace setting is bob (both MiniMyth and FC6)
On my TVset only bob gives good picture quality for moving pictures (and that is what TV is all about....)
3. I use the same xorg.conf file for both.
5. I use the DVI-D output for both.
6. The Nvidia drivers ID's are this for the MiniMyth 22b6:
nvidia id: NVIDIA UNIX x86 Kernel Module 1.0-9746 Fri Dec 15 09:54:45 PST 2006
and this for the FC6:
nvidia id: NVIDIA UNIX x86_64 Kernel Module 1.0-9746 Fri Dec 15 10:19:35 PST 2006
(obtained with "strings nvidia.ko | grep Kernel").
7. X-server of FC6:
X Window System Version 7.1.1
Release Date: 12 May 2006

Tips are welcome! If it is needed I could compile the MiniMyth myself (although compiling MiniMyth on x86_64 does not always work....) and
experiment a bit with various package versions.

Regards,
Klaas.

Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Post by Pablo » Mon Jan 29, 2007 10:56 pm

Could you try the latest test version. I added the UseEvents option to the NVIDIA driver section in xorg.conf. It fixed my CPU problem with bob.
MiniMyth running on an Acer ApireRevo 3610 and a Zotac ZBOX-ID80-U. Find out more at my MythTV page.

kdewaal
Contributor
Posts: 79
Joined: Mon Sep 12, 2005 8:06 am
Location: Netherlands

The modeline did it!

Post by kdewaal » Mon Jan 29, 2007 11:39 pm

After my previous post I checked the xorg.conf files of the FC6 and the MiniMyth and there is a difference in the modelines. When I use the FC6 modeline then the CPU load is almost normal. There is still a variability in the X-server load which I think should not be there but the CPU load from the X-server is now around a few percent.
I suspect that there is somewhere a "busy wait" in the Nvidia X-server.

# This is the modeline that is OK
ModeLine "856x480_50" 27.00 856 968 1000 1024 480 500 503 524 +hsync -vsync

# This is the modeline that gives 100% CPU load
# ModeLine "856x480_50" 27.90 856 968 1000 1064 480 500 503 524 +hsync -vsync

N.B. The reason for these exotic modelines is that:
- I have a plasma TV with 852x480 pixels with a DVI input
- DVI input looks much better than the component video input
- The EDID of the DVI only accepts 640x480, 800x600 and 1024x768 with 60Hz, but I live in PAL country with 50Hz television so I have to fiddle around with the xorg.conf file to get this working.

Thanks for the help & I will keep checking your latest & greatest.
Regards,
Klaas.

Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Re: The modeline did it!

Post by Pablo » Tue Jan 30, 2007 1:34 am

kdewaal wrote:After my previous post I checked the xorg.conf files of the FC6 and the MiniMyth and there is a difference in the modelines. When I use the FC6 modeline then the CPU load is almost normal. There is still a variability in the X-server load which I think should not be there but the CPU load from the X-server is now around a few percent.
I suspect that there is somewhere a "busy wait" in the Nvidia X-server.
I suspect that you are right on the "busy wait".

Depending on the mode line and deiterlacer settings I used, I would end up with pegged CPU usage or not. However, once I added the UseEvents option, none of the combinations gave me any problem. Others have had similar success adding the UseEvents option.
MiniMyth running on an Acer ApireRevo 3610 and a Zotac ZBOX-ID80-U. Find out more at my MythTV page.

Post Reply