WIFI远程无线中继之K2P刷机Padavan无线桥接功能

WI-FI无线中继, 无线桥接, 扩大WIFI信号覆盖范围/面积

有什么用/怎么用

本文仅围绕着有限的硬件投入情况下, 如何扩大WIFI信号覆盖范围/面积. 抛砖引玉, 如果您有更好的方案, 请大方地留言告诉我, 提前感谢

需求:

当无法使用网线将室外或远程的AP连接起来时, 假如没有无线网桥的硬件环境下,

这时可以使用多个K2P将型号从上游K2P中继到远端的K2P, 这样可以轻松实现(仅需电源)WIFI信号的拓展覆盖(增加WIFI信号的覆盖面积)

应用场景, 比如: 需要将WIFI信号覆盖到楼下的区域, 不管是小区还是自建楼, 在没有提前布线预留的情况下, 将可上网的WIFI覆盖到楼下更广阔的区域. 这样方便了在WIFI覆盖范围内无缝地使用上游路由器网络内的全部应用.

记录一下, 方面下一次排查潜在的故障

硬件:

需要多个K2P路由器

软件:

将每个K2P都刷机成为这个系统: © 2011-2022 版权属于 Padavan & N56U project community

比如我使用的固件版本:

| 固件版本: | 3.4.3.9-099_22-07-1 |
| ———————————– | ———————————————————— |
| 这台是室外的K2P, 作为将WIFI信号扩大 | |

| 固件版本: | 4.4.198.9-100_20231021 |
| —————————————— | ———————————————————— |
| 这台是室内, 连接外网ADSL宽带光猫或主路由器 | |

相关内容

实现方法

上游K2P

image-20240908102910241

手动指定: 无线信道

室外中继使用的K2P

作为扩大WIFI信号使用的AP, 在室外负责增加WIFI区域/面积

  1. 设置路由器模式为

image-20240908103039409

  1. 设置2.4G的WIFI作为中继用的频道

设置要中继的上游AP的具体信息: SSID, 信道, 加密方式, WIFI密码

故障及解决方案

故障点: 室外K2P
故障详情: 可以连接WIFI, 但是无法获取IP地址

修复过程:
连接室外的WIFI, 然后需要手动修改本机IP地址为192.168.123.110网段,
然后就可以打开网页配置: http://192.168.123.1:8080/
发现是: 中继的2.4G信号OpenWrt的信道变了, 从原来的9信道变到10信道.
这样就需要重新配置室外K2P的‘无线中继’.
设置好, 连接上上级的路由器WIFI以后, 可以正常获取IP地址, 可以上网.

20240928 最新更新如下:

通过在K2P的Lan口设置(手动设置) 192.168.6.112

然后把DHCP手动开启, 设置IP段: 192.168.6.200 – 192.168.6.244

管理地址变更为: http://192.168.6.112:8080/Advanced_APLAN_Content.asp


故障点: 主路由盘的室内上游K2P

故障详情: 连续运行几天, 就会导致室内的上游K2P断网

进一步解决:

手动指定上游路由器到 2.4GWIFI 信道9, 拓展信道13
5GWIFI 信道153

中继K2P的 中继点是2.4G的WIFI, 这回指定了信道9, 理论上不会改变了.
这样在一天以后, 看看还不会不会导致上游路由器断开了外网连接.

一周后(20240913)验证结果: 不是由于这个信道的变化引起的上游K2P断网

断网当时, WIFI连接但无法上网(或网速很慢),

偶然想到, 并查看到Multi stream daemon lite有两个客户端

也就是说: 这种断网极有可能是msd_lite占用了什么带宽导致的.

当即修改了msd_lite的服务端口, 上网速度瞬间恢复; WIFI连接也正常了

相关联的话题/文章: 电视节目资源 – 实测联通移动IPTV组播转单播方案

又一周后(20240926), 仍然出现偶发性断流(断开外网, AP无法上网); 需要手动断电重启才会恢复. 怀疑是硬件的问题(已下单采购新的路由器AC86U)

今天了解到: msd_lite原来可以安装到docker中! 这样它耗路由器硬件性能的问题就解决了.

关键字:

群晖docker安装udpxy或msd_lite

RouterOS中如何安装与使用udpxy(更推荐使用msd_lite组件, 因为msd_lite占用CPU资源更少)

华硕RT-AC86U

刷入 最新官改测试..
路由器管理的IP: 192.168.50.1
admin:00000

4:14pm 
1. 设置pC机 ip到手动 192.168.1.100
2. 设置Mac ip到192.168.1.11; 用于远程协助PC机的连接
3. 操作PC机的华硕固件刷新Exe应用程序

ASUS 救援模式版本 2.1.0.3
    版本 2.1.0.3
    1.25 MB
    2021/10/27
    支援操作系统: Windows XP/7/8/8.1/10/11
来源官网下载 https://www.asus.com.cn/supportonly/rt-ac86u/helpdesk_download?model2Name=RT-AC86U

救援模式实测https://52asus.com/thread-34-1-1.html

4:41pm 直接在WEB界面刷

doc: https://www.koolcenter.com/article/firmware/6_download/official_mod/40_rt-ac86u_official_mod/

