Problem beim installieren der RTL818x mit Compat-Wireless

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Andyman
Beiträge: 4
Registriert: 09.11.2012 08:51:45

Problem beim installieren der RTL818x mit Compat-Wireless

Beitrag von Andyman » 29.04.2013 08:45:44

Hi zusammen,

ich habe ein Problem beim Installieren der RTL8187 Treiber mit Compat-Wireless unter Debian Wheezy mit dem Kernel 3.2.0-4-686-pae.
Momentan verwende ich dazu die Compat-Wireless 3.3-1.
Die ersten Schritte scheinen alle zu funktionieren.
Zuerst gehe ich in das entpackte Compat Verzeichnis und gebe folgendes ein:

Code: Alles auswählen

>> ./scripts/driver-select rtl818x
>> make
Das funktioniert. Wenn ich dann noch

Code: Alles auswählen

make install
eingebe wird immer folgender Fehler angezeigt.

Code: Alles auswählen

/sbin/modprobe: invalid option -- 'l'
/sbin/modprobe: invalid option -- 'l'

Your old wireless subsystem modules were left intact:

/sbin/modprobe: invalid option -- 'l'
make: *** [uninstall] Error 1
Kann mir da einer weiterhelfen ich weiß nicht mehr weiter..

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Problem beim installieren der RTL818x mit Compat-Wireles

Beitrag von rendegast » 29.04.2013 10:20:52

-> im Makefile massenhaft 'modprobe -l ....'
google: "compat-wireless /sbin/modprobe invalid-option"
bormant
Member

Registered: Jan 2008
Posts: 63

Rep: Reputation: 21

modprobe comes now from kmod package and doesn't support -l (lower case L) option -- recursive list of modules in /usr/lib/modules/$(uname -r)/. It can be replaced with find plus some grep/awk/sed/cut magic.
Bsp.

Code: Alles auswählen

# modprobe -l radeon
/lib/modules/2.6.32.12-0.7-default/kernel/drivers/gpu/drm/radeon/radeon.ko
Eine Alternative zum obigen Vorschlag:

Code: Alles auswählen

# modinfo -F filename radeon
/lib/modules/2.6.32.12-0.7-default/kernel/drivers/gpu/drm/radeon/radeon.ko
-> entsprechende Änderung im Makefile,

Auswirkung hält sich in Grenzen, da "MODPROBE" nur in Makefile und Makefile.bk auftaucht.
Ein erster Schritt könnte sein:

Code: Alles auswählen

cp Makefile Makefile.orig
sed -i 's@$(MODPROBE) -l@$(MODINFO) -F filename@' Makefile
dann noch hinzusetzen

Code: Alles auswählen

MODPROBE := /sbin/modprobe
MODINFO := /sbin/modinfo
Zuletzt geändert von rendegast am 29.04.2013 10:35:10, insgesamt 2-mal geändert.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Andyman
Beiträge: 4
Registriert: 09.11.2012 08:51:45

Re: Problem beim installieren der RTL818x mit Compat-Wireles

Beitrag von Andyman » 29.04.2013 10:34:05

Danke schon mal für deine Antwort. Aber so ganz verstehe ich das trotzdem noch nicht.
Was muss ich jetzt wo ändern?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Problem beim installieren der RTL818x mit Compat-Wireles

Beitrag von rendegast » 29.04.2013 10:40:45

(Sieh nochmal oben, hatte den Text geändert ohne Dein Post zu bemerken.)
Das cp erstellt eine Kopie der Originalversion,
das sed ersetzt den MODPROBE-Aufruf durch ein MODINFO-Kommando.
Damit MODINFO keine leere Variable ist, muß sie im Header des Makefile noch definiert werden.
Einige andere Stellen mit MODPROBE lasse ich unberührt.

Schau ins Makefile, benutze eine Textsuche, zBsp.

Code: Alles auswählen

