ich möchte ein Kernelmodul mit einer von debian abweichenden Konfiguration bauen.
Speziell geht es um den ath9k Treiber, welchen ich um Debugfs erweitern möchte.
Folgendes habe ich bisher getan:
-Pakete installiert:
Code: Alles auswählen
apt-get install linux-source, linux-headers-$(uname -r), build-essential, libncurses5-dev, libncurses5, libssl-dev
Code: Alles auswählen
tar xvf /usr/src/linux-source-4.9.tar.xz
Code: Alles auswählen
cp /boot/config-4.9.0-2-amd64 ./.config
Code: Alles auswählen
ln -s /usr/src/linux-headers-4.9.0-2-amd64/Module.symvers Module.symvers
-Konfig angepasst (ATH9K_HTC_DEBUGFS=y):
Code: Alles auswählen
make menuconfig
Code: Alles auswählen
make modules_prepare
make M=net/mac80211
make M=drivers/net/wireless/ath/ath9k
Code: Alles auswählen
cp <path>/*.ko to lib/modules/<kernel>/updates/<path>
depmod -a
Nach dem start werden nicht alle notwendigen Module geladen:
Code: Alles auswählen
user@debian-stretch:~$ sudo lsmod | grep ath
ath9k_common 32768 0
ath9k_hw 462848 1 ath9k_common
ath 32768 2 ath9k_hw,ath9k_common
cfg80211 589824 3 mac80211,ath,ath9k_common
Code: Alles auswählen
[ 100.395702] usb 1-1: new high-speed USB device number 2 using ehci-pci
[ 100.559115] usb 1-1: New USB device found, idVendor=0cf3, idProduct=9271
[ 100.559119] usb 1-1: New USB device strings: Mfr=16, Product=32, SerialNumber=48
[ 100.559121] usb 1-1: Product: USB2.0 WLAN
[ 100.559122] usb 1-1: Manufacturer: ATHEROS
[ 100.559124] usb 1-1: SerialNumber: 12345
[ 100.916401] ath9k_htc: disagrees about version of symbol ieee80211_start_tx_ba_cb_irqsafe
[ 100.916404] ath9k_htc: Unknown symbol ieee80211_start_tx_ba_cb_irqsafe (err -22)
[ 100.916493] ath9k_htc: disagrees about version of symbol ieee80211_start_tx_ba_session
[ 100.916494] ath9k_htc: Unknown symbol ieee80211_start_tx_ba_session (err -22)
[ 100.916555] ath9k_htc: disagrees about version of symbol ieee80211_get_buffered_bc
[ 100.916556] ath9k_htc: Unknown symbol ieee80211_get_buffered_bc (err -22)
[ 100.916558] ath9k_htc: disagrees about version of symbol ieee80211_find_sta
[ 100.916559] ath9k_htc: Unknown symbol ieee80211_find_sta (err -22)
[ 100.916613] ath9k_htc: disagrees about version of symbol ieee80211_stop_tx_ba_cb_irqsafe
[ 100.916614] ath9k_htc: Unknown symbol ieee80211_stop_tx_ba_cb_irqsafe (err -22)
[ 100.916671] ath9k_htc: disagrees about version of symbol ieee80211_alloc_hw_nm
[ 100.916672] ath9k_htc: Unknown symbol ieee80211_alloc_hw_nm (err -22)
[ 100.916723] ath9k_htc: disagrees about version of symbol ieee80211_iterate_active_interfaces_atomic
[ 100.916724] ath9k_htc: Unknown symbol ieee80211_iterate_active_interfaces_atomic (err -22)
[ 100.916741] ath9k_htc: disagrees about version of symbol ieee80211_beacon_get_tim
[ 100.916742] ath9k_htc: Unknown symbol ieee80211_beacon_get_tim (err -22)
[ 100.916753] ath9k_htc: disagrees about version of symbol ieee80211_csa_is_complete
[ 100.916754] ath9k_htc: Unknown symbol ieee80211_csa_is_complete (err -22)
[ 100.916768] ath9k_htc: disagrees about version of symbol ieee80211_csa_finish
[ 100.916769] ath9k_htc: Unknown symbol ieee80211_csa_finish (err -22)
[ 100.916772] ath9k_htc: disagrees about version of symbol ieee80211_rx_napi
[ 100.916773] ath9k_htc: Unknown symbol ieee80211_rx_napi (err -22)
Code: Alles auswählen
modprobe -f ath9k_htc
Code: Alles auswählen
[ 638.722059] ath9k_htc: module_layout: kernel tainted.
[ 638.722061] Disabling lock debugging due to kernel taint
[ 638.723722] usb 1-1: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw requested
[ 638.723926] usbcore: registered new interface driver ath9k_htc
[ 638.727211] usb 1-1: firmware: direct-loading firmware ath9k_htc/htc_9271-1.4.0.fw
[ 639.084646] usb 1-1: ath9k_htc: Transferred FW: ath9k_htc/htc_9271-1.4.0.fw, size: 51008
[ 639.348191] ath9k_htc 1-1:1.0: ath9k_htc: HTC initialized with 33 credits
[ 639.968993] ath9k_htc 1-1:1.0: ath9k_htc: FW Version: 1.4
[ 639.968996] ath9k_htc 1-1:1.0: FW RMW support: On
[ 639.968998] ath: EEPROM regdomain: 0x809c
[ 639.968999] ath: EEPROM indicates we should expect a country code
[ 639.969000] ath: doing EEPROM country->regdmn map search
[ 639.969001] ath: country maps to regdmn code: 0x52
[ 639.969002] ath: Country alpha2 being used: CN
[ 639.969003] ath: Regpair used: 0x52
[ 640.009623] ieee80211 phy0: Atheros AR9271 Rev:1
[ 640.027955] ath9k_htc 1-1:1.0 wlx18d6c70bfdd7: renamed from wlan0
[ 640.051149] IPv6: ADDRCONF(NETDEV_UP): wlx18d6c70bfdd7: link is not ready
Weiß mein System noch nicht, dass sich mac80211.ko geändert hat und somit ath9k_htc Funktionen benötigt, welche eigentlich nicht da sein sollten, aber sind?
Ich hoffe mich verständlich ausgedrückt und alle notwendigen Informationen gepostet zu haben.
Mein Ziel ist, dass auch ath9k_htc ohne Fehlermeldung automatisch geladen wird.