[20240927测试中 RT-AC86U_386.10_0]
1. https://fw.koolcenter.com/KoolCenter_Merlin_New_Gen_386/RT-AC86U/
    RT-AC86U_386.10_0_cferom_ubi_koolcenter.w   81.9 MiB    2023-05-03 20:47
    官改


2. https://www.koolcenter.com/fw/device/rt-ac86u/merlin
RT-AC86U_386.9_0_cferom_ubi_koolcenter.w 81.8 MiB 2023-05-03 20:47
梅林改

www.speedtest.cn(连接大连联通节点)

测速发现上传又明细提升(达到93+速度), 下载不变稳定在260左右

AP模式 获取到的WAN口IP为: http://192.168.6.115/Main_Login.asp

重新设置:

  1. TP1Z按重置按钮10s, 重新设置网络; 重新输入WIFI密码 和 设备的安全密码
  2. 由于摄像头都重新设置了, 重新推流启动: supervisorctl restart ffmpeg
  3. 中继的K2P
  4. 必须要关闭新的AC86U热点OpenWrt, 手动设置的192.168.123.12改网段才会工作
  5. 重新配置中继(无线桥接)http://192.168.123.1:8080/Advanced_WMode2g_Content.asp
  6. 正常中继了, 锁定了使用相同的WIFI 2.4G信道: 11信道
  7. 所有的远程WIFI插座都自动识别, 自动跳跃到新的路由器AC86U

下一步:

  1. 设置AC86U打开SSH http://192.168.6.115/Advanced_System_Content.asp

  2. 无法正常登陆

  3. 软件中心-插件离线安装

· 通过本页,你可以上传插件的离线安装包来安装插件;

· 离线安装会自动解压tar.gz后缀的压缩包,识别压缩包一级目录下的install.sh文件并执行。

AC86U打开SSH

ssh admin@192.168.6.115                                                       
admin@192.168.6.115's password:                                                                          
Connection closed by 192.168.6.115 port 22 

#第二天尝试  - 正常了
ssh admin@192.168.6.115
admin@192.168.6.115's password: 

ASUSWRT-Merlin RT-AC86U 386.10_0 Tue May  2 16:39:01 UTC 2023
admin@RT-AC86U-A4C8:/tmp/home/root# 

如果你的华硕路由器安装了第三方固件,并在固件安装了软件中心,通过离线安装的方式安装某软件时收到提示 “离线安装包名有非法关键词”,那可以通过上面的步骤登录路由器系统,然后输入以下命令:

sed -i ‘s/\tdetect_package/\t# detect_package/g’ /koolshare/scripts/ks_tar_install.sh

插入一个64G的SD卡到AC86U的USB3.0口(由于读卡器是2.0, 被识别成2.0)

image-20240928081950327

创建USB上的虚拟内存文件

image-20240928083339577

umount /dev/sda1                                                         
umount: can't unmount /tmp/mnt/AC86U: Device or resource busy 

#AC86U路由器有一个坏块
admin@RT-AC86U-A4C8:/tmp/home/root# dmesg|grep "bad block"
nand_read_bbt: bad block at 0x0000001a0000

# 这将umount所有的文件系统, 需要重启路由器
umount -a -r -l -f /dev/sda1

image-20240928085408054

添加USB2JFFS(USB2JFFS – 用U盘来挂载jffs), 让安装软件跑到U盘上面去

具体的使用说明文档

image-20240928083542208

开启的话需要在软件中心, 打开USB2JFFS, 然后 选择挂载路径(默认): /tmp/mnt/AC86U

image-20240928195238006

msd_lite设置

admin@RT-AC86U-A4C8:/tmp/home/root# opkg install msd                                                         
Installing msd (3.01.0-1) to root...                                                                         
Downloading https://bin.entware.net/aarch64-k3.10/msd_3.01.0-1_aarch64-3.10.ipk                              
Configuring msd.  

#目前在386.10版本上,路由器开启ssh,进入后
1. amtm >
2. ep >
3. opkg install msd
4. service msd即可运行; 我用的是:  msd -c msd.conf
5. 查看日志: cd /opt/var/log;  会有msd.log文件

admin@RT-AC86U-A4C8:/tmp/mnt/AC86U/entware/etc# msd 
Multi stream daemon 3.01.0 -- (c) Rozhuk Ivan <rozhuk.im@gmail.com>
   BSD licence. Website: https://github.com/rozhuk-im/msd
   Build: Jul 23 2024 11:34:57, Release
usage: [-d] [-v] [-c file]
       [-p PID file] [-u uid|usr -g gid|grp]
 -h           usage (this screen)
 -d           become daemon
 -c file      config file
 -p PID file  file name to store PID
 -u uid|user  change uid
 -g gid|group change gid
 -v           verbose

下一步: 设置MSD; 我的有组播的网线口是插在了: LAN1

默认生成的msd.conf

<?xml version="1.0" encoding="UTF-8"?>
<!--
 Sizes in kb, time in seconds
