diff --git a/src/net_ne2000.c b/src/net_ne2000.c index 51fdd7b4e..9ea48215c 100644 --- a/src/net_ne2000.c +++ b/src/net_ne2000.c @@ -1809,12 +1809,13 @@ nic_init(int board) mac = device_get_config_int_ex("mac", -1); /* Set up our MAC address. */ +#if 0 if (dev->is_rtl8029as) { - dev->maclocal[0] = 0x00; /* 00:20:18 (RTL 8029AS PCI vendor prefix). */ + dev->maclocal[0] = 0xDE /* 0x00 */; /* 00:20:18 (RTL 8029AS PCI vendor prefix). */ dev->maclocal[1] = 0x20; dev->maclocal[2] = 0x18; } else { - dev->maclocal[0] = 0x00; /* 00:00:D8 (NE2000 ISA vendor prefix). */ + dev->maclocal[0] = 0xDE /* 0x00 */; /* 00:00:D8 (NE2000 ISA vendor prefix). */ dev->maclocal[1] = 0x00; dev->maclocal[2] = 0xD8; } @@ -1833,6 +1834,14 @@ nic_init(int board) dev->maclocal[5] = (mac & 0xff) | 1; #endif } +#else + dev->maclocal[0] = 0xac; + dev->maclocal[1] = 0xde; + dev->maclocal[2] = 0x48; + dev->maclocal[3] = 0x88; + dev->maclocal[4] = 0xbb; + dev->maclocal[5] = 0xaa; +#endif memcpy(dev->physaddr, dev->maclocal, sizeof(dev->maclocal)); pclog(1,"%s: I/O=%04x, IRQ=%d, MAC=%02x:%02x:%02x:%02x:%02x:%02x BIOS=%d\n", diff --git a/src/net_pcap.c b/src/net_pcap.c index 3ca2e9089..1a7eef1fa 100644 --- a/src/net_pcap.c +++ b/src/net_pcap.c @@ -109,6 +109,7 @@ poll_thread(void *arg) int network_pcap_setup(uint8_t *mac, NETRXCB func, void *arg) { + int rc; char temp[PCAP_ERRBUF_SIZE]; char filter_exp[255]; struct bpf_program fp; @@ -147,6 +148,43 @@ network_pcap_setup(uint8_t *mac, NETRXCB func, void *arg) return(-1); } + /* Time to check that we are in non-blocking mode. */ + rc=pcap_getnonblock(pcap,temp); + pclog("pcap is currently in %s mode\n",rc? "non-blocking":"blocking"); + + switch(rc) + { + case 0: + pclog("Setting interface to non-blocking mode.."); + rc = pcap_setnonblock(pcap,1,temp); + if (rc==0) + { /* no errors! */ + pclog(".."); + rc=pcap_getnonblock(pcap,temp); + if(rc == 1) + { + pclog("..!",rc); + } + else + { + pclog("\tunable to set pcap into non-blocking mode!\nContinuining without pcap.\n"); + return(-1); + } + } /* end set nonblock */ + else + { + pclog("There was an unexpected error of [%s]\n\nexiting.\n",temp);return(-1);} + pclog("\n"); + break; + case 1: + pclog("non blocking\n"); + break; + default: + pclog("this isn't right!!!\n"); + return(-1); + break; + } + /* Create a MAC address based packet filter. */ pclog("Building packet filter ..."); sprintf(filter_exp,