Neostrada i modem SpeedTouch 330

Wstęp

Wielu użytkowników poszukuje rozwiązania w jaki sposób uruchomić Neostradę z wykorzystaniem modemu SpeedTouch 330 na FreeBSD.
Przedstawię wam w jaki sposób można to zrobić na systemie FreeBSD 5.4.
Wszystko co wam będzie potrzebne macie na plytce dołączonej do waszego modemu. Tak wiec jakiekolwiek inne połączenie nie będzie wam potrzebne do ściągania dodatkowych plików.

Instalacja

Po pierwsze po włożeniu modemu do USB sprawdzamy czy system wykrył modem poprawnie:

 # dmesg | grep ugen0
ugen0: THOMSON Speed Touch 330, rev 1.10/4.00, addr 2



Urządzenie wykryte poprawnie, teraz pora na pliki które znajdują sie na plytce:
neostrada_tp.tgz z niego wypakujesz 2 pliki które będą nam potrzebne:

Plik podobny do tego:    ST330_firmware_3012.zip
Oraz:             speedtouch-1.2.tar.gz

[ Przynajmniej ja na takich wersjach testowałem. ]

W pliku ST330_firmware_3012.zip, znajdują sie 2 firmware'y do modemu SpeedTouch 330:

KQD6_3.012
ZZZL_3.012 <- ten będzie nam potrzebny

Teraz zajmijmy się plikiem speedtouch-1.2.tar.gz, w nim znajdują sie sterowniki do SpeedTouch'a, należy je gdzieś rozpakować, a następnie:

./configure

Utworzy wam sie Makefile w głównym katalogu oraz w katalogu ' src ', należy w nich znaleść linijkę:

THREAD_LIBS=-lkse

I zamienić ją na:

THREAD_LIBS=-pthread

Oczywiście w głównym katalogu pliku Makefile i w podkatalogu src, jak to juz zrobisz, wystarczy skompilować i zainstalować sterowniki:

#gmake; gmake install


Nie powinno być żadnych problemów z kompilacją.
Zainstalowały nam sie 3 programy: pppoa2, pppoa3, modem_run
( my będziemy korzystali z pppoa3, ale to później  )

Teraz czas na firmware, kopiujemy go do katalogu /usr/local/libdata z nazwą mgmt.o

#cp ZZZL_3.012 /usr/local/libdata/mgmt.o

Teraz obrabiamy plik ppp.conf do takiej postaci:

#cat /etc/ppp/ppp.conf
default:
 set log Phase Chat IPCP CCP tun command
 ident user-ppp VERSION (built COMPILATIONDATE)
 set ifaddr 10.0.0.1/0 255.255.255.0

adsl:
 set authname <login>@neostrada.pl
 set authkey <password>
 set device !"/usr/local/sbin/pppoa3 -c -m 1 -vpi 0 -vci 35"
 accept chap
 set speed sync
 set timeout 0
 set reconnect 10 100
 add default HISADDR
 enable dns

 












Plik resolv.conf również:

#cat /etc/resolv.conf
nameserver 194.204.152.34
nameserver 217.98.63.164



Testowanie połączenia

Jeżeli zrobiłeś wszystko tak jak pokazałem, powinieneś móc sie połączyć z siecią.
Synchronizacja modemu:

#modem_run -m -f /usr/local/libdata/mgmt.o


W tym czasie powinna ci się świecić jedna dioda na zielono, a druga powinna mrugać bedzie to chwilkę trwało wiec cierpliwości.
Teraz probujemy podnieść połączenie:

#ppp -background adsl
Working in background mode
Using interface: tun0
PPP enable

#ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
        inet 83.24.xxx.xx --> 255.255.255.0 netmask 0xffffffff
        Opened by PID 490

# ping onet.pl
PING onet.pl (213.180.130.200): 56 data bytes
64 bytes from 213.180.130.200: icmp_seq=0 ttl=61 time=28.712 ms
64 bytes from 213.180.130.200: icmp_seq=1 ttl=61 time=29.979 ms
64 bytes from 213.180.130.200: icmp_seq=2 ttl=61 time=27.073 ms

 












Połączenie działa poprawnie i modem połączył się.
Teraz czeka nas tylko obróbka pliku startowego, powinien wyglądać tak:

 # cat /usr/local/etc/rc.d/adsl.sh
#!/usr/local/bin/bash
case $1 in
  start)
        /usr/local/sbin/modem_run -m -f /usr/local/libdata/mgmt.o
    sleep 2
    ppp -background adsl && echo -n 'Starting ppp..'
        ;;
  stop)
        killall modem_run
        killall ppp
        ;;
  *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac











Neostrada i podział łącza

No dobra, neostrada nam chodzi, ale o zrobić aby reszta komputerów w sieci miała internet ?
Powiedzmy że komputer na którym instalowałeś to połączenie jest mini-routerkiem, tak więc teraz czeka cię parę zabiegów:
Do pliku konfiguracyjnego jądra dodamy opcje które umożliwią naszym pakietom wędrówkę:

 options      IPFIREWALL
options      IPFIREWALL_VERBOSE
options      IPFIREWALL_VERBOSE_LIMIT=100
options      IPFIREWALL_DEFAULT_TO_ACCEPT
options      IPDIVERT





Do pliku rc.conf dodamy:

ifconfig_vr0="inet 10.0.0.1 netmask 255.255.255.0"
firewall_enable="YES"
firewall_script="/etc/rc.firewall"
firewall_type="OPEN"
firewall_logging="YES"
ppp_nat="YES"
dhcpd_enable="YES"






10.0.0.1 będzie twoim IP interfejsu wewnetrznego, a jednocześnie bramką ( W tym przykładzie jest klasa A, ale można zastosować również B i C ).
Dodamy jeszcze jeden wpis do ppp.conf ( nat enable yes ):

 #cat /etc/ppp/ppp.conf
default:
 set log Phase Chat IPCP CCP tun command
 ident user-ppp VERSION (built COMPILATIONDATE)
 set ifaddr 10.0.0.1/0 255.255.255.0
adsl:
 set authname <login>@neostrada.pl
 set authkey <password>
 set device !"/usr/local/sbin/pppoa3 -c -m 1 -vpi 0 -vci 35"
 accept chap
 set speed sync
 set timeout 0
 set reconnect 10 100
 add default HISADDR
 enable dns
 nat enable yes












W takim razie większość mamy już za sobą. Jężeli masz jakiś routerek który bedzie przypisywał sam adresy w sieci wewnętrznej to tylko pozostaje skonfigurować go.
Jeżeli nie masz takiego routerka, to należy skonfigurować serwer DHCP, tak aby sie nie rozpisywaćw 2 miejscach odeśle was do jednej z części artukyłu FreeBSD DHCP

To już wszystko, teraz wystarczy ponownie uruchomić blaszaka i powinno wszystko działać. W razie jakichś błędów lub checi modyfikacji proszę o kontakt.

Powodzenia.

Hosting @mc2 || Copyright © 2018 FreeBSD - Inside. Wszelkie prawa zastrzeżone.