Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problem with amd lance driver on virtual box

69 views
Skip to first unread message

axjs...@gmail.com

unread,
Feb 11, 2008, 4:45:25 AM2/11/08
to axjs...@gmail.com
Hello... maybe you have already talk about this, but i didn't find
it.... I began some experiment on Minix 3.1.3a, but I have some
problems with Lance driver. I use Virtualbox (virtual machine), that
use the amd lance (PCnet) like network card. Now the problem is that
whe the system start give me some errors like this

Starting services: random lance inetLANCE: DMA deneid beacause addres
out of range
osdep_eth_init:no ethernet device on task=35594,port=0
rth_set_ret_conf: waiting for device to appear
eth_ioctl: suspending NWIOGETHSTAT ioctl


I try start with pci debug, but give me a lot of ripetitive debug,
that tell more less the same thing.
I try to contact ktak...@jcom.home.ne.jp but gmail tell me that is a
wrong address. Please, help me if you can.

Thank you
Alex
http://www.fsugitalia.org/ (only Italy)
http://www.fsugitalia.org/minix3 (only Italy)

Bob Woodside

unread,
Feb 11, 2008, 9:57:43 AM2/11/08
to

<axjs...@gmail.com> wrote in message
news:1a4a27c4-6b67-4090...@h11g2000prf.googlegroups.com...

> Hello... maybe you have already talk about this, but i didn't find
> it.... I began some experiment on Minix 3.1.3a, but I have some
> problems with Lance driver. I use Virtualbox (virtual machine), that
> use the amd lance (PCnet) like network card. Now the problem is that
> whe the system start give me some errors like this
>
> Starting services: random lance inetLANCE: DMA deneid beacause addres
> out of range
> osdep_eth_init:no ethernet device on task=35594,port=0
> rth_set_ret_conf: waiting for device to appear
> eth_ioctl: suspending NWIOGETHSTAT ioctl
>

Look at the Release Notes page under Known Bugs and Caveats:

http://www.minix3.org/download/releasenotes-3.1.3.html

You have to boot the "small" minix image to get the Lance driver to work
(selection 2). With the small image, everything should work fine.

(I have the same problem, because I use VMware, and Lance is the only
supported NIC emulated by VMware.)

- Bob

axjs...@gmail.com

unread,
Feb 11, 2008, 12:04:07 PM2/11/08
to
On Feb 11, 3:57 pm, "Bob Woodside" <minix...@woodsway.com> wrote:
> <axjsl...@gmail.com> wrote in message

Sorry, but is not true.... so the system tell me :

Assertion "0" failed, file lance.c, line 634
eth_restart: sendrec to ethernet task XXXXX : -108

XXXXX it's a number that every time that give me message grow up.
And give me this message continosly... thak you for the advice, but
it doesn't work

Bob Woodside

unread,
Feb 11, 2008, 8:49:25 PM2/11/08
to

<axjs...@gmail.com> wrote in message
news:c6d9426d-5fb8-47d0...@f10g2000hsf.googlegroups.com...

> On Feb 11, 3:57 pm, "Bob Woodside" <minix...@woodsway.com> wrote:
>> <axjsl...@gmail.com> wrote in message
>>
>> news:1a4a27c4-6b67-4090...@h11g2000prf.googlegroups.com...
>>
>> > ...problems with Lance driver. I use Virtualbox (virtual machine), that

>> > use the amd lance (PCnet) like network card. Now the problem is that
>> > whe the system start give me some errors like this
>>
>> > Starting services: random lance inetLANCE: DMA deneid beacause addres
>> > out of range
>> > osdep_eth_init:no ethernet device on task=35594,port=0
>> > rth_set_ret_conf: waiting for device to appear
>> > eth_ioctl: suspending NWIOGETHSTAT ioctl
>>
>> Look at the Release Notes page under Known Bugs and Caveats:
>>
>> http://www.minix3.org/download/releasenotes-3.1.3.html
>>
>> You have to boot the "small" minix image to get the Lance driver to work
>> (selection 2). With the small image, everything should work fine.
>>
>> (I have the same problem, because I use VMware, and Lance is the only
>> supported NIC emulated by VMware.)
>>
>> - Bob
>
> Sorry, but is not true.... so the system tell me :
>
> Assertion "0" failed, file lance.c, line 634
> eth_restart: sendrec to ethernet task XXXXX : -108
>
> XXXXX it's a number that every time that give me message grow up.
> And give me this message continosly... thak you for the advice, but
> it doesn't work

