解决Linux系统下3G模块和USB总线总断开链接问题 (linux 3g 模块总u总断开链接)

在Linux系统中使用3G模块和USB总线时,经常会遇到断开链接的问题,这是因为Linux系统默认将USB总线接口的电源管理模式设置为开启,这就导致了模块或设备在一段时间没有使用后,就会断开链接。但是,在某些情况下,我们希望这些设备不要断开链接,例如:3G模块在连接网络时,如果频繁断开链接就会导致网络不稳定,甚至断网。因此,这篇文章将分享如何。

1. 查看USB总线电源管理模式的设置

我们需要查看USB总线电源管理模式的设置。在终端中输入以下命令:

$ cat /sys/bus/u/devices/u*/power/control

如果运行结果显示”auto”,则表示电源管理模式处于开启状态,设备会在一段时间没有使用后断开链接。如果后续命令无法解决链接问题,可以将电源管理模式设置成”on”,表示关闭电源管理模式,设备不会随机断开链接。在终端中输入以下命令:

$ sudo su

$ echo on > /sys/bus/u/devices/u*/power/control

这里注意,如果是移动设备的电源管理,如3G模块等,需要先查看这个设备的位置,在上面的命令中将“u*”替换成对应的位置。

2. 解决3G模块的电源管理问题

如果只是解决3G模块的电源管理问题,可以使用以下命令使得系统在检测到3G模块后禁止USB总线电源管理模式:

$ sudo nano /etc/udev/rules.d/50-3g-modem.rules

然后,添加以下代码:

ACTION==”add”, SUBSYSTEMS==”u”, ATTRS{idVendor}==”12d1″, ATTRS{idProduct}==”14dc”, RUN+=”/usr/bin/u_modeswitch -v 12d1 -p 14dc -M ‘5553424312345678000000000000061e000000000000000000000000000000′”

ACTION==”add”, SUBSYSTEMS==”u”, ATTRS{idVendor}==”12d1″, ATTRS{idProduct}==”14dc”, RUN+=”/bin/bash -c ‘modprobe option && echo Y > /sys/module/userial/parameters/rprime_autosuspend'”

ACTION==”remove”, SUBSYSTEMS==”u”, ATTRS{idVendor}==”12d1″, ATTRS{idProduct}==”14dc”, RUN+=”/bin/bash -c ‘echo N > /sys/module/userial/parameters/rprime_autosuspend'”

这里的”12d1″和”14dc”分别代表3G模块的厂商ID和设备ID,如果您的3G模块与这个不同,需要修改成对应的ID。

3. 解决USB总线电源管理模式的问题

如果您的USB总线上连接了多个设备,而只有其中一个设备需要保持不断开链接,我们需要将其他设备的电源管理模式调整成“on”,只有需要保持链接的设备取消电源管理模式。这里需要修改udev规则。在终端中输入以下命令:

$ sudo nano /etc/udev/rules.d/99-disable-autosuspend.rules

然后,添加以下代码:

ACTION==”add”, SUBSYSTEM==”u”, TEST==”power/control”, ATTR{power/control}=”on”

ACTION==”add”, SUBSYSTEM==”u”, ATTR{idVendor}==””, ATTR{idProduct}==””, TEST==”power/control”, ATTR{power/control}=”off”

这里需要将和替换成需要保持链接设备的厂商ID和设备ID。

4. 安装使用TLP

TLP是一款Linux下的电源管理工具,可以优化电池寿命、处理器性能和热管理等。TLP不仅针对笔记本电脑的电源管理,还可以为USB和蓝牙设备提供管理。安装TLP:

$ sudo add-apt-repository ppa:linrunner/tlp

$ sudo apt-get update

$ sudo apt-get install tlp tlp-rdw

启用TLP:

$ sudo systemctl enable tlp

$ sudo systemctl enable tlp-sleep.service

相关问题拓展阅读:

嵌入式Linux,加载USB驱动报错,何解?

上位机USB EHCI总线复位失败,无法枚型哪念举到USB从设备,有可缓祥能是由于上位机内部的USB EHCI控制器损坏或者USB线缆短路了,建议用示波器量一下差分信号电压看是不是超出阈值,或者换一个从设备测试一下,卜困都正常的话就可能是上位机的问题了

关于linux 3g 模块总u总断开链接的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 解决Linux系统下3G模块和USB总线总断开链接问题 (linux 3g 模块总u总断开链接)