4. 故障排除

问:我大约每 4 天会被强制离线一次,没有明显原因,并且在内核日志中收到以下错误或类似错误

Feb 20 10:05:12 K7 kernel: CDCEther.c: rx status -110
Feb 20 10:05:12 K7 kernel: CDCEther.c: no repsonse in BULK IN
Feb 20 10:05:12 K7 kernel: CDCEther.c: rx status -110
Feb 20 10:05:12 K7 kernel: CDCEther.c: no repsonse in BULK IN
Feb 20 10:05:12 K7 kernel: CDCEther.c: rx status -110
Feb 20 10:05:12 K7 kernel: CDCEther.c: no repsonse in BULK IN
Feb 20 10:05:12 K7 kernel: CDCEther.c: rx status -110

答:造成这种情况的原因有很多,未来 CDCEther 驱动程序的更新可能会解决其中一些问题。Linux-USB-user 邮件列表中的一位用户注意到,至少有一次,电缆提供商从上游发送到调制解调器的数据触发了该问题。此外,调制解调器本身对电源中断非常敏感,如果发生电源中断,可能会失去连接。解决方法是运行 ifdown ethX,其中 ethX 是以太网接口(eth0、eth1 等),以清除任何残留的挂起设置,然后使用 rmmod CDCEther 删除模块,重新插入 CDCEther 模块,然后 ifup ethX 。如果这不能解决问题,可能需要重新启动。如果这些方法都无效,您可能遇到了真正的服务中断。

问:我在启动时收到以下消息;它们是错误吗?

Can't use SetEthernetMulticastFilters request
Mar  2 11:00:52 K7 kernel: CDCEther.c: Ethernet information found at
device configuration.  Trying to use it anyway.
Mar  2 11:00:52 K7 kernel: CDCEther.c: Imperfect filtering support -
need sw hashing

答:不是。多播消息与内核中的多播支持有关,这是可选的,对于此调制解调器的正常运行不是必需的。“以太网信息”消息是调制解调器中的设计缺陷,可以忽略。至于“不完善的过滤支持”,引用 Brad Hards 的话

“这有点难以解释 - 我假设您知道什么是多播 - 当您加入多播组时,这可以由网络设备处理,以便其他多播流量不会导致中断。这称为“完美过滤”。但是,有时多播地址的数量超过了您拥有的过滤器数量。这导致“不完善的过滤”,这可以减少中断的数量,但您仍然需要在网络堆栈中做一些工作。然后您会看到典型的电缆调制解调器实现,根本没有过滤。每个多播数据包都发送到主机进行过滤。但这通常无关紧要,因为电缆调制解调器是点对点链接。”

问:我仍然有问题,或者我异常好奇...有没有办法可以获得更多关于设备正在做什么的信息?

答:是的,有。制造商在调制解调器本身中硬连线了一个 http 服务器,用于状态和配置目的。它似乎是为电缆技术人员进行故障排除而设计的,但是您可以通过将 Web 浏览器指向 http://192.168.100.1 来访问 4100 和 4200 型号。如果在此之前运行了防火墙,则需要关闭防火墙。您可以在此地址查看统计信息、日志和一些其他杂项信息。