Newsgroup: it.comp.os.linux.sys
Titolo: modem HSF: la storia infinita

Sto cercando già da un po' di installare questi driver
http://www.ifisica.uaslp.mx/computo/software/linux/modems/chipsHSF56K-RH9.0/hsflinmodem-5.03.27lnxtbeta03042700.tar.gz
su una Fedora Core 3 (kernel 2.6.9-1.667).
il file INSTALL dice di lanciare prima "make install" e poi lo script 
/usr/sbin/hsfconfig.
Prima di lanciare lo script ho installato i sorgenti del kernel e 
linkato /usr/src/linux alla directory /usr/src/redhat/SOURCES/.
Lo script chiede anche questa dir(/lib/modules/2.6.9-1.667/build) e 
all'interno di questa cerca il file modversions.h, che però ho in un 
altro path: linkandolo nel punto giusto, lo script sembra andare avanti 
correttamente, ma poi si ferma con il seguente errore:
---
Re-compiling HSF modules for kernel 2.6.9-1.667, using source directory
/lib/modules/2.6.9-1.667/build. Please wait..
ERROR: Module re-compilation and installation failed!
Please examine the log file "/tmp/hsfconfig-buildlog.txt" to determine why.
---
il file di log lo incollo qui sotto... qualcuno mi sa dare una corretta 
interpretazione?
Grazie per l'attenzione, ciao!
GePs
<--- hsfconfig-buildlog.txt --->
In file included from <command line>:1:
/lib/modules/2.6.9-1.667/build/include/linux/config.h:6:2: #error 
including kernel header in userspace; use the glibc headers instead!
rm -f *.o *.a
In file included from <command line>:1:
/lib/modules/2.6.9-1.667/build/include/linux/config.h:6:2: #error 
including kernel header in userspace; use the glibc headers instead!
make[1]: Entering directory `/usr/lib/hsf/modules/osspec'
rm -f *.o *.a
make[1]: Leaving directory `/usr/lib/hsf/modules/osspec'
* compiling (gcc) mod_osspec.c
In file included from mod_osspec.c:10:
../modules/osspec/include/oscompat.h:23:26: linux/tqueue.h: No such file 
or directory
In file included from /lib/modules/2.6.9-1.667/build/include/linux/irq.h:20,
                  from 
/lib/modules/2.6.9-1.667/build/include/asm/hardirq.h:6,
                  from 
/lib/modules/2.6.9-1.667/build/include/linux/hardirq.h:6,
                  from 
/lib/modules/2.6.9-1.667/build/include/linux/interrupt.h:11,
                  from ../modules/osspec/include/oscompat.h:25,
                  from mod_osspec.c:10:
/lib/modules/2.6.9-1.667/build/include/asm/irq.h:16:25: irq_vectors.h: 
No such file or directory
In file included from 
/lib/modules/2.6.9-1.667/build/include/asm/hardirq.h:6,
                  from 
/lib/modules/2.6.9-1.667/build/include/linux/hardirq.h:6,
                  from 
/lib/modules/2.6.9-1.667/build/include/linux/interrupt.h:11,
                  from ../modules/osspec/include/oscompat.h:25,
                  from mod_osspec.c:10:
/lib/modules/2.6.9-1.667/build/include/linux/irq.h:70: error: `NR_IRQS' 
undeclared here (not in a function)
In file included from /lib/modules/2.6.9-1.667/build/include/linux/irq.h:72,
                  from 
/lib/modules/2.6.9-1.667/build/include/asm/hardirq.h:6,
                  from 
/lib/modules/2.6.9-1.667/build/include/linux/hardirq.h:6,
                  from 
/lib/modules/2.6.9-1.667/build/include/linux/interrupt.h:11,
                  from ../modules/osspec/include/oscompat.h:25,
                  from mod_osspec.c:10:
/lib/modules/2.6.9-1.667/build/include/asm/hw_irq.h:28: error: 
`NR_IRQ_VECTORS' undeclared here (not in a function)
In file included from mod_osspec.c:10:
../modules/osspec/include/oscompat.h: In function 
`cnxthsf_OsModuleUseCountInc':
../modules/osspec/include/oscompat.h:205: error: `MOD_INC_USE_COUNT' 
undeclared (first use in this function)
../modules/osspec/include/oscompat.h:205: error: (Each undeclared 
identifier is reported only once
../modules/osspec/include/oscompat.h:205: error: for each function it 
appears in.)
../modules/osspec/include/oscompat.h: In function 
`cnxthsf_OsModuleUseCountDec':
../modules/osspec/include/oscompat.h:210: error: `MOD_DEC_USE_COUNT' 
undeclared (first use in this function)
make: *** [mod_osspec.o] Error 1

GePs ha scritto:

