Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
The problem outline: how to fix a broken DSDT table when the one provided by BIOS is simply an ill-fated joke?
As many of you know, unfortunately, the new boards of Asus have more or less been Kafkaesque for many linux users. Nor has ACPI been an easy issue with any OS.
I am using A8N-VM board but the basic puzzle has been same with related models as well. Asus has not provided any fix for the problem. (This is arrogant stance as the problem _can not be_ troublesome for a motherboard developer.) The newest BIOS for my board is 0702. I want to use the new BIOS, which cancels out the use of available precomplied fixes (e.g. acpi.sourceforge.net supply only a fix for the 0506 BIOS).
My testing distribution has so far been Suse 10.0 x86_64 with 2.6.13-15.8 kernel (and with the inbuilt ACPI support), although the problem is hardly a distro-specific. The weird thing, however, is that with the common "noacpi noapic" etc. Suse could not boot at all. When ACPI is on, the system booted nicely, all nForce/Nvidia stuff was recognized and even the onboard LAN/sound works fine with the proper patches. Whatsoever, ACPI seem to cause most of, if not all, the stability problems / lockouts that have occured so far.
With the <dmesg | grep -i acpi>, one gets the ah-so-familiar-newsgroup-output:
ACPI: Looking for DSDT in initrd... not found!
ACPI-0320: *** Error: ns_search_and_enter: Bad character in ACPI Name: 43045350
ACPI-0304: *** Error: Looking up [0x43045350] (NON-ASCII)
ACPI-0622: *** Warning: During name lookup/catalog, AE_BAD_CHARACTER
ACPI-0127: *** Error: acpi_load_tables: Could not load namespace: AE_BAD_CHARACTER
ACPI-0136: *** Error: acpi_load_tables: Could not load tables: AE_BAD_CHARACTER
Thus, the problem must lie somewhere in the 0x50, 0x53, 0x04, and 0x43. ACPI is completely new to me so I do not really know where one should start to debug. Yet, with the basic <acpidump -t DSDT -o dsdt_output>, one should get the DSDT table from the memory, which can be scanned for the bad point. Running <od -tx1 dsdt_output | grep -B1 '50 53' | more>, gives, to my understanding, two hints:
0103240 62 20 38 32 20 34 65 20 30 39 20 34 66 20 34 64
0103260 20 35 33 20 20 2e 2e 2e 50 53 2e 43 2e 2e 5b 2e
or what?
Now before I proceed (or start to do anything with the kernel!) some help would be more than welcome. Or even better, give me a precomplied hex table. After all, the issues with ACPI and DSDT should be a common research area for all linux users trying to get new machinery to do their job.
Tried to fix the issue for few months but with no success. But I was not alone. Anyone I know from anywhere and from any instance could not get the ACPI working under this mobo.
Yet, small victories (some people put forward an email flooding protest against Asus), and finally the company was able to fix few hex codes in their BIOS. Thus, the new 0902 BIOS fixes the issue.
Actually contacted few months ago the maintainer of that page for instructions but could not get it to work on my own. Luckily, like said in the above message, the new BIOS corrected the DSDT table. Instead of using some kernel hack to allow shutdown, the new table allows one to even examine other ACPI features aswell.
Gloomy, you have a A8N-VM board rather than a A8N-VM CSM board?
For the A8N-VM CSM, there is no verision 0902 BIOS on the Asus site, so A8N-VM CSM users are left to apply the DSDT patch.
After I got the ACPI/DSDT working with the patch, I updated the Asus BIOS to version 0702 and it still works.
I can't be certain if Asus version 0702 fixes the DSDT or not. I seem to recall reading forum posts that 0702 does not fix the ACPI/DSDT so the patch is the path for now...
I am rather certain, following e.g. the useful Nvnews threads, like the one below, that the 0702 did not fix the DSDT of either boards. And release notes of 0702 for CSM do not mention anything about ACPI. Nor did the 0902 for A8N-VM mention anything at all - again strikingly unprofessional from Asus.
Just in case people hadn't noticed, ASUS released a new bios (1001) today. Since their previous beta bios (901) fixed the DSDT issue (and incidentially broke USB, net, and powersave) this is certainly worth a spin.
I'll try it when I get home - I don't know how to update the bios from within linux so have to boot windows. Maybe I will finally have a working computer!
And, since I seem to be in dreaming mode... maybe this will mean I can boot with both my ivtv and my DVB-S cards plugged in _at the same time_ without freezing the machine! Nah... it'll never happen ;-)
I'll try it when I get home - I don't know how to update the bios from within linux so have to boot windows. Maybe I will finally have a working computer!
Asus has a built-in BIOS flash utility. You don't need a bootable disk at all. When the board powers up you hit ALT+F2 and it looks on the floppy disk for a file called A8NVMCMS.ROM and loads it into the flash memory. I heard that this also works from a cd-rom with a A8NVMCMS.ROM file on it.
Thanks guys, I'll try the new BIOS after the labour day is over. (Do not drink and play with the BIOS.)
About the sensors. You have to enable I2C and hardware monitoring support from the kernel. The sensors are, to my understanding, Winbond W83627EHG, supported by the preliminary code for W83627EHF. However, when I type 'sensors-detect' in a Gentoo system, all I get is that "No i2c device files found".
Nevertheless, despite of the lack of voltage values, the W83627EHF gives the right values for MB temp, CPU temp, processor fan and for chassis fan. Or it gave the right values with the 0702 BIOS - the 0902 gives about 10C lower temperature than the ones in the BIOS. The used algorithms are of course easy to modify by hand but haven't got the time or interest yet.
If one wants more information, the page of lm_sensors might be worth reading:
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.