Προς το περιεχόμενο

ac'97 agere modem makefile in 64bit fc3


Axelfc

Προτεινόμενες αναρτήσεις

Δημοσ.

Προσπαθω να εγκαταστησω το modem σε ενα notebook Acer Aspire 1524WLMi με διανομη Fedora Core 3 64bit. Βρηκα τους σωστους drivers που ειναι αυτο το αρχειο:

http://linmodems.technion.ac.il/packages/smartlink/slmodem-2.9.9e-pre1-alsa.tar.gz

 

>Build the slmodemd for the 32-bit i386
architecture.    
  A 32-bit verison is necessary, as the dsplibs.o
object file supplied with slmodem (source not
supplied) is compiled for 32-bit i386, so linking with
64-bit object files will fail. 
  In order to build the 32-bit version, some changes
are required to the slmodemd Makefile:
  cd slmodem-2.9.9-alsa/modem , and edit the
Makefile.
  Add -m32 to the CFLAGS in the makefile (this will
build a 32-bit rather than 64-bit executable). 
  Add /usr/lib/libasound.so to the list of slmodemd
dependencies (i.e. the 32 bit version of libasound.so)
  Comment out the line slmodemd: -lasound  (to
prevent linking with the 64-bit version of
libasound.so, in /usr/lib64)
  Build slmodemd with make SUPPORT_ALSA=1

 

Αυτο που δεν καταλαβαινω πως μπορει να γινει ειναι το σημειο που λεει:

"Add /usr/lib/libasound.so to the list of slmodemd dependencies (i.e. the 32 bit version of libasound.so)". Ως εκει ειμαι οκ πιστευω.

 

Οριστε και το makefile στο οποιο πρεπει να γινουν οι αλλαγες. Οποιος μπορει help..!

 

>
##################################################    #########################
#
#
#       Makefile  --  modem application Makefile.
#
#       Copyright(c) 2003, Smart Link Ltd. (www.smlink.com)
#	All rights reserved.
#
#       Author: Sasha K ([email protected])
#
#
##################################################    #########################
#
##################################################    #########################

CC:= gcc
RM:= rm -f

CFLAGS:= -Wall -g -O -I. -DCONFIG_DEBUG_MODEM


modem-objs:= \
modem.o modem_datafile.o modem_at.o modem_timer.o \
modem_pack.o modem_ec.o modem_comp.o \
modem_param.o modem_debug.o homolog_data.o
dp-objs:= dp_sinus.o dp_dummy.o
sysdep-objs:= sysdep_common.o

all: slmodemd modem_test

slmodemd: modem_main.o modem_cmdline.o $(modem-objs) $(dp-objs) dsplibs.o $(sysdep-objs)
modem_test: modem_test.o modem_cmdline.o $(modem-objs) $(dp-objs) dsplibs.o $(sysdep-objs)

SUPPORT_ALSA:=1
ifdef SUPPORT_ALSA
slmodemd: -lasound
CFLAGS+= -DSUPPORT_ALSA=1
endif

slmodemd modem_test:
$(CC) -o $@ $^

clean:
$(RM) slmodemd modem_test modem_main.o modem_cmdline.o modem_test.o $(modem-objs) $(dp-objs) $(sysdep-objs)
$(RM) *~ *.orig *.rej

.PHONY: all dep generic-dep clean clean-build-profile


#
# rules
#

%.o: %.c .build_profile
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$@) -o $@ -c $<

