Hallo,
ich betreibe einen Sony Vaio PCG FX 170 mit Suse 8.1.
Funktioniert soweit auch wunderbar, zumindest das, was ich
ausprobiert habe bisher (also CD, normale Netzwerkkarte, DSL,
nicht probiert bisher Modem da Winmodem). Nun haben wir ein
WLAN mit einer WLAN-PCMCIA-Karte von Acer, IEEE 802.11b
kompatibel, scheint ein OEM zu sein mit einem Chip 8180 von
Realtek. Scheint ein Orinoco Gold Clone zu sein?, auf alle
Faelle bietet es die selben Functions/Options. Laeuft unter
windoof wunderbar, nur unter Linux passiert gar nix. Versuche,
in der pcmcia.config diesem device den orinoco_cs-Treiber
zuzuschreiben, brachten keinen Erfolg - der Treiber wird
geladen, aber es tut sich nichts. (Vielleicht hab ich auch was
verkehrt gemacht, ich bin Dummie in Linux)
Realtek bietet einen Treiber auf seinen Seiten an. Bisher nur
eine compilierte Version, da weigerte sich Suse mit "Kernel
mismatch"-Error, diese zu laden (mit insmod -f). Der Treiber
von Realtek wurde fuer Kernel 2.4.18 kompiliert, auf meinem
System laeuft Kernel 2.4.19. Heut hab ich gefunden, dass
Realtek inzwischen auch die Source mitschickt, und nun steh
ich da wie der Ochs vor'm Berg :-) Der Treiber ist wohl fuer Redhat 8.0
gedacht, aber sollte auch unter Suse compilierbar sein, oder irre ich?
In der readme von Realtek steht folgendes:
-------------
RTL8180 Linux Driver version 0.5
< Component >driver is composed of several parts:
(1)source code
driver module initialization and interface between
rtl8180 driver and system call.
r8180_pci_init.c driver module initialization and
register/unregister network device
r8180_pci_init.h include file
r8180_if.c interface between rtl8180 driver
and system call
r8180_if.h include file
r8180_type.h type definition for rtl8180 driver
r8180_export.h exported function name from
rtl8180 driver
(2)object code
rtl8180 driver
priv_part.o rtl8180 driver object code
(3)Default driver
rtl8180_24x.o default driver module compiled in
kernel 2.4.18.
(4)Makefile
(5)wlanup/wlandown
simple script file to activate/shut_down wireless lan.
< Installation >try to load linux_24x.o first by "insmod -f
rtl8180_24x.o".it doesn't work, you are suggested to make
loadable driver as follows:
(1)Modify macros in Makefile. For example, KERNELRELEASE,
IO_FLAGS, ENDIAN_FLAGS
and RTL8180_TARGET which represent kernel release
version, pci I/O space mapping,
big/little endian, rtl8180 driver name.
(2)Check pci module initialization and system call
interfaces in the provided source code,
r8180_pci_init.c ....etc.
(3)Run 'make' to generate new driver module.
(4)Load driver by "insmod xxx.o"
driver is loaded successfully, then Set Wireless LAN specific
parameters as followsenable wlan device by "iwpriv wlan0
enable" manually.modify script files, wlanup/wlandown, to
activate/shut_down wireless lan.
< Set wireless lan MIBs >driver uses Wireless Extension as an
interface allowing you to setLAN specific parameters.driver
supports "iwpriv", manipulate driver private ioctls, to set
MIBs.
iwpriv wlan0 wlan_para [parameters]=[val]
parameter explaination <die hab ich gesnippt>
-------------
Nun mein Problem (hoffe ich) - wie modifiziere ich makefile
richtig?
*****************Makefile von Realtek
#-----------------------------------------------
#Specify kernel version and include path
#-----------------------------------------------ON = 2= 4= 18=
-14=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
<das waere dann 'KERNELRELEASE=$2.$4.$19$-3?'>
=-I /usr/src/linux-$(KERNELRELEASE)/include/
#-------------------------------
<Path ist klar, da muesste ich bei mir schauen - dumme Frage,
die source-files sollte ich dann da hin kopieren - alle?>
<ab hier beisst's dann aus, da koennten die genausogut
kyrillisch schreiben>
----------------
#Specify compiler and compile flags.
#-----------------------------------------------= gcc= ld:= -
O6 -Wall -DMODULE -D__KERNEL__ -DLINUX
#-----------------------------------------------
#IO_FLAGS
#Specify pci I/O space mapping
#if High memory configuration has been turned on,
#RTL_IO_MAP is the suggestion since ioremap
#would fail.
#-----------------------------------------------
#IO_FLAGS = RTL_MEM_MAP_FLAGS = RTL_IO_MAP
#-----------------------------------------------
#ENDIAN_FLAGS
#Specify memory access mothed.
#RTL_LITTLE_ENDIAN is the suggestion on i386.
#-----------------------------------------------
#ENDIAN_FLAGS = RTL_BIG_ENDIAN_FLAGS = RTL_LITTLE_ENDIAN
#-----------------------------------------------
#This is the driver act as wlan client.
#-----------------------------------------------_FLAGS =
RTL_ACT_AS_STA
#-----------------------------------------------
#Specify rtl8180 driver name
#--
---------------------------------------------180_TARGET =
rtl8180_24x.o
#-----------------------------------------
< ^ das versteh ich zur Abwechslung wieder>
------
#module initialization and interface.
#-----------------------------------------------_SRCS =
r8180_pci_init.c r8180_if.c
_OBJS = ${OPEN_SRCS:.c=.o}
# SUFFIXES fules
SUFFIXES: .c .o
c.o:
$(XCC) $(MODCFLAGS) $(INCLUDEPATH) -D$(IO_FLAGS) -
D$(ENDIAN_FLAGS) -D${DRV_FLAGS} -c -o $*.o $<
#.PHONY: all clean
: $(RTL8180_TARGET)
$(RTL8180_TARGET): open_part
@echo ""
@echo "--- Generate rtl8180 linux driver
$(RTL8180_TARGET) on $(KERNELRELEASE) ---"
$(LD) -r -o $@ ${^:=.o} priv_part.o
rm -f ${^:=.o}
@echo ""
_part: ${OPEN_OBJS}
@echo ""
@echo "--- generate open part ---"
$(LD) -r -o $@.o ${OPEN_OBJS}
rm -f ${OPEN_OBJS}
@echo ""
${OPEN_OBJS}: %.o: %.h r8180_type.h r8180_export.h
:
rm -f *.o
************************************
Ausdruck von lspci und/oder dmesg und/oder var/log/messages liefere ich gerne
nach, falls gewuenscht. Falls das oben etwas komisch ausschauen sollte, es ist nur
mit Notepad von windows aufgemacht, weil ich ja nicht an's Netz komm in Linux
(die bisherige Line ist natuerlich abgebaut) ;-)
Danke,
Monika Cisch
PS letztens hab ich schon mal eine Frage zu wlan von jemand anderem gelesen, da
kam ueber die Liste leider nie eine Antwort an, sonst wuerd ich Euch nicht schon
wieder damit belaestigen ;-)