Networking discussion

Discussion of development and patch submission.
neozeed
Posts: 176
Joined: Tue 08 Jul, 2014 4:41 am
Location: Hong Kong SAR
Contact:

Re: Networking discussion

Post by neozeed »

I can confirm that this driver, ne2000wc works in OS/2 Warp 3.0 Connect.
ne2000wc.zip 11.09 KiB 1996-05-01 Warp Connect NE2000-compatible network adapter (20-Jun-95)
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: Networking discussion

Post by ppgrainbow »

neozeed wrote:I can confirm that this driver, ne2000wc works in OS/2 Warp 3.0 Connect.
ne2000wc.zip 11.09 KiB 1996-05-01 Warp Connect NE2000-compatible network adapter (20-Jun-95)
That network compatible driver should do the trick! :D
neozeed
Posts: 176
Joined: Tue 08 Jul, 2014 4:41 am
Location: Hong Kong SAR
Contact:

Re: Networking discussion

Post by neozeed »

Although the latest update is only a Win64 fix (I never can seem to build this under Win64... grrr) Here is an updated Win32 binary:

PCem-build-335-pcap-slirp.7z

I've only included 2 executables, the debug, and an -O2 fast float. It turns out all the other stuff had a negligible impact on performance. I wouldn't call it the 'best possible' but overall the 1-2% difference and having executables crash just isn't worth it.

Let me know if you have exe issues with this build!

And for the gopher fans, this ought to be a direct link!
gopher://nodedeploy.superglobalmegacorp.com:70/00/install/pcem/PCem-build-335-pcap-slirp.7z
neozeed
Posts: 176
Joined: Tue 08 Jul, 2014 4:41 am
Location: Hong Kong SAR
Contact:

Re: Networking discussion

Post by neozeed »

Crap, I built both exe's as debug by mistake, I've updated the archive. Also I included the OpenAL32 runtime for people that don't have it.
User avatar
ender
Posts: 51
Joined: Tue 14 Oct, 2014 12:51 pm

Re: Networking discussion

Post by ender »

BTW, to get pcap network to work, I have to use just the interface GUID in pcap_device setting in pcem.cfg - it doesn't work with the \Device\NPF_ prefix.
neozeed
Posts: 176
Joined: Tue 08 Jul, 2014 4:41 am
Location: Hong Kong SAR
Contact:

Re: Networking discussion

Post by neozeed »

ender wrote:BTW, to get pcap network to work, I have to use just the interface GUID in pcap_device setting in pcem.cfg - it doesn't work with the \Device\NPF_ prefix.
Can you run the debug version, and tell me what version of pcap it is picking up on your system?

I know \Device\NPF_{guid} works in mine.... :oops:
User avatar
ender
Posts: 51
Joined: Tue 14 Oct, 2014 12:51 pm

Re: Networking discussion

Post by ender »

Code: Select all

pcap_device = {6F2E068C-EB95-4887-9887-D2B0CA99A50C}
midi = 0
[Novell NE2000]
netcard = 1
addr = 0x300
irq = 10
[Sound Blaster AWE32]
onboard_ram = 2048
Config loaded
Starting with romset 26
timer_reset
ne2000 pcap device {6F2E068C-EB95-4887-9887-D2B0CA99A50C}
ne2000 reset
ne2000 init 0x300 10	slirp is 0 net_is_pcap is 1
ne2000 initalizing libpcap
ne2000 Pcap version [WinPcap version 4.1.3 (packet.dll version 10, 1, 0, 5001), based on libpcap version 1.0 branch 1_0_rel0b (20091008)]
ne2000 pcap is currently in blocking mode
ne2000 Setting interface to non-blocking mode......!
ne2000 Building packet filter.........!
ne2000 Using filter	[( ((ether dst ff:ff:ff:ff:ff:ff) or (ether dst ac:de:48:88:bb:aa)) and not (ether src ac:de:48:88:bb:aa) )]
ne2000 net_is_pcap is 1 and net_pcap is e4107c8
ne2000 is_slirp 0 is_pcap 1
ethlist also lists the devices without the prefix:

Code: Select all

Network devices:
  Number       NAME					(Description)
  0  {B1D364E8-1113-4A5C-9F1E-98EFD32EC522} (TAP-Windows Adapter V9)
  1  {6F2E068C-EB95-4887-9887-D2B0CA99A50C} (Intel(R) 82574L Gigabit Network Connection)
  2  {9B4D31C9-70AD-4154-A956-5F3ACC2521F2} (VMware Virtual Ethernet Adapter)
  3  {B15B41C9-B4BE-4323-B581-0D39D82078F1} (TAP-Windows Adapter V9)
  4  {676FC95C-4301-43B8-BEAC-D69F75EB7463} (VMware Virtual Ethernet Adapter)
  5  {42159F16-615F-4F33-936F-121A84D60E21} (Oracle)
  6  {BF540878-2DF5-46C2-B86C-1E46C5146A93} (Intel(R) 82574L Gigabit Network Connection)
