рдирдорд╕реНрддреЗ, рдкреНрд░рд┐рдп рд╣рднреНрд░рд╡рдЪрди! рдореИрдВ AllShare рдХреЗ рд╕рд╛рде рдПрдХ рд╕реИрдорд╕рдВрдЧ рдЯреАрд╡реА рдХрд╛ рдЧрд░реНрд╡ рдорд╛рд▓рд┐рдХ рд╣реВрдВред рдЕрдкрдиреЗ рд╣реЛрдо рд╕рд░реНрд╡рд░ рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦрдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдорд┐рдиреАрдбрд▓рд╛рдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХрдИ рдорд╣реАрдиреЛрдВ рддрдХ рдореИрдВ Samsung + minidlna рдмрдВрдбрд▓ рдХреЗ рд╕реНрдерд┐рд░ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛: рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреНрд▓реЗрдмреИрдХ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдЕрдВрддрд░рд╛рд▓реЛрдВ рдкрд░ рдЕрдЪрд╛рдирдХ рдмрд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╕рд░реНрд╡рд░ рд╕реНрд╡рдпрдВ рд╣рдореЗрд╢рд╛ рдирд╣реАрдВ рдерд╛ рдФрд░ рдЯреАрд╡реА рджреНрд╡рд╛рд░рд╛ рддреБрд░рдВрдд рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдордВрдЪреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рддреЛрдбрд╝реЗрдВ рдФрд░ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдФрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ (рдореЗрдбрд┐рдпрд╛рдЯреЙрдореНрдм рд╕рд░реНрд╡рд░ рд╕рд╣рд┐рдд) рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдореБрдЭреЗ рдЕрднреА рднреА рдПрдХ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ рд╣реИред
1. рд╕рд░реНрд╡рд░ рдЕрдиреБрдкрд▓рдмреНрдзрддрд╛ рдХреА рд╕рдорд╕реНрдпрд╛
рдЗрд╕
рдкреЛрд╕реНрдЯ рдореЗрдВ , рд╕рдВрдХреЗрддрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╣рд▓ рдкрд╣рд▓реЗ рд╣реА рдЙрджреНрдзреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ: рд▓реЗрдЦрдХ рдиреЗ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ Inform_interval рдХреЛ рдХрдо рдХрд░рдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдЯреАрд╡реА рд╕реНрд╡рдпрдВ DLNA рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЪреБрдирд╛рд╡ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЯреАрд╡реА рдЪрд╛рд▓реВ рд╣реЛрдиреЗ рдкрд░ tcpdump рдиреЗ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ ssdp рдкреИрдХреЗрдЯ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЯреАрд╡реА рджреНрд╡рд╛рд░рд╛ рд╕рд░реНрд╡рд░ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ред Googling, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЬрд┐рд╕ рдкрд░ minidlna рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ, рдЖрдкрдХреЛ рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдФрд░ рдмреНрд░реЙрдбрдХрд╛рд╕реНрдЯ рдПрдбреНрд░реЗрд╕ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ рдерд╛:
ip link set br0 multicast on ip link set br0 broadcast 192.168.1.255
рджреЗрдЦрд╛! рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЯреАрд╡реА рдиреЗ рд╢рд╛рдВрддрд┐ рд╕реЗ рдорд┐рдиреАрдбрд▓рдирд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛!
2. рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╡реАрдбрд┐рдпреЛ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛
рдФрд░ рдпрд╣рд╛рдБ inform_interval рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред рдХреЗрд╡рд▓ рдЗрд╕реЗ рдХрдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдмрд▓реНрдХрд┐ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдПрд╕рдПрд╕рдбреАрдкреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдЬреАрд╡рд┐рдд рдкреИрдХреЗрдЯ рднреЗрдЬрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╣реЗрдбрд░ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдЖрдпреБ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдЕрдЧрд░, рдЕрдзрд┐рдХрддрдо рдЖрдпреБ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдордп рдмреАрдд рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рдирдпрд╛ рдЬреАрд╡рд┐рдд рдкреИрдХреЗрдЯ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ, рддреЛ рдЯреАрд╡реА рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
Miniddp.c рдлрд╝рд╛рдЗрд▓ рд╕реЗ minidlna рд╕реЗ рдХреЛрдб рдХрд╛ рдПрдХ рд╕реНрдирд┐рдкреЗрдЯ, рдЬреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрддрдо-рдЖрдпреБ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ Inform_interval + 10 рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда l = snprintf(buf, sizeof(buf), "HTTP/1.1 200 OK\r\n" "CACHE-CONTROL: max-age=%u\r\n" "DATE: %s\r\n" "ST: %s%s\r\n" "USN: %s%s%s%s\r\n" "EXT:\r\n" "SERVER: " MINIDLNA_SERVER_STRING "\r\n" "LOCATION: http://%s:%u" ROOTDESC_PATH "\r\n" "Content-Length: 0\r\n" "\r\n", (runtime_vars.notify_interval<<1)+10, szTime, known_service_types[st_no], (st_no>1?"1":""), uuidvalue, (st_no>0?"::":""), (st_no>0?known_service_types[st_no]:""), (st_no>1?"1":""), host, (unsigned int)port)
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдирдпрд╛ рдЬреАрд╡рд┐рдд рдкреИрдХреЗрдЯ рдЕрдзрд┐рдХрддрдо рдЖрдпреБ рдХреЗ рд╕рдордп рдореЗрдВ рдЯреАрд╡реА рд╕реЗрдЯ рдкрд░ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛ рд╣реИ, рддреЛ рдкреНрд░рд╕рд╛рд░рдг рдмрд╛рдзрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ - рдХрдИ рдШрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП Inform_interval рдмрдврд╝рд╛рддреЗ рд╣реИрдВ:
notify_interval=10000
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рдЕрдм рдЕрдВрддрд░рд╛рд▓ рдирд╣реАрдВ рдерд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред
PS рдореЗрдбрд┐рдпрд╛рдЯреЙрдореНрдм рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ config.xml рдореЗрдВ рдЬреАрд╡рд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
UPD: рдореБрдЭреЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЙрддреНрдХреГрд╖реНрдЯ
рд╕рд▓рд╛рд╣ рдорд┐рд▓реА: рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ_рдСрдиреЛрдкрд┐рдВрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ:
echo 0 > /sys/devices/virtual/net/$BRIDGE/bridge/multicast_snooping
рд╢рд╛рдпрдж рдпрд╣ рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░ рджреЗрдЧрд╛, рдФрд░ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛ - рдореИрдВ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реВрдВрдЧрд╛ред