T-com ADSL, D-link DSL-360R pppoe level debug

Hali,

ez a topic 2 celt szolgal:
* jobban megertsem a matav-szerinti adsl mukodeset
* javuljon az otthon elerheto szolgaltatasi-szinvonal

- ugye DSL-360R a piacon forgo egyik legvacakabb eszkoz, a hardvere is sokkal primitivebb, mint a DSL-360T, nincs ismert management lehetosege.
A nalamlevo eszkoz:
P/N: ESL360RHU.B3G
H/W Ver: B3
F/W Ver: 3.2.25(BE4.B2)3.3.0.35
A doboz a matav tulajdona, a jobb szellozes erdekeben a felig takart lukakat kivagtam.

A host oldal: peecee,
tg3 ethernet driver:
03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet PCI Express (rev 01)
debian/etch
Linux 2.6.18-5-686
network:
~# pppoe -V
Roaring Penguin PPPoE Version 3.8

es majd kesobb leirom a /etc/ppp/peers/dsl-provider -t is, erosen es masszivan modositva lett.

Azert nem kernelszintu pppoe, mert a userspace egy nagysagrenddel jobban konfiguralhato. (igy sincs minden lehetsoeg a kezemben)

A konkret kerdesek hozzaszolasban.

Jelenleg a kovetkezot tudom a T-com adsl -rol, es az adsl-rol:
- a modem *elvileg* csak egy ethernet gateway. Az ethernet csomagokat tovabbitja ADSL felett. A tuloldalan van egy 'dslam' nevu cucc.
- Az ethernet felett pppoe session van.
- A pppoe sessionban (mily meglepo) ppp fut
- A ppp vegzi az authot, es a dinamikus konfigot. Ez az oka az egesz kavarcnak (hogy nem tiszta ethernet-dhcp)
- A ppp a T-COM -nal terminal. A T-COM a userid -bol ( hostpart) kitalalja, hogy melyik ISP elofizetoje a user, attol az isp-tol authetntikal, majd kesobb az IP csomagokat VPN (vagy hasonlo, szoval tunelen) tovabbitja az ISP fele. A tuneling jol lathato pl. traceroute segitsegevel, az egyik helyutt kettot ugrik a ttl.
- a T-COM nem ugyel arra, hogy egy ADSL feletti egy etherneten csak egy pppoe session legyen. Igy elerheto az, hogy egy modemmel egyszerre akar ket kulon ISP -hez is csatlakozzon a ember.
- Az a tippem, hogy a T-COM csak link level (vonali szintu) monitorozast vegez, pppoe session monitorozast nem. (ppp level monitorozast szinten vegezhetnek, nem tudom/nem erdekes)
- Az a tippem, hogy egyes hibas kliensek rengeteg pppoe sessiont nyitnak, es ezzel tulterhelik a kozpont pppoe session ertelmezo reszet, anelkul, hogy ennek link level szinten hatasa lenne (viszont a pppoe session befagy)

let's debug

Hozzászólások

A nalam levo peldany felveszi a 192.168.1.1 cimet, de arp greet csomagot errol nem kuld.
Arp-re valaszol, icmp echo -ra valaszol, mast nem talaltam. (semmi masra nem valaszol).
Egyszer valami turbozott nmap-ot (tcp/udp) ket napig futtattam (osszes port), semmi.

Neha (bekapcsolasok feleben) a kovetkezo csomagok jonnek
tcpdump -tvnei eth0


00:12:da:43:6c:1a > 00:15:e9:82:97:8b, ethertype PPPoE D (0x8863), length 60: PPPoE PADO [Service-Name] [Host-Uniq "1000"] [AC-Name "adsl"] [AC-Cookie 0x9A9D8493C5208EA9AEEB2877C1B314D7]
00:12:da:43:6c:1a > 00:15:e9:82:97:8b, ethertype PPPoE D (0x8863), length 60: PPPoE PADO [Service-Name] [Host-Uniq "1000"] [AC-Name "adsl"] [AC-Cookie 0x9A9D8493C5208EA9AEEB2877C1B314D7]
00:12:da:43:6c:1a > 00:15:e9:82:97:8b, ethertype PPPoE D (0x8863), length 60: PPPoE PADO [Service-Name] [Host-Uniq "1000"] [AC-Name "adsl"] [AC-Cookie 0x9A9D8493C5208EA9AEEB2877C1B314D7]

