linux 复位usb网卡,Linux内核4.x关闭USB网卡灯Linux内核4.x关闭USB网卡灯

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

TL;DR

下载关灯脚本,配置udev规则。实现插入指定USB网卡设备后不会亮灯、闪烁的效果。

问题描述

由使用树梅派组建低成本网络存储项目搭建成的个人NAS是使用USB网卡进行互联的,这造成了USB网卡上的链接状态灯在夜间无数据访问时也会不断闪烁。

势必会影响周遭的正常休息。

在上网查找后,发现有基于Linux老版本内核的关灯教程。但是并不适用于Linux4.x的新子系统。故实验成功后记录。

解决的思路是直接将网卡灯在任何情况下的亮度设置为0,并配置内核udev设备管理器,在插入USB网卡设备后当即运行关闭网卡灯脚本。

解决方法

1. 下载disable_led_usb_wifi.sh脚本,设置其可被执行的权限,并存储在/usr/local/bin目录中。#!/bin/sh# Wait for associate then disable led on USB wifi adapter with led sub-systemdisable_led() {localDEVICE_NAME=rt2800usb-phy0sleep 60fori in /sys/class/leds/${DEVICE_NAME}*doecho0 > ${i}/brightnessdone}(disable_led ) &

如上所示,关灯脚本使用了后台执行的方案。这是因为udev的策略执行是阻塞性的,同时在插入设备后立即执行脚本不能实现关灯效果。

所以我们选择等待一个魔法数字(MAGIC NUMBER)的时长,待此之后再执行关灯脚本。

同时,你需要根据自身网卡设备,更改变量DEVICE_NAME的内容。

2. 添加udev策略

在目录/etc/udev/rules.d中添加规则100-usbwifi.rules,内容如下ACTION=="add", ATTRS{idVendor}=="your-idvendor-here", ATTRS{idProduct}=="your-idproduct-here", RUN+="/usr/local/bin/disable_led_usb_wifi.sh"

请根据实际lsusb指令的输出,更换上述文本中的your-idvendor-here与your-idproduct-here。

举个例子,[email protected]:~# lsusbBus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.Bus 001 Device 004: ID 1a40:0101 Terminus Technology Inc. 4-Port HUBBus 001 Device 005: ID 0080:a001Bus 001 Device 006: ID 2001:3c1b D-Link Corp.Bus 001 Device 007: ID 2537:1068

在上述的命令回显中,我们能得知USB网卡设备为Bus 001 Device 006: ID 2001:3c1b D-Link Corp.

其中,idVendor为2001,idProduct为3c1b,规则100-usbwifi.rules的内容应为ACTION==”add”, ATTRS{idVendor}==”2001”, ATTRS{idProduct}==”3c1b”, RUN+=”/usr/local/bin/disable_led_usb_wifi.sh”

FYI

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值