> I have recently installed kernel 2.4.0-test11 on my mandrake 7.2
> box. Then I compiled ethereal-0.8.14. Ethereal does not recognize my nic
> card (eth0) at all. When I put eht0 in the Capture->Interface field, I
> get this error: "socket: Address family not supported by protocol".
...
> What am I missing here?
CONFIG_PACKET, I suspect. From the "README.linux" file in the Ethereal
source distribution:
In order to capture packets (with Ethereal/Tethereal, tcpdump,
or any other packet capture program) on a Linux system, the
"packet" protocol must be supported by your kernel. If it is
not, you may get error messages such as
modprobe: can't locate module net-pf-17
in "/var/adm/messages". The following note is from the Linux
"Configure.help" file:
Packet socket
CONFIG_PACKET
The Packet protocol is used by applications which
communicate directly with network devices without an
intermediate network protocol implemented in the
kernel, e.g. tcpdump. If you want them to work,
choose Y.
This driver is also available as a module called
af_packet.o ( = code which can be inserted in and
removed from the running kernel whenever you want).
If you want to compile it as a module, say M here and
read Documentation/modules.txt; if you use modprobe or
kmod, you may also want to add "alias net-pf-17
af_packet" to /etc/modules.conf.
I don't know whether that option is the same in 2.4, but you *do* need
whatever the equivalent kernel facility is.