Portál AbcLinuxu, 7. května 2025 03:49

Dotaz: Kompilace modulu

pepe_ avatar 2.9.2012 11:59 pepe_ | skóre: 48
Kompilace modulu
Přečteno: 535×
Odpovědět | Admin

Ahoj,

potřebuji zkompilovat kernel modul který je v kernelu již obsažen ale nevím jak na to.

 

Jedná se o modul VT6655

 

root@alix:/usr/src/linux-source-3.2# modinfo vt6655_stage
ERROR: Module vt6655_stage not found.

root@alix:/usr/src/linux-source-3.2# ls /usr/src/linux-source-3.2/drivers/staging/vt6655
aes_ccmp.c  card.c      device.h     channel.h  iwctl.c  Makefile         power.c  rxtx.h    tether.h  vntconfiguration.dat    wmgr.c      wpa2.h
aes_ccmp.h  card.h      device_main.c  IEEE11h.c  iwctl.h  mib.c         power.h  srom.c    tkip.c      vntwifi.c        wmgr.h      wroute.c
baseband.c  country.h      dpc.c         IEEE11h.h  Kconfig  mib.h         rc4.c    srom.h    tkip.h      vntwifi.h        wpa.c      wroute.h
baseband.h  datarate.c      dpc.h         iocmd.h    key.c    michael.c         rc4.h    tcrc.c    tmacro.h  wcmd.c        wpactl.c  80211hdr.h
bssdb.c     datarate.h      hostap.c     ioctl.c    key.h    michael.h         rf.c     tcrc.h    TODO      wcmd.h        wpactl.h  80211mgr.c
bssdb.h     desc.h      hostap.h     ioctl.h    mac.c    modules.order   rf.h     test    ttype.h   wctl.c        wpa.h      80211mgr.h
built-in.o  device_cfg.h  channel.c     iowpa.h    mac.h    Module.symvers  rxtx.c   tether.c    upc.h      wctl.h        wpa2.c

zkoušel sem v  make menuconfig povolit VT6655 jako modul , pak dal   make prepare , make modules_prepare

a prostě nevim jak tento konkrétní modul kompilovat.

 

 

Zkoušel sem místo něj použít ndiswrapper ale nefunguje to jak má viz:

 

root@alix:/usr/src/linux-source-3.2# iwconfig wlan2
wlan2     No such device

root@alix:/usr/src/linux-source-3.2# modprobe ndiswrapper
root@alix:/usr/src/linux-source-3.2# iwconfig wlan2
wlan2     IEEE 802.11g  ESSID:off/any  
Mode:Managed  Frequency:2.412 GHz  Access Point: Not-Associated   
Bit Rate:54 Mb/s   
RTS thr:2347 B   Fragment thr:2346 B   
Encryption key:off
Power Management:off
Link Quality:0  Signal level:0  Noise level:0
Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
Tx excessive retries:0  Invalid misc:0   Missed beacon:0

root@alix:/usr/src/linux-source-3.2# iwconfig wlan2 essid "Net"
root@alix:/usr/src/linux-source-3.2# iwconfig wlan2
wlan2     IEEE 802.11g  ESSID:off/any  
Mode:Managed  Frequency:2.442 GHz  Access Point: Not-Associated   
Bit Rate:54 Mb/s   
RTS thr:2347 B   Fragment thr:2346 B   
Encryption key:off
Power Management:off
Link Quality:0  Signal level:0  Noise level:0
Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
Tx excessive retries:0  Invalid misc:0   Missed beacon:0

root@alix:/usr/src/linux-source-3.2#

[207750.341505] ndiswrapper version 1.57 loaded (smp=no, preempt=no)
[207750.376723] ndiswrapper: driver oem4 (VNT,03/28/2008,2.13.00.0000) loaded
[207750.377538] ndiswrapper 0000:00:0e.0: PCI INT A -> Link[LNKC] -> GSI 10 (level, low) -> IRQ 10
[207750.381722] ndiswrapper: using IRQ 10
[207750.692283] wlan1: ethernet device 00:12:7b:42:23:b4 using NDIS driver: oem4, version: 0x2000d, NDIS version: 0x500, vendor: 'VIA Networking Technologies PCI-Cardbus Wireless LAN Adapter  ', 1106:3253.5.conf
[207750.692368] wlan1: encryption modes supported: WEP; TKIP with WPA, WPA2, WPA2-PSK; AES/CCMP with WPA, WPA2, WPA2-PSK

 

Takže sem ndiswrapper zase zakázal protože funguje naprd a nevím jak zkompilovat ten modul  VT6655_stage.ko

Děkuji za radu.

 

PS: driver ze stránek VIA nejde kompilovat s hláškou : Makefile:116: *** Linux kernel source not configured - missing config.h.  Stop.

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

2.9.2012 12:20 ewew | skóre: 40 | blog: ewewov_blog
Rozbalit Rozbalit vše Re: Kompilace modulu
Odpovědět | | Sbalit | Link | Blokovat | Admin

Po chvíľke googlenia som našiel tento postup. Stačí použiť daný príkaz a mať nastavení adresár /usr/src/zdroj jadra. Do SUBDIRS treba dať cestu bez prvého lomítka. Nie absolútnu cestu a relatívnu. 

Na debiane to fungovalo, možno to pôjde aj na ubuntu.

