Kompajliranje driver-a za modem 536EP

SUSE 10.0 (DVD), Intel-536EP-4.71.tgz drivers, 2.6.13-15-default itd.

aldin@linux:~/Intel-536> make clean cd coredrv; make clean make[1]: Entering directory `/home/aldin/Intel-536/coredrv' rm -f *.ko *.o *~ core make[1]: Leaving directory `/home/aldin/Intel-536/coredrv' rm -f *.o *.ko aldin@linux:~/Intel-536> make 536 Module precompile check Current running kernel is: 2.6.13-15-default /lib/modules... autoconf.h exists diff: /boot/vmlinuz.autoconf.h: No such file or directory autoconf.h matches running kernel diff: /boot/vmlinuz.version.h: No such file or directory version.h matches running kernel uname -r|grep "2.6" && \ cd coredrv && make 536core_26 && \ cp Intel536.ko .. && cd .. && \ strip --strip-debug Intel536.ko && \ exit; \ ls Intel536.ko >/dev/null 2>&1 || uname -r | grep "2.6" && echo "Failed to buil d driver" && exit; \ if [ ]; then \ cd coredrv; make TARGET=TARGET_SELAH KERNEL_SOURCE_PATH= "PSTN_DEF=-DTARGET_SELA H -DTARGET_LINUX -DLINUX" 536core; \ else \ cd coredrv; make TARGET=TARGET_SELAH KERNEL_INCLUDES=/lib/modules/`uname -r`/bui ld/include \ "PSTN_DEF=-DTARGET_SELAH -DTARGET_LINUX -DLINUX" 536core; \ fi ; \ cp Intel536.o .. ; \ if [ -a /boot/vmlinuz.version.h ]; then \ cp /boot/vmlinuz.version.h /lib/modules/`uname -r`/build/include/linux/v ersion.h;\ fi 2.6.13-15-default make[1]: Entering directory `/home/aldin/Intel-536/coredrv' make -C /lib/modules/2.6.13-15-default/build SUBDIRS=/home/aldin/Intel-536/cored rv modules make[2]: Entering directory `/usr/src/linux-2.6.13-15-obj/i386/default' make -C ../../../linux-2.6.13-15 O=../linux-2.6.13-15-obj/i386/default modules CC [M] /home/aldin/Intel-536/coredrv/coredrv.o gcc: ../inc: No such file or directory /home/aldin/Intel-536/coredrv/coredrv.c:73: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’ /home/aldin/Intel-536/coredrv/coredrv.c:73: warning: parameter names (without types) in function declaration /home/aldin/Intel-536/coredrv/coredrv.c:73: warning: data definition has no type or storage class /home/aldin/Intel-536/coredrv/coredrv.c: In function ‘softcore_init_struct’: /home/aldin/Intel-536/coredrv/coredrv.c:339: warning: assignment from incompatible pointer type /home/aldin/Intel-536/coredrv/coredrv.c: In function ‘close’: /home/aldin/Intel-536/coredrv/coredrv.c:439: warning: ‘pm_unregister’ is deprecated (declared at /usr/src/linux-2.6.13-15/include/linux/pm.h:112) /home/aldin/Intel-536/coredrv/coredrv.c: In function ‘hamproc_write’: /home/aldin/Intel-536/coredrv/coredrv.c:684: warning: ignoring return value of ‘copy_from_user’, declared with attribute warn_unused_result /home/aldin/Intel-536/coredrv/coredrv.c: At top level: /home/aldin/Intel-536/coredrv/coredrv.c:880: warning: initialization makes integer from pointer without a cast /home/aldin/Intel-536/coredrv/coredrv.c:289: warning: ‘power_callback’ defined but not used make[5]: *** [/home/aldin/Intel-536/coredrv/coredrv.o] Error 1 make[4]: *** [_module_/home/aldin/Intel-536/coredrv] Error 2 make[3]: *** [modules] Error 2 make[2]: *** [modules] Error 2 make[2]: Leaving directory `/usr/src/linux-2.6.13-15-obj/i386/default' make[1]: *** [536core_26] Error 2 make[1]: Leaving directory `/home/aldin/Intel-536/coredrv' 2.6.13-15-default Failed to build driver aldin@linux:~/Intel-536>
đe ba zapelo?

