Log in


Forgot your password?
prijatelji LUGoNSa
gnu.gif
linuxzasve.jpg
hulk.jpg
zextras_logo.png
 
You are here: Home / Uputstva / Mandriva / Slmodem

Slmodem

by Dragan Lukić last modified Jan 07, 2008 09:32 PM
Kako do modema na Mandriva Linux-u?

Naravno pod uslovom da je modem koji je moguće pokrenuti slmodemd skriptom.


A kako to saznati?

Prvo i osnovno za sve one koji bi hteli da koriste modem pod bilo kojim Linux-om: PROVERITE da li je vaš modem uopšte podržan!! Prava adresa za ovaj upit je Linmodems i neizostavni skript zvani ScanModem koji je detaljno objašnjen ovde.

Pod pretpostavkom da ste skinuli i pokrenuli ovaj skript i dobili potvrdan odgovor u fajlu ModemData.txt, recimo ovakav (ovo je samo isečak)

The ALSA verion is 1.0.15rc1
The modem cards detected by "aplay -l"  are:
card 0: SB [HDA ATI SB], device 6: Si3054 Modem [Si3054 Modem]

The /proc/asound/pcm file reports:
-----------------------
00-06: Si3054 Modem : Si3054 Modem : playback 1 : capture 1
00-02: ALC882 Analog : ALC882 Analog : capture 2
00-01: ALC882 Digital : ALC882 Digital : playback 1
00-00: ALC882 Analog : ALC882 Analog : playback 1 : capture 2

about /proc/asound/cards:
------------------------
 0 [SB             ]: HDA-Intel - HDA ATI SB
                      HDA ATI SB at 0xfebf8000 irq 17

USB modem not detected by lsusb

For candidate card in slot 00:14.2, firmware information and bootup diagnostics are:
 PCI slot    PCI ID        SubsystemID    Name
 ----------    ---------    ---------    --------------
 00:14.2    1002:437b    1462:0369    Audio device: ATI Technologies Inc SB450 HDA Audio

 Modem interrupt assignment and sharing:
 17:     457844   IO-APIC-fasteoi   HDA Intel, wlan0
 --- Bootup diagnostics for card in PCI slot 00:14.2 ----


 === Finished modem firmware and bootup diagnostics section. ===
 === Next deducing cogent software ===

 For candidate modem in PCI bus: 

      Primary PCI_id 
Support type needed or chipset:    slmodemd

kao što je kod mene, znači da imate modem koji je moguće pokrenuti preko ALSA-e uz pomoć slmodemd drajvera (da ga tako nazovemo).


Uz Mandrivu dolazi slmodem kernel modul i dkms, ali oni ne daju željene rezultate, bar ne u mom slučaju, te je bilo potrebno posegnuti za originalnim slmodemd drajverom, čiji se source nalazi ovde, a Mandrivine pakete je neophodno deinstalirati.

Mala digresija: probajte prvo sa gotovim slmodem drajverom koji je naveden u ModemData.txt fajlu koji je skripta scanModem napravila, u mom slučaju nije uspelo, ali mi je preporučen SLMODEMD.gcc4.2.tar.gz koji se nalazi ovde.

Procedura za testiranje/pokretanje slmodemd drajvera je jednostavna, nakon raspakivanja ovog tar.gz fajla:

tar zxf SLMODEMD.gcc4.2.tar.gz

odete u novonastali direktorijum i kao root otkucate:

./slmodemd --alsa hw:0,6

tj. odaberete adresu hardware-a koja je prijavljena u fajlu ModemData.txt, što je kod mene 00-06, pa je zato i opcija na kraju gornje linije 0,6.

Preporučujem da se preko kppp programa testira modem, koji će se nalaziti na /dev/ttySL0 ali to će vam pokretanje gornje skripte već prijaviti. Opcija Query modem iz kppp-a će pokušati da ga pokrene i testira te da ispiše output. Naravno da je poželjno da se prvi init string u kppp-u za modem promeni iz ATZ u ATX3, ali u suštini ne znači previše.

Kad dobijete potvrdu da je modem pronađen i aktivan, probajte dial out. Ukoliko sve prođe kako treba, blago vama, imate funkcionalan modem. ALI ako dobijete kao ja nešto poput

period size 48 not supported by playback (64)

vreme je da se vratimo na onaj source koji smo ranije skinuli.


U pitanju je slmodemd greška koja se javlja zbog prisustva drugih uređaja mrežnog tipa (lan/wlan) i koji šalje neočekivanu vrednost kao ulaz, te time onemogućava dalji rad slmodemd drajvera. Kako nisam bio usamljen slučaj, našlo se pametnih ljudi koji su napravili patch za slmodemd source koji ovu grešku maskira i samim tim omogućava funkcionisanje modema.

Dotična zakrpa se nalazi ovde.

Pošto je na redu i kompajliranje, neophodni su svi devel paketi, a najsigurnije je da instalirate -devel verziju kernela koji trenutno koristite, -devel verziju alsa servera i paket chkconfig koji će "povući" dosta paketa za sobom, ali bi trebalo da pokrije sve eventualne rupe.

Ako je sve spremno, možemo dalje. To znači raspakivanje source-a slmodemd drajvera:

tar xvzf slmodem-2.9.11-20070813.tar.gz

kopiranje zakrpe u novonastali direktorijum (pretpostavljam da ovo znate) i patch-ovanje slmodemd source-a:

patch -p1 < slmodem-2.9.11-alsa-period-size.patch

nakon toga ide kompajliranje:

make SUPPORT_ALSA=1

i instaliranje:

make install SUPPORT_ALSA=1

Ovi koraci će u /modem poddirektorijumu slmodem* direktorijuma u kome je obavljeno kompajliranje, napraviti novi slmodemd drajver. Znači sledeći korak je odlazak u taj poddirektorijum i ponovno pokretanje slmodemd drajvera kao što je već ranije i napisano:

./slmodemd --alsa hw:0,6

i ponovni test sa kppp-om. Kod mene ovo radi, nadam se da će i kod vas!


NAPOMENA: I kod instaliranja drajvera je OBAVEZNO staviti opciju SUPPORT_ALSA=1, a ne samo kod make komande. Ovo nigde u zvaničnom uputstvu ne piše, ali je NEOPHODAN korak.

Automatizacija učitavanja modula sledi uskoro.



Document Actions