cat Makefile | less
Als Kommando für die Textsuche '/MODPROBE',
hoch/runter mit PageUp/PageDown, nächster Suchtreffer mit 'n'.

Auch eine schnelle Übersicht

Code: Alles auswählen

cat Makefile | grep MODPROBE



------------------------------------------------------------
Du könntest es auch einfach mit einer neueren Version versuchen
http://wireless.kernel.org/en/users/Dow ... e_releases
jedoch erhalte ich mit 3.4, 3.5, 3.6, Buildfehler (?)
/tmp/cw/compat-wireless-3.4-rc3-1/include/linux/compat-3.4.h:56:20: error: redefinition of ‘eth_hw_addr_random’
/usr/src/linux-headers-3.2.0-4-common/include/linux/etherdevice.h:165:20: note: previous definition of ‘eth_hw_addr_random’ was here
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Andyman
Beiträge: 4
Registriert: 09.11.2012 08:51:45

Re: Problem beim installieren der RTL818x mit Compat-Wireles

Beitrag von Andyman » 29.04.2013 11:03:19

Den gleichen Build-Fehler hatte ich aber der 3.4 auch. Deshabl habe ich die 3.3 genommen.
Ich probiere deine Lösung mal.

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Problem beim installieren der RTL818x mit Compat-Wireles

Beitrag von habakug » 29.04.2013 12:39:08

Hallo!

Ich habe das auch gerade mal nachgestellt. Obwohl das Changelog [1] es als gefixt ausweist
cleanup modprobe calls
compat-wireless: replace modprobe -l with functional equivilent
funktioniert es nicht.
Wenn es dringend ist kann man es so versuchen (hier geht es unter wheezy):

Code: Alles auswählen

# wget http://www.orbit-lab.org/kernel/compat-wireless-3-stable/v3.6/compat-wireless-3.6.8-1.tar.bz2
# tar xjvf compat-wireless-3.6.8-1.tar.bz2
# cd compat-wireless-3.6.8-1
# ./scripts/driver-select rtl818x
# nano ./include/linux/compat-3.4.h
Die Datei folgendermaßen anpassen, ab Zeile 31 von

Code: Alles auswählen

#include <linux/compat-3.5.h>
static inline void *kmalloc_array(size_t n, size_t size, gfp_t flags)
{
        if (size != 0 && n > SIZE_MAX / size)
                return NULL;
        return __kmalloc(n * size, flags);
}
auf

Code: Alles auswählen

/*#include <linux/compat-3.5.h>
static inline void *kmalloc_array(size_t n, size_t size, gfp_t flags)
{
        if (size != 0 && n > SIZE_MAX / size)
                return NULL;
        return __kmalloc(n * size, flags);
}*/
ändern. In Zeile 94 von

Code: Alles auswählen

static inline void eth_hw_addr_random(struct net_device *dev)
{
        dev_hw_addr_random(dev, dev->dev_addr);
}
auf

Code: Alles auswählen

/*static inline void eth_hw_addr_random(struct net_device *dev)
{
        dev_hw_addr_random(dev, dev->dev_addr);
}*/
ändern. Die Funktionen sind ja an anderer Stelle schon definiert (error: redefinition of). Das Gemaule wegen "modprobe" kann man ingnorieren.

Übrigens verwende ich hier vi, bitte oben entsprechend anpassen.
Es ist nicht schön das compat-wireless in diesem Zustand ist...

Gruß, habakug

[1] http://www.orbit-lab.org/kernel/compat- ... og-3.4-rc3
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Andyman
Beiträge: 4
Registriert: 09.11.2012 08:51:45

Re: Problem beim installieren der RTL818x mit Compat-Wireles

Beitrag von Andyman » 29.04.2013 14:20:05

Danke scheint ohne Fehler durchgelaufen zu sein (Beide Lösungen)
Kurze Frage vorher noch. Muss ich die Original Realtek vorher auch noch installieren oder reicht nur das Compat-Wireless?

Antworten