A logban lathato ether dst az a modem sajat ethernet cime (errol valaszol a ping-re, arp-re).
A logban lathato ether src pedig a T-COM oldalan levo pppoe server ethernet cime (ha osszejon a kapcsolat, onnan kapok minden pppoe csomagot.)

Van ronda tippem, hogy mi a franc ez ;-) de inkabb megkerdezem:
Mi a franc ez a pppoe pado a modem bekapcsolasakor?

A szolgaltatasmegakadas jelensege

- van olyan, amikor az adsl link szal ell (a modemen latni a linkdownt, es kerdesre a T-com ugyfelszolgalata 2-3 nap mulva megerositi, hogy link elszallas volt) ez ritka.
- az a gyakori, hogy az adsl link el (modem mondja, hogy el a link, es kerdesre a T-com ugyfsz. letagadja, hogy barmi hibat latna) de semmi nem jon.
Ilyenkor a rendszer nem valaszol a pppoe padi -ra.
Nem tudom, hogy a modemben akad el a pppoe padi, vagy a tuloldalt, vagy a drotban ;-)

Sikeres kapcsolatfelvetel eseten is elofordul, hogy egyszercsak megszunik a pppoe forgalom. Ilyenkor a ppp a beallitot lcp echo request kikuldese/timeout utan ugydont, hogy a cucc halott,e s bontja a kapcsolatot. ( pppoe padt is kimegy, de semmire nincs valasz) Probaltam barmileyn timeouttal ;-) masfel ora mulva sem javul ez meg magatol.
A adsl link level megszakitas (modem kikapcs/bekapcs VAGY telefondrot kihuz, bedug) eseten altalaban (nem mindig) eszhezter es ujra valaszol a tuloldal.

Mas (aki utananezett ennyire) mit tapasztalt?

A pppoe szintu allapotok monitorozasara kovetkezot hasznalom:

/etc/init.d/pppoelog

#
# pppoelog logging pppoe traffic
#
# az alabbi filter NEM tarolja le a normal IP forgalmat, es azonkivul
# NEM tarolja le a PAP (ppp jelszo) forgalmat sem. Azonkivul az osszes
# kontrol (pppoe illetve ppp kontrol) uzenetet elrakja
#
#
LOGFILE=/var/log/pppoeconnlog_`date +%s`.pcap
DAEMON=/usr/sbin/tcpdump
PIDFILE=/var/run/pppoelog.pid
ARGS=" -pi eth0 -s 1500 -w $LOGFILE ( ether proto 0x8864 and ( ether[20:2] != 0x0021 and ether[20:2] != 0xc023 ) ) or not ether proto 0x8864"
test -x $DAEMON || exit 0
#
case "$1" in
start)
echo -n "Starting pppoe logger "
start-stop-daemon -S --background --pidfile $PIDFILE --make-pidfile \
--exec $DAEMON -- $ARGS
echo "."
;;
stop)
echo -n "Stopping pppoe logger "
start-stop-daemon --stop --pidfile $PIDFILE --oknodo --exec $DAEMON
echo "."
;;
restart|reload|force-reload)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
;;
esac
#
exit 0

MI a bajom a kernelszintu pppoe -vel, es a default (userszintu) pppoe konfiggal?

A pppoe 3 darab padi -t kuld ki inditasnak. Nem allithato, hog hany darabot, es az sem, hogy menni idovel. A 3 darab kikuldese utan timeoutra fut, es megszakitja a kapcsolatot. Ez 30-46 masodperc. Visoznt a felette levo ppp daemon a pppoe inditasakor azonnal probalkozik, es a probalkozasa hamarabb timeoutolhat, mint a pppoe padi timeoutol.
Ennek az az eredmenye, hogy a ppp hamarabb adja fel, mint az alatta levo szint.
Ennek az az eredmenye, hogy a ppp kepes ujraprobalkozni, mikozben meg a regi pppoe fut, ez adott szerencsetlen esetben ket parhuzamosan futo pppoe processzt jelent.
Az alapkonfigban nincs pppoes host-uniq, tehat a ket pppoe processz csomagjai keverednek.
Elofordult (szerencsetlen esetben) hogy az 1. probalkozasra a ppp timeoutolt, elinditotta a masodik probalkozast, az azonnal connectalt, es az elso pppoe processz terminalasakor az a pppoe processz kikuldte padt dobdta el a vegre felepult kapcsolatot

