PROBLEMA Scheda di rete Attansic /Atheros L1 integrata e linux 2.4.18

Pubblicità

giando76

Utente Attivo
Messaggi
190
Reazioni
3
Punteggio
48
Salve a tutti,
ho la necessità di utilizzare la scheda in oggetto in Debian Woody 3.0 con kernel 2.4.18. non risco a trovare nulla a riguardo e i driver che ho scaricato danno errore di compilazione.
La scheda di rete in oggetto è una scheda di rete integrata sulla scheda madre Asus P5L-MX.
La compilazione produce il risultato seguente:

Codice:
RetroPCDX:/home/retrouser/downloads/Attansic_L1/src# make install

make
make[1]: Entering directory `/home/retrouser/downloads/Attansic_L1/src'
gcc -DLINUX -D__KERNEL__ -DMODULE -O2 -pipe -Wall -I/usr/src/kernel-headers-2.4.18-bf2.4/include -I. -DMODVERSIONS -DEXPORT_SYMTAB -include /usr/src/kernel-headers-2.4.18-bf2.4/include/linux/modversions.h    -c -o at_main.o at_main.c
In file included from /usr/src/kernel-headers-2.4.18-bf2.4/include/asm/semaphore.h:39,
                 from /usr/src/kernel-headers-2.4.18-bf2.4/include/linux/fs.h:200,
                 from /usr/src/kernel-headers-2.4.18-bf2.4/include/linux/capability.h:17,
                 from /usr/src/kernel-headers-2.4.18-bf2.4/include/linux/binfmts.h:5,
                 from /usr/src/kernel-headers-2.4.18-bf2.4/include/linux/sched.h:9,
                 from /usr/src/kernel-headers-2.4.18-bf2.4/include/linux/mm.h:4,
                 from at.h:15,
                 from at_main.c:1:
/usr/src/kernel-headers-2.4.18-bf2.4/include/asm/system.h: In function `__set_64bit_var':
/usr/src/kernel-headers-2.4.18-bf2.4/include/asm/system.h:185: warning: dereferencing type-punned pointer will break strict-aliasing rules
/usr/src/kernel-headers-2.4.18-bf2.4/include/asm/system.h:185: warning: dereferencing type-punned pointer will break strict-aliasing rules
at_main.c: In function `at_suspend':
at_main.c:494: warning: dereferencing type-punned pointer will break strict-aliasing rules
at_main.c:495: warning: dereferencing type-punned pointer will break strict-aliasing rules
at_main.c: In function `at_setup_mac_ctrl':
at_main.c:1001: error: structure has no member named `vlgrp'
at_main.c: In function `at_via_workaround':
at_main.c:2971: error: `PCI_COMMAND_INTX_DISABLE' undeclared (first use in this function)
at_main.c:2971: error: (Each undeclared identifier is reported only once
at_main.c:2971: error: for each function it appears in.)
make[1]: *** [at_main.o] Error 1
make[1]: Leaving directory `/home/retrouser/downloads/Attansic_L1/src'
make: *** [default] Error 2
RetroPCDX:/home/retrouser/downloads/Attansic_L1/src#

Da cosa può dipendere?

Grazie
G.
 
hahaha :)

@giando76

- approccio standard con il kernel non e' di scaricare driver, ma utilizzare un kernel che gia includa i driver

. il driver per quella scheda c'e' dal kernel 3.2 in su

- kernel 2.4 roba preistorica, addiritura pre- c.f.s.
che necessita' hai di usare un tale kernel ? Usa un kernel recente, anche 6.x o mainline,
su vecchi pc va comunque bene

In genere il kernel si puo aggiornare mantenendo lo stesso rootfs.
Soluzione piu semplice, installa una distro con kmernel >= 3.2.
 
hahaha :)
- approccio standard con il kernel non e' di scaricare driver, ma utilizzare un kernel che gia includa i driver
. il driver per quella scheda c'e' dal kernel 3.2 in su
https://elixir.bootlin.com/linux/v3.2/source/drivers/net/ethernet/atheros/atlx/atl1.c
- kernel 2.4 roba preistorica, addiritura pre- c.f.s.
che necessita' hai di usare un tale kernel ? Usa un kernel recente, anche 6.x o mainline,
su vecchi pc va comunque bene
In genere il kernel si puo aggiornare mantenendo lo stesso rootfs.
Soluzione piu semplice, installa una distro con kmernel >= 3.2.

Il 2.4.18 mi serve per utilizzare pienamente il mio controller Catweasel MK4Plus. Ho usato tale controller anche con il 2.6.27 che mi permette di compilare il driver della scheda di rete ATL1 con successo, ma purtroppo le funzionalità del controller Catweasel nella versione 2.6.27 son ridotte rispetto a quelle del 2.4.18. Il problema però è la scheda di rete ATL1 che non riesco a compilare sotto il 2.4.18.
 
Ultima modifica:
Se cerchi di compilare il driver di rete 2.6 per 2.4, la strada la vedo dura,
i kernel cambiano struttura, quindi il driver compila con errori che solo
chi ha una certa esperienza riesce, e non sempre e' semplice, a risolvere.
E anche una volta compilato, ci possono essere ulteriori problemi.

Riguardo il controller MK4Plus, non ci perderei tempo. Non vedo il driver
in mainline, strano, pare che non lo abbiano mai mandato in upstream.

Vedo per altro che oggidi quel PCI vendor ID e' assegnato a TigerJet.
Pare ci sia solo una versione del driver per kernel 2.4 e 2.6 quindi a meno che
qualche pazzo non porti il driver alle versioni recenti, non c'e' molta speranza.

O tieni il 2.4 dove dici che funziona bene e aggiungi una scheda rete pci che venga vista
da quel kernel.
O butti tutto in spazzatura, e recuperi dalla spazzatura una roba piu recente.

Saluti
 
Se cerchi di compilare il driver di rete 2.6 per 2.4, la strada la vedo dura,
i kernel cambiano struttura, quindi il driver compila con errori che solo
chi ha una certa esperienza riesce, e non sempre e' semplice, a risolvere.
E anche una volta compilato, ci possono essere ulteriori problemi.

Riguardo il controller MK4Plus, non ci perderei tempo. Non vedo il driver
in mainline, strano, pare che non lo abbiano mai mandato in upstream.

Vedo per altro che oggidi quel PCI vendor ID e' assegnato a TigerJet.
Pare ci sia solo una versione del driver per kernel 2.4 e 2.6 quindi a meno che
qualche pazzo non porti il driver alle versioni recenti, non c'e' molta speranza.

O tieni il 2.4 dove dici che funziona bene e aggiungi una scheda rete pci che venga vista
da quel kernel.
O butti tutto in spazzatura, e recuperi dalla spazzatura una roba piu recente.

Per ora ho risolto mettendo nello slot PCIExpress una scheda di rete con RTL8168E che non è inclusa nel kernel, ma Realtek fornisce il driver, anche per 2.4, che poi io ho compilato e funziona. A questo punto credo che la migliore soluzione per continuare ad usare MK4Plus sia questa.

Grazie per la pazienza
G
 
Di niente, per me aiutare e' sempre il miglior modo per imparare.

Infatti vedo che all'epoca dei kernel 2.4 non era ancora troppo diffusa
la filosofia di inviare il driver in mainline.

Hai compilato separatamente il .ko, in genere funziona se usi
lo stesso compilatore del kernel, gli header giusti,
e se il driver e' per quella x.x versione specfica.
Per questo dico, sempre meglio utilizzare i driver gia inclusi se disponibili.

Comunque ottimo, ben fatta.
 
Pubblicità
Pubblicità
Indietro
Top