Press Enter to continue...
neozeed
Posts: 176
Joined: Tue 08 Jul, 2014 4:41 am
Location: Hong Kong SAR
Contact:

Re: Networking discussion

Post by neozeed »

Ok, so your winpcap is newer I guess, still version 4.13 although yours reports version 10 build 5001? When you list them it only shows the GUID... so I guess at that same time, it makes sense that whatever is in the name field needs t be consistent.

Pcap version [WinPcap version 4.1.3 (packet.dll version 4.1.0.2980), based on libpcap version 1.0 branch 1_0_rel0b (20091008)]
Pcap version [WinPcap version 4.1.3 (packet.dll version 10, 1, 0, 5001), based on libpcap version 1.0 branch 1_0_rel0b (20091008)]

Good to know at any rate!

I assume it works fine?
User avatar
ender
Posts: 51
Joined: Tue 14 Oct, 2014 12:51 pm

Re: Networking discussion

Post by ender »

I've got Win10pcap installed, maybe that's the reason.
neozeed wrote:I assume it works fine?
Yup, no problems that I noticed.

BTW, do you plan to add any configuration UI for network?
neozeed
Posts: 176
Joined: Tue 08 Jul, 2014 4:41 am
Location: Hong Kong SAR
Contact:

Re: Networking discussion

Post by neozeed »

ender wrote:I've got Win10pcap installed, maybe that's the reason.
neozeed wrote:I assume it works fine?
Yup, no problems that I noticed.

BTW, do you plan to add any configuration UI for network?
Yeah, my laptop decided to die on me, so that has basically taken me out of the race so to speak, I've had to use my work machine...

But I just scored an old laptop with Windows 7, and like an idiot I wasted a day and got Windows 10 running on it. I know with a UI I can scroll through whatever pcap tells me is there, so it won't matter if it's registery names, GUIDS, or whatever else they chose to represent ethernet cards.

I also wanted to work in something like the DOSBox ipxrelay thing as well. I need to bug someone else about some kind of discovery service, or maybe not bother. I kind of imagine stuff like deathmatches with it, but maybe I'm dreaming.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: Networking discussion

Post by ppgrainbow »

*yawn*

Has anyone tried running DESQview/X with the NE2000 network card? According to the ToastyTech article on DESQview/X, you can run applications remotely!

Anyone have a idea how this can be done with the current revision of PCem and other emulated machines such as VMware Player and VirtualBox?
amadama
Posts: 57
Joined: Mon 25 Aug, 2014 9:47 pm

Re: Networking discussion

Post by amadama »

Yes, I have it running it in QEMU, MAME and on a real machine.
See my posting on BetaArchive:
http://www.betaarchive.com/forum/viewtopic.php?t=28286

Some instruction on how to install in MESS (not from me):
http://forums.bannister.org/ubbthreads. ... mber=86865
(you will need to adapt the network install as at the time of writing the 3com emulation was used in these intructions)
neozeed
Posts: 176
Joined: Tue 08 Jul, 2014 4:41 am
Location: Hong Kong SAR
Contact:

Re: Networking discussion

Post by neozeed »

ppgrainbow wrote:*yawn*

Has anyone tried running DESQview/X with the NE2000 network card? According to the ToastyTech article on DESQview/X, you can run applications remotely!

Anyone have a idea how this can be done with the current revision of PCem and other emulated machines such as VMware Player and VirtualBox?
Ive done it once before. it was a little underwhelming. Maybe it would be cool before linux, but it needing quemm and novel TCP/IP.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: Networking discussion

Post by ppgrainbow »

amadama wrote:Yes, I have it running it in QEMU, MAME and on a real machine.
See my posting on BetaArchive:
http://www.betaarchive.com/forum/viewtopic.php?t=28286

Some instruction on how to install in MESS (not from me):
http://forums.bannister.org/ubbthreads. ... mber=86865
(you will need to adapt the network install as at the time of writing the 3com emulation was used in these intructions)
Thank you so much for the help. I heard that LSL.COM and TCPIP.EXE are huge memory hogs when trying to load the network drivers to use under DESQview/X.

Can these drivers be loaded and unloaded? If so, can it be done by modifying the DVX.BAT file?

