Fix for Minix 3.1.3a, VMware, and Networking

397 views
Skip to first unread message

Greg King

unread,
Feb 5, 2009, 11:17:25 AM2/5/09
to
VMware emulates the AMD Lance network interface card. The Minix v3.1.3a
LiveCD installs a version of the OS that puts the Lance driver too high in
RAM. DMA (direct memory access) cannot work; therefore, a network
connection is impossible -- no internet!

That problem can be fixxed simply by swapping the position of the Lance
driver with the position of the driver below it:
1. Edit the file "/usr/etc/rc".
2. Go to line 82; it says, "Starting services:". Go to the next line;
it starts with, "up random".
3. "Mark" that line and the lines below it. Mark down to, and including,
the next line that says, "fi".
4. Cut (copy and delete) those lines.
5. Now, go down to the line that says, "up inet".
6. Paste (insert) the lines that you cut out (step 4). Put them just above
that "up inet" line.

Those steps repair the bug. "Lance" is loaded before "random" is loaded;
so, "lance" will sit below the 16 Mibibyte barrier. DMA will work; and,
Minix can connect to a network.
----------------------------------------------------

But, here is another patch that you should put into that script, too.
It will improve the reliability of the network-initiation, in VMware:
7. Go down to the line that says, "intr -t 20 hostaddr -h".
8. Change that "20" to "30".

Sometimes, VMnet takes much longer to answer a DHCP request than other DHCP
servers do. So, Minix should wait for, at least, a half minute before
"giving up".
----------------------------------------------------

Finally, there is a "sleep 5" command about 16 lines up in the file.
You can disable it if you don't like that pause; VMware doesn't need it.
(Does anything need it? It seems, to me, to be in the wrong place. I think
that it should happen before the "/dev/tcp" test. And, that test should be
just above the code that actually needs its result -- the first
'if [ "$net" ]'.)

Lew Pitcher

unread,
Feb 5, 2009, 11:36:41 AM2/5/09
to
On February 5, 2009 11:17, in comp.os.minix, Greg King
(greg....@verizon.nospam.net) wrote:

> VMware emulates the AMD Lance network interface card. The Minix v3.1.3a
> LiveCD installs a version of the OS that puts the Lance driver too high in
> RAM. DMA (direct memory access) cannot work; therefore, a network
> connection is impossible -- no internet!
>
> That problem can be fixxed simply by swapping the position of the Lance
> driver with the position of the driver below it:
> 1. Edit the file "/usr/etc/rc".
> 2. Go to line 82; it says, "Starting services:". Go to the next line;
> it starts with, "up random".

[snip]


> 8. Change that "20" to "30".

Wot? When did Minix drop diff(1) and patch(1)?

;-)

[snip]

--
Lew Pitcher

Master Codewright & JOAT-in-training | Registered Linux User #112576
http://pitcher.digitalfreehold.ca/ | GPG public key available by request
---------- Slackware - Because I know what I'm doing. ------


J.F. de Smit

unread,
Feb 7, 2009, 5:20:56 AM2/7/09
to
Greg King <greg....@verizon.nospam.net> wrote:
> Finally, there is a "sleep 5" command about 16 lines up in the file.
> You can disable it if you don't like that pause; VMware doesn't need it.
> (Does anything need it? It seems, to me, to be in the wrong place. I think
> that it should happen before the "/dev/tcp" test. And, that test should be
> just above the code that actually needs its result -- the first
> 'if [ "$net" ]'.)

I think we've had at least one report where "sleep 5" was too short to get
the network driver up and running and dhcpd and nonamed weren't started,
resulting in a machine with functional Ethernet but no IP or DNS. Still,
it's a clunky way to do it. Perhaps a polling loop with a timeout may do
both the tricks: exit when the test succeeds or the timeout is reached and
base the decision what to do on that.

Regards,

Jens

--
Jens de Smit
Master Computer Science | Vrije Universiteit Amsterdam
jfd...@few.vu.nl | http://www.few.vu.nl/~jfdsmit
"[In the end, people] get furious at IT that the goddamn magic isn't working"
-- Stewart Dean

Reply all
Reply to author
Forward
0 new messages