Problem with NDIS and a Wifi USB key

Nicolas nico at crysto.net
Sat Dec 10 05:45:29 PST 2005


Hi,

I'm trying to use a Wifi USB key on FreeBSD:

- OS:

aurora# uname -a
FreeBSD aurora.crysto.net 6.0-STABLE FreeBSD 6.0-STABLE #3: Sun Nov 27
17:27:50 CET 2005
root at aurora.crysto.net:/usr/obj/usr/src/sys/TEUSHIBA  i386

- wifi USB key:

SMC EzConnect_g (SMC2862W-G EU)

When connected, freebsd message is:

 ugen0: SMC 802.11g Wireless USB Adapter, rev 2.00/10.00, addr 2

- Downloaded driver from: 

http://www.smc.com/index.cfm?event=downloads.searchCriteria&localeCode=FR_FRA&productCategory=0&modelNumber=1345&downloadType=1&knowsPartNumber=false

select: 

  - "PRODUIT SANS FIL" (wireless product)
  - Reference: SMC2862W-G EU
  - Part Number: 99-01284-376

Final driver link: 
http://www.smc.com/files/AV%5C2862wV.2_V.3DR_UT_WW.zip
MD5 (AV\2862wV.2_V.3DR_UT_WW.zip) = f132d37c61eabd0c9ff114b7e4442d00


- NDIS installation:

aurora# unzip AV\\2862wV.2_V.3DR_UT_WW.zip

aurora# ls -ltr
total 16234
-rw-r--r--  1 root  wheel  8601321 Nov 22 22:21 AV
\2862wV.2_V.3DR_UT_WW.zip
-rw-r--r--  1 root  wheel    28672 Nov 22 22:21 newtest.exe
-rw-r--r--  1 root  wheel       45 Nov 22 22:21 autorun.inf
-rw-r--r--  1 root  wheel     7584 Nov 22 22:21 KILLW16.EXE
-rw-r--r--  1 root  wheel      664 Nov 22 22:21 Install.ini
-rw-r--r--  1 root  wheel  7932796 Nov 22 22:22 setup.exe
drwxr-xr-x  6 root  wheel      512 Nov 22 22:22 Driver

aurora# cd Driver/WinXP
aurora# ls -ltr
total 632
-rw-r--r--  1 root  wheel  349856 Jun 28 18:28 2862WC51.sys
-rw-r--r--  1 root  wheel   15040 Jun 29 06:28 SMC2862W.inf
-rw-r--r--  1 root  wheel    7932 Jul 12 13:51 SMC2862W.cat
-rw-r--r--  1 root  wheel  221184 Jul 14 12:27 DSCU2862.exe

aurora# cp 2862WC51.sys SMC2862W.inf /usr/src/sys/modules/if_ndis
aurora# cd /usr/src/sys/modules/if_ndis
aurora# make clean
rm -f export_syms if_ndis.ko if_ndis.kld if_ndis.o if_ndis_pci.o
if_ndis_pccard.o if_ndis_usb.o @ machine opt_bdg.h opt_usb.h card_if.h
pci_if.h bus_if.h device_if.h pccarddevs.h usbdevs.h

aurora# ls -la
total 9056
drwxr-xr-x    3 root  wheel     1024 Dec  9 19:57 .
drwxr-xr-x  288 root  wheel     4608 Nov 22 22:49 ..
-rw-r--r--    1 root  wheel   349856 Nov 22 22:33 2862WC51.sys
drwxr-xr-x    2 root  wheel      512 Nov 22 22:32 CVS
-rw-r--r--    1 root  wheel      317 Nov 22 22:32 Makefile
-rw-r--r--    1 root  wheel    15040 Nov 22 22:33 SMC2862W.inf
-rw-r--r--    1 root  wheel     9135 Nov 22 22:32 netwg311.cat
-rw-r--r--    1 root  wheel     9157 Nov 22 22:32 wg311v2.inf
-rw-r--r--    1 root  wheel   386688 Nov 22 22:32 wg311v2.sys