The AMI WinBIOS 486 66 MHz machine for example has 612 KB of free memory under 1 MB and 598 KB of memory used as the largest executable size.
Last edited by ppgrainbow on Tue 08 Sep, 2015 10:26 pm, edited 1 time in total.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: Networking discussion

Post by ppgrainbow »

neozeed wrote:
ppgrainbow wrote:*yawn*

Has anyone tried running DESQview/X with the NE2000 network card? According to the ToastyTech article on DESQview/X, you can run applications remotely!

Anyone have a idea how this can be done with the current revision of PCem and other emulated machines such as VMware Player and VirtualBox?
Ive done it once before. it was a little underwhelming. Maybe it would be cool before linux, but it needing quemm and novel TCP/IP.
Thank you for the link. Because I installed DESQview/X without any networking, I will have to install networking first before I can use it.
amadama
Posts: 57
Joined: Mon 25 Aug, 2014 9:47 pm

Re: Networking discussion

Post by amadama »

neozeed's writeup is very good. I would add a few things:
Install Windows 3.1 before installing Desqview/X (dvx will recognize it and configure itself for use with Windows).
Haven't tried it out in PCem, but in QEMU and VMWare qemm will bomb out during the aggressive memory optimization parts thus leaving you with a lot less ram available.
You may need to use an older version of ctmouse.
Arachne will probably not work in DOS session.
Good luck and have fun.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: Networking discussion

Post by ppgrainbow »

amadama wrote:neozeed's writeup is very good. I would add a few things:
Install Windows 3.1 before installing Desqview/X (dvx will recognize it and configure itself for use with Windows).
Haven't tried it out in PCem, but in QEMU and VMWare qemm will bomb out during the aggressive memory optimization parts thus leaving you with a lot less ram available.
You may need to use an older version of ctmouse.
Arachne will probably not work in DOS session.
Good luck and have fun.
QEMM memory optimisation does work in PCem. I don't know if QEMM optimisation has been tested in Bochs either.
Windows for Workgroups 3.11 does not work in DESQview/X, because WFW 3.11 removed Standard Mode support and required a 386-based PC to run.

Why will Arachne never work in a DESQview-based MS-DOS session, btw?
amadama
Posts: 57
Joined: Mon 25 Aug, 2014 9:47 pm

Re: Networking discussion

Post by amadama »

I did not say WfW 3.11, I said Windows 3.1. What does Bochs have anything to do here?
Arachne requires it's own packet driver which DVX will not provide to a DOS session. People have gotten Arachne working by using two NICs in a real machine with one dedicated to Arachne.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: Networking discussion

Post by ppgrainbow »

amadama wrote:I did not say WfW 3.11, I said Windows 3.1. What does Bochs have anything to do here?
Arachne requires it's own packet driver which DVX will not provide to a DOS session. People have gotten Arachne working by using two NICs in a real machine with one dedicated to Arachne.
Oh, okay. I don't think that no one has tested Bochs.

As for DVX, I don't think that you'll be able to achieve more than 500 KB in a DVX-based MS-DOS session without having to optimise memory using QEMM and including a lot of UMB address segments.
neozeed
Posts: 176
Joined: Tue 08 Jul, 2014 4:41 am
Location: Hong Kong SAR
Contact:

Re: Networking discussion

Post by neozeed »

amadama wrote: Arachne requires it's own packet driver which DVX will not provide to a DOS session. People have gotten Arachne working by using two NICs in a real machine with one dedicated to Arachne.
Closest thing to that is that I did have an OS/2 machine with one NIC for Novell traffic, and another for TCP/IP.

That almost makes me want to try Novell Netware on OS/2, but it's such a bear to fight I don't think it'll be worth the war.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: Networking discussion

Post by ppgrainbow »

I've noticed that whenever I start PCem (the debugger version renamed as PCem.exe), the slirplog.txt file gets created everywhere.

For example I have the disk images when I start the AMI 386 clone machine inside D:\PCem\disks\ami386 subdirectory, the slirplog.txt file gets created in that sub directory.

I'm wondering if there is a way to fix some of the issues to a point where the slirplog.txt file always remains in the directory where I start PCem and not anyplace else.

I also noticed that in the slirplog.txt, it contains the lines, "Slirp Cockatrice special". I'm wondering if that line could be changed to "PCem SLiRP".

Also, would it be better to add the ability to configure network options in the PCem dialog, including the option to either use SLiRP or WinPcap based networking?

I mean, since networking support isn't going to make it in v10, I'm guessing that it might make in in v10.1. :p
neozeed
Posts: 176
Joined: Tue 08 Jul, 2014 4:41 am
Location: Hong Kong SAR
Contact:

Re: Networking discussion