Sorry. Your original symptoms were the same as I had with VMware, and
booting the small image as documented on the Minix3 website worked just
fine. I've never tried VirtualBox.

This new error message (lance.c commints suicide with a hard-coded assert
(0) at line 634) looks like either a) Virtual Box's Lance emulation is
buggy, b) there may be some VirtualBox configuration settings you need to
make for the Lance emulation, or c) there's a bug in the Minix driver --
I've no idea which.

(The "XXXXX" messages are just Minix continuously trying to restart the
failed driver -- fairly useless in this situation, I think.)

I don't suppose you'd care to give VMware Server a try (it's free)?

- Bob


Message has been deleted

Bob Woodside

unread,
Feb 11, 2008, 8:54:20 PM2/11/08
to

<axjs...@gmail.com> wrote in message
news:c6d9426d-5fb8-47d0...@f10g2000hsf.googlegroups.com...

> On Feb 11, 3:57 pm, "Bob Woodside" <minix...@woodsway.com> wrote:
>> <axjsl...@gmail.com> wrote in message
>>
>> news:1a4a27c4-6b67-4090...@h11g2000prf.googlegroups.com...
>>
>> > ...problems with Lance driver. I use Virtualbox (virtual machine), that

>> > use the amd lance (PCnet) like network card. Now the problem is that
>> > whe the system start give me some errors like this
>>
>> > Starting services: random lance inetLANCE: DMA deneid beacause addres
>> > out of range
>> > osdep_eth_init:no ethernet device on task=35594,port=0
>> > rth_set_ret_conf: waiting for device to appear
>> > eth_ioctl: suspending NWIOGETHSTAT ioctl
>>
>> Look at the Release Notes page under Known Bugs and Caveats:
>>
>> http://www.minix3.org/download/releasenotes-3.1.3.html
>>
>> You have to boot the "small" minix image to get the Lance driver to work
>> (selection 2). With the small image, everything should work fine.
>>
>> (I have the same problem, because I use VMware, and Lance is the only
>> supported NIC emulated by VMware.)
>>
>> - Bob
>
> Sorry, but is not true.... so the system tell me :
>
> Assertion "0" failed, file lance.c, line 634
> eth_restart: sendrec to ethernet task XXXXX : -108
>
> XXXXX it's a number that every time that give me message grow up.
> And give me this message continosly... thak you for the advice, but
> it doesn't work

Sorry. Your original symptoms were the same as I had with VMware, and


booting the small image as documented on the Minix3 website worked just
fine. I've never tried VirtualBox.

This new error message (lance.c commits suicide with a hard-coded assert

Message has been deleted

axjs...@gmail.com

unread,
Feb 12, 2008, 8:51:02 AM2/12/08
to
Yes.... for two good reason....

1) It's only free use, not "Free", and is in contrast with my ideas
about software.....

2) I'm running VirtualBox on Slackware GNU/ Linux with 2.6.24... and
now have a lot of problem with VMWARE

3) VirtulBox apperar to be more semply, and we are tryng to realize
immage standard to begin a project of development for some people on
minix, and have to be unified..... , so VMWARE is non the perfect
choise...


I'm tryng kqemu (the version with kvm), but it compile in qemu-system-
ia64.... (I have a core 2 duo), and minix don't start on 64bit system
(I'm not sure about this, but, It doesent go after the boot select of
installation disc)

Ben Gras

unread,
Feb 11, 2008, 9:03:56 AM2/11/08
to
All,

On 2008-02-11, axjs...@gmail.com <axjs...@gmail.com> wrote:
> Starting services: random lance inetLANCE: DMA deneid beacause addres
> out of range
> osdep_eth_init:no ethernet device on task=35594,port=0
> rth_set_ret_conf: waiting for device to appear
> eth_ioctl: suspending NWIOGETHSTAT ioctl

Because loading processes into memory currently happens in the first
memory hole that's large enough, if processes that are loaded in an
early stage are large enough, the lance driver gets loaded above 16MB
(in physical memory). It can't do DMA above 16MB. The "solution"
(workaround until a real solution is implemented) is to recompile the
system with less filesystem buffers, so MFS (the largest processes) is
smaller; these lines in <minix/config.h>:

#if (MACHINE == IBM_PC && _WORD_SIZE == 4)
#define NR_BUFS 1200 /* # blocks in the buffer cache */
#define NR_BUF_HASH 2048 /* size of buf hash table; MUST BE POWER OF 2*/
#endif

Make that NR_BUFS smaller (and HASH too), recompile, and restart..

=Ben


axjs...@gmail.com