ps:
evo me preko HCF modema na net-u znači da je nešto do 536 -tice…

pps:
Adise?

Ja na 2.6.13 kernelu koristim one stare zakrpljene drajvere (4.69.1), a ne 4.71.

Provjeriću nekad danas 4.71

[quote=Adis]Ja na 2.6.kernelu koristim one stare zakrpljene drajvere (4.69.1), a ne 4.71.

Provjeriću nekad danas 4.71[/quote]
ma na 9.3 radilo sa 4.71, najgore što nisam ni skontao šta mu fali pa neće, jedino ona linija “gcc: …/inc: No such file or directory” mi je sumnjiva…

[quote=Adis]Ja na 2.6.13 kernelu koristim one stare zakrpljene drajvere (4.69.1), a ne 4.71.

Provjeriću nekad danas 4.71[/quote]
?

4.71 radi, nije do kernela, očigledno je da je problem do SuSE-a, odnosno gcc 4.x :slight_smile:

može biti, ali samo da kažem da sam kompajlirao drivere za HCF conexant modem 56k interni, i nisam imao problema

Ljudi, i meni se isto desilo kao i Aldinu. Yastovi driveri ne rade, a ni 4.71 verzija koja mi je radila na SUSE 9.3 ne radi. Ista poruka kao i kod Aldina.
Any sugestion?>

Duža verzija:

Kompajliranje GCC-a 3.3.6 (trebaš samo gcc-core paket, odnosno samo C kompajler)
Sa gcc -v vidiš kako je SuSE kompajlirao
Koristiš iste ‘configure’ opcije, sa podrškom za C jezik (–with-languages=c) i odvojenim prefixom (–prefix=/opt/gcc3) (da ne bi poremetio instalirani gcc)

Kompajliranje 2.6.14 kernela sa tim GCC-om
Prije kompajliranja uradiš nešto kao

da bi koristio taj kompajler.

Prije kompajliranja, malo zakrpi kernel, npr. sa http://iphitus.loudas.com/archck.php
Koristi kernel config koji će ti dati komanda

Za više detalja pogledaj start.linux.org.ba (Kernel howto)

Kraća verzija:
Sačekaj da neko riješi dati problem. Šta kaže google?

Još kraća verzija:
Zaboravi :slight_smile:

Da li gcc-core-3.3.6 dolazi uz SUSE 10.0 DVD EVAL?
Na netu sam naisao na gcc-core, ali je oko 25MB, pa se pitam da li je to ono sto mi treba (malo mi izgleda veliko, jos sam na BIHnetovim ultra-brzim 26.4 vezama :slight_smile: )?

Ja mislim da ne dolazi, originalno gcc3.3.6 dolazi uz SuSE 9.3.

To je to - paket uključuje i sve sistemske biblioteke rekompajlirane sa gcc 3.x

Mislio sam na ovo:
ftp://ftp.gwdg.de/pub/misc/gcc/releases/gcc-3.3.6/gcc-core-3.3.6.tar.bz2 (11MB)

btw, za koji sat izlazi i novi gcc 4.1.0, koji bi trebao biti prvo upotrebljivo izdanje 4.x serije (mada su Fedora 4 i SuSE 10 već isporučivali 4.0; ali i sami ste vidjeli da 4.0 nije baš kosher)

GCC 4.1 => Da li ce on srediti ove kompajlerske greske u mnogin programima?
Ako ne, da odmah stavim 3.3.6 ili da cekam :slight_smile:

Kao prvo, to u velikom broju slučajeva nisu “kompajlerske greške”, već programi/drajveri sadrže dubiozan kod koji se igrom slučaja do sada kompajlirao. Teško da će kompajliranje Intel536 raditi u 4.1, osim ako stvarno nije bila kakva greška u GCC 4.0.x, pa je u 4.1 popravljeno.

btw, u 99% slučajeva kernel module (drajvere) morate kompajlirati istim kompajlerom kao i sam kernel.
=> ako na SuSE 10 želite Intel536ep, kompajlirajte novi kernel sa GCC 3.3.6, te sam Intel536EP.

