PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : rtl8291cu.ko statt 8291cu.ko bauen



tomcom
06.07.13, 12:41
Hallo,

ich habe TL-WN821N WLAN-Dongles.
Diese werden leider mit höchst unterschiedlichen Chipsätzen ausgeliefert.
Gehofft habe ich auf die Variante mit Atheroschipsatz.
Leider kamen die Dongels mit Realtek 8291cu Chipsatz:

ubuntu$ lsusb
Bus 001 Device 002: ID 0bda:8178 Realtek Semiconductor Corp.

ubuntu$ lsmod|grep rtl
rtl8192cu 103297 0
rtl8192c_common 75767 1 rtl8192cu
rtlwifi 111202 1 rtl8192cu
mac80211 506816 4 rtl8192cu,rtl8192c_common,rtlwifi,iwlwifi
cfg80211 205544 3 rtlwifi,iwlwifi,mac80211

ubuntu$ modinfo rtl8192cu|head; modinfo rtl8192cu|tail
filename: /lib/modules/3.2.0-34-generic/kernel/drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
firmware: rtlwifi/rtl8192cufw.bin
description: Realtek 8192C/8188C 802.11n USB wireless
license: GPL
author: Larry Finger <Larry.Finger@lwfinger.net>
author: Ziv Huang <ziv_huang@realtek.com>
author: Georgia <georgia@realtek.com>
srcversion: 3AC5F1C20C472F39C6C2744
alias: usb:v7392p7822d*dc*dsc*dp*ic*isc*ip*
alias: usb:v20F4p624Dd*dc*dsc*dp*ic*isc*ip*
alias: usb:v0BDAp8176d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0BDAp8170d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0BDAp018Ad*dc*dsc*dp*ic*isc*ip*
alias: usb:v0BDAp8191d*dc*dsc*dp*ic*isc*ip*
depends: rtlwifi,mac80211,rtl8192c-common
intree: Y
vermagic: 3.2.0-34-generic SMP mod_unload modversions
parm: swenc:Set to 1 for software crypto (default 0)
(bool)
parm: debug:Set debug level (0-5) (default 0) (int)

Unter Ubuntu funktionieren sie wunderbar, wie oben .
Aber ich will sie unter Archlinux-arm auf einem Raspberry Pi verwenden.