-->
<!--
<skt> <rcvLoWatermark>XXXX</rcvLoWatermark> - DOES NOT WORK on Linux!
man socket(7):
...
The select(2) and poll(2) system calls currently do not respect the SO_RCVLOWAT
setting on Linux, and mark a socket readable when even a single byte of data is
available.
...
-->
<!--
 XML validators:
 - http://www.xmlvalidation.com/
 - xmllint - -noout msd.conf
   "- -": remove space before arg.
   install: /usr/ports/textproc/libxml2
-->
<msd>
   <log>
      <file>/opt/var/log/msd.log</file>
   </log>
   <threadPool>
      <threadsCountMax>3</threadsCountMax>
      <!-- 0 = auto -->
      <fBindToCPU>yes</fBindToCPU>
      <!-- Bind threads to CPUs. -->
      <fCacheGetTimeSyscall>yes</fCacheGetTimeSyscall>
      <!-- Cache gettime() syscalls.. -->
      <timerGranularity>100</timerGranularity>
      <!-- 1/1000 sec -->
   </threadPool>
   <systemResourceLimits>
      <!-- "unlimited"  - value valid only in this section! -->
      <maxOpenFiles>8192</maxOpenFiles>
      <!-- Numbers only! -->
      <maxCoreFileSize>unlimited</maxCoreFileSize>
      <maxMemLock>unlimited</maxMemLock>
      <processPriority>-10</processPriority>
      <!-- Program scheduling priority. setpriority(). Hi: -20, Low: 20, Default: 0 -->
   </systemResourceLimits>
   <!-- HTTP server -->
   <!-- Sizes in kb, time in seconds -->
   <HTTP>
      <!-- HTTP server settings. -->
      <skt>
         <!-- Defaults for all bindings. -->
         <backlog>-1</backlog>
         <rcvBuf>0</rcvBuf>
         <sndBuf>0</sndBuf>
         <rcvTimeout>30</rcvTimeout>
         <sndTimeout>30</sndTimeout>
         <fKeepAlive>no</fKeepAlive>
         <keepAliveIDLEtime>0</keepAliveIDLEtime>
         <keepAliveProbesInterval>0</keepAliveProbesInterval>
         <keepAliveNumberOfProbes>0</keepAliveNumberOfProbes>
         <congestionControl />
         <!-- TCP_CONGESTION: replace congestion control from OS default -->
      </skt>
      <ioBufInitSize>4</ioBufInitSize>
      <!-- HTTP request receive buf initial size. -->
      <ioBufMaxSize>4</ioBufMaxSize>
      <!-- HTTP request receive max buf size. -->
      <bindList>
         <bind>
            <!-- All possible bind settings example. -->
            <backlog>1024</backlog>
            <rcvBuf>4</rcvBuf>
            <sndBuf>256</sndBuf>
            <rcvTimeout>30</rcvTimeout>
            <sndTimeout>30</sndTimeout>
            <fKeepAlive>yes</fKeepAlive>
            <keepAliveIDLEtime>600</keepAliveIDLEtime>
            <keepAliveProbesInterval>8</keepAliveProbesInterval>
            <keepAliveNumberOfProbes>4</keepAliveNumberOfProbes>
            <congestionControl>htcp</congestionControl>
            <!-- TCP_CONGESTION: replace congestion control from OS default -->
            <address>192.168.1.1:7088</address>
            <ifName>vlan777</ifName>
            <!-- Get IP address and replace in 'address' before bind. -->
            <hostnameList>
               <!-- Host names for this bind. -->
               <hostname>megahost.sample</hostname>
            </hostnameList>
         </bind>
         <bind>
            <address>0.0.0.0:7088</address>
         </bind>
         <bind>
            <address>0.0.0.0:40788</address>
         </bind>
         <bind>
            <address>[::]:7088</address>
         </bind>
         <bind>
            <address>[::1]:7088</address>
            <hostnameList>
               <!-- Host names for this bind. -->
               <hostname>localhost</hostname>
            </hostnameList>
         </bind>
         <bind>
            <address>127.0.0.1:7088</address>
            <hostnameList>
               <!-- Host names for this bind. -->
               <hostname>localhost</hostname>
            </hostnameList>
         </bind>
      </bindList>
      <hostnameList>
         <!-- Host names for all bindings. -->
         <hostname>*</hostname>
         <hostname>netlab.linkpc.net</hostname>
         <hostname>www.netlab.linkpc.net</hostname>
         <hostname>netlab.dhis.org</hostname>
         <hostname>net-lab.slyip.net</hostname>
      </hostnameList>
   </HTTP>
   <limits>
      <!-- Client params limits (from http request args). -->
      <precacheMin>0</precacheMin>
      <!-- No less than StreamHUB/skt/rcvLoWatermark, def: 0 -->
      <precacheMax>8192</precacheMax>
      <!-- max/def: StreamHUB/ringBufSize -->
      <sndBlockSizeMin>32</sndBlockSizeMin>
      <!-- Min send block size. -->
      <sndBlockSizeMax>512</sndBlockSizeMax>
      <!-- Max send block size. -->
   </limits>
   <hubProfileList>
      <!-- Stream hub profiles templates. -->
      <hubProfile>
         <name>default</name>
         <fPrecacheWait>no</fPrecacheWait>
         <!-- For new clients: wait untill data in ring buf less than client want to receive in first time. -->
         <fDropSlowClients>yes</fDropSlowClients>
         <!-- Disconnect slow clients. -->
         <fUsePollingForSend>yes</fUsePollingForSend>
         <!-- Add lagged client socket descriptor to OS io polling (kqueue/epoll). -->
         <fZeroCopyOnSend>no</fZeroCopyOnSend>
         <!-- Enable Zero Copy on send to clients. -->
         <fZeroSrcBitratePersistent>no</fZeroSrcBitratePersistent>
         <!-- Do not destroy hub if no data received from all sources. -->
         <fZeroCliPersistent>no</fZeroCliPersistent>
         <!-- Do not destroy hub if no connected clients, othertwice self destroy after zeroCliTimeout seconds. -->
         <zeroCliTimeout>60</zeroCliTimeout>
         <!-- Time to destroy hub if no connected clients. Ignored if fZeroCliPersistent set. -->
         <skt>
            <!-- Client socket tunings. -->
            <sndBuf>1024</sndBuf>
            <!-- Max send block size, apply to clients sockets only, must be > rcvLoWatermark. -->
            <sndLoWatermark>64</sndLoWatermark>
            <!-- Default send block size. Can be overwritten by arg from user request. -->
            <sndTimeout>30</sndTimeout>
            <!-- Send data to client timeout. -->
            <fHalfClosedRcv>no</fHalfClosedRcv>
            <!-- Enable shutdown(SHUT_RD) for clients. -->
            <fTCPNoDelay>no</fTCPNoDelay>
            <!-- Enable TCP_NODELAY for clients. -->
            <fTCPNoPush>no</fTCPNoPush>
            <!-- Enable TCP_NOPUSH / TCP_CORK for clients. -->
            <congestionControl>htcp</congestionControl>
            <!-- TCP_CONGESTION: this value replace/overwrite(!) all others cc settings: cc from http req args, http server settings, OS default -->
         </skt>
         <precache>4096</precache>
         <!-- Default pre cache size. Can be overwritten by arg from user request. -->
         <headersList>
            <!-- Custom HTTP headers (sended before stream). -->
            <header>Pragma: no-cache</header>
            <header>Content-Type: video/mpeg</header>
            <header>ContentFeatures.DLNA.ORG: DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000</header>
            <header>TransferMode.DLNA.ORG: Streaming</header>
         </headersList>
         <HLS>
            <!-- HLS settings. Require fMPEG2TSAnalyzing on sources. -->
            <fEnable>yes</fEnable>
            <targetDuration>5</targetDuration>
            <!-- EXT-X-TARGETDURATION. -->
         </HLS>
         <sourceProfile>
            <!-- Defaults for all sources. -->
            <MPEG2TS>
               <!-- Overwrite hub param same name flag if set. -->
               <fEnable>yes</fEnable>
               <!-- Enable MPEG2-TS analyzer. Overwrite hub param same name flag if set. -->
               <filterPIDList>
                  <PID>reset</PID>
                  <!-- Clear PIDs filtering list. -->
                  <PID>16</PID>
                  <!-- Drop NIT PID. -->
                  <PID>17</PID>
                  <!-- Drop SDT PID. -->
                  <PID>18</PID>
                  <!-- Drop EIT PID. -->
                  <PID>null</PID>
                  <!-- = 8191 Drop NULL PID. -->
                  <PID>unknown</PID>
                  <!-- Drop all unknown PIDs. -->
               </filterPIDList>
            </MPEG2TS>
            <ringBufSize>65536</ringBufSize>
            <!-- Stream receive ring buffer size. -->
            <ringBufStorePath>shm</ringBufStorePath>
            <!-- Only if fZeroCopyOnSend set. Path to store file with ring buf. "shm" = use posix shared memory. -->
            <errorRateInterval>60</errorRateInterval>
            <!-- Error rate calculation interval. Work only if fMPEG2TSAnalyzing set. -->
            <errorRateMax>10</errorRateMax>
            <!-- Error rate max value before change source status to: STREAM_ERRORS. Work only if fMPEG2TSAnalyzing set. overwrite all sources same name value if set to nonzero. -->
            <skt>
               <rcvBuf>1024</rcvBuf>
               <!-- Socket recv buf size. -->
               <rcvLoWatermark>48</rcvLoWatermark>
               <!-- Actual cli_snd_block_min if polling is off. -->
               <rcvTimeout>10</rcvTimeout>
               <!-- STATUS, recv timeout. -->
               <fHalfClosedSnd>no</fHalfClosedSnd>
               <!-- Enable shutdown(SHUT_WR) for clients. -->
            </skt>
         </sourceProfile>
      </hubProfile>
      <hubProfile>
         <name>default-HD</name>
         <fPrecacheWait>no</fPrecacheWait>
         <!-- For new clients: wait untill data in ring buf less than client want to receive in first time. -->
         <fDropSlowClients>yes</fDropSlowClients>
         <!-- Disconnect slow clients. -->
         <fUsePollingForSend>yes</fUsePollingForSend>
         <!-- Add lagged client socket descriptor to OS io polling (kqueue/epoll). -->
         <fZeroCopyOnSend>no</fZeroCopyOnSend>
         <!-- Enable Zero Copy on send to clients. -->
         <fZeroSrcBitratePersistent>no</fZeroSrcBitratePersistent>
         <!-- Do not destroy hub if no data received from all sources. -->
         <fZeroCliPersistent>no</fZeroCliPersistent>
         <!-- Do not destroy hub if no connected clients, othertwice self destroy after zeroCliTimeout seconds. -->
         <zeroCliTimeout>60</zeroCliTimeout>
         <!-- Time to destroy hub if no connected clients. Ignored if fZeroCliPersistent set. -->
         <skt>
            <!-- Client socket tunings. -->
            <sndBuf>1024</sndBuf>
            <!-- Max send block size, apply to clients sockets only, must be > rcvLoWatermark. -->
            <sndLoWatermark>64</sndLoWatermark>
            <!-- Default send block size. Can be overwritten by arg from user request. -->
            <sndTimeout>30</sndTimeout>
            <!-- Send data to client timeout. -->
            <fHalfClosedRcv>no</fHalfClosedRcv>
            <!-- Enable shutdown(SHUT_RD) for clients. -->
            <fTCPNoDelay>no</fTCPNoDelay>
            <!-- Enable TCP_NODELAY for clients. -->
            <fTCPNoPush>no</fTCPNoPush>
            <!-- Enable TCP_NOPUSH / TCP_CORK for clients. -->
            <congestionControl>htcp</congestionControl>
            <!-- TCP_CONGESTION: this value replace/overwrite(!) all others cc settings: cc from http req args, http server settings, OS default -->
         </skt>
         <precache>8192</precache>
         <!-- Default pre cache size. Can be overwritten by arg from user request. -->
         <headersList>
            <!-- Custom HTTP headers (sended before stream). -->
            <header>Pragma: no-cache</header>
            <header>Content-Type: video/mpeg</header>
            <header>ContentFeatures.DLNA.ORG: DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000</header>
            <header>TransferMode.DLNA.ORG: Streaming</header>
         </headersList>
         <sourceProfile>
            <!-- Defaults for all sources. -->
            <MPEG2TS>
               <!-- Overwrite hub param same name flag if set. -->
               <fEnable>yes</fEnable>
               <!-- Enable MPEG2-TS analyzer. Overwrite hub param same name flag if set. -->
               <filterPIDList>
                  <PID>reset</PID>
                  <!-- Clear PIDs filtering list. -->
                  <PID>16</PID>
                  <!-- Drop NIT PID. -->
                  <PID>17</PID>
                  <!-- Drop SDT PID. -->
                  <PID>18</PID>
                  <!-- Drop EIT PID. -->
                  <PID>null</PID>
                  <!-- = 8191 Drop NULL PID. -->
                  <PID>unknown</PID>
                  <!-- Drop all unknown PIDs. -->
               </filterPIDList>
            </MPEG2TS>
            <ringBufSize>131072</ringBufSize>
            <!-- Stream receive ring buffer size. -->
            <ringBufStorePath>shm</ringBufStorePath>
            <!-- Only if fZeroCopyOnSend set. Path to store file with ring buf. "shm" = use posix shared memory. -->
            <errorRateInterval>60</errorRateInterval>
            <!-- Error rate calculation interval. Work only if fMPEG2TSAnalyzing set. -->
            <errorRateMax>10</errorRateMax>
            <!-- Error rate max value before change source status to: STREAM_ERRORS. Work only if fMPEG2TSAnalyzing set. overwrite all sources same name value if set to nonzero. -->
            <skt>
               <rcvBuf>1024</rcvBuf>
               <!-- Socket recv buf size. -->
               <rcvLoWatermark>48</rcvLoWatermark>
               <!-- Actual cli_snd_block_min if polling is off. -->
               <rcvTimeout>10</rcvTimeout>
               <!-- STATUS, recv timeout. -->
               <fHalfClosedSnd>no</fHalfClosedSnd>
               <!-- Enable shutdown(SHUT_WR) for clients. -->
            </skt>
         </sourceProfile>
      </hubProfile>
   </hubProfileList>
   <sourceProfileList>
      <!-- Stream source profiles templates. -->
      <sourceProfile>
         <name>multicast-udp-default</name>
         <MPEG2TS>
            <!-- Overwrite hub param same name flag if set. -->
            <fEnable>yes</fEnable>
            <!-- Enable MPEG2-TS analyzer. Overwrite hub param same name flag if set. -->
            <filterPIDList>
               <PID>reset</PID>
               <!-- Clear PIDs filtering list. -->
               <PID>16</PID>
               <!-- Drop NIT PID. -->
               <PID>17</PID>
               <!-- Drop SDT PID. -->
               <PID>18</PID>
               <!-- Drop EIT PID. -->
               <PID>null</PID>
               <!-- = 8191 Drop NULL PID. -->
               <PID>unknown</PID>
               <!-- Drop all unknown PIDs. -->
            </filterPIDList>
         </MPEG2TS>
         <ringBufSize>32768</ringBufSize>
         <!-- Stream receive ring buffer size. Overwrite hub params same name value if set. -->
         <ringBufStorePath>shm</ringBufStorePath>
         <!-- Only if fZeroCopyOnSend set. Path to store file with ring buf. "shm" = use posix shared memory. Overwrite hub params same name value if set. -->
         <errorRateInterval>60</errorRateInterval>
         <!-- Error rate calculation interval. Work only if fMPEG2TSAnalyzing set. Overwrite hub params same name value if set o. -->
         <errorRateMax>10</errorRateMax>
         <!-- Error rate max value before change source status to: STREAM_ERRORS. Work only if fMPEG2TSAnalyzing set. Overwrite hub params same name value if set. -->
         <skt>
            <rcvBuf>1024</rcvBuf>
            <!-- Socket recv buf size. -->
            <rcvLoWatermark>48</rcvLoWatermark>
            <!-- Actual cli_snd_block_min if polling is off. -->
            <rcvTimeout>10</rcvTimeout>
            <!-- STATUS,  recv timeout. -->
            <fHalfClosedSnd>no</fHalfClosedSnd>
            <!-- Enable shutdown(SHUT_WR) for clients. -->
         </skt>
         <!-- Source connection specific info. -->
         <udp>
            <!-- For: udp, udp-rtp, multicast-udp and multicast-udp-rtp. -->
            <address>239.0.0.22:1234</address>
         </udp>
         <multicast>
            <!-- For: multicast-udp and multicast-udp-rtp. -->
            <ifName>lan0</ifName>
            <!-- For multicast receive. -->
         </multicast>
      </sourceProfile>
      <sourceProfile>
         <name>tcp-http-default</name>
         <MPEG2TS>
            <!-- Overwrite hub param same name flag if set. -->
            <fEnable>yes</fEnable>
            <!-- Enable MPEG2-TS analyzer. Overwrite hub param same name flag if set. -->
            <filterPIDList>
               <PID>reset</PID>
               <!-- Clear PIDs filtering list. -->
               <PID>16</PID>
               <!-- Drop NIT PID. -->
               <PID>17</PID>
               <!-- Drop SDT PID. -->
               <PID>18</PID>
               <!-- Drop EIT PID. -->
               <PID>null</PID>
               <!-- = 8191 Drop NULL PID. -->
               <PID>unknown</PID>
               <!-- Drop all unknown PIDs. -->
            </filterPIDList>
         </MPEG2TS>
         <ringBufSize>32768</ringBufSize>
         <!-- Stream receive ring buffer size. Overwrite hub params same name value if set. -->
         <ringBufStorePath>shm</ringBufStorePath>
         <!-- Only if fZeroCopyOnSend set. Path to store file with ring buf. "shm" = use posix shared memory. Overwrite hub params same name value if set. -->
         <errorRateInterval>60</errorRateInterval>
         <!-- Error rate calculation interval. Work only if fMPEG2TSAnalyzing set. Overwrite hub params same name value if set o. -->
         <errorRateMax>10</errorRateMax>
         <!-- Error rate max value before change source status to: STREAM_ERRORS. Work only if fMPEG2TSAnalyzing set. Overwrite hub params same name value if set. -->
         <skt>
            <rcvBuf>1024</rcvBuf>
            <!-- Socket recv buf size. -->
            <rcvLoWatermark>48</rcvLoWatermark>
            <!-- Actual cli_snd_block_min if polling is off. -->
            <rcvTimeout>30</rcvTimeout>
            <!-- STATUS,  recv timeout. -->
            <fHalfClosedSnd>no</fHalfClosedSnd>
            <!-- Enable shutdown(SHUT_WR) for clients. -->
         </skt>
         <!-- Source connection specific info. -->
         <tcp>
            <!-- For: tcp- and tcp-http. -->
            <remonteHostname>93.95.99.231:9500</remonteHostname>
            <connectTimeout>5</connectTimeout>
            <!-- Connect timeout. -->
            <reconnectInterval>5</reconnectInterval>
            <!-- Retry connect delay. -->
            <reconnectCount>4294967295</reconnectCount>
            <!-- Retry count. -->
         </tcp>
         <http>
            <urlPath>http/93.95.99.231:9500/udp/234.1.1.26:10000</urlPath>
            <headersList>
               <!-- Custom HTTP headers for request. -->
               <header>Accept: */*</header>
               <header>User-Agent: NSPlayer/7.10.0.3059</header>
               <header>getcontentFeatures.dlna.org: 1</header>
            </headersList>
         </http>
      </sourceProfile>
   </sourceProfileList>
   <streamProxy>
      <!-- Auto generated stream hubs from user request. -->
      <multicast>
         <fEnable>yes</fEnable>
         <hubProfileName>default</hubProfileName>
         <!-- Profile template. -->
         <sourceProfileName>multicast-udp-default</sourceProfileName>
         <!-- Profile template. -->
      </multicast>
      <http>
         <fEnable>yes</fEnable>
         <hubProfileName>default</hubProfileName>
         <!-- Profile template. -->
         <sourceProfileName>tcp-http-default</sourceProfileName>
         <!-- Profile template. -->
      </http>
      <transparent>
         <!-- Like HTTP, but 'host' header point to other host. -->
         <fEnable>yes</fEnable>
         <hubProfileName>default</hubProfileName>
         <!-- Profile template. -->
         <sourceProfileName>tcp-http-default</sourceProfileName>
         <!-- Profile template. -->
      </transparent>
   </streamProxy>
   <channelList>
      <includeFile>/home/rim/docs/Progs/msd/msd/conf/msd_channels.conf</includeFile>
      <c-hannel>
         <name>Test1.ts</name>
         <!-- Channel name, used in request: /channel/... . -->
         <hubProfileName>default</hubProfileName>
         <!-- Profile template. -->
         <precache>8192</precache>
         <skt>
            <sndBuf>1024</sndBuf>
            <!-- Max send block size, apply to clients sockets only, must be > rcvLoWatermark. -->
         </skt>
         <sourceList>
            <source>
               <type>multicast-udp</type>
               <sourceProfileName>multicast-udp-default</sourceProfileName>
               <!-- Profile template name. -->
               <udp>
                  <address>239.0.0.2:1234</address>
               </udp>
               <multicast>
                  <ifName>vlan777</ifName>
               </multicast>
            </source>
            <source>
               <type>multicast-udp</type>
               <sourceProfileName>multicast-udp-default</sourceProfileName>
               <!-- Profile template name. -->
               <udp>
                  <address>239.0.0.3:1234</address>
               </udp>
               <multicast>
                  <ifName>vlan777</ifName>
               </multicast>
            </source>
            <source>
               <type>tcp-http</type>
               <sourceProfileName>tcp-http-default</sourceProfileName>
               <!-- Profile template. -->
               <tcp>
                  <!-- For: tcp- and tcp-http. -->
                  <remonteHostname>93.95.99.231:9500</remonteHostname>
               </tcp>
               <http>
                  <urlPath>udp/234.1.1.26:10000</urlPath>
               </http>
            </source>
         </sourceList>
      </c-hannel>
   </channelList>
</msd>

我设置修改的部分为(bro0.41 和 IP地址):


<address>192.168.6.115:7088</address>
<ifName>bro0.41</ifName> <!-- Get IP address and replace in 'address' before bind. -->

运行: msd -c ./msd.conf

admin@RT-AC86U-A4C8:/tmp/mnt/AC86U/entware/etc# msd -d -c ./msd.conf 

运行日志:

admin@RT-AC86U-A4C8:/tmp/mnt/AC86U/entware/etc# cd /opt/var/log                                              
admin@RT-AC86U-A4C8:/tmp/mnt/AC86U/entware/var/log# ls                                                       
msd.log                                                                                                      
admin@RT-AC86U-A4C8:/tmp/mnt/AC86U/entware/var/log# cat msd.log                                              




[2024-09-28 13:48:57]: msd 3.01.0: started                                                                   
[2024-09-28 13:48:57]: Build: Jul 23 2024 11:34:57, Release                                                  
[2024-09-28 13:48:57]: CPU count: 2                                                                          
[2024-09-28 13:48:57]: descriptor table size: 1024 (max files)                                               
[2024-09-28 13:48:57]: Thread 1 started...                                                                   
[2024-09-28 13:48:57]: Bind thread 1 to CPU 1                                                                
[2024-09-28 13:48:57]: Thread 2 started...                                                                   
[2024-09-28 13:48:57]: hostname: *                                                                           
[2024-09-28 13:48:57]: hostname: netlab.linkpc.net                                                           
[2024-09-28 13:48:57]: hostname: www.netlab.linkpc.net                                                       
[2024-09-28 13:48:57]: hostname: netlab.dhis.org                                                             
[2024-09-28 13:48:57]: hostname: net-lab.slyip.net                                                           
[2024-09-28 13:48:57]: Bind thread 2 to CPU 0                                                                
[2024-09-28 13:48:57] http_srv_xml_load_bind, line 292: HTTP server: cant get addr for: bro0.41 - error 29: b
.slyip.net                                                                                                   
et                                                                                                           

[2024-09-28 13:48:57] http_srv_xml_load_start, line 348: http_srv_xml_load_bind() - error 29: h�_�           
[2024-09-28 13:48:57]: bind 0.0.0.0:7088, backlog = -1, tcp_cc =                                             
[2024-09-28 13:48:57]: bind 0.0.0.0:40788, backlog = -1, tcp_cc =                                            
[2024-09-28 13:48:57]: bind [:]:7088, backlog = -1, tcp_cc =                                                 
[2024-09-28 13:48:57]: hostname: localhost                                                                   
[2024-09-28 13:48:57] http_srv_bind_add, line 629: err_out - error 99: ��<�U                                 
[2024-09-28 13:48:57] http_srv_xml_load_start, line 361: http_srv_bind_add(): [::]:7088, backlog = -1, tcp_cc
 =  - error 99: ȇ��גӛ��_�                                                                                    
[2024-09-28 13:48:57]: hostname: localhost                                                                   
[2024-09-28 13:48:57]: bind 127.0.0.1:7088, backlog = -1, tcp_cc =                                           
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 198: Try to add filtering PID 17, mem=0, count=0      
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 209: Added filtering PID 17, mem=55c23ce6e0, count=1  
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 198: Try to add filtering PID 18, mem=55c23ce6e0, coun
t=1                                                                                                          
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 209: Added filtering PID 18, mem=55c23ce6e0, count=2  
[2024-09-28 13:48:57] mpeg2_ts_settings_copy, line 231: mem=55c23ce6e0, count=2                              
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 198: Try to add filtering PID 17, mem=55c23ceb30, coun
t=0                                                                                                          
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 209: Added filtering PID 17, mem=55c23ceb30, count=1  
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 198: Try to add filtering PID 18, mem=55c23ceb30, coun
t=1                                                                                                          
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 209: Added filtering PID 18, mem=55c23ceb30, count=2  
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 198: Try to add filtering PID 17, mem=0, count=0      
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 209: Added filtering PID 17, mem=55c23cec20, count=1  
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 198: Try to add filtering PID 18, mem=55c23cec20, coun
t=1                                                                                                          
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 209: Added filtering PID 18, mem=55c23cec20, count=2  
[2024-09-28 13:48:57] mpeg2_ts_settings_copy, line 231: mem=55c23cec20, count=2                              
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 198: Try to add filtering PID 17, mem=55c23cec40, coun
t=0                                                                                                          
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 209: Added filtering PID 17, mem=55c23cec40, count=1  
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 198: Try to add filtering PID 18, mem=55c23cec40, coun
t=1                                                                                                          
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 209: Added filtering PID 18, mem=55c23cec40, count=2  
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 198: Try to add filtering PID 17, mem=0, count=0      
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 209: Added filtering PID 17, mem=55c23ced90, count=1  
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 198: Try to add filtering PID 18, mem=55c23ced90, coun
t=1                                                                                                          
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 209: Added filtering PID 18, mem=55c23ced90, count=2  
[2024-09-28 13:48:57] mpeg2_ts_settings_copy, line 231: mem=55c23ced90, count=2                              
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 198: Try to add filtering PID 17, mem=55c23cedb0, coun
t=0                                                                                                          
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 209: Added filtering PID 17, mem=55c23cedb0, count=1  
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 198: Try to add filtering PID 18, mem=55c23cedb0, coun
t=1                                                                                                          
[2024-09-28 13:48:57] mpeg2_ts_xml_load_settings, line 209: Added filtering PID 18, mem=55c23cedb0, count=2  
[2024-09-28 13:48:57]: Thread 0 started...                                                                   
[2024-09-28 13:48:57]: Bind thread 0 to CPU 0                                                                
[2024-09-28 13:48:57]: Load channels: from main config.                                                      
[2024-09-28 13:48:57]: Load channels: from included configs.                                                 
[2024-09-28 13:48:57]: Load channels: from "/home/rim/docs/Progs/msd/msd/conf/msd_channels.conf"             
[2024-09-28 13:48:57] msd_load_timer_cb, line 475: Load channels: FAIL from "/home/rim/docs/Progs/msd/msd/con
f/msd_channels.conf" - error 2: ȇ��גӛ��_�                                                                    
[2024-09-28 13:49:24]: error: no http header, client ip: 192.168.6.221:53758                                 
[2024-09-28 13:50:38] mpeg2_ts_settings_copy, line 231: mem=55c23ceb30, count=2                              
[2024-09-28 13:50:38]: /udp/239.3.1.241:8000@: Created.                                                      
[2024-09-28 13:50:38] mpeg2_ts_settings_copy, line 231: mem=55c23ce6e0, count=2                              
[2024-09-28 13:50:38] mpeg2_ts_settings_copy, line 231: mem=7fa4001ad0, count=2                              
[2024-09-28 13:50:38] mpeg2_ts_settings_copy, line 231: mem=7fac001ab0, count=2                              
[2024-09-28 13:50:38]: /udp/239.3.1.241:8000@ - 0/0: waiting for data [0: OK ]...                            
[2024-09-28 13:50:38]: /udp/239.3.1.241:8000@ - 192.168.6.221:53843: attached, cli_count = 1                 
[2024-09-28 13:50:38]: /udp/239.3.1.241:8000@ - 1/1: running [0: OK ]...                                     
[2024-09-28 13:51:04]: Thread 1 exited...                                                                    
[2024-09-28 13:51:04]: Thread 0 exited...                                                                    
[2024-09-28 13:51:04]: /udp/239.3.1.241:8000@ - 192.168.6.221:53843: deattached, cli_count = 0               
[2024-09-28 13:51:04]: /udp/239.3.1.241:8000@: Destroyed.                                                    
[2024-09-28 13:51:04]: exiting.  

本章节鸣谢: 梅林固件下使用msdlite求助

中继K2P

中继成功, 但无DHCP功能, 导致客户端无法自动获取IP地址

frpc 内网穿透管理AC86U

修改了frpc在群晖中的设置, 从原来的源头192.168.6.243 到现在的 192.168.6.115; 需要进群晖管理界面, 呼叫出:任务管理器, 然后看到之前的 frpc进程, 然后先kill掉, 重新在运行起来:

nohup /usr/local/frp/frpc -c /usr/local/frp/frpc.ini >/dev/null 2>&1 &

http://127.0.0.1:22224/Main_Login.asp

admin:00000

AC86U做AP不定时失效

失效原因未知; 当前的WIFI用户不受影响, 但是新的手机等无法连接到这个AP的WIFI点.

解决办法: AP 每天重启 AC86U

同时设置了NAS中定时任务, 重启 supervisorctl restart ffmpeg


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注