tobb, mint bosszanto.

Ami hianyzik a pppoe/ppp implementaciobaol:
- parbeszed a ppp-vel, hogy a kapcsolat (padi/pado) megvan, vagy nincs.
- ennek hianyaban legalabb a jol beallitott timeout lehetoseg (most az ujraprobalkozasok a pppoe 3046 masodperces padi timeoutja miatt eleg lassuak, hogy ne fusson egymasraket pppoe)

arra kerek mindenkit, hogy a "az az egyetlen udvozito megoldas, ha lecsereled a modemedet egy XXXX-re" valaszokkal ne jojjenek, legfeljebb rendkivul alaposan megindokolva, hogy a DSL-360R miert nem is lehet kepes elvileg sem a helyes mukodesre;)

Egyreszt a hibajelensegek DSL-360T (modemkent hasznalva) eseteben is elojottek regen, masreszt a felhasznalok tulnyomo tobbsegenel DSL-360R van, erre kellene gombot varrni.

mi van a letoltott tgz-ben?
(figyelem, nem vagyok benne biztos, hogy ebbol all a dlink dsl360R firmware!)
linux 2.4.17
busybox
par binaris firmware ;)
meg egyeb szedett vedett cucc, iptables, wifi specifikus dolgok, stb, lathatoan ez nem csak a dsl360R -hez valo, Kellemes meglepetes, van top-level Makefile, amit nezve ez egy csomo cucc firmware-je.

hatarozottan ugy nez ki, hogy ez a letoltott cucc valoban egy csomo d-link eszkoz firmware-je, de konkreten semmi nincs benne, ami a DSL-360R -hez tartozna. Mondam en, hogy nem leszek lelkes tamogatojuk

Troll disclaimer: nem mondtam, hogy kint kell lennie neten a DSL-360R firmware-nek, mert hiszen ha closedsource akkor nem feltetel. De mondjuk elvartam volna az oldaltol, ha closedsource a firmware, akkor ezt kozli, akkor nem kop elem 49 mega tgz -t

Az Askey szappantartó meg akkor is linket mutatott, amikor a telefondrót ki vala belőle húzva...
A D-Link 360R hasonlít a Huawei modemjére -- nem kicsit, nagyon :-) Jobban, mint a 360T-re...

Nehany szo a modemrol

Ez egy D-link DSL-360R modem.
Trendchip cpu van benne.

192.168.1.1 cimenen pingetheto, publikus management felulete nincs.
Letezik hozza egy "Trendchip console utility" ami a hivatalos forgalmazoknak megvan, ezzel konfiguraljak be. A felhasznalonak (elvileg) nincs konfiguralasi lehetosege.

Letezik egy statuszinformaciot lekerdezo windowsos freeware program:
SM50B http://www.webtemp.org/index.php?page=sm50b
A talalatert koszonoet muszi -nek
Ennek letezik linuxos gplware verzioja:
http://developer.berlios.de/project/showfiles.php?group_id=6019
tctool http://prdownload.berlios.de/speedmodem50b/tctool-0.9.7.zip

A cucc link-level statuszt tud kerni a modemtol, valamint cli konfigot is nyujtana, de az jelszavas, jelszi ismeretlen.

Tudom régi a topik, de én most futottam bele egy ilyen "csodába". A fent leírtak mind hasznosak voltak, egy valamit kivéve. Nekem nem épült fel a kapcsolat a modemmel. Egyszerűen nem volt élő eth0 intrefészem a fenti beállítással. Így másik megoldást kerestem.

Ez lett belőle: ifconfig eth0 add 192.168.1.2 up

Ezzel szépen megtalálja a tctool a modemet. A többi ugyan az.

---------------------------------------------------------------
Ritkán szólok hozzá dolgokhoz. Így ne várj tőlem interakciót.