VOGONS

Common searches


First post, by JesterXIII

User metadata
Rank Newbie
Rank
Newbie

Hey everyone! After scouring as much as I could, I come to you guys because I'm at a loss.

Here's what I'm using (trying to, at least):
Windows 8 (host)
Intel 82579LM Gigabit Network Connection (Onboard)
Megabuild 6
DOSODI files (as per http://home.arcor.de/h-a-l-9000/ne2kstuff/db_ne2000.html)
mTCP (2013-05-23)

Right, so, now into the passthrough configuration.
1. Setup wpcap. Check.

rpcap://\Device\NPF_{8155487F-A303-4442-B291-3030AC41F417} 
(Network adapter 'Intel(R) 82579LM Gigabit Network Connection' on local host)

2. Follow the ne2000 passthrough instructions, starting with lsl.com

Configuration file used was "C:\MTCP\NE\NET.CFG" 
Max Boards 4, Max Stacks 4

3. ne2000.com, also runs successfully

IRQ 3, Port 300, Node Address ACDE488899AA L, Max Frame 1514 bytes
Line Speed 10 Mbps, Bus ID 0
Board 1, Frame ETHERNET_803.2, LSB Mode

4. ipxodi.com, successful

Bound to logical board 1 (NE2000) : Protocol ID E0

Now, mTCP is where I have the issue. It doesn't matter what IP I get, so I'm just going to try to DHCP. My configuration text is as follows:

PACKETINT 60
HOSTNAME logdos

Admittedly, I'm 90% confident the PACKETINT is my issue. I've tried almost every number I can think of. I would ASSUME it is 300, being that is the port reported back from NE2000. But I have seen a lot of things that imply NE2000 should be on 60. Neither of these variables seem to change the issue, however.

So, I set my global (set MTCPCFG=C:\mtcp\packet\tcp.cfg) and then I attempt to run dhcp in C:\mtcp, and I get the error:

Init:  Could not access packet driver at INT 0x60
Could not initialize TCP/IP stack.

Here's my net.cfg (included with the DOSODI and untouched):

Link Driver NE2000
PORT 300
INT 3
FRAME Ethernet_802.2

Anyway, I'm curious as to how I set the PACKETINT properly for mTCP to interact with the Megabuild packages, if that is the issue.

Any thoughts or suggestions? Thanks! 😀

Reply 1 of 8, by mbbrutman

User metadata
Rank Member
Rank
Member

There is a difference between a hardware interrupt and a software interrupt.

The hardware interrupt is used to signal to the packet driver that a new packet has arrived. That is usually a low number, such as 3, 5, etc.

The software interrupt is used to allow mTCP (or other software) to communicate with the packet driver. It's like the DOS software interrupt (21) except this software interrupt provides packet services. These software interrupts are in the range of 0x60 to 0x7F.

On your NE2000 command line you will need to specify both the software interrupt and the hardware interrupt. My NE2000 command line looks like this:

ne2000 0x60 3

That says reserve software interrupt 0x60 for communication with the packet driver and use hardware interrupt 3 for communication with the (emulated) hardware.

(Trivia: Intel processors do not care if it is a software or hardware interrupt. It's just one big interrupt table.)

Reply 2 of 8, by JesterXIII

User metadata
Rank Newbie
Rank
Newbie
mbbrutman wrote:
There is a difference between a hardware interrupt and a software interrupt. […]
Show full quote

There is a difference between a hardware interrupt and a software interrupt.

The hardware interrupt is used to signal to the packet driver that a new packet has arrived. That is usually a low number, such as 3, 5, etc.

The software interrupt is used to allow mTCP (or other software) to communicate with the packet driver. It's like the DOS software interrupt (21) except this software interrupt provides packet services. These software interrupts are in the range of 0x60 to 0x7F.

On your NE2000 command line you will need to specify both the software interrupt and the hardware interrupt. My NE2000 command line looks like this:

ne2000 0x60 3

That says reserve software interrupt 0x60 for communication with the packet driver and use hardware interrupt 3 for communication with the (emulated) hardware.

(Trivia: Intel processors do not care if it is a software or hardware interrupt. It's just one big interrupt table.)

Thanks for the info!

Looking at it now, though, the packaged ODI that includes the ne2000.com does not take...well, any parameters other than S (Show resident LAN drivers in memory), U (Unloads resident LAN driver from memory), and ? (Displays the help screen).

However, a standalone ne2000 (acquired from http://www.crynwr.com/drivers/) will allow me to give it these parameters.

The only problem is that when I try to continue with running the ipxodi.com after, I get the following message:

IPXODI-303-19:  A network adapter driver must be loaded before IPXODI.com can
be loaded.

It doesn't seem I really need the ipxodi, though. The mtcp commands seem to start working pretty much right after I run the ne2000.com standalone. So for anyone else looking to do this, I would say you don't need to run the lsl.com. In fact, don't use the ODI that is packaged at http://home.arcor.de/h-a-l-9000/ne2kstuff/db_ne2000.html.

Thanks!

Reply 4 of 8, by JesterXIII

User metadata
Rank Newbie
Rank
Newbie
mbbrutman wrote:

The mTCP setup instructions are pretty clear and very verbose. All you need for mTCP is the packet driver.

What are you trying to accomplish with the other drivers?

No doubt, but I think I got turned around when I stumbled across hal9000's build, and how he was giving instructions to setup an ne2000 pass through. So, somehow, my brain thought that means I need to enable the pass through (via his guide) and then interface the configured pass through with mTCP. Only now do I realize all that isn't necessary, and that the Megabuild comes ready to interact with ne2000 drivers.

Reply 5 of 8, by bytesaber

User metadata
Rank Member
Rank
Member

How do you know what one the packet driver is?

My autoexec.bat has..
C:\nwclient\lsl.com
C:\nwclient\3c90x.com
C:\nwclient\ipxodi.com
C:\nwclient\vlm.exe

As well as some other lines, but they appear to be configuration for netware.

I've loaded everything, but "dhcp" still says it can't find my packetdriver at 0x60. How do i know what address my packet driver is at?

Reply 6 of 8, by mbbrutman

User metadata
Rank Member
Rank
Member

If you are using The HAL9000 Megabuilds you need the NE2000 packet driver. It can be found on this page:

http://www.brutman.com/mTCP/mTCP_virtual_environments.html

I suggest reading the mTCP setup text file ... everything you need is there. DOSBox also requires libpcap and some additional configuration to enable the NE2000 emulation. The megabuild page can point you to those.

Reply 7 of 8, by Trajk Logik

User metadata
Rank Newbie
Rank
Newbie

Hello, I read the mTCP setup file and was able to get the NE2000 driver loaded and dhcp working and was able to ping yahoo.com from within DOS, but when I loaded Windows 3.11 and tried to ping yahoo.com from the DOS prompt in Windows, there was a 100% loss.

I'm booting an image file with DOS 6.22 and Windows 3.11. As I said, I can get an IP and ping a website from DOS, but cannot from Win 3.11 on this same image file. I have the NE 20000 compatible driver in Win 3.11 and the TCP32b stack installed and set to DHCP, but I can't get it working in Windows 3.11. I'm sure I've missed something, but what? Any help would be appreciated.

EDIT: I forgot to mention that my host OS is Windows 7 Home Edition 64-bit.

Reply 8 of 8, by mbbrutman

User metadata
Rank Member
Rank
Member

I'm not sure where the confusion is. mTCP is DOS only. After you get through loading Windows 3.x (or any Windows) the machine is in quite a different state. You should be looking for a TCP/IP stack that runs natively in Windows 3.x.

mTCP might be able to work if you apply a few "kludge" devices, like a packet driver that knows how to use whatever networking stack you have installed for Windows.