Post by neozeed »

ppgrainbow wrote:I've noticed that whenever I start PCem (the debugger version renamed as PCem.exe), the slirplog.txt file gets created everywhere.

For example I have the disk images when I start the AMI 386 clone machine inside D:\PCem\disks\ami386 subdirectory, the slirplog.txt file gets created in that sub directory.

I'm wondering if there is a way to fix some of the issues to a point where the slirplog.txt file always remains in the directory where I start PCem and not anyplace else.

I also noticed that in the slirplog.txt, it contains the lines, "Slirp Cockatrice special". I'm wondering if that line could be changed to "PCem SLiRP".

Also, would it be better to add the ability to configure network options in the PCem dialog, including the option to either use SLiRP or WinPcap based networking?

I mean, since networking support isn't going to make it in v10, I'm guessing that it might make in in v10.1. :p
The log file opens where you start the exe.

Code: Select all

int slirp_init(void)
{
#ifdef SLIRP_DEBUG
    //  debug_init("/tmp/slirp.log", DEBUG_DEFAULT);
    //  debug_init("slirplog.txt",DEBUG_DEFAULT);
	debug_init("slirplog.txt",DBG_CALL);

Code: Select all

void
debug_init(file, dbg)
	char *file;
	int dbg;
{
	/* Close the old debugging file */
	if (dfd)
	   fclose(dfd);
	
	dfd = fopen(file,"w");
So if you start it in c:\temp it'll put the log in c:\temp.

Even PCem does it.

Code: Select all

FILE *pclogf;
void pclog(const char *format, ...)
{
#ifndef RELEASE_BUILD
   char buf[1024];
   //return;
   if (!pclogf)
      pclogf=fopen("pclog.txt","wt");
Neither parse argv[0] to pull the path of the EXE and dump logs there. It's a feature.

Well this slirp code did come from

Code: Select all

Cockatrice
, which in turn came from Basilisk II, which in turn came from

Code: Select all

Qemu
, which in turn came from SLiRP.

If anything, it's more so my fork that I've renamed a bunch of stuff so it doesn't collide with local TCP/IP symbols, and a few fixes I found while getting Internet Explorer 3 & 4 running on MacOS. I'll re-use it again in Dynamips as I add a SLiRP module for natting IN/OUT of virtual networks.

Maybe I should give it it's own name, make it a DLL. I guess.
neozeed
Posts: 176
Joined: Tue 08 Jul, 2014 4:41 am
Location: Hong Kong SAR
Contact:

Re: Networking discussion

Post by neozeed »

Oh yeah, before I get new build based on build 347.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: Networking discussion

Post by ppgrainbow »

neozeed wrote:Oh yeah, before I get new build based on build 347.
Thanks for the update! :)
neozeed
Posts: 176
Joined: Tue 08 Jul, 2014 4:41 am
Location: Hong Kong SAR
Contact:

Re: Networking discussion

Post by neozeed »

User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: Networking discussion

Post by SarahWalker »

What's the current status of this? Is it stable enough for me to look at merging it?
rakzom
Posts: 7
Joined: Mon 16 Nov, 2015 9:20 pm

Re: Networking discussion

Post by rakzom »

So i did a little experiment with the slirp version of PCEm.
I've set up pywb (https://github.com/ikreymer/pywb) to fetch archived pages from the Internet Archive at a fixed date.
Pywb acts as a HTTP proxy which is used by the browser running in PCem.
With this setup, you can browse the internets like it's 1998 all over again!

Image
jznomoney
Posts: 97
Joined: Sat 06 Dec, 2014 9:11 pm

Re: Networking discussion

Post by jznomoney »

any news on this thread?
Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

Re: Networking discussion

Post by Battler »

As I said, I have taken Neozeed's work further and even added the first PCI network card, the RTL8029AS (also known as the NE2000 PCI), but I first want to get that working right before I am going to commit an official patch. I'm also going to have to add a way to list PCap devices in PCem settings.
neozeed
Posts: 176
Joined: Tue 08 Jul, 2014 4:41 am
Location: Hong Kong SAR
Contact:

Re: Networking discussion

Post by neozeed »

I had to take an unexpected long trip and it's left me with no time for fun stuff.. I need to get someone to poke my dev box as I guess it's asleep.

The only good news is that I did score an i7 laptop. . And an older mac book, so I should be in a good build space soon.

Pulling the NIC list isn't too hard check that ethlist.c. .. it shouldn't be too hard to stitch the bits together. Also from a few other projects I've helped in there should be more slirp updates. And I'd love to see some ability to run more than one pcem with GNU bios components so we can add it into GNS3...
Post Reply