NDISulator with Intel 2200 b/g on 5.2.1-RELEASE-p9 (some success
...almost working)
Joey Mingrone
joey at mingrone.org
Sun Jul 18 00:10:30 PDT 2004
Hi all,
Here are the steps I took:
I built a new kernel with "options KSTACK_PAGES=8" to accommodate the large
alloc the w22n51.sys driver makes on the kernel stack
I added the following directories from CURRENT under my source tree:
src/sys/compat/ndis
sys/modules/ndis
sys/modules/if_ndis
src/sys/dev/if_ndis
src/usr.sbin/ndiscvt
In /sys/compat/ndis/subr_ntoskrnl.c I had to comment out the following lines
to get everything to build:
#include <sys/kdb.h>
kdb_enter("ntoskrnl_debugger(): breakpoint");
cd /usr/src/usr.sbin/ndiscvt
make
make install
cd /sys/modules/ndis
make
make install
I put w22n51.sys and w22n51.INF in /sys/modules/if_ndis.
If anyone is looking for these file they can be found inside this zip:
http://www.powernotebooks.com/Support/intel_2200_wlan.zip
cd /sys/modules/if_ndis
ndiscvt -i w22n51.INF -s w22n51.sys -o ndis_driver_data.h
make
I got an an error: "make: don't know how to make pccarddevs.h. Stop", so I
removed pccarddevs.h from /sys/modules/if_ndis/Makefile an it built okay.
make install
kldload -v ndis -> Loaded ndis, id=3
kldload -v if_ndis -> worked sometimes, other times the command would just
hang, but the system would still be usable
when kldload if_ndis did work, the output would look like:
ndis0: <Intel(R) PRO/Wireless 2200BG Network Connection> mem
0xff9ee000-0xff9eef
ff irq 11 at device 2.0 on pci2
ndis0: NDIS API version: 5.1
ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 5.5Mbps 11Mbps
ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
Loaded if_ndis, id=7
Then ifconfig -a would show:
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
inet6 fe80::20e:a6ff:fec4:a0b1%bge0 prefixlen 64 scopeid 0x1
inet 192.168.0.4 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:0e:a6:c4:a0:b1
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
ndis0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether 00:0e:35:1f:df:57
media: IEEE 802.11 Wireless Ethernet autoselect
status: no carrier
ssid ""
channel -1 authmode OPEN powersavemode OFF powersavesleep 100
wepmode OFF weptxkey 1
Next I did:
wicontrol -i ndis0 -l
output: 0 stations:
ifconfig ndis0 inet 192.168.0.5 netmask 255.255.255.0 ssid 5270-4
Sometimes this would output:
ifconfig: ioctl (SIOCAIFADDR): File exists
Other times it would work. I think doing "ifconfig bge0 down" first helped.
now the output from "ifconfig -a" looked like:
bge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
inet6 fe80::20e:a6ff:fec4:a0b1%bge0 prefixlen 64 scopeid 0x1
inet 192.168.0.4 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:0e:a6:c4:a0:b1
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
ndis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::20e:35ff:fe1f:df57%ndis0 prefixlen 64 duplicated scopeid
0x4
inet 192.168.0.5 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:0e:35:1f:df:57
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
status: associated
ssid 5270-4 1:5270-4
channel 6 authmode OPEN powersavemode OFF powersavesleep 100
wepmode OFF weptxkey 1
wicontrol -i ndis0 -l:
1 station:
ap[0]:
netname (SSID): [ 5270-4 ]
BSSID: [ 00:0f:66:36:cb:e8 ]
Channel: [ 6 ]
Quality/Signal/Noise [signal]: [ 115 / 115 / 0 ]
[dBm]: [ 115 / -34 / -149 ]
BSS Beacon Interval [msec]: [ 0 ]
Capinfo: [ ]
Now I unplugged bge0 and successfully pinged 192.168.0.x addresses on the
local LAN using the ndis0.
So that's what successfully worked. Here's are some of the problems:
Even with a defaultrouter entry in rc.conf, nothing outside the local LAN
could be reached.
Trying to loading the two ndis kernel modules from /boot/loader.conf wouldn't
allow the system to boot.
I hope that all makes sense.
Joey
More information about the freebsd-hardware
mailing list