J'utilise FriendlyARM avec linux 2.6.29 et je compile avec ARM-Linux GCC. 4.3.2
Lorsque l'on essaie d'ouvrir un socket avec PF_PACKET, l'échec est accompagné d'errno 97, Adresse non supportée par le protocole.
Voici un exemple de programme qui illustre le problème -
#include <stdio.h>
#include <sys/socket.h>
#include <netpacket/packet.h>
#include <net/ethernet.h>
//#include <linux/if_packet.h>
//#include <linux/if_ether.h>
#include <errno.h>
int main() {
int sockfd = socket(PF_PACKET, SOCK_RAW, htons(ETHER_TYPE));
if (sockfd < 0)
perror("Can't open socket");
}
Une idée de la raison pour laquelle cela se produit ?
Merci d'avance
Oren
éditer : Les choses que j'ai essayées -
-
Je m'assure que je fonctionne en tant que Root
-
Compilation sous linux 2.6.27.7-9-pae et une machine intel, sous laquelle il fonctionne bien (gcc 4.4.1)
-
Le post ci-dessous suggère que cela a quelque chose à voir avec la version linux, mais d'après ce qui précède, je pense que cela pourrait être autre chose. texte du lien