Description of Problem: Supported card Xircom CBEX56G driver 'xircom_cb' on Dell Latitude CPx500HG eventually seizes for all LAN transmission after attempt to transmit raw multicast packets to group number '224.20.10.5'. Continuous ICMP echo request/reply packets begin to take about 15 seconds then 128 seconds then 8000 seconds after start of multicast transmission. Multicast transmission is unsuccessful. Interface must be reset to restore operation. Version-Release number of selected component (if applicable): kernel-pcmcia-cs-3.1.24-2 How Reproducible: Every time. Steps to Reproduce: 1. Invoke 'ping -n W.X.Y.Z' 2. Submit data to multicast application 3. Wait 15 minutes and note seizure of LAN communications Actual Results: Multicast Application Fails to transmit data. Expected Results: Multicast Application successfully transmits data. Additional Information: There was no problem using 'tulip_cb' driver with the identical card under RedHat Linux 7.0 for either unicast or multicast applications. Tulip_cb driver is not included with 'kernel-pcmcia-cs-3.1.24-2'. Attempts to build functional tulip_cb driver from 'sourceforge.org' 'pcmcia-cs-3.1.24' source files have failed to date. Can no longer use XBEM56G for multicast applications.
Typos: CBEX56G and XBEM56G should both read CBEM56G. Kernel: Originally 2.4.2-2 upgraded to 2.4.3-12 for i686. Resolution Procedure: Build latest tulip_cb driver from 'pcmcia-cs-3.1.28.tar.gz' available from 'sourceforge.org' by: 1) extracting minimally from the tarball: pcmcia-cs-3.1.28/Configure pcmcia-cs-3.1.28/Makefile pcmcia-cs-3.1.28/config.in pcmcia-cs-3.1.28/rules.mk pcmcia-cs-3.1.28/clients/Makefile pcmcia-cs-3.1.28/clients/tulip_cb.c pcmcia-cs-3.1.28/etc/config pcmcia-cs-3.1.28/etc/config.opts pcmcia-cs-3.1.28/include/pcmcia/driver_ops.h pcmcia-cs-3.1.28/include/linux/config.h but you may also wish to extract: pcmcia-cs-3.1.28/BUGS pcmcia-cs-3.1.28/CHANGES pcmcia-cs-3.1.28/README pcmcia-cs-3.1.28/README-2.4 pcmcia-cs-3.1.28/SUPPORTED.CARDS pcmcia-cs-3.1.28/doc/PCMCIA-HOWTO for reference. The entire tarball may be extracted if one is willing to sacrifice the 4.5MB of disk space (I, for one, am not willing to sacrifice multiple MB of precious disk space to build one 40K driver module that should have been included in the kernel-pcmcia-cs-3.1.24-2.i386.rpm package in the first place). 2) installing the kernel-source-2.4.3-12.i386.rpm, excluding /usr/src/linux-2.4.3/Documentation /usr/src/linux-2.4.3/arch /usr/src/linux-2.4.3/configs /usr/src/linux-2.4.3/devfsd /usr/src/linux-2.4.3/drivers /usr/src/linux-2.4.3/fs /usr/src/linux-2.4.3/include/asm-generic /usr/src/linux-2.4.3/include/asm-i386 /usr/src/linux-2.4.3/include/linux/byteorder /usr/src/linux-2.4.3/include/linux/lockd /usr/src/linux-2.4.3/include/linux/netfilter_ipv4 /usr/src/linux-2.4.3/include/linux/netfilter_ipv6 /usr/src/linux-2.4.3/include/linux/nfsd /usr/src/linux-2.4.3/include/linux/raid /usr/src/linux-2.4.3/include/linux/sunrpc /usr/src/linux-2.4.3/include/net /usr/src/linux-2.4.3/include/net/irda /usr/src/linux-2.4.3/include/pcmcia /usr/src/linux-2.4.3/include/scsi /usr/src/linux-2.4.3/include/video /usr/src/linux-2.4.3/init /usr/src/linux-2.4.3/ipc /usr/src/linux-2.4.3/lib /usr/src/linux-2.4.3/mm /usr/src/linux-2.4.3/net /usr/src/linux-2.4.3/scripts from the install and symbolically link '/usr/include/asm' to '/usr/src/linux-2.4.3/include/asm' unless you have the 100MB of disk space necessary to install the entire kernel source package to spare (I do not). 3) changing directories to 'pcmcia-cs-3.1.28' (wherever you put it) and invoking './Configure' (accept all the defaults). 4) changing directories to 'clients' and, if the minimal kernel sources are installed, adding the following lines after '#include <linux/netdevice.h>' to 'tulip_cb.c': /* Kernel version 2.4.x and higher */ #define netif_mark_up(dev) do { } while (0) #define netif_mark_down(dev) do { } while (0) #define tx_timeout_check(d,h) netif_stop_queue(d) to avoid the "unresolved symbols" problem in 2.4 kernels. 5) invoking 'make tulip_cb.o' 6) copying the newly built 'tulip_cb.o' driver module to '/lib/modules/2.4.3-12/kernel/drivers/net/pcmcia' and symbolically linking it to '/lib/modules/2.4.3-12/pcmcia/tulip_cb.o'. 7) editing the '/etc/pcmcia/config' file so all the "xircom_cb" configuration entries are changed to "tulip_cb". It is also recommended to modify the CBEM56G bind entry to read simply bind "tulip_cb" instead of the original bind "xircom_cb" to 0, "serial_cb" to 1 since the "serial_cb" driver is not included in 'kernel-pcmcia-cs-3.1.24-2.i386.rpm' and the serial cardbus devices work with the standard serial drivers (see bugzilla 52119). 8) moving '/lib/modules/2.4.3-12/kernel/drivers/net/pcmcia/xircom_cb.o' to '/lib/modules/2.4.3-12/kernel/drivers/net/pcmcia/xircom_cb.broke' and remove the symbolic link '/lib/modules/2.4.3-12/pcmcia/xircom_cb.o'. Failure to do these changes will cause the pcmcia subsystem to load both the "xircom_cb" and "tulip_cb" drivers so neither will work. And finally, 9) Either restarting the pcmcia subsystem or rebooting the machine.