dep: generic-dep
generic-dep:
$(RM) .depend
$(foreach src,$(wildcard *.c),$(CC) -M $(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$(src:.c=.o)) -c $(src) >> .depend 

-include .depend

# build_profile
-include .build_profile

.build_profile::
ifneq ($(CFLAGS),$(PROFILE_CFLAGS))
@if [ "$(CFLAGS) $(EXTRA_CFLAGS)" != "$(PROFILE_CFLAGS)" ] ; then \
  echo "rebuild profile..." ; \
  echo "PROFILE_CFLAGS=$(CFLAGS) $(EXTRA_CFLAGS)" > $(@) ; fi
endif

clean: clean-build-profile
clean-build-profile:
@$(RM) -f .build_profile

Δημοσ.
Build the slmodemd for the 32-bit i386

architecture.

A 32-bit verison is necessary' date=' as the dsplibs.o

object file supplied with slmodem (source not

supplied) is compiled for 32-bit i386, so linking with

64-bit object files will fail. [/quote']

 

Nomizw oti leei xeka8ara pws 8elei 32-bit architecture opote de nomizw na paixei.

Δημοσ.

Εχω εγκαταστησει καποια 32Bit modules του alsa, οποτε το ολο θεμα ειναι να κανω τους drivers να παιξουν με τα 32bit modules και οχι με τα 64bit του συστηματος. Απο αυτα που διαβαζα παιζει, απλως δεν καταλαβαινω τι ακριβως πρεπει να κανω. Εχω την εντυπωση πως πρεπει να βαλω το /usr/lib/libasound.o στο τελος αυτης της γραμμης

slmodemd: modem_main.o modem_cmdline.o $(modem-objs) $(dp-objs) dsplibs.o $(sysdep-objs)

 

Στο συστημα μου υπαρχει και το /usr/lib64/libasound.o οποτε του λεω να τρεξει με το 32 bit και οχι με το 64. Αλλα δεν ειμαι σιγουρος. Οποτε αν καποιος ξερει καλυτερα ας πει μια γνωμη.

 

Edit: Axel εδω. Μπηκα κατα λαθος με το user του αδερφου μου.

Δημοσ.

Δοκιμασα να προσθεσω το αρχειο σε διαφορα σημεια του makefile, αλλα παιρνω συνεχεια το παρακατω error:

make[1]: *** No rule to make target `/usr/lib/libasound.o', needed by `slmodemd'. Stop.

 

Κατι παιζει με τα rules που αναφερονται παρακατω, αλλα δεν εχω ιδεα... Κανεις?

Δημοσ.

Το προβλημα που ανεφερα χθες λυθηκε. Εβαλα το /usr/lib/libasound.so στο τελος της γραμμης

slmodemd: modem_main.o modem_cmdline.o $(modem-objs) $(dp-objs) dsplibs.o $(sysdep-objs)

 

Τωρα το error που μου βγαζει ειναι:

>
[axel@aeris slmodem-2.9.9-alsa]$ make SUPPORT_ALSA=1
make -C modem all
make[1]: Entering directory `/home/peter/slmodem-2.9.9-alsa/modem'
rebuild profile...
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -m32 -DSUPPORT_ALSA=1   -o 
modem_main.o -c modem_main.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -m32 -DSUPPORT_ALSA=1   -o 
modem_cmdline.o -c modem_cmdline.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -m32 -DSUPPORT_ALSA=1   -o 
modem.o -c modem.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -m32 -DSUPPORT_ALSA=1   -o 
modem_datafile.o -c modem_datafile.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -m32 -DSUPPORT_ALSA=1   -o 
modem_at.o -c modem_at.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -m32 -DSUPPORT_ALSA=1   -o 
modem_timer.o -c modem_timer.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -m32 -DSUPPORT_ALSA=1   -o 
modem_pack.o -c modem_pack.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -m32 -DSUPPORT_ALSA=1   -o 
modem_ec.o -c modem_ec.c
modem_ec.c:689: warning: 't403_timeout' defined but not usedgcc -Wall -g 
-O -I. -DCONFIG_DEBUG_MODEM -m32 -DSUPPORT_ALSA=1   -o
modem_comp.o -c modem_comp.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -m32 -DSUPPORT_ALSA=1   -o 
modem_param.o -c modem_param.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -m32 -DSUPPORT_ALSA=1   -o 
modem_debug.o -c modem_debug.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -m32 -DSUPPORT_ALSA=1   -o 
homolog_data.o -c homolog_data.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -m32 -DSUPPORT_ALSA=1   -o 
dp_sinus.o -c dp_sinus.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -m32 -DSUPPORT_ALSA=1   -o 
dp_dummy.o -c dp_dummy.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -m32 -DSUPPORT_ALSA=1   -o 
sysdep_common.o -c sysdep_common.c
gcc -o slmodemd modem_main.o modem_cmdline.o modem.o modem_datafile.o 
modem_at.o modem_timer.o modem_pack.o modem_ec.o modem_comp.o
modem_param.o modem_debug.o homolog_data.o dp_sinus.o dp_dummy.o 
dsplibs.o sysdep_common.o
/usr/bin/ld: warning: i386 architecture of input file `modem_main.o' is 
incompatible with i386:x86-64 output...

 

Αρνειται δλδ να παιξει στα 64bit. Ο τυπος εδω λεει πως ετσι δουλευει ομως...

http://linmodems.technion.ac.il/archive-fourth/msg02592.html

Δημοσ.

Πειραξα κατι αλλο και σταματησε το warning. Αλλαξα αυτη τη γραμμη

slmodemd modem_test:

$(CC) -o $@ $^

 

και την εκανα ετσι

 

slmodemd modem_test:

$(CC) $(CFLAGS) -o $@ $^

 

Εγκατεστησα καποια πακετα ακομα για να παρω το αρχειο /usr/lib/libasound.a καθως το /usr/lib/libasound.so ηταν λαθος στις οδηγιες. Εβαλα μερικα πακετα ακομα για να ξεπεραστουν κατι προβλημα με το crt1.o. Τωρα ομως εχω κολλησει σε αυτο το error...

>
[axel@aeris slmodem-2.9.9e-pre1-alsa]$ make SUPPORT_ALSA=1
make -C modem all
make[1]: Entering directory 
`/home/axel/copy/slmodem-2.9.9e-pre1-alsa/modem'
gcc -m32 -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -DSUPPORT_ALSA=1 -o slmodemd 
modem_main.o modem_cmdline.o modem.o modem_datafile.o modem_at.o 
modem_timer.o modem_pack.o modem_ec.o modem_comp.o modem_param.o 
modem_debug.o homolog_data.o dp_sinus.o dp_dummy.o dsplibs.o 
sysdep_common.o /usr/lib/libasound.a
/usr/lib/libasound.a(simple.o)(.text+0x1c38): In function `.L351':
: undefined reference to `sqrt'
/usr/lib/libasound.a(dlmisc.o)(.text+0xab): In function `snd_dlsym_verify':
: undefined reference to `dlsym'
/usr/lib/libasound.a(dlmisc.o)(.text+0xc): In function `snd_dlopen':
: undefined reference to `dlopen'
/usr/lib/libasound.a(dlmisc.o)(.text+0x26): In function `snd_dlclose':
: undefined reference to `dlclose'
/usr/lib/libasound.a(dlmisc.o)(.text+0x131): In function `snd_dlsym':
: undefined reference to `dlsym'
collect2: ld returned 1 exit status
make[1]: *** [slmodemd] Error 1
make[1]: Leaving directory 
`/home/axel/copy/slmodem-2.9.9e-pre1-alsa/modem'
make: *** [modem] Error 2

Δημοσ.

Yeap, δουλεψε! Thanks apoikos.

Οι drivers εγκατασταθηκαν τελικα. Εκει που νομιζα ομως οτι επιτελους θα δουλεψει μολις πηγα να τρεξω το prog μου πεταξε καινουργια errors. Ιδου...

>
[axel@aeris slmodem-2.9.9e-pre1-alsa]$ /usr/sbin/slmodemd --alsa --country=GREECE hw:1 
ALSA lib control.c:629:(snd_ctl_open_conf) symbol _snd_ctl_hw_open is not 
defined inside (null) 
error: mixer setup: attach hw:1 error: No such device or address 
ALSA lib pcm.c:1942:(snd_pcm_open_conf) symbol _snd_pcm_hw_open is not 
defined inside (null) 
error: alsa setup: cannot open playback device 'hw:1': No such device or 
address 
error: cannot setup device `hw:1'

 

Ξερει κανεις τι φταιει? Ισως ειναι οτι εκανα compile το alsa-lib και alsa-driver για 64-bit και οχι για 32-bit. Δεν μπορω να σκεφτω κατι αλλο και δεν βρηκα και καποια λυση στο google... Αν παω να κανω compile για 32-bit τα παραπανω φοβαμαι μη κανω ανω κατω το συστημα μου...

Δημοσ.

Add -m32 to the CFLAGS in the makefile (this will

build a 32-bit rather than 64-bit executable).

Add /usr/lib/libasound.so to the list of slmodemd

dependencies (i.e. the 32 bit version of libasound.so)

Comment out the line slmodemd: -lasound (to

prevent linking with the 64-bit version of

libasound.so, in /usr/lib64)

 

Είναι σαφές ότι θέλει 32-bit έκδοση του alsa-lib. Βρες τα πακέτα και πέρνα την, αλλιώς δε θα παίξει. Μη φοβάσαι, αν κάτι πάει στραβά στη χειρότερη απεγκαθιστάς την 32-bit έκδοση. Δεν είναι windows εδώ να κάνεις φορμάτ επειδή σήμερα είναι Τρίτη :-P

Δημοσ.

Το σημειο που κανεις quote αφορα την εγκατασταση του προγραμματος. Εγκατεστησα καποια πακετα με την εκδοση 1.0.6-8 του alsa-lib τα οποια και περιειχαν το αρχειο /usr/lib/libasound.a (οι οδηγιες ανεφεραν λανθασμενα το αρχειο /usr/lib/libasound.so).

Επισης εβαλα με το χερι την εκδοση 1.0.9 του alsa-lib ομως στο configure δεν εκανα καποια ρυθμιση για 32-bit.

Το error που αναφερω παραπανω μου το βγαζει οταν παω να τρεξω το προγραμμα το οποιο εγκατασταθηκε τελικα κανονικα.

Απο αυτα που βλεπω υπαρχει προβλημα με τα αρχεια control.c και pcm.c (δεν περιεχουν καποιες συναρτησεις στον κωδικα τους).

Δεν βλέπω να εχει καποια σχεση με το οτι ειναι εγκατεστημενη για 64-bit η πιο καινουργια εκδοση του alsa-lib.

Θα δω αν εχει uninstall script και θα ξανακανω compile με το χερι με option για 32-bit

Δημοσ.

Τελικα καταφερα να τρεξω σωστα το προγραμμα και να συνδεθω στο inet με τις παρακατω ρυθμισεις για το wvdial.conf

 

>
[axel@aeris ~]$ cat /etc/wvdial.conf

[Dialer Defaults]
Modem = /dev/ttySL0
Dial Command = ATX3DT
Baud = 115200
Init1 = ATZ
#Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init2 = ATM0L0
#Init3 = ATX3
#Init3 = ATX3DT
ISDN = 0
Modem Type = Analog Modem
#Flow Control=Hardware (CRTSCTS)
Phone = xxx
Username = xxx
Password = xxx
Carrier Check = no

Το θεμα ειναι πως πολυ συχνα μου πεταει no carrier (εχει συνδεθει ελαχιστες φορες)και εκτος αυτου δεν μπορουσα να δω ιστοσελιδες. Κατι πρεπει να παιζει με το dns, αλλα δεν ειχα προχειρη καποια ip για να δοκιμασω τι γινεται...

  • 6 μήνες μετά...
Δημοσ.

Ρε παιδιά επειδή χρησιμοποιώ το linux λίγο καιρό και δεν έχω την κατάλληλη εξικοίωση ακόμα θα ήθελα αν μπορεί να με βοηθήσει κάποιος λίγο πιο αναλυτικά στην εγκατάσταση του modem μου στο laptop..

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...