Hi,

I have downloaded the Firmware Toolkit from http://www.linuxfirmwarekit.org 
and according to its report my machine has a very bad bios firmware, there is 
a lot of 'FAIL' messages.

I attach the results.

Maybe this firmware problems are the cause for s2ram do not work (resume 
succefully). 

What could be doing M$ Windowns XP to make my laptop suspend/resume 
succefully?

# s2ram -i
This machine can be identified by:
    sys_vendor   = "TOSHIBA"
    sys_product  = "Satellite A70"
    sys_version  = "PSA70U-00L00N"
    bios_version = "V1.50"
See http://en.opensuse.org/S2ram for details.

If you report a problem, please include the complete output above.


-- 
Xavier Callejas

------------------------------------------------------
Open Your Mind, Use Open Source.
-------------------------------------------------
  Date: Wed Apr 18 15:24:45 2007                                       
*                                               *
* Firmwarekit (release 2.0)                     *
* http://www.linuxfirmwarekit.org               *
*                                               *
*                                               *
* For more information on test descriptions     *
* and details on what the PASS/INFO/WARN/FAIL   *
* results mean, go to: Documentation/TestsInfo. *
*                                               *
-------------------------------------------------

SUMMARY:  7 Fails, 4 Warns, 10 Pass, 21 Total

=================================================
* Plugin name: apicedge

* Title: (experimental) APIC Edge/Level check
* Description: This test checks if legacy interrupts are edge and PCI 
interrupts are level
* Result: FAIL
================================================

[FAIL]-Non-Legacy interrupt 0 is incorrectly level triggered

  0:       2095          0  local-APIC-edge-fasteio   timer


=================================================
* Plugin name: dmi

* Title: DMI information check
* Description: This test checks the DMI/SMBIOS tables for common errors.
* Result: FAIL
================================================

[FAIL]-No SMBIOS nor DMI entry point found.

[FAIL]-No SMBIOS nor DMI entry point found.

=================================================
* Plugin name: microcode

* Title: Processor microcode update
* Description: This test verifies if the firmware has put a recent version of 
the microcode into the processor at boot time. Recent microcode is important to 
have all the required features and errata updates for the processor.
* Result: FAIL
================================================

[FAIL]-Cpu cpu1 has outdated microcode (version 9 while version 17 is available)

[FAIL]-Cpu cpu0 has outdated microcode (version 9 while version 17 is available)

=================================================
* Plugin name: chk_hpet

* Title: HPET configuration test
* Description: This test checks the HPET PCI BAR for each timer block in the 
timer.The base address is passed by the firmware via an ACPI table.IRQ routing 
and initialization is also verified by the test.
* Result: FAIL
================================================

[FAIL]-Failed to locate HPET base

The firmware AML code doesn't advertize the HPET base.
HPET might be disabled in the bios settings, or not supported by the platform.

=================================================
* Plugin name: cpufreq

* Title: CPU frequency scaling tests
* Description: For each processor in the system, this test steps through the 
various frequency states (P-states) that the BIOS advertises for the processor. 
For each processor/frequency combination, a quick performance value is 
measured. The test then validates that: 
  1) Each processor has the same number of frequency states
  2) Higher advertised frequencies have a higher performance
  3) No duplicate frequency values are reported by the BIOS
  4) Is BIOS wrongly doing Sw_All P-state coordination across cores
  5) Is BIOS wrongly doing Sw_Any P-state coordination across cores

* Result: FAIL
================================================

[INFO]-5 CPU frequency steps supported

 Frequency | Speed 
-----------+---------
  3.12 Ghz | 100.0 %
  2.72 Ghz |  87.2 %
  2.45 Ghz |  78.4 %
  2.18 Ghz |  69.5 %
  1.92 Ghz |  61.0 %


[PASS]-P-state coordination done by Harware

[FAIL]-Firmware not implementing hardware coordination cleanly. Firmware using 
SW_ALL instead?


[FAIL]-Firmware not implementing hardware coordination cleanly. Firmware using 
SW_ANY instead?


=================================================
* Plugin name: acpicompile

* Title: DSDT AML verification
* Description: This test first disassembles the DSDT of the BIOS, and then uses 
the IASL compiler from Intel to recompile the code. The IASL copiler is much 
stricter in detecting deviations from the ACPI specification and can find 
numerous defects that other AML compilers cannot find. Fixing these defects 
increases the probability that the BIOS will operate well with a variety of 
operating systems.
* Result: FAIL
================================================