Dok nisam zaboravio, još jedan važan razlog zašto ovaj drajver ne radi sa 4.0 gcc-om jeste što drajver nije Free software, uz drajver dođe prekompajlirana biblioteka (‘536core.lib’), za koju je Intel definitivno koristio neki 3.x GCC. Nema šanse da to proradi na kernelu kompajliranom sa 4.x ((ha zinem odmah slažem, možda ima šanse da proradi, ali, hmm, ne bih rekao da je dobro za kernel zdravlje))

P.S.
Fscking SuSE, godinama isporučuju drajvere za Intel536ep, koliko se sjećam, zadnji put je radio out of the box na SuSE 8.2, najbolje bi bilo kad uopšte ne bi ni pakovali svoj RPM, nakon svakog novog izdanja, samo problemi sa datim drajverom. Sva priča na wikiju uglavnom se svodi na SuSE probleme: http://start.linux.org.ba/I536ep

[quote=Adis]Kao prvo, to u velikom broju slučajeva nisu “kompajlerske greške”, već programi/drajveri sadrže dubiozan kod koji se igrom slučaja do sada kompajlirao. Teško da će kompajliranje Intel536 raditi u 4.1, osim ako stvarno nije bila kakva greška u GCC 4.0.x, pa je u 4.1 popravljeno.

btw, u 99% slučajeva kernel module (drajvere) morate kompajlirati istim kompajlerom kao i sam kernel.
=> ako na SuSE 10 želite Intel536ep, kompajlirajte novi kernel sa GCC 3.3.6, te sam Intel536EP.

Dok nisam zaboravio, još jedan važan razlog zašto ovaj drajver ne radi sa 4.0 gcc-om jeste što drajver nije Free software, uz drajver dođe prekompajlirana biblioteka (‘536core.lib’), za koju je Intel definitivno koristio neki 3.x GCC. Nema šanse da to proradi na kernelu kompajliranom sa 4.x

P.S.
Fscking SuSE, godinama isporučuju drajvere za Intel536ep, koliko se sjećam, zadnji put je radio out of the box na SuSE 8.2, najbolje bi bilo kad uopšte ne bi ni pakovali svoj RPM, nakon svakog novog izdanja, samo problemi sa datim drajverom. Sva priča na wikiju uglavnom se svodi na SuSE probleme: http://start.linux.org.ba/I536ep[/quote]
ček, ček, dis aut

[code][via@localhost ~]$ uname -r
2.6.12-12mdk-i586-up-1GB
[via@localhost ~]$ gcc --version
gcc (GCC) 4.0.1 (4.0.1-5mdk for Mandriva Linux release 2006.0)
Copyright © 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[via@localhost ~]$[/code]
modem iz prve kompajliran, make install urađeno, bez ručnog depmod i modprobe hehe, izgleda da Vedran zna šta valja lol

Good for you :slight_smile:

Hvala Bogu na lijepom vremenu i stabilnom C ABI-u, lol

[quote=aldin]ček, ček, dis aut

[code][via@localhost ~]$ uname -r
2.6.12-12mdk-i586-up-1GB
[via@localhost ~]$ gcc --version
gcc (GCC) 4.0.1 (4.0.1-5mdk for Mandriva Linux release 2006.0)
Copyright © 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[via@localhost ~]$[/code]
modem iz prve kompajliran, make install urađeno, bez ručnog depmod i modprobe hehe, izgleda da Vedran zna šta valja lol[/quote]
ovo je što se tiče modema, ali ipak gcc4 ima problema sa recimo kompajliranjem mplayera etc, što potvrđuje da je gcc4 “zglajzo” ne samo na suse-u već i na ubuntu i na mandrivi

Ma ja, ne može se ni OpenOffice iskompajlirati ni na Susonji ni na Mandarini.

Vedrane, koliko sam skotao ti si pripremio RPM za “normalni” Mandriva kernel (kompajliran sa GCC 4.0), jel ima nešto specijalno u setupu, da li je kernel kompajliran sa Module versioning support?

Nisam, radio sam rpm za Mandrake 9.2, 10.0 i možda 10.1 ali poslije toga nisam.