unread,
Feb 12, 2008, 3:49:46 PM2/12/08
to
On Feb 11, 3:03 pm, Ben Gras <b...@few.vu.nl> wrote:
> All,

but it's already 32... you think that have to be smaller again

axjs...@gmail.com

unread,
Feb 12, 2008, 4:17:13 PM2/12/08
to

>
> but it's already 32... you think that have to be smaller again

sorry.... i read in the wrong place.... now i think that i have to do
make world (I'doing)
I use 1024 instead of 2048.... I'm tryng

axjs...@gmail.com

unread,
Feb 12, 2008, 5:43:41 PM2/12/08
to

But... how can I boot the new kernel?

axjs...@gmail.com

unread,
Feb 13, 2008, 3:49:07 AM2/13/08
to

Ok, I make boot my modified kernel version, but there was the same
problem that give me the SmallMinix .....

Assertion "0" failed, file lance.c, line 634
eth_restart: sendrec to ethernet task XXXXX : -108


So, now I think that the problem regarding expecially the driver
Lance. Probably, the virtualbox staff use a diffrent version of amd-
lance, instead of the version that use VMWARE. Know, I think there's
no solution for the moment.... the only Idea was to contact the autor
of the driver, but is unfindable.

J.F. de Smit

unread,
Feb 13, 2008, 5:12:44 AM2/13/08
to
axjs...@gmail.com wrote:
<snip virtualbox/vmware stuff>

> I'm tryng kqemu (the version with kvm), but it compile in qemu-system-
> ia64.... (I have a core 2 duo), and minix don't start on 64bit system
> (I'm not sure about this, but, It doesent go after the boot select of
> installation disc)

QEmu and Minix do not agree on their interpretation of the PCI
specification, causing trouble when booting Minix on QEmu. Try escaping ot
the boot monitor by pressing "Esc" when asked what to boot, type
"qemu_pci=1" and continue with "boot". If this works, you'll have to
repeat this step when hard disk installation is complete, but you'll also
have to type "save" in between "qemu_pci=1" and "boot" to make the changes
permanent. See also elsewhere in this group.

Another thing you might try is actually disabling the kqemu acceleration:
I did not get Minix to boot with kqemu enabled, but it runs perfectly
without it.

Regards,

Jens

--
Jens de Smit
Student 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

Philip Homburg

unread,
Feb 13, 2008, 7:42:48 AM2/13/08
to
In article <foufqs$jqh$1...@star.cs.vu.nl>,

J.F. de Smit <jst...@keg.few.vu.nl> wrote:
>Another thing you might try is actually disabling the kqemu acceleration:
>I did not get Minix to boot with kqemu enabled, but it runs perfectly
>without it.

That's because there is a bug in the emulation. Remove the halt instruction
from the boot monitor, and it should work fine.

(I don't know if anyone ever submitted a bug report to the kvm developers about
this issue)


--
That was it. Done. The faulty Monk was turned out into the desert where it
could believe what it liked, including the idea that it had been hard done
by. It was allowed to keep its horse, since horses were so cheap to make.
-- Douglas Adams in Dirk Gently's Holistic Detective Agency

Axj Fsugitalia

unread,
Feb 15, 2008, 11:26:54 AM2/15/08
to
On Feb 13, 11:12 am, "J.F. de Smit" <jst...@keg.few.vu.nl> wrote:

> axjsl...@gmail.com wrote:
>
> <snip virtualbox/vmware stuff>
>
> > I'm tryng kqemu (the version with kvm), but it compile in qemu-system-
> > ia64.... (I have a core 2 duo), and minix don't start on 64bit system
> > (I'm not sure about this, but, It doesent go after the boot select of
> > installation disc)
>
> QEmu and Minix do not agree on their interpretation of the PCI
> specification, causing trouble when booting Minix on QEmu. Try escaping ot
> the boot monitor by pressing "Esc" when asked what to boot, type
> "qemu_pci=1" and continue with "boot". If this works, you'll have to
> repeat this step when hard disk installation is complete, but you'll also
> have to type "save" in between "qemu_pci=1" and "boot" to make the changes
> permanent. See also elsewhere in this group.
>
> Another thing you might try is actually disabling the kqemu acceleration:
> I did not get Minix to boot with kqemu enabled, but it runs perfectly
> without it.
>
> Regards,
>
> Jens
>
> --
> Jens de Smit
> Student Computer Science | Vrije Universiteit Amsterdam
> jfds...@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

I use kvm version of qemu, and if I boot without kvm module, I saw
only the black screen, or, if I use it, I saw the boot selector, but
I'm unable to do anything... it's blocked...
With qemu_pci=1 it's the same.... nothing change..... I think it's a
problem of cpu

Iz

unread,
Feb 18, 2008, 8:08:21 AM2/18/08
to
On 11 fév, 18:04, axjsl...@gmail.com wrote:
> On Feb 11, 3:57 pm, "Bob Woodside" <minix...@woodsway.com> wrote:
>
>
>
> > <axjsl...@gmail.com> wrote in message
>
> >news:1a4a27c4-6b67-4090...@h11g2000prf.googlegroups.com...
>
> > > Hello... maybe you have already talk about this, but i didn't find
> > > it.... I began some experiment on Minix 3.1.3a, but I have some
> > > problems with Lance driver. I use Virtualbox (virtual machine), that
> > > use the amd lance (PCnet) like network card. Now the problem is that
> > > whe the system start give me some errors like this
>
> > > Starting services: random lance inetLANCE: DMA deneid beacause addres
> > > out of range
> > > osdep_eth_init:no ethernet device on task=35594,port=0
> > > rth_set_ret_conf: waiting for device to appear
> > > eth_ioctl: suspending NWIOGETHSTAT ioctl
>
> > Look at the Release Notes page under Known Bugs and Caveats:
>
> >http://www.minix3.org/download/releasenotes-3.1.3.html
>
> > You have to boot the "small" minix image to get the Lance driver to work
> > (selection 2). With the small image, everything should work fine.
>
> > (I have the same problem, because I use VMware, and Lance is the only
> > supported NIC emulated by VMware.)
>
> > - Bob
>
> Sorry, but is not true.... so the system tell me :
>
> Assertion "0" failed, file lance.c, line 634
> eth_restart: sendrec to ethernet task XXXXX : -108

I have networking working (sic) using the Lance driver under
VirtualBox, if you're interested.
Warning: I haven't really dug into the problem, this is just a dirty
hack.

What you need to do is edit lance.c and remove the offending
assertion, iow change lines 632+ like this:
- if (ec->ec_linmem != 0)
- {
- assert( 0 );
- /*phys2seg(&ec->ec_memseg, &ec->ec_memoff, ec->ec_linmem);*/
- }
-
-/* XXX */ if (ec->ec_linmem == 0) ec->ec_linmem= 0xFFFF0000;
+ ec->ec_linmem= 0xFFFF0000;

Then recompile your system and reboot your new image. In order to
avoid above mentioned DMA issues however, recompile a "small" image:
# cd /usr/src/tools
# make image_small
# cp image_small /boot

Usually, networking does not work further at boot than DHCP settings
(no other packet will go in/out). However, killing the lance driver
process does the trick (with a little help of the reincarnation
server) and everything should work fine:
# kill -9 60
(Lance's pid is always 60 here)

PS: Keep in mind the default VirtualBox network setting (NAT) does /
not/ support ICMP pings when you'll want to test your new driver
connectivity.

Axj Fsugitalia

unread,
Feb 18, 2008, 12:42:08 PM2/18/08
to

Is not really clear what I have to do, but I will try..... so...

i have to remove this

- if (ec->ec_linmem != 0)
> - {
> - assert( 0 );
> - /*phys2seg(&ec->ec_memseg, &ec->ec_memoff, ec->ec_linmem);*/
> - }
> -
> -/* XXX */ if (ec->ec_linmem == 0) ec->ec_linmem= 0xFFFF0000;

and insert only this....

ec->ec_linmem= 0xFFFF0000;

right?
Then I have to use minix_small.... but if it works i can try with the
original image with the BF_HASH reduced.... isn't so?

Iz

unread,
Feb 18, 2008, 2:24:35 PM2/18/08
to
On 18 fév, 18:42, Axj Fsugitalia <axjsl...@gmail.com> wrote:
>
> Is not really clear what I have to do, but I will try..... so...
>
> i have to remove this
>
> - if (ec->ec_linmem != 0)
>
> - {
> - assert( 0 );
> - /*phys2seg(&ec->ec_memseg, &ec->ec_memoff, ec->ec_linmem);*/
> - }
> -
> -/* XXX */ if (ec->ec_linmem == 0) ec->ec_linmem= 0xFFFF0000;
>
> and insert only this....
>
> ec->ec_linmem= 0xFFFF0000;
>
> right?

That's the idea.

> Then I have to use minix_small....

Yes.

> but if it works i can try with the
> original image with the BF_HASH reduced.... isn't so?

Sure.

0 new messages