[WARN]-Reserved method must return a value (_WAK)

Reserved method must return a value (_WAK)
At line #122 of DSDT.dsl:

 |              Store (0xA1, \_SB.PCI0.LPC0.BCMD)
 |              Store (Zero, \_SB.PCI0.LPC0.SMIC)
 |          }
 |      }
 |  
>>>     Method (_WAK, 1, NotSerialized)
 |      {
 |          If (LEqual (Arg0, 0x04))
 |          {
 |              Notify (\_SB.PWRB, 0x02)


[FAIL]-Host Operation Region requires ByteAcc access

Host Operation Region requires ByteAcc access
At line #358 of DSDT.dsl:

 |                  THEN,   1, 
 |                          Offset (0x01)
 |              }
 |  
 |              OperationRegion (ECR, EmbeddedControl, 0x00, 0xFF)
>>>             Field (ECR, AnyAcc, Lock, Preserve)
 |              {
 |                          Offset (0x9E), 
 |                      ,   4, 
 |                  HKFN,   1, 


[WARN]-Not all control paths return a value (SLLB)

Not all control paths return a value (SLLB)
At line #533 of DSDT.dsl:

 |                          Return (0x00)
 |                      }
 |                  }
 |              }
 |  
>>>             Method (SLLB, 1, NotSerialized)
 |              {
 |                  Store (Arg0, Local0)
 |                  And (Local0, 0xFF, Local0)
 |                  If (LLess (Arg0, 0x0100))


[WARN]-Not all control paths return a value (PBGU)

Not all control paths return a value (PBGU)
At line #547 of DSDT.dsl:

 |                  {
 |                      Store (Local0, Z00B)
 |                  }
 |              }
 |  
>>>             Method (PBGU, 1, NotSerialized)
 |              {
 |                  If (LEqual (Arg0, 0x00))
 |                  {
 |                      Return (BGU1)


[FAIL]-Host Operation Region requires ByteAcc access

Host Operation Region requires ByteAcc access
At line #2853 of DSDT.dsl:

 |                              Store (Arg1, Z00J)
 |                          }
 |                      }
 |  
 |                      OperationRegion (ERAM, EmbeddedControl, 0x00, 0xFF)
>>>                     Field (ERAM, AnyAcc, Lock, Preserve)
 |                      {
 |                                  Offset (0x60), 
 |                          SMPR,   8, 
 |                          SMST,   8, 


[FAIL]-Host Operation Region requires ByteAcc access

Host Operation Region requires ByteAcc access
At line #3098 of DSDT.dsl:

 |                              ,   9, 
 |                          TSTS,   1
 |                      }
 |  
 |                      OperationRegion (ECRM, EmbeddedControl, 0x00, 0xFF)
>>>                     Field (ECRM, AnyAcc, Lock, Preserve)
 |                      {
 |                                  Offset (0x94), 
 |                          ERIB,   16, 
 |                          ERBD,   8, 


[FAIL]-Method local variable is not initialized (Local1)

Method local variable is not initialized (Local1)
At line #3250 of DSDT.dsl:

 |                      }
 |  
 |                      Method (PKTW, 1, NotSerialized)
 |                      {
 |                          Store (Arg0, \_SB.PCI0.LPC0.EC0.EPKT)
>>>                         Return (Local1)
 |                      }
 |                  }
 |  
 |                  Device (ACAD)


[PASS]-Tested table DSDT.dsl

=================================================
* Plugin name: acpiinfo

* Title: General ACPI information
* Description: This test checks the output of the in-kernel ACPI CA against 
common error messages that indicate a bad interaction with the bios, including 
those that point at AML syntax errors.
* Result: FAIL
================================================

[INFO]-DSDT was compiled by the Microsoft AML compiler

ACPI: DSDT (v001 TOSCPL    SB200 0x06040000 MSFT 0x0100000e) @ 0x00000000

[FAIL]-..MP-BIOS bug: 8254 timer not connected to IO-APIC

..TIMER: vector=0x31 apic1=0 pin1=2 apic2=-1 pin2=-1

=================================================
* Plugin name: thermal_trip

* Title: ACPI passive thermal trip points
* Description: This test determines if the passive trip point works as expected.
* Result: WARN
================================================

[WARN]-No thermal zones found.

=================================================
* Plugin name: fan

* Title: Fan tests
* Description: This test reports how many fans there are in the system. It also 
checks for the current status of the fan(s).
* Result: WARN
================================================

[WARN]-No fan information present

