[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Freeipmi-users] Tyan Thunder S2882 with m3289 bmc module
From: |
Jan Tiri |
Subject: |
Re: [Freeipmi-users] Tyan Thunder S2882 with m3289 bmc module |
Date: |
Tue, 8 Mar 2005 21:31:47 +0100 (CET) |
User-agent: |
SquirrelMail/1.4.3a |
> ,----[ "Jan Tiri" <address@hidden> ]
> | Another strange thing; my ipmi board now only reacts when the power is
> | off. If my kernel crashes for whatever reason, I'm not able to reset the
> | machine. I guess this isn't really normal behaviour ...
> |
> | response timed out: rq_seq=0
> | response received from 192.168.1.100: rq_seq=1, auth: none=clear
> md2=clear
> | md5=set passwd=clear oem=clear permsg=clear user=clear
> | response received from 192.168.1.100: rq_seq=2, auth: none=clear
> md2=clear
> | md5=set passwd=clear oem=clear permsg=clear user=clear
> `----
> This looks like network driver bug. Albert noticed a similar problem
> with Intel's e1000 driver, when the kernel goes to halt. Patch is
> simple. You have to comment the e1000_suspend call in notifier
> routine. We should not suspend the e1000 controller, because it is
> also used by the BMC.
It's a e100. From the kernel;
#ifdef CONFIG_PM
static int e100_suspend(struct pci_dev *pdev, u32 state)
{
struct net_device *netdev = pci_get_drvdata(pdev);
struct nic *nic = netdev_priv(netdev);
if(netif_running(netdev))
e100_down(nic);
e100_hw_reset(nic);
netif_device_detach(netdev);
pci_save_state(pdev);
pci_enable_wake(pdev, state, nic->flags & (wol_magic |
e100_asf(nic)));
pci_disable_device(pdev);
pci_set_power_state(pdev, state);
return 0;
}
static int e100_resume(struct pci_dev *pdev)
{
struct net_device *netdev = pci_get_drvdata(pdev);
struct nic *nic = netdev_priv(netdev);
pci_set_power_state(pdev, 0);
pci_restore_state(pdev);
e100_hw_init(nic);
netif_device_attach(netdev);
if(netif_running(netdev))
e100_up(nic);
return 0;
}
#endif
static struct pci_driver e100_driver = {
.name = DRV_NAME,
.id_table = e100_id_table,
.probe = e100_probe,
.remove = __devexit_p(e100_remove),
#ifdef CONFIG_PM
.suspend = e100_suspend,
.resume = e100_resume,
#endif
};
It's the only occurrence of suspend in this e100.c file
> It is also possible to fix it without modifying the driver, by
> fiddling with the EEPROM power-management setting using ethtool. Tell
> me what network card you have, I will help you.
I installed ethtool, good luck :)
root # ethtool -e eth0
Offset Values
------ ------
0x0000 00 e0 81 2d 8d f7 03 02 00 00 01 02 01 47 00 00
0x0010 78 56 34 12 e2 58 40 10 86 80 64 00 00 00 00 00
0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0040 00 00 00 00 00 00 29 12 00 00 00 00 00 00 00 00
0x0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0060 28 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0110 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0120 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0130 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0140 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0150 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0160 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0170 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0180 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0190 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x01a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x01b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x01c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x01d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x01e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x01f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 5d 05
For the remaining points;
- I was able to set the date via the util.exe file (specific for s2882) so
I assume this will be updateable via fish too
- set to bmc: I guess I get time-outs when trying to use bmc-config -i,
seems to be in the hardware :(
- bmc-watchdog: no idea why the process gets killed immediately, it has
nothing to do with security patches.
Kind regards,
Jan Tiri