Während er unter Ubuntu rtl8291cu.ko, rtl8192c_common.ko und rtlwifi.ko verwendet, wird unter Archlnux 8291cu.ko genutzt.
Damit funktioniert der Stick leider nicht. (Testweise habe ich den Code mit der Version von der Realtek-Hompage und von https://aur.archlinux.org/packages/dkms-8192cu/ upgedatet)

Ich würde gerne rtl8291cu.ko für Archlinux (arm,raspi) bauen.
Ich finde es aber nicht per make menuconfig.
Beide Quellen befinden sich unter linux/drivers/net/wireless/.

Inhalt rtl8192cu/Kconfig (baut 8192cu.ko)

config RTL8192CU
tristate "Realtek 8192C USB WiFi"
depends on USB
---help---
Help message of RTL8192CU

Inhalt rtlwifi/Kconfig (baut rtl8192cu.ko, rtlwifi.ko, ...)


config RTLWIFI
tristate "Realtek wireless card support"
depends on MAC80211
select FW_LOADER
---help---
This is common code for RTL8192CE/RTL8192CU/RTL8192SE/RTL8723AE
drivers. This module does nothing by itself - the various front-end
drivers need to be enabled to support any desired devices.

If you choose to build as a module, it'll be called rtlwifi.

config RTLWIFI_DEBUG
bool "Debugging output for rtlwifi driver family"
depends on RTLWIFI
default y
---help---
To use the module option that sets the dynamic-debugging level for,
the front-end driver, this parameter must be "Y". For memory-limited
systems, choose "N". If in doubt, choose "Y".

config RTL8192CE
tristate "Realtek RTL8192CE/RTL8188CE Wireless Network Adapter"
depends on RTLWIFI && PCI
select RTL8192C_COMMON
---help---
This is the driver for Realtek RTL8192CE/RTL8188CE 802.11n PCIe
wireless network adapters.

If you choose to build it as a module, it will be called rtl8192ce

config RTL8192SE
tristate "Realtek RTL8192SE/RTL8191SE PCIe Wireless Network Adapter"
depends on RTLWIFI && PCI
---help---
This is the driver for Realtek RTL8192SE/RTL8191SE 802.11n PCIe
wireless network adapters.

If you choose to build it as a module, it will be called rtl8192se

config RTL8192DE
tristate "Realtek RTL8192DE/RTL8188DE PCIe Wireless Network Adapter"
depends on RTLWIFI && PCI
---help---
This is the driver for Realtek RTL8192DE/RTL8188DE 802.11n PCIe
wireless network adapters.

If you choose to build it as a module, it will be called rtl8192de

config RTL8723AE
tristate "Realtek RTL8723AE PCIe Wireless Network Adapter"
depends on RTLWIFI && PCI
---help---
This is the driver for Realtek RTL8723AE 802.11n PCIe
wireless network adapters.

If you choose to build it as a module, it will be called rtl8723ae

config RTL8192CU
tristate "Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter"
depends on RTLWIFI && USB
select RTL8192C_COMMON
---help---
This is the driver for Realtek RTL8192CU/RTL8188CU 802.11n USB
wireless network adapters.

If you choose to build it as a module, it will be called rtl8192cu

config RTL8192C_COMMON
tristate
depends on RTL8192CE || RTL8192CU
default m


Ich müsste irgendwie RTLWIFI, RTL8192CU und RTL8192C_COMMON per make menuconfig aktivieren können. Wie finde ich es heraus, wo es steht?
Dann heißt das config-Kommando für 8192cu.ko dummerweise auch RTL8192CU, also genauso wie bei rtl8192cu.ko.

Ich kenne mich nicht besonders mit dem Menuconfigsystem aus. Ich denke mir aber mal, dass man irgendwo einstellen kann: "nutze Ordner rtlwifi statt rtl8192cu.


Gruß Thomas

buzz768
06.07.13, 20:15
Ich denke das Problem besteht darin, dass in der config (https://github.com/archlinuxarm/PKGBUILDs/blob/master/core/linux-raspberrypi/config) des Kernels für den RasPi unter Arch Linux ARM die Option CONFIG_RTLWIFI (http://cateee.net/lkddb/web-lkddb/RTLWIFI.html) nicht gestetzt ist. Bei RTL8192CU steht ja auch "depends on RTLWIFI && USB". Wenn man den Kernel mit make menuconfig konfiguriert, wird RTL8192CU auch nur dann angeboten, wenn vorher RTLWIFI ausgewählt wird (Beispiel hier für Kernel 3.9)


Device Drivers --->
-*- Network device support --->

Wireless LAN --->
<M> Realtek wireless card support
<M> Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter

Deaktiviert man RTLWIFI nach Auswahl von RTL8192CU wieder, fehlt möglicherweise der "common code". Sollten meine Vermutungen stimmen, würde ich das hier (https://github.com/archlinuxarm/PKGBUILDs/issues) als Fehler melden.

tomcom
07.07.13, 17:24
Ok, hier leigt das Problem. Ich hab folgendes zur Auswahl:

Device Drivers --->
-*- Network device support --->
Wireless LAN --->
<M> Realtek 8187 and 8187B USB support
<M> Realtek 8192C USB WiFi

Realtek wireless card support fehlt.
Es steht ja auch sozusagen in Konkurenz zu Realtek 8187 and 8187B USB support und Realtek 8192C USB WiFi.
Man müsste irgened wo Einstellen können, dass man rtlwifi/Kconfig einließt, anstatt rtl8192cu/Kconfig und rtl818x/Kconfig. Nur wo?

buzz768
07.07.13, 18:43
Was mir noch auffällt ist, dass im Quellcode die Kconfig von rtlwifi auskommentiert (https://github.com/raspberrypi/linux/blob/rpi-3.6.y/drivers/net/wireless/Kconfig) ist (ganz unten), deshalb findet man die Option wohl auch nicht mit der Suchfunktion (http://en.wikipedia.org/wiki/Menuconfig#Key_Strokes).

tomcom
08.07.13, 12:37
Ich habe es hinbekommen.
Als erstes habe ich


< > Realtek 8187 and 8187B USB support
< > Realtek 8192C USB WiFi

abgewählt und beendet und gespeichert.

Anschließend habe ich folgende Änderungen vorgenommen:

linux/drivers/net/wireless/Kconfig:


source "drivers/net/wireless/rtl818x/Kconfig"
#source "drivers/net/wireless/rtl818x/Kconfig"
[...]
source "drivers/net/wireless/rt2x00/Kconfig"
#source "drivers/net/wireless/rtlwifi/Kconfig"
source "drivers/net/wireless/rtlwifi/Kconfig"
source "drivers/net/wireless/ti/Kconfig"
source "drivers/net/wireless/zd1211rw/Kconfig"
source "drivers/net/wireless/mwifiex/Kconfig"
source "drivers/net/wireless/rtl8192cu/Kconfig"
#source "drivers/net/wireless/rtl8192cu/Kconfig"

linux/drivers/net/wireless/Makefile:

obj-$(CONFIG_ZD1211RW) += zd1211rw/
obj-$(CONFIG_RTL8180) += rtl818x/
obj-$(CONFIG_RTL8187) += rtl818x/
#obj-$(CONFIG_RTLWIFI) += rtlwifi/
#obj-$(CONFIG_RTL8180) += rtl818x/
#obj-$(CONFIG_RTL8187) += rtl818x/
obj-$(CONFIG_RTLWIFI) += rtlwifi/
[...]
obj-$(CONFIG_BRCMSMAC) += brcm80211/
obj-$(CONFIG_RTL8192CU) += rtl8192cu/
#obj-$(CONFIG_RTL8192CU) += rtl8192cu/

Dann habe ich

<M> Realtek wireless card support
<M> Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter
ausgewählt und den Kernel gebaut.

Vielen Dank für die Hilfe.