Dsld
| AVM Wiki >> Shell-Befehle >> dsld | @ whmf - IRC-Chat - hu nl it English |
| Community | Modelle | Zubehör | Environment | Konfiguration | Shell-Befehle | Software | Freetz | Lexikon | Tipps+Tricks | Bilder |
| Startup-Scripts | AVM-Befehle | BusyBox-Befehle | Linux-Befehle | Shared Libraries | Kernel-Module | Listings | Todo |
Contents |
Befehl
| Befehl: | dsld | Man | Code | Wiki | Freetz | IPPF | whmf | AVM | Web |
| Pfad: | /sbin | ||||||||
| Typ: | Executable, Daemon | ||||||||
| Status: | Closed Source oder Unfrei | ||||||||
| Pakete: | AVM_DSL (CONFIG), AVM_LTE (CONFIG), AVM_DOCSIS (CONFIG), AVM_USB_GSM (CONFIG) | ||||||||
| Modelle: | 7170 4.80 (Listing) | ||||||||
| Remove: | REMOVE_DSLD (INFO) | ||||||||
| Funktion: | DSL Daemon | ||||||||
dsld ist ein Ein AVM-Daemon der sich um das DSL-Interface kümmert. Er ist die Schnittstelle zum Kernel-Modul kdsldmod.ko das mit der DSL Firmware auf dem DSP den Signal-Verarbeitungs Teil des DSL erledigt. Alle Betriebsmodi der Box die Routing benötigen (also alle außer dem IP-Client Modus) werden von dsld und kdsldmod.ko koordiniert, siehe Zugangsdaten.
Auch wenn der Name es impliziert, dsld ist nicht nur im Zusammenhang mit DSL erfordernich, sondern für jegliches Routing. So findet man ihn namensgleich auch in DOCSIS- und LTE-Modellen und sogar in der Modem-freien FRITZ!Box Fon ata. Auch beim Zugang über UMTS wird neben umtsd auch dsld benötigt.
dsld kümmert sich auch um das Traffic-Shaping und QoS, dazu erzeugt er wan.tc und ruft damit tc auf. Je nach Bedarf lädt dsld dazu die Kernel-Module sch_tbf.ko, sch_llq.ko, sch_htb.ko und sch_sfq.ko mit modprobe nach.
Eine weitere Aufgabe ist das Routing von AVM-VPN im Zusammenspiel mit avmike.
Aufgaben
- ADSL / VDSL Synchronisation
- PPPoA / PPPoE / PPPoE-Passthrough
- Bereitstellung der Interfaces dsl
- PVCs oder VLANs für Inet, VoIP, TR-069 und ggf mehr (z.B. IPTV)
- Traffic Shaping und QoS mit tc
- Routing und IP Masquerading (NAT)
- Firewall mit SPI, Portfreigaben und Exposed Host
- Bereitstellung des Interfaces tun für VPN mit avmike
Aufgerufen von
- rc.net
- rc.dsl.sh (kill)
- supportdata (kill)
- prepare_fwupgrade (kill)
- tr069starter (kill)
Kommunikation
- UPnP: igddesc.xml (Server)
- DEV: kdsld (Client)
- DEV: kdsld_traffic (Client)
- DEV: avm_event (Client über libavm_event.so)
- DEV: watchdog (Client über libwdt.so)
- DEV: new_led (Client über libled.so)
- DEV: new_led oder led (Client über libewnwled.so)
- MEM: .ar7events (EventAdd+EventsDump über libboxlib.so)
- MEM: .inetstat (StatisticUpdate über libar7cfg.so, 7270: libboxlib.so)
- MEM: .dsld_statsimple (DsldStat über libboxlib.so)
- MEM: .voipd_statsimple (VoipdStat über libboxlib.so)
- MEM: .igdd-get-portmaps
- MEM: .igdd-del-portmap
- MEM: .CRWWLANMAP (IsWlanMac über libboxlib.so)
- ME: me_dsld.ctl (Server)
- ME: me_igd.ctl (Server)
- ME: me_ctlmgr.ctl (Client)
- ME: me_voipd.ctl (Client)
- ME: me_multid.ctl (Client)
- ME: me_tr069discover.ctl (Client)
- ME: me_igdd.ctl (7150, Client)
- PROC: avsar_modem_training (Client, Status)
Environment
- HWRevision
- ProductID (<= 7170)
- maca
- macb
- macdsl
- usb_board_mac
- usb_rndis_mac
- CONFIG_VINAX
- CONFIG_ETH_COUNT
- CONFIG_WLAN
- CONFIG_%s
Konfiguration
- ar7.cfg (über libar7cfg.so)
- stat.cfg (über libar7cfg.so)
- vpn.cfg (über libar7cfg.so)
- wlan.cfg (optional über libwlanparams.so)
- igddesc.xml
- igddesc-template.xml
Tempfiles
- dsld.pid (Erzeugung)
- voipd.pid (Abfrage)
- wan.tc (Erzeugung)
- igddesc.xml (ram)
- avm-resolv.conf (7270, über libavmcsock.so)
- firmware_update_started (7270)
- lte_status (7170 4.87, 7270)
Aufruf
# dsld -?
usage: dsld dsld [options]
options:
-? - print this help
-d - Debug for PPP-Stack. (NOTSET)
-f - run in forground. (NOTSET)
-s - stop daemon. (NOTSET)
-v - verbose. (NOTSET)
-p STRING - Pidfile. ("/var/run/dsld.pid")
-r INTEGER - Portrange for IPMASQ. (0)
-F - no pppoe forwarding. (NOTSET)
-C - connect on startup. (NOTSET)
-i - obsolete. (NOTSET)
-M STRING - memory debug output. (NULL)
-n - do not show packets dropped. (NOTSET)
-I - send dsld a SIGHUP. (NOTSET)
-V STRING - Pidfile of voipd. ("/var/run/voipd.pid")
-S - show bandwidth used every second. (NOTSET)
-g - do not start igd. (NOTSET)
-R - NQOS with estimator. (NOTSET)
-m STRING - set want mtus "rcvmtu,sndmtu". (NULL)
-B INTEGER - rcvbuf size for atm pvc in KB. (512)
-D STRING - switch debug logs on. (NULL)
start server: dsld
stop server : dsld -s
Ältere Optionen die ab Firmware 4.80 verschwanden oder obsolete wurden:
-i - first start after bootup. (NOTSET) -T - no trafficshaper. (NOTSET)
Alte Optionen die in der aktuellsten Firmware der FB, FBsl, 2030 und FBFata vorkommen:
-N - no higher priority. (NOTSET) -Q INTEGER - atm rmem in Kbyte. (64) -X INTEGER - Paket per select. (-30) -q INTEGER - tun tx queue len (packets). (10) -O INTEGER - dsl tx queue len (packets). (10)
Uralt-Optionen die in keiner aktuellen Firmware irgendeines Modells mehr vorkommen:
-t - packet trace. (NOTSET) -b INTEGER - download smoothing min. (1452) -B INTEGER - download smoothing max. (65340) -a INTEGER - download smooothing incr. (256) -R - raw low level capture. (NOTSET) - -z - capture only dropped packets. (NOTSET)
Message Interface
Diese Angaben sind der aktuelle Stand der Recherche und werden sich wahrscheinlich noch ändern!
msgsend dsld connect <pvc-num> # 0=inet 1=voip msgsend dsld disconnect <pvc-num> # 0=inet 1=voip msgsend dsld reload # soft restart msgsend dsld disable # internet traffic blocken? msgsend dsld enable # internet traffic erlauben? msgsend dsld vpnenable # tun Interface up? msgsend dsld vpndisable # tun Interface down? msgsend dsld ifacestatburston msgsend dsld ifacestatburstoff msgsend dsld tcautoon msgsend dsld tcautooff msgsend dsld regfail %d # von voipd msgsend dsld voiprunning <flag> # von voipd 0=off 1=on msgsend dsld wlan msgsend dsld tr069discover msgsend dsld debug msgsend dsld slab msgsend dsld silent msgsend dsld token
Funktionen
Diese Angaben sind der aktuelle Stand der Recherche und werden sich wahrscheinlich noch ändern!
$ strings /sbin/dsld | grep "\.c$" | sort dsld.c igd.c ../multid/arpping.c ../multid/dhcp.c
TR-06x Funktionen
$ strings sbin/dsld | grep 06[49] | sort | uniq AVM tr069discover 1.0 dslforum.org dsldstat_get_tr069_connection dsldstat_set_tr069_connection tr069 tr069discover tr069discover_autodetect tr069discover %s %s %s tr069dns tr069info
Beispiele
Aufgeruf in rc.net in der Funktion startall()
dsld -i -n $NICEPARAM
Konfiguriert in der ar7.cfg in Sektion dslinterface:
dslinterface {
name = "dsl";
dhcp = no;
ipaddr = 192.168.179.1;
netmask = 255.255.255.0;
dstipaddr = 192.168.179.1;
dhcpenabled = yes;
dhcpstart = 0.0.0.0;
dhcpend = 0.0.0.0;
}
dslinterface_metric = 2;
dslifaces {
name = "internet";
...} {
name = "voip";
...}
...
Der Dienst nimmt beim Starten Kontakt mit dem DSLAM der DSL-Gegenstelle auf. Mittels PPPoE geschieht der Einlogvorgang und die Zuordnung einer IP-Adresse. Um eine neue IP-Adresse zu erhalten, muss man den Dienst anhalten und wieder starten:
dsld -s && dsld -n
Diesen Vorgang kann man automatisieren oder fernsteuern, siehe Trennen und sofortige Neueinwahl.
Symbole
arpping_abort arpping_send_ping autodetect_dslparam autodetect_init autodetect_setmsgendp autodetect_sync_lost budget_led_state check_ikeapi compile_chatscript csum_partial dsld_main dsltest_main ethaddr2str event_already_listed free_event_list fw_int_rules_init fwd_int_rules_ok fwdip_ok igd_get_act_statistic igd_pm_added igd_pm_deleted igd_pm_info igd_pm_poll igd_send_addons igd_set_statistic_burst igd_start igd_stop igdcmd_add_pm igdcmd_connect igdcmd_del_pm igdcmd_disconnect igdcmd_get_special_options igdcmd_is_status_unconfigured igdcmd_sendme_conn_info igdcmd_sendme_dsl_info igdcmd_sendme_iface_info igdcmd_sendme_pm_info igdcmd_set_running igdcmd_set_uptime ikeapi_register ikeapi_send_request ikeapi_server_shutdown ikeapi_server_start ikeapi_unregister ikeapifunc2str ipsec_delete_reason2str kdsld_check kdsld_disable_tcpfastforward kdsld_disable_vpn kdsld_enable_vpn kdsld_finish_setup kdsld_get_adsltxcnt kdsld_get_device_stats kdsld_init kdsld_qos_add_bridge kdsld_qos_add_classifer kdsld_qos_add_devport_vlanid kdsld_qos_add_flow kdsld_qos_add_forward kdsld_qos_clearall kdsld_qos_mac_whitelist kdsld_qos_set_appl kdsld_qos_set_queue_major kdsld_qos_set_result kdsld_qos_start kdsld_register_capivcc kdsld_register_ethervcc kdsld_register_vcc kdsld_send kdsld_set_debug kdsld_set_dropdebug kdsld_set_ipmasqrange kdsld_set_ipsecbridgeconfig kdsld_set_oem_opmask kdsld_set_pppdebug kdsld_set_pppoefw_vlan_tagging kdsld_set_upstream_igmpversion kdsld_set_vpnconfig kdsld_showtime kdsld_stopping kdsld_sync_lost kdsld_ttyvcc_set_chatscript kdsld_unregister_ethervcc kdsld_unsetup kdsldiface_set_automatic_reconnect kdslinterface_abort_inform_dhcpc kdslinterface_budget_control kdslinterface_connect kdslinterface_connect_ipv4 kdslinterface_create kdslinterface_destroy kdslinterface_disable_ondemand kdslinterface_disconnect kdslinterface_disconnect_ipv4 kdslinterface_get_act_inactivity kdslinterface_get_ipinfo kdslinterface_get_stats kdslinterface_igdportmapping_add kdslinterface_igdportmapping_delete kdslinterface_igdportmapping_sendme kdslinterface_is_connected kdslinterface_is_disconnected kdslinterface_set_enable kdslinterface_set_forwardrules kdslinterface_set_inactivity_timeout kdslinterface_set_routing kdslinterface_set_static_routes kdslinterface_set_wantmtu kdslinterface_toggle_firewall kdslinterface_trigger_inform_dhcpc kdslinterface_trigger_route_report kipbridgeing_setup kipbridgeing_unsetup kpppoefw_exit kpppoefw_init main ppp_led_state pppoeerror_led_state reset_last_rate_stamp snoop_option tc_class_info tc_qdisc_info tcclass_value2str udp67_closecb udslinterface_get_act_inactivity upnp_set_var vpn_led_state
Abhängigkeiten
- libboxlib.so
- libar7cfg.so
- libavmcipher.so
- libavmhmac.so
- libewnwlinux.so
- libavmcsock.so
- libupnpdev.so
- libwdt.so
- libewnwled.so
- libled.so
- libavm_event.so
- libpthread.so
- libdl.so
- libm.so
- libc.so
- libwebsrv.so
- libewnwnet.so
- libled2.so
- ld.so
Optional:
Siehe auch
Internet: (170)
- Lexikon: WAN, DSL, UMTS, DOCSIS, LTE, LWL, NTFA
- Lexikon: Upstream, Downstream
- Lexikon: ACS, CWMP, TR-064, TR-069
- Urlader: macdsl, macb, macc, usb_board_mac
- ShellEnv: CONFIG_BOX_FEEDBACK, CONFIG_VOL_COUNTER
- Webinterface: Zugangsdaten, IPv6, Portfreigaben, Online-Monitor, Online-Zähler, Tarifübersicht
- UI-Module: providerlist, connection0, connection_voip, ipv6, forwardrules, igdforwardrules
- UI-Module: inetstat
- Konfig: desc.txt, providers-049.tar, providers/
- Konfig: igddesc.xml, igddesc.xml (ram), igddesc-template.xml
- Konfig: igdicfgSCPD.xml, igddslSCPD.xml, igdconnSCPD.xml, any.xml
- Tempfiles: dsld.pid, onlinestat, lte_status
- Tempfiles: providers/ (ram), providermap.txt, ar7.cfg (ram), desc.txt (ram)
- Befehle: dsld, rc.dsl.sh, dsltest, showdsldstat
- Kernel: kdsldmod.ko, avm_net_trace.ko
- Devices: kdsld, kdsld_misc, kdsld_multid, kdsld_port, kdsld_traffic, kdsld_user
- Devices: kdsldptrace, avm_net_trace
- Ports: me_dsld.ctl, me_igd.ctl
- Puffer: .inetstat, .dsld_statsimple, .igdd-get-portmaps, .igdd-del-portmap
- Freetz: REMOVE_DSLD
- Tipps: Trennen und sofortige Neueinwahl, Zwangstrennung konfigurieren
DSL: (205)
- Lexikon: DSL, ADSL, ADSL Annex, ADSL-MIB, SDSL, VDSL, Multi-DSL-Firmware, dsldmode
- Lexikon: Subcarrier, Pilotton, Modem-Training, SNR, QLN, PSD, CO, CPE, DSLAM, NGN
- Lexikon: DMT, QAM, EOC, OAM, ATM, PTM, NTR, DSM
- Lexikon: TI-ATM, DSLDK, PSP, DDA, DDC, PAL, CSL, BME, IPOS
- Lexikon: DSL-Hybrid, AFE, AGC, PGA, AEQ, CPSAR, SAR, PDSP, StratiPHY
- Bauteile: AR7, UR8, TNETD80, AR9, VR9, Fusiv, IFE-6, VINAX-CPE
- Geräte: ADSL-Modelle, VDSL-Modelle
- Urlader: annex, annex (proc), macdsl, macb, macc, usb_board_mac
- ShellEnv: ANNEX, CONFIG_DSL, CONFIG_VDSL, CONFIG_ANNEX, CONFIG_DSL_MULTI_ANNEX
- ShellEnv: CONFIG_DSL_VENDORID, CONFIG_DSL_UR8, CONFIG_VINAX, CONFIG_VINAX_TRACE
- ShellEnv: CONFIG_DSL_2DP, CONFIG_LABOR_DSL
- WebCM: isDsl
- Webinterface: DSL-Übersicht, DSL-Eckdaten, DSL-Spektrum, DSL-Statistik, DSL-Störsicherheit, DSL-Feedback
- UI-Module: sar, dslstatistic, dslstatglobal, dslmail
- Konfig: ar7.cfg, xdslmode, vdsl.conf, vdsl.annexa.conf, vdsl.annexb.conf, adslonly.annexa.conf
- Konfig: adslonly.annexb.conf, vdsl2only.annexa.conf, vdsl2only.annexb.conf
- Tempfiles: dsld.pid, dslinfo.txt, dslmail.txt, dsld.autodetect, dsl_pipe (ram), dsl_monitor.txt
- Tempfiles: adsl.cfg, vdsl.cfg, post_mortem_data.txt, adsl_init.cfg, vdsl_init.cfg, oam.pid, atmoam.pid
- Tempfiles: vdsl.conf (ram), Vx180Code.cbin (ram), befehle.txt, tofrom_ata_befehle.txt, retrain_befehle.txt
- Tempfiles: ur8-A-dsl.bin (ram), release-ur8-B-dsl.bin, release-ur8-A-dsl.bin
- Befehle: dsld, rc.dsl.sh, dsl_info, dslinfodata, dsltest, showdsldstat, supportdata.dsl, dsl_isp_tool, dsl_monitor
- Befehle: dsl_daemon, dsl_pipe, vinax_atmoam, test_vinax, rc.vdsl.sh, rc.DSL
- Befehle: E40-dsl, e40-dsl (stop), dsl_control, dsl_pipe (xr9), oamctl, oamd
- Befehle: rc.iksdsl.sh, vdsld, vdsl, showatmconn, sendoamlb
- Libraries: libdsl.so, libvdsl.so, liboamapi.so
- Kernel: kdsldmod.ko, avm_net_trace.ko, tiatm.ko, dsl_ur8.ko, drv_vinax.ko
- Kernel: dsl_ar9.ko, ifxmips_mei.ko, dsl_vr9.ko, mei_vr9.ko, ifxmips_atm.ko, ifxmips_ptm.ko
- Devices: kdsld, kdsld_misc, kdsld_multid, kdsld_port, kdsld_traffic, kdsld_user
- Devices: kdsldptrace, avm_net_trace, tiatm, dsl, vinax/, dms*_ack, dms*_cmd, dms*_dump, dms*_event
- Devices: dsl_ar9, ifx_mei, dsl_vr9, mei_vr9, dsl_cpe*_ack, dsl_cpe*_cmd, dsl_cpe*_event
- Devices: bme, fifo.vdsld, fifo.vdsl, adsl_mon, acl
- Ports: me_dsld.ctl, me_igd.ctl, Port 2000, Port 2001
- Puffer: .inetstat, .dsld_statsimple, .igdd-get-portmaps, .igdd-del-portmap
- Firmware: ar0700xx.bin, microvoip-dsl.bin, ubik2-dsl.bin
- Firmware: ur8-A-dsl.bin, ur8-B-dsl.bin, ur8-A-dsl.bin.bsdiff, ur8-A-dsl.bin.md5sum, release-ur8-B-dsl.bin.bsdiff
- Firmware: release-ur8-B-dsl.bin.md5sum, release-ur8-A-dsl.bin.bsdiff, release-ur8-A-dsl.bin.md5sum
- Firmware: ar9-A-dsl.bin, ar9-B-dsl.bin, vr9-dsl.bin, vr9-A-dsl.bin, vr9-B-dsl.bin
- Firmware: vinax_fw_adsl_A.bin, vinax_fw_adsl_B.bin, vinax_fw_vdsl.bin, Vx180Code.cbin
- Daten: ar9-dsl.bin, vr9-dsl.bin (usb), Vx180Code.cbin (usb)
- Freetz: REMOVE_DSLD
- Tipps: Trennen und sofortige Neueinwahl, Zwangstrennung konfigurieren
QoS: (23)
- Lexikon: QoS, NQoS, Traffic-Shaping, Net-Scheduler
- ShellEnv: CONFIG_NQOS, CONFIG_QOS_METER
- Webinterface: Priorisierung, Netzwerkanwendungen, Online-Monitor
- UI-Module: nqos, netapp
- Tempfiles: wan.tc
- Befehle: dsld, tc, qos
- Kernel: sch atm.ko, sch_cbq.ko, sch_hfsc.ko, sch_htb.ko, sch_llq.ko
- Kernel: sch_prio.ko, sch_red.ko, sch_sfq.ko, sch_tbf.ko
- Freetz: REMOVE_QOS