linux USB设备驱动的问题!

linux USB设备驱动的问题!,第1张

usb驱动加载过程,

usb驱动模块insmod之后,会在usbcore中注册自己的probe函数,当usb控制器发现有设备接入时,就会根据PID和VID在usbcore中查找注册的驱动模块,找到之后,调用对应的probe函数,probe函数将实现设备的接入节点创建等等。

你先插入设备,此时usbcore内没有模块注册的probe,则无法识别设备。

确认 usb-wifi 设备型号 , 根据确认结果选择驱动信息。

安装驱动 mt7601u , 如果已经自带跳过此步骤

配置驱动启动后自动加载。

重启验证是否成功的自动加载驱动模块。

确认 usb-wifi 设备型号 , 根据确认结果选择驱动信息。

## 初始USB接入时加载显示

lsusb| grep Ralink

Bus 001 Device 003: ID 148f:2878 Ralink Technology, Corp.

## lsusb执行后显示信息中有 usb-wifi设备时继续执行如下命令,进行模式切换(对于存在多模式设备可以正确显示出wifi设备的真实型号)

usb_modeswitch -KW -v 148f -p 2878

## 模式切换后加载显示

lsusb| grep Ralink

Bus 001 Device 003: ID 148f:7601 Ralink Technology, Corp.

可以看到型号为 7601 ,据此我们选择 mt7601u 驱动进行‘安装。

安装驱动 mt7601u , 如果已经自带跳过此步骤

方法1:有可能系统内核已经集成好了你需要的驱动模块,只需要手工加载以下验证是否有效,如果无效再选择方法2.

方法2:github 搜索型号的驱动源码,手动编译安装 。

安装完毕后,需要配置下 wlan0 的配置信息, 创建一个ifcfg-wlan0文件(如果使用的是 NetworkManager 服务可能不需要配置就可以使用了)

$ cat /etc/sysconfig/network/ifcfg-wlan0

BOOTPROTO='dhcp'

BROADCAST=''

DHCLIENT_SET_DEFAULT_ROUTE='yes'

ETHTOOL_OPTIONS=''

IPADDR=''

MTU=''

NAME=''

NETMASK=''

NETWORK=''

REMOTE_IPADDR=''

STARTMODE='auto'

WIRELESS_AP=''

WIRELESS_AP_SCANMODE='1'

WIRELESS_AUTH_MODE='psk'

WIRELESS_BITRATE='auto'

WIRELESS_CA_CERT=''

WIRELESS_CHANNEL=''

WIRELESS_CLIENT_CERT=''

WIRELESS_CLIENT_KEY=''

WIRELESS_CLIENT_KEY_PASSWORD=''

WIRELESS_DEFAULT_KEY='0'

WIRELESS_EAP_AUTH=''

WIRELESS_EAP_MODE=''

WIRELESS_ESSID='CPE_05010'

WIRELESS_FREQUENCY=''

WIRELESS_KEY=''

WIRELESS_KEY_0=''

WIRELESS_KEY_1=''

WIRELESS_KEY_2=''

WIRELESS_KEY_3=''

WIRELESS_KEY_LENGTH='128'

WIRELESS_MODE='Managed'

WIRELESS_NICK=''

WIRELESS_NWID=''

WIRELESS_PEAP_VERSION=''

WIRELESS_POWER='no'

WIRELESS_WPA_ANONID=''

WIRELESS_WPA_IDENTITY=''

WIRELESS_WPA_PASSWORD=''

WIRELESS_WPA_PSK='Abcd1234'

配置驱动启动后自动加载。

具体配置方法可以参考 man modules-load.d 信息可以详细理解。

创建一个 mt7601u.conf 文件, 内容如下

# echo "mt7601u" >/etc/modules-load.d/mt7601u.conf

# cat /etc/modules-load.d/mt7601u.conf

mt7601u

重启验证是否成功的自动加载驱动模块。

先 umount 再插拔啊,linux 不会自动 umount 的,况且你还在拷贝过程中。。。

碰见卸载不了你只能 ps -aux 找到用该设备的进程 Kill 掉才能 umount ..

有个 autofs 貌似可以自动 umount 。。。不过没用过。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8716112.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存