aurora# ndiscvt -i SMC2862W.inf -s 2862WC51.sys -o ndis_driver_data.h

aurora# ls -la ndis_driver_data.h
-rw-r--r--  1 root  wheel  2696904 Dec  9 19:58 ndis_driver_data.h

aurora# make
Warning: Object directory not changed from
original /usr/src/sys/modules/if_ndis
@ -> /usr/src/sys
machine -> /usr/src/sys/i386/include
touch opt_bdg.h
awk -f @/tools/makeobjops.awk @/kern/device_if.m -h
awk -f @/tools/makeobjops.awk @/kern/bus_if.m -h
awk -f @/tools/makeobjops.awk @/dev/pci/pci_if.m -h
awk -f @/tools/makeobjops.awk @/dev/pccard/card_if.m -h
awk -f @/tools/pccarddevs2h.awk @/dev/pccard/pccarddevs
touch opt_usb.h
[...]
ld  -d -warn-common -r -d -o if_ndis.kld if_ndis.o if_ndis_pci.o
if_ndis_pccard.o if_ndis_usb.o
touch export_syms
awk -f /usr/src/sys/modules/if_ndis/../../conf/kmod_syms.awk if_ndis.kld
export_syms | xargs -J% objcopy % if_ndis.kld
ld -Bshareable  -d -warn-common -o if_ndis.ko if_ndis.kld
objcopy --strip-debug if_ndis.ko

aurora# make install
install -o root -g wheel -m 555   if_ndis.ko /boot/kernel
kldxref /boot/kernel

aurora# kldstat|grep ndis
aurora# kldload ndis
aurora# kldload if_ndis
kldload: can't load if_ndis: File exists
aurora# kldstat |grep ndis
15    1 0xc3472000 b000     if_ndis.ko
16    1 0xc347d000 13000    ndis.ko

no message when module loaded in dmesg or /var/log/messages

aurora# wicontrol -i ndis0
wicontrol: SIOCGWAVELAN: Device not configured
aurora# ifconfig ndis0
ifconfig: interface ndis0 does not exist



- Second method:

aurora# pwd
/root/wifi/wifi/Driver/WinXP
aurora# ndisgen SMC2862W.inf 2862WC51.sys

("enter" to valid).

>This .INF file appears to be ASCII.
>This .SYS file appears to be in Windows(r) PE format.
>Conversion was successful.
>Kernel module generation:
        Press enter to compile the stub module and generate the driver
        module now:

        Generating Makefile... done.
        Building kernel module... /usr/share/misc/windrv_stub.c:143:16:
invalid suffix "WC51_sys_drv_data_start" on integer constant
/usr/share/misc/windrv_stub.c:143: error: syntax error before numeric
constant
/usr/share/misc/windrv_stub.c:144:16: invalid suffix
"WC51_sys_drv_data_end" on integer constant
/usr/share/misc/windrv_stub.c:144: error: syntax error before numeric
constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_pci_driver_mod" on integer constant
/usr/share/misc/windrv_stub.c:190: error: syntax error before numeric
constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix "WC51_sys_pci_mod"
on integer constant
/usr/share/misc/windrv_stub.c:190: error: syntax error before numeric
constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_pci_driver_mod" on integer constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix "WC51_sys_pci_mod"
on integer constant
/usr/share/misc/windrv_stub.c:190: error: initializer element is not
constant
/usr/share/misc/windrv_stub.c:190: error: (near initialization for
`_mod_metadata_md_2862WC51_sys_pci.md_data')
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_pcimodule_sys_init" on integer constant
/usr/share/misc/windrv_stub.c:190: error: syntax error before numeric
constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix "WC51_sys_pci_mod"
on integer constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_pcimodule_sys_init" on integer constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_cardbus_driver_mod" on integer constant
/usr/share/misc/windrv_stub.c:190: error: syntax error before numeric
constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_cardbus_mod" on integer constant
/usr/share/misc/windrv_stub.c:190: error: syntax error before numeric
constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_cardbus_driver_mod" on integer constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_cardbus_mod" on integer constant
/usr/share/misc/windrv_stub.c:190: error: initializer element is not
constant
/usr/share/misc/windrv_stub.c:190: error: (near initialization for
`_mod_metadata_md_2862WC51_sys_cardbus.md_data')
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_cardbusmodule_sys_init" on integer constant
/usr/share/misc/windrv_stub.c:190: error: syntax error before numeric
constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_cardbus_mod" on integer constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_cardbusmodule_sys_init" on integer constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_pccard_driver_mod" on integer constant
/usr/share/misc/windrv_stub.c:190: error: syntax error before numeric
constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_pccard_mod" on integer constant
/usr/share/misc/windrv_stub.c:190: error: syntax error before numeric
constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_pccard_driver_mod" on integer constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_pccard_mod" on integer constant
/usr/share/misc/windrv_stub.c:190: error: initializer element is not
constant
/usr/share/misc/windrv_stub.c:190: error: (near initialization for
`_mod_metadata_md_2862WC51_sys_pccard.md_data')
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_pccardmodule_sys_init" on integer constant
/usr/share/misc/windrv_stub.c:190: error: syntax error before numeric
constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_pccard_mod" on integer constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_pccardmodule_sys_init" on integer constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_uhub_driver_mod" on integer constant
/usr/share/misc/windrv_stub.c:190: error: syntax error before numeric
constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix "WC51_sys_uhub_mod"
on integer constant
/usr/share/misc/windrv_stub.c:190: error: syntax error before numeric
constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_uhub_driver_mod" on integer constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix "WC51_sys_uhub_mod"
on integer constant
/usr/share/misc/windrv_stub.c:190: error: initializer element is not
constant
/usr/share/misc/windrv_stub.c:190: error: (near initialization for
`_mod_metadata_md_2862WC51_sys_uhub.md_data')
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_uhubmodule_sys_init" on integer constant
/usr/share/misc/windrv_stub.c:190: error: syntax error before numeric
constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix "WC51_sys_uhub_mod"
on integer constant
/usr/share/misc/windrv_stub.c:190:1: invalid suffix
"WC51_sys_uhubmodule_sys_init" on integer constant
/usr/share/misc/windrv_stub.c:210:33: invalid suffix
"WC51_sys_drv_data_start" on integer constant
/usr/share/misc/windrv_stub.c:211:31: invalid suffix
"WC51_sys_drv_data_end" on integer constant
/usr/share/misc/windrv_stub.c:204: warning: 'windrv_modevent' defined
but not used
/usr/share/misc/windrv_stub.c:171: warning: 'windrv_driver' defined but
not used
/usr/share/misc/windrv_stub.c:177: warning: 'windrv_devclass' defined
but not used
build failed. Exiting.



aurora# ls -ltr
total 1010
-rw-r--r--  1 root  wheel  349856 Jun 28 18:28 2862WC51.sys
-rw-r--r--  1 root  wheel   15040 Jun 29 06:28 SMC2862W.inf
-rw-r--r--  1 root  wheel    7932 Jul 12 13:51 SMC2862W.cat
-rw-r--r--  1 root  wheel  221184 Jul 14 12:27 DSCU2862.exe
-rw-r--r--  1 root  wheel  350263 Dec 10 14:41 windrv.o
-rw-r--r--  1 root  wheel    2943 Dec 10 14:41 windrv.h
lrwxr-xr-x  1 root  wheel      25 Dec 10 14:41 machine
-> /usr/src/sys/i386/include
-rw-r--r--  1 root  wheel       1 Dec 10 14:41 device_if.h
-rw-r--r--  1 root  wheel       1 Dec 10 14:41 bus_if.h
lrwxr-xr-x  1 root  wheel      12 Dec 10 14:41 @ -> /usr/src/sys
-rw-r--r--  1 root  wheel    1091 Dec 10 14:41 .depend


Thanks in advance.

Nicolas.






More information about the freebsd-stable mailing list