Non uso fetora perche' non ho tempo da perdere per fare gratis il beta
tester a un prodotto che altri poi vendono a caro prezzo (RHE), essendo
gia` costretto a farlo con Windows senza che mi avvertano nemmeno che si
tratta di prodotto cronicamente in beta, ma e` possibile che in
/usr/src/linux/include/linux o giu` di li`, questo simpatico arnese si
aspetti di trovare gli header (include) di sistema e cio` quelli delle
glibc e non quelli del kernel (cosa che si evince anche leggendo
/usr/src/linux/README - se sono installati li` i sorgenti del kernel).
Quindi se proprio sei masochista e vuoi continuare usare quella
distribuzione fetente, ti suggerirei di spostare altrove i tuoi sorgenti
del kernel e di fare un link li` agli header delle glibc di sistema, che
potrebbero essere 
p.es
. in /usr/include/linux. Probabilmente ci sono
anche modi migliori, ma non li conosco e con fetora non vale la pena.
Un'alternativa valida in assoluto (non solo nello specifico) e` passare
a una distribuzione seria (anzi metadistribuzione), tipo Gentoo, oppure
se hai bisogno di qualcosa di granitico per server critici (massima
sicurezza e affidabilita`, anche se barbosa) Debian, o se per cose
normali Ubuntu.
Oppure se ami proprio tanto RedHat, ma non ti piacciono i suoi prezzi, a
Centos.
Sistemi di produzione, insomma, non di test.
Andrea

Dimenticavo.
Altri drivers funzionanti di quel tipo, li dovresti poter trovare sul
sito della Linuxant (
http://www.linuxant.com/drivers/
).
Andrea

 [CUT]
Ti ringrazio, ma il fatto è che in questo momento mi serve proprio 
Fedora per motivi che non ti sto qui a spiegare. Grazie per i 
suggerimenti, comunqe...

 
La versione a 56k è a pagamento. Di free c'è una versione limitata a 14.4...

 potrebbero essere 
p.es
. in /usr/include/linux. 
Scusa di nuovo, potresti essere più chiaro?
Lasciando perdere un attimo la valutazione di Fedora (sul quale non sono 
totalmente in disaccordo, però purtroppo devo usarla per forza), mi 
spiegheresti meglio un paio di cose?
Cosa devo linkare e dove?
Il kernel è nella posizione giusta, e ad un certo punto lo script mi fa 
questa domanda:
Where is the linux source build directory that matches your running kernel?
[/lib/modules/2.6.9-1.667/build]
se gli rispondo qualcosa'altro lui si arrabbia dicendomi che non trova 
il file autoconf.h
Se lascio la scelta predefinita (quella tra parentesi quadre) si 
verifica l'errore di cui ho scritto nel primo post. Ho fatto una ricerca 
dei file .h che non vengono trovati (il log segnala tqueue.h e 
irqvectors.h), ma nel mio sistema non ci sono...
Insomma, sembrerebbe che non trova il percorso corretto ad una directory 
di librerie, le glibc, dici: i sorgenti del kernel li ho sotto 
/usr/src/redhat/SOURCES, puntati anche dal link /usr/src/linux... cosa e 
come dovrei linkare qui dentro?
Scusa l'insistenza, ma sono veramente confuso...

 including kernel header in userspace; use the glibc headers instead!
Mi sembra di ricordare che nel README dei sorgenti del kernel (sara`
probabilmente /usr/src/redhat/SOURCES/README), ti dica di installarle i
sorgenti del kernel in altro luogo rispetto a /usr/src/linux (dove
normalmente risiedono per ragioni storiche), perche'
/usr/src/linux/include/linux
deve contenere o puntare agli header (gli include) delle glibc, che
servono appunto a compilare qualsiasi programma C sul tuo sistema.
Adesso non so su fetore, ma spesso questi possono risiedere in
/usr/include/linux. Se cosi` fosse, dovresti cancellare il link
/usr/src/linux che punta ai sorgenti del kernel e quindi crearne uno
/usr/src/linux/include/linux che punti agli include delle librerie C
(puo` darsi /usr/include/linux). Alla fine il risultato che dovresti
poter verificare con ls -la /usr/src/linux/include/linux ti fara` vedere
/usr/src/linux/include/linux --> /usr/include/linux.
Chiaramente per poter fare cio` devi avere gli include delle glibc
installati, altrimenti la cosa non puo` funziona e una volta installati
devi creare il link appropriato al loro luogo di residenza.
Sperando di esserti stato utile (ma chiarendo che non posso essere in
alcun modo essere ritenuto responsabile per disastri e sciagure a cui tu
andassi incontro seguendo i miei sugggerimenti), per qualsiasi problema,
ti invito preliminarmente alla lettura e allo studio di
/usr/src/redhat/SOURCES/README, man man, man ls, man rm, man rmdir, man
mkdir, man ln (anche perche' non e` detto che io o qualcun altro possa
essere qui a rispondere). Potra` sembrare noioso, ma ti assicuro che
alla lunga paga. Quest'ultima parte della mia risposta, da non
dimenticare mai, si chiama RTFM!.
Per maggiori informazioni a riguardo e anche in generale, altro
strumento insostituibile e` 
www.google.com
, dove ti invito a cercare
RTFM (e altro), ma dato che e` domenica e mi sento gentile, ti do anche
un link (
http://en.wikipedia.org/wiki/RTFM
).
Andrea

 essere in un pacchetto del tipo glibc-devel.
Proverò.
Grazie per la risposta esauriente, e scusa se non ti ho risposto subito, 
ma è stata una settimanaccia.
Ho letto di tutto di più per installare questi cavolo di driver, ma 
finora non ho cavato un ragno dal buco. Non sono certo una cima, ma 
finora non ho incontrato problemi insormontabili per fare altre cose che 
mi sono servite.
Grazie ancora.