sleep mode persistence
Frank Lenaerts <[email protected]>
| Newsgroups | gmane.linux.drivers.eepro100.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, I have a question regarding the sleep mode of the eepro100. Because the sleep mode is enabled by default, I issued an eepro100-diag -ee -G 0 -w -w -f to disable the sleep mode. I then shutdown the machine with a shutdown -h now, powered off but left the power cord connected. As I am dealing with an ATX mobo, the power wasn't actually really cut off. When I powered on the machine again, eepro100-diag -ee -f did not show the sleep mode message anymore, and the network adapter worked fine. Later on however, I also unplugged the power cord. The next time I booted, the network adapter did not seem to work anymore. The output of eepro100-diag -ee -f showed an incorrect EEPROM checksum. --- begin --- escher:~# eepro100-diag -ee -f eepro100-diag.c:v2.05 6/13/2001 Donald Becker ([email protected]) http://www.scyld.com/diag/index.html Index #1: Found a Intel i82557/8/9 EtherExpressPro100 adapter at 0xb400. EEPROM contents, size 256x16: 00: ffff ffff ffff ffff ffff ffff ffff ffff 0x08: ffff ffff ffff ffff ffff ffff ffff ffff 0x10: ffff ffff ffff ffff ffff ffff ffff ffff 0x18: ffff ffff ffff ffff ffff ffff ffff ffff 0x20: ffff ffff ffff ffff ffff ffff ffff ffff 0x28: ffff ffff ffff ffff ffff ffff ffff ffff 0x30: ffff ffff ffff ffff ffff ffff ffff ffff 0x38: ffff ffff ffff ffff ffff ffff ffff ffff 0x40: ffff ffff ffff ffff ffff ffff ffff ffff 0x48: ffff ffff ffff ffff ffff ffff ffff ffff 0x50: ffff ffff ffff ffff ffff ffff ffff ffff 0x58: ffff ffff ffff ffff ffff ffff ffff ffff 0x60: ffff ffff ffff ffff ffff ffff ffff ffff 0x68: ffff ffff ffff ffff ffff ffff ffff ffff 0x70: ffff ffff ffff ffff ffff ffff ffff ffff 0x78: ffff ffff ffff ffff ffff ffff ffff ffff 0x80: ffff ffff ffff ffff ffff ffff ffff ffff 0x88: ffff ffff ffff ffff ffff ffff ffff ffff 0x90: ffff ffff ffff ffff ffff ffff ffff ffff 0x98: ffff ffff ffff ffff ffff ffff ffff ffff 0xa0: ffff ffff ffff ffff ffff ffff ffff ffff 0xa8: ffff ffff ffff ffff ffff ffff ffff ffff 0xb0: ffff ffff ffff ffff ffff ffff ffff ffff 0xb8: ffff ffff ffff ffff ffff ffff ffff ffff 0xc0: ffff ffff ffff ffff ffff ffff ffff ffff 0xc8: ffff ffff ffff ffff ffff ffff ffff ffff 0xd0: ffff ffff ffff ffff ffff ffff ffff ffff 0xd8: ffff ffff ffff ffff ffff ffff ffff ffff 0xe0: ffff ffff ffff ffff ffff ffff ffff ffff 0xe8: ffff ffff ffff ffff ffff ffff ffff ffff 0xf0: ffff ffff ffff ffff ffff ffff ffff ffff 0xf8: ffff ffff ffff ffff ffff ffff ffff ffff ***** The EEPROM checksum is INCORRECT! ***** The checksum is 0xFF00, it should be 0xBABA! Intel EtherExpress Pro 10/100 EEPROM contents: Station address FF:FF:FF:FF:FF:FF. Board assembly ffffff-255, Physical connectors present: RJ45 BNC AUI MII Primary interface chip i82555 PHY #-1. Secondary interface chip i82555, PHY -1. Sleep mode is enabled. This is not recommended. Under high load the card may not respond to PCI requests, and thus cause a master abort. escher:~# --- end --- This problem also seems to generate some other error messages as can be noted in the dmesg output. --- begin --- eepro100: wait_for_cmd_done timeout! eepro100: wait_for_cmd_done timeout! eepro100: wait_for_cmd_done timeout! eepro100: wait_for_cmd_done timeout! eepro100: wait_for_cmd_done timeout! eepro100: wait_for_cmd_done timeout! eepro100: wait_for_cmd_done timeout! --- end --- I started doing some tests and noticed that this problem only occurs after a complete (i.e. really no power to the mobo) power outage. When I really cut off the power, and then boot the machine, I always get this incorrect EEPROM checksum. If I just reboot or shutdown the machine (without pulling the power cord out of the case) right after the first boot, the problem is solved. --- begin --- escher:~# eepro100-diag -ee -f eepro100-diag.c:v2.05 6/13/2001 Donald Becker ([email protected]) http://www.scyld.com/diag/index.html Index #1: Found a Intel i82557/8/9 EtherExpressPro100 adapter at 0xb400. EEPROM contents, size 64x16: 00: 0200 4cb3 0e1f 020b ffff 0201 4701 ffff 0x08: 7517 6704 50a0 0040 8086 fe73 ffff ffff 0x10: ffff ffff ffff ffff ffff ffff ffff ffff 0x18: ffff ffff ffff ffff ffff ffff ffff ffff 0x20: ffff ffff ffff 1229 ffff ffff ffff ffff 0x28: ffff ffff ffff ffff ffff ffff ffff ffff 0x30: 002c 4000 3003 ffff ffff ffff ffff ffff 0x38: ffff ffff ffff ffff ffff ffff ffff e4be The EEPROM checksum is correct. Intel EtherExpress Pro 10/100 EEPROM contents: Station address 00:02:B3:4C:1F:0E. Board assembly 751767-004, Physical connectors present: RJ45 Primary interface chip i82555 PHY #1. Secondary interface chip i82555, PHY -1. escher:~# --- end --- As expected, there are not wait_for_cmd_done timeout error messages anymore in this case. According to me, this means that disabling the sleep mode bit must have worked, because it is disabled after a reboot. It seems however: - that the contents of the EEPROM cannot be read when the machine is powered on the first time or - that there is some trigger during the shutdown process so that the EEPROM can be read during the next boot (as long as the mobo has power) or reboot Anyone any idea what might be the cause of this problem? -- [email protected] Those who do not understand Unix are condemned to reinvent it, poorly." -- Henry Spencer