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 。。。不过没用过。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)