> The problem is when I try
> to ping an address, it doesnt get any reply back. When I run tcpdump
> on the destination machine I can see that an arp request is being sent
> and the destination m/c is sending back an arp reply. But the arp
> reply never reaches the solaris m/c.
> Also when I did a netstat -i, I found the incoming packets is always
> 0.
One problem that occurs quite often with Solaris x86 is that a device
driver does not receive interrupts. With a NIC, you can't ping other
machines on the network, an audio device does not play audio, etc.
Known Workarounds:
* If your BIOS has a "PNP OS" (Plug&Play OS) setting, disable it.
For use with Solaris, the BIOS should assign resources
(e.g. interrupt vectors) to all PCI cards in the system, and it does
this when "PnP OS" is set to NO or DISABLED.
The BIOS setting "PNP OS" is called differently from one system to
another. For example, in HP Pavilion 8575c it is callled "Installed
O/S", and may assume one of the values: Win95, WinNT, Other. Setting
it to "Other" makes HP BIOS to assign IRQs to all PCI cards.
* Solaris' ACPI support may have problems with your system's ACPI
tables. If your System's BIOS has an option to disable ACPI, try
it. Or use the following command from within Solaris to disable ACPI
(reboot after that):
eeprom acpi-user-options=0x2
* The IOAPIC in some of the newer chipsets (VIA KT400, NVidia NForce2)
seems to cause problems for Solaris, resulting in non-working
interrupts. Try to disable the APIC in the system's BIOS, if there
is such an option. In case the file /var/adm/messages contains
"pcplusmp" and "ioapic" messages (to check that run the following
command)
egrep 'pcplusmp|apic' /var/adm/messages
you can also try to disable the IOAPIC by adding the following line
to /etc/system (reboot after that):
set pcplusmp:apic_forceload = -1