I'm continuing to have trouble with the ne2000 driver, and I'm honestly not sure how to fix it.
I've been poking around a little, so I'll put a diff from my tree as well.
Basically, the problem i see is that BusType and BusNumber from
IoGetDeviceProperty(..., DevicePropertyLegacyBusType, ..., &Adapter->BusType, ...)
and
IoGetDeviceProperty(..., DevicePropertyLegacyBusNumber, ...)
are always -1 in drivers/net/ndis/ndis/miniport.c, line 1404.
Even when i force these values to sensible ones (Isa, 0), the ne2000 gives 0xff for all the bytes of the mac address.
I should mention that I'm using qemu. I've tried my trusty 32-bit 0.5.5 build, 32-bit 0.6.0, and 64-bit 0.6.0 builds.
http://64.81.145.152/~arty/ne2000-goodies.zip --> arty/arty-poke.diff --> arty/run-log.txt --> arty/qemu-0.* (various versions of qemu i tested if it helps)
art yerkes wrote:
Basically, the problem i see is that BusType and BusNumber from
IoGetDeviceProperty(..., DevicePropertyLegacyBusType, ..., &Adapter->BusType, ...)
and
IoGetDeviceProperty(..., DevicePropertyLegacyBusNumber, ...)
are always -1 in drivers/net/ndis/ndis/miniport.c, line 1404.
That's not problem. In case IoGetDeviceProperty fails, these values really should be read from registry. This is not implemented yet, but it shouldn't matter because these values are used only by the PCI specific code (which obviously isn't used by the NE2K driver).
I should mention that I'm using qemu. I've tried my trusty 32-bit 0.5.5 build, 32-bit 0.6.0, and 64-bit 0.6.0 builds.
It works for me with QEMU 2004-10-09 in ISA mode (I haven't tested PCI mode...). What's the result of "info network" command on QEMU console?
Regards, Filip
That's not problem. In case IoGetDeviceProperty fails, these values really should be read from registry. This is not implemented yet, but it shouldn't matter because these values are used only by the PCI specific code (which obviously isn't used by the NE2K driver).
HalTranslateBusAddress does use these values though. HaliReferenceHandlerForBus definately needs to see a matching BusNumber.
I should mention that I'm using qemu. I've tried my trusty 32-bit 0.5.5 build, 32-bit 0.6.0, and 64-bit 0.6.0 builds.
It works for me with QEMU 2004-10-09 in ISA mode (I haven't tested PCI mode...). What's the result of "info network" command on QEMU console?
I run qemu as:
qemu -isa -monitor stdio -hda /dev/hdb
QEMU PC emulator version 0.6.1, Copyright (c) 2003-2004 Fabrice Bellard
$ ls -ltr /usr/bin/qemu -rwxr-xr-x 1 root root 756592 Oct 29 16:05 /usr/bin/qemu
(qemu) info network 0: ifname=tun0 macaddr=52:54:00:12:34:56