Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[FreeBSD-i386_6.0] : clé usb wifi

1 réponse
Avatar
Nicolas LIENARD
Bonjour,

Je tente de faire fonctionner une clé wifi USB sous FreeBSD 6.0

SMC EzConnect_g (SMC2862W-G)

A la connexion de la clé, FreeBSD affiche le msg suivant:

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

Après avoir téléchargé, les pilotes Windows, j'ai utilisé
l'utilitaire ndiscvt:

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 2696904 Nov 27 14:12 ndis_driver_data.h
-rw-r--r-- 1 root wheel 2979190 Nov 22 22:32 ndis_driver_data.h.old
-rw-r--r-- 1 root wheel 2696904 Nov 23 21:26 ndis_driver_data.h.old2
-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# rm ndis_driver_data.h

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

=> if_ndis.ko est maintenant disponible.


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

- Chargement du kernel module :

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

- Le kernel module est correctement chargé mais je n'ai aucun msg
indiquant que la clé est maintenant reconnue (dmesg , /var/log/messages).

- L'interface ndis0 n'est pas fonctionnelle:

aurora# wicontrol -i ndis0
wicontrol: SIOCGWAVELAN: Device not configured

- Après un post sur un NG anglophone, on m'a proposé d'utiliser ndisgen:

aurora# ndisgen SMC2862W.inf 2862WC51.sys

("enter" plusieurs fois pour valider).

>This .INF file appears to be ASCII.
>This .SYS file appears to be in Windows(r) PE format.
>Conversion was successful.
>Kernel module generation:

The script will now try to generate the kernel driver module.
This is the last step. Once this module is generated, you should
be able to load it just like any other FreeBSD driver module.

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 3682
-rw-r--r-- 1 root wheel 7932 Nov 22 22:22 SMC2862W.cat
-rw-r--r-- 1 root wheel 221184 Nov 22 22:22 DSCU2862.exe
-rw-r--r-- 1 root wheel 349856 Nov 22 22:22 2862WC51.sys
-rw-r--r-- 1 root wheel 2696904 Nov 22 22:23 ndis_driver_data.h
-rw-r--r-- 1 root wheel 15040 Dec 10 11:40 SMC2862W.inf.old
lrwxr-xr-x 1 root wheel 25 Dec 10 11:43 machine -> /usr/src/sys/i386/include
lrwxr-xr-x 1 root wheel 12 Dec 10 11:43 @ -> /usr/src/sys
-rw-r--r-- 1 root wheel 14646 Dec 10 11:46 SMC2862W.inf
-rw-r--r-- 1 root wheel 350263 Dec 10 11:56 windrv.o
-rw-r--r-- 1 root wheel 2943 Dec 10 11:56 windrv.h
-rw-r--r-- 1 root wheel 1 Dec 10 11:57 device_if.h
-rw-r--r-- 1 root wheel 1 Dec 10 11:57 bus_if.h
-rw-r--r-- 1 root wheel 1091 Dec 10 11:57 .depend


Est ce qu'il y a autre chose à tenter ou cette clé est définitivement
à jeter à la poubelle ? (bien que linux ne soit pas la référence, elle
fonctionne correctement sur la meme machine sous Debian Unstable et
l'émulation NDIS).


Merci de vos réponses.

Nicolas Liénard.

1 réponse

Avatar
Thierry Thomas
Samedi 10 décembre 2005 à 11:02 GMT, Nicolas LIENARD a écrit :

Est ce qu'il y a autre chose à tenter ou cette clé est définitivement
à jeter à la poubelle ? (bien que linux ne soit pas la référence, elle
fonctionne correctement sur la meme machine sous Debian Unstable et
l'émulation NDIS).


Sans doute que NDIS ne supporte pas [encore ?] les périphériques USB
sous FreeBSD.
--
Th. Thomas.