=================================================
* Plugin name: mcfg

* Title: MCFG PCI Express* memory mapped config space
* Description: This test tries to validate the MCFG table by comparing the 
first 16 bytes in the MMIO mapped config space with the 'traditional' config 
space of the first PCI device (root bridge). The MCFG data is only trusted if 
it is marked reserved in the E820 table.
* Result: WARN
================================================

[WARN]-No MCFG ACPI table found. This table is required for PCI Express*.

=================================================
* Plugin name: edd

* Title: EDD Boot disk hinting
* Description: This test verifies if the BIOS directs the operating system on 
which storage device to use for booting (EDD information). This is important 
for systems that (can) have multiple disks. Linux distributions increasingly 
depend on this info to find out on which device to install the bootloader.
* Result: WARN
================================================

[INFO]-device 80: The system boots from device 0000:00:14.1 channel: 0 device: 
0 


[WARN]-device 80: No matching MBR signature (0x000069c7) found for the boot disk

Device sda - signature 0x9450c
Device hdc - signature 0x0
Device hda - signature 0x69c7


[INFO]-device 81 is provided by device 0000:00:13.0 channel: 0 serial_number: 
17a91c3f1d0013fe 


[WARN]-device 81: No matching MBR signature (0x0009450c) found for this disk

Device sda - signature 0x9450c
Device hdc - signature 0x0
Device hda - signature 0x69c7


=================================================
* Plugin name: virt

* Title: VT/VMX Virtualization extensions
* Description: This test checks if VT/VMX is set up correctly
* Result: INFO
================================================

[INFO]-Processor does not support Virtualization extensions

=================================================
* Plugin name: battery

* Title: Battery tests
* Description: This test reports which (if any) batteries there are in the 
system. In addition, for charging or discharging batteries, the test validates 
that the reported 'current capacity' properly increments/decrements in line 
with the charge/discharge state. 

This test also stresses the entire battery state reporting codepath in the ACPI 
BIOS, and any warnings given by the ACPI interpreter will be reported.
* Result: INFO
================================================

[INFO]-Battery BAT1 is model PA3383U  and is currently charging

[PASS]-Battery BAT1 charge is incrementing as expected

=================================================
* Plugin name: SUN

* Title: SUN duplicate test
* Description: This makes sure that each SUN (Slot Unique Number) that is 
called in the DSDT through the Name() method is unique, no duplicates should be 
found.
* Result: PASS
================================================

[PASS]-Tested _SUN ids, successfully found no duplicates

=================================================
* Plugin name: ebda

* Title: EBDA region
* Description: This test validates if the EBDA region is mapped and reserved in 
the E820 table.
* Result: PASS
================================================

[PASS]-EBDA region is correctly reserved in the E820 table.

=================================================
* Plugin name: maxreadreq

* Title: PCI Express MaxReadReq tuning
* Description: This test checks if the firmware has set MaxReadReq to a higher 
value on non-montherboard devices
* Result: PASS
================================================

=================================================
* Plugin name: os2gap

* Title: OS/2 memory hole test
* Description: This test checks if the OS/2 15Mb memory hole is absent
* Result: PASS
================================================

[PASS]-Successfully found no 15mb memory hole

=================================================
* Plugin name: FADT

* Title: FADT test
* Description: verify FADT SCI_EN bit enabled or NOT.
* Result: PASS
================================================

[PASS]-ACPI mode, SCI_EN bit in PM1a_Control register is correctly enabled

=================================================
* Plugin name: mtrr

* Title: MTRR validation
* Description: This test validates the MTRR setup against the memory map to 
detect any inconsistencies in cachability.
* Result: PASS
================================================

=================================================
* Plugin name: ethernet

* Title: Ethernet functionality
* Description: This test is currently a placeholder for a more advanced 
ethernet test. Currently the only check performed is that a link is acquired 
within 45 seconds of enabling the interface. 45 seconds is close to the value 
most Linux distributions use as timeout value.

In the future the plan is to also perform actual data transfer tests as part of 
the ethernet test, to validate interrupt routing and other per-NIC behaviors.
* Result: PASS
================================================

=================================================
* Plugin name: pciresource

* Title: Validate assigned PCI resources
* Description: This test is currently a placeholder and just checks the kernel 
log for complaints about PCI resource errors. In the future the idea is to 
actually perform a validation step on all PCI resources against a certain 
rule-set.
* Result: PASS
================================================

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Suspend-devel mailing list
Suspend-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/suspend-devel

Reply via email to