【NI】在NI RT Linux上安装USB 无线网卡驱动及CH340G RS232/485驱动

目录

* 一、运行环境

* 二、安装步骤

* 参考资料

* 参考命令

** 快速安装 **

一、运行环境

硬件平台:NI IC-3173 / NI CRIO-9064

软件平台:NI Real-time Linux

目标:1. 在NI Real Time终端上安装USB 无线网卡驱动实现无线上网;

           2. 在NI Real Time终端上安装CH340G串口驱动,实现USB扩展串口,包括 RS232/RS485。

二、安装步骤

---安装思路---

1. 下载配套驱动

2. 编译对应平台下的驱动

3. 安装驱动到对应平台并测试

4. 设置为开机自动加载驱动

--- 准备工作---

1. 安装gcc

opkg update

opkg install gcc

由于在NI 平台上安装gcc后可能不能直接使用,因为gcc此时使用的是x86_64-nilrt-linux-gcc,所以需要配置一下

source /usr/local/natinst/tools/versioning_utils.sh

setup_versioning_env

# 调用gcc 的时候使用

versioning_call gcc

此时 使用 find命令查找到gcc所在位置,加入到Path路径即可

export PATH=$PATH:yourpath

2. 安装 wireless-tools (iwconfig)工具

opkg update

opkg install wireless-tools

在使用 iwconfig 命令时,可能会出现  SIOCSIFFLAGS: Operation not possible due to RF-kill 错误提示,可参考下文解决

SIOCSIFFLAGS: Operation not possible due to RF-kill

运行 

rfkill list all

rfkill unblock wifi

3. 


注意:在安装时需要从NI 的仓库更新程序,由于NI服务器在国外,速度可能会限制,此时可以发挥主观能动性(爬梯)


(一) 下载驱动

1) 【RTL8292EU】根据NI论坛上网友的使用经验,Realtek瑞昱RTL8xxxx系列的网卡有成功使用者,故笔者调查后选用了 RTL8192EU 芯片的无线网卡,驱动可以从官网或者github上下载。

https://github.com/lingqing/rtl8192eu_nirtlinux_driver

可以先安装git ,使用git下载

opkg install git

git clone https://github.com/lingqing/rtl8192eu_nirtlinux_driver

cd rtl8192eu_nirtlinux_driver

versioning_call make

等待编译成功


此仓库包含 IC-3173和Crio-9064的驱动,分别在master和crio分支

(注意:安装驱动后一定要保证Target(3173orcrio时间保持最新,否则Max无法识别网卡 )

2) 【CH340G】此驱动亦可从网上搜索下载,或者从GitHub行下载。https://github.com/lingqing/ch34x_nirtlinux_driver

(二)编译驱动

驱动编译时需参考NI官方文档

Tutorial: Adding Kernel Modules on NI Linux Real-Time

在本驱动中,需要注意及修改的地方主要包括

1) Makefile文件

(1) 修改平台 配置,主要包括 内核源码目录 为 /var/volatile/tmp/headers/kernel

(参考Tutorial 文档)


(四) 开机启动

驱动开机驱动方法参考上述 Tutorial文档


(五) 其他设置

1. 由于NI系统的原因,无线配置需要起作用最好使用NI-Max 配置,方便易行

【NI】在NI RT Linux上安装USB 无线网卡驱动及CH340G RS232/485驱动_第1张图片

但对于Usb 无线配置,需要开机启动 运行

  wpa_supplicant -B -iwlan0 -c /etc/natinst/share/wpa_supplicant.conf -Dwext &

设置开机启动方法需参考NI官方文档

Tutorial: Installing Startup Scripts on NI Linux Real-Time

2. 在安装3173驱动时,编译成功后,使用insmod 8192eu.ko,提示错误:insmod: ERROR: could not insert module 8192eu.ko: Unknown symbol in module

原因是由于该模块有其他依赖,我的解决办法:

# modinfo ./8192eu.ko | grep depend

depends:        cfg80211

# modprob cfg80211

# insmod 8192eu.ko

这是因为需要cfg80211内核模块支持,

参考insmod: error inserting './igb.ko': -1 Unknown symbol in module 的问题所在


==参考资料

1.  论坛驱动安装参考 RAD Utility doesn't properly copy over USB Wi-Fi Dongle

2.  论坛Wifi配置参考 Re: [SOLVED] myRIO-1950 - Wifi dongle driver compilation

3.  iwconfig 启动wifi故障:SIOCSIFFLAGS: Operation not possible due to RF-kill

4.  在Linux 使用 wpa_cli配置无线网络:在Linux上配置无线网络,Linux 下命令行连接Wifi方法

5.  iwconfig用法:wifi测试相关(iwconfig,WPA Supplicant用法)


==参考命令

1. 查找命令: find dir -name name

==快速安装

1. IC-3173

cd yourpath

git clone -b master https://github.com/lingqing/rtl8192eu_nirtlinux_driver.git 

cd rtl8192eu_nirtlinux_driver

cp 8192eu.ko /lib/modules/`uname -r`/kernel

depmod

modprobe 8192eu.ko

reboot


2 CRIO-9064

cd yourpath

git clone -b crio https://github.com/lingqing/rtl8192eu_nirtlinux_driver.git

cd rtl8192eu_nirtlinux_driver

cp 8192eu.ko /lib/modules/`uname -r`/kernel

depmod

modprobe 8192eu.ko

reboot

========== 分割线 =====


你可能感兴趣的:(【NI】在NI RT Linux上安装USB 无线网卡驱动及CH340G RS232/485驱动)