Die Installation von Parallels Parallels-2.2.2112 und kleineren Versionen
schlägt bei den Kerneln 2.6.19 und 2.6.20 fehl. Auf einem Ubuntu Feisty mit
dem Kernel 2.6.20 musste ich die Datei /usr/lib/parallels/drivers/drv_net/linux/prlnet.c
wie folgt patchen:
--- prlnet.c 2007-04-05 12:48:12.000000000 +0200 +++ prlnet.c_2.6.20 2007-04-05 12:48:25.000000000 +0200 @@ -11,6 +11,8 @@ #error "Kernels older than 2.2 are not supported" #endif +// _mw_ +#include#include #include #include @@ -880,8 +882,13 @@ // to guarantee hw immutability here (including hw->vis list) if (skb->pkt_type != PACKET_LOOPBACK) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,4) - int do_csum = skb->pkt_type == PACKET_OUTGOING - && skb->ip_summed == CHECKSUM_HW; +// _mw_ +// int do_csum = skb->pkt_type == PACKET_OUTGOING && skb->ip_summed == CHECKSUM_HW; +#ifndef CHECKSUM_NW +int do_csum = skb->pkt_type == PACKET_OUTGOING && skb->ip_summed == CHECKSUM_COMPLETE; +#else +int do_csum = skb->pkt_type == PACKET_OUTGOING && skb->ip_summed == CHECKSUM_HW; +#endif // this is slightly inefficient // applies to host packets only if (do_csum || skb_is_nonlinear(skb)) { @@ -1008,11 +1015,12 @@ } memcpy(hw->mac, hw->proto.dev->dev_addr, sizeof(hw->mac)); #ifdef CONFIG_NET_RADIO - if (hw->proto.dev->get_wireless_stats) - hw->wireless = 1; +// _mw_ +// if (hw->proto.dev->get_wireless_stats) +// hw->wireless = 1; #if WIRELESS_EXT > 12 - if (hw->proto.dev->wireless_handlers) - hw->wireless = 1; +// _mw_ if (hw->proto.dev->wireless_handlers) +// hw->wireless = 1; #endif #endif if (!hw->wireless)