Archives


- Beowulf
- Beowulf Announce
- Scyld-users
- Beowulf on Debian

Packet Engines "Hamachi" gigabit ethernet card

Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.

Search

Keith Underwood keithu at parl.clemson.edu
Tue Apr 23 13:21:01 PDT 2002


It should be working "soon" in newer 2.4 kernels.  There was a bug
introduced by someone doing some "clean-ups" early in 2.4.  I have 
attached a patch against the 2.4.18 version of the driver that should let 
you get traffic through the card.  I don't know if anything else was 
broken along the way or not.

					Keith

On Tue, 23 Apr 2002, Steven Timm wrote:

> 
> Does anyone have a Hamachi gigabit ethernet card that is
> working under any kind of a 2.4 kernel at all?  If so, what did
> it take to make it work?  With all the various drivers we have
> tried including the latest available, we get the error
> message "too much work at interrupt" and no traffic through the card.
> 
> Thanks
> 
> Steve Timm
> 
> ------------------------------------------------------------------
> Steven C. Timm (630) 840-8525  timm at fnal.gov  http://home.fnal.gov/~timm/
> Fermilab Computing Division/Operating Systems Support
> Scientific Computing Support Group--Computing Farms Operations
> 
> _______________________________________________
> Beowulf mailing list, Beowulf at beowulf.org
> To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf
> 

---------------------------------------------------------------------------
Keith Underwood                   Parallel Architecture Research Lab (PARL)
keithu at parl.clemson.edu                                  Clemson University

-------------- next part --------------
--- drivers/net/hamachi.c	Mon Feb 25 14:37:59 2002
+++ drivers/net/hamachi.patched.c	Tue Apr  2 15:32:45 2002
@@ -210,8 +210,10 @@
 /* Condensed bus+endian portability operations. */
 #if ADDRLEN == 64
 #define cpu_to_leXX(addr)	cpu_to_le64(addr)
+#define desc_to_virt(addr) bus_to_virt(le64_to_cpu(addr))
 #else 
 #define cpu_to_leXX(addr)	cpu_to_le32(addr)
+#define desc_to_virt(addr) bus_to_virt(le32_to_cpu(addr))
 #endif   
 
 
@@ -1544,7 +1546,8 @@
 			break;
 		pci_dma_sync_single(hmp->pci_dev, desc->addr, hmp->rx_buf_sz, 
 			PCI_DMA_FROMDEVICE);
-		buf_addr = (u8 *)hmp->rx_ring + entry*sizeof(*desc);
+		//buf_addr = (u8 *)hmp->rx_ring + entry*sizeof(*desc);
+		buf_addr = desc_to_virt(desc->addr);
 		frame_status = le32_to_cpu(get_unaligned((s32*)&(buf_addr[data_size - 12])));
 		if (hamachi_debug > 4)
 			printk(KERN_DEBUG "  hamachi_rx() status was %8.8x.\n",


More information about the Beowulf mailing list