Root v linuxe : "Root povedal, linux vykona."
pepe_ avatar 2.9.2012 12:54 pepe_ | skóre: 48
Rozbalit Rozbalit vše Re: Kompilace modulu

To ubuntu neni , to je debian whezzy a výsledek je

 

root@alix:/usr/src/linux-source-3.2# make SUBDIRS=drivers/staging/vt6655/ modules

WARNING: Symbol version dump /usr/src/linux-source-3.2/Module.symvers
is missing; modules will have no dependencies and modversions.

Building modules, stage 2.
MODPOST 0 modules

2.9.2012 12:58 ewew | skóre: 40 | blog: ewewov_blog
Rozbalit Rozbalit vše Re: Kompilace modulu

Čítal si odkaz, ktorý som poslal ?

Podobá sa tebou zadaní príkaz na toto make modules SUBDIRS=drivers/the_module_directory ?

Root v linuxe : "Root povedal, linux vykona."
pepe_ avatar 2.9.2012 14:43 pepe_ | skóre: 48
Rozbalit Rozbalit vše Re: Kompilace modulu

Samozřejmě že četl ale ty asi ne

 

make modules SUBDIRS=*

 

je totéž jako

 

make SUBDIRS=* modules

 

samozřejmě že na oba případy to dělá totéž.

 

V kernelu ho máš taky tak to vyzkoušej zkompilovat ať se nehádáš.

2.9.2012 14:50 jadd
Rozbalit Rozbalit vše Re: Kompilace modulu
řekl bych, že potřebuje ještě nějakou závislost, bez které nebude fungovat. A je možné že ta bude muset být přímo zahrnuta v jádru. Nebylo by jednoduší překompilovat celé?
pepe_ avatar 2.9.2012 14:52 pepe_ | skóre: 48
Rozbalit Rozbalit vše Re: Kompilace modulu

Je tam velmi slabé cpu , kompilovat kernel je na odstavení provozu.

2.9.2012 15:14 jadd
Rozbalit Rozbalit vše Re: Kompilace modulu
Zkus to ještě jednou, tedy pokud už si nepoužil předtím make clean
2.9.2012 15:44 ewew | skóre: 40 | blog: ewewov_blog
Rozbalit Rozbalit vše Re: Kompilace modulu

OK. Neskontroloval som čo to presne robí. Našiel som spôsob ako to urobiť a vyzerá, že to funguje. Link na návod

Root v linuxe : "Root povedal, linux vykona."
pepe_ avatar 2.9.2012 17:16 pepe_ | skóre: 48
Rozbalit Rozbalit vše Re: Kompilace modulu

cd /usr/src/linux-source-3.2/drivers/staging/vt6655/

make -C /lib/modules/`uname -r`/build M=$PWD modules

To mi nejde

root@alix:/usr/src/linux-source-3.2/drivers/staging/vt6655# make -C /lib/modules/`uname -r`/build M=$PWD modules
make: Entering directory `/usr/src/linux-headers-3.2.0-3-486'
Building modules, stage 2.
MODPOST 0 modules

 

vyzkoušel sem ale modul hned pod tim

root@alix:/usr/src/linux-source-3.2/drivers/staging/vt6655# cd ..
root@alix:/usr/src/linux-source-3.2/drivers/staging# cd vt6656
root@alix:/usr/src/linux-source-3.2/drivers/staging/vt6656# make -C /lib/modules/`uname -r`/build M=$PWD modules
make: Entering directory `/usr/src/linux-headers-3.2.0-3-486'
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/main_usb.o
/usr/src/linux-source-3.2/drivers/staging/vt6656/main_usb.c: In function ‘device_ioctl’:
/usr/src/linux-source-3.2/drivers/staging/vt6656/main_usb.c:2065:1: warning: the frame size of 1868 bytes is larger than 1024 bytes [-Wframe-larger-than=]
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/card.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/mac.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/baseband.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/wctl.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/80211mgr.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/wcmd.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/wmgr.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/bssdb.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/wpa2.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/rxtx.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/dpc.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/power.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/datarate.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/mib.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/rc4.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/tether.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/tcrc.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/ioctl.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/hostap.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/wpa.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/key.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/tkip.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/michael.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/rf.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/iwctl.o
/usr/src/linux-source-3.2/drivers/staging/vt6656/iwctl.c: In function ‘iwctl_giwaplist’:
/usr/src/linux-source-3.2/drivers/staging/vt6656/iwctl.c:787:1: warning: the frame size of 1288 bytes is larger than 1024 bytes [-Wframe-larger-than=]
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/wpactl.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/aes_ccmp.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/usbpipe.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/channel.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/control.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/firmware.o
CC [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/int.o
LD [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/vt6656_stage.o
Building modules, stage 2.
MODPOST 1 modules
CC      /usr/src/linux-source-3.2/drivers/staging/vt6656/vt6656_stage.mod.o
LD [M]  /usr/src/linux-source-3.2/drivers/staging/vt6656/vt6656_stage.ko
make: Leaving directory `/usr/src/linux-headers-3.2.0-3-486'
root@alix:/usr/src/linux-source-3.2/drivers/staging/vt6656#

a ten kompilovat takto lze takže problém neni v postupu ale něčem jiném.

 

 

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.