
在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驱动报错,何解?
嵌入式Linux,加载USB驱动报错,何解?
上位机USB EHCI总线复位失败,无法枚型哪念举到USB从设备,有可缓祥能是由于上位机内部的USB EHCI控制器损坏或者USB线缆短路了,建议用示波器量一下差分信号电压看是不是超出阈值,或者换一个从设备测试一下,卜困都正常的话就可能是上位机的问题了
关于linux 3g 模块总u总断开链接的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
香港服务器首选树叶云,2H2G首月10元开通。
树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/178836.html<