基于s3c2440平台rt3070芯片工作在station模式

arm9+Linux fl2440 下的WiFi驱动rt3070的编译移植以及station模式 --------------------------------------------------------------------------------------------------------                                     主机操作系统:centos 6.7                                     交叉编 阅读详情

—————————————————————————————————————————————
主机操作系统:Centos 6.5
交叉编译器环境:arm-linux-gcc-4.5.4
开发板平台: FL2440
Linux内核版本: linux-3.0
开发模块:无线网卡 RT3070.
作者:hulu<1334528355@qq.com>

—————————————————————————————————————————————
笔者友情提醒:本文章是在fl2440开发板已经成功移植linux-3.0内核,和可读写的文件系统之上开发的,本次开发使用的是ubifs文件系统格式,且fl2440的DM9000网卡驱动和usb驱动已经成功移植,若还没成功移植DM9000网卡驱动和usb驱动的朋友请参考本人博客驱动开发部分。

实现RT3070无线网卡STA模式并使开发板接入Wifi上网
RT3070的工作模式分为 STA(station)模式、SoftAP(Access Point)模式两种:
STA模式:笔记本上无线网卡模式,用来连接到无线路由器上上网。通俗点说,就是客户端模式(笔记本)
AP模式:即作为无线路由器,提供其他用户接入 (路由器)

所以我们的驱动有两种,分别支持无来线网卡工作在STA模式和AP模式。因为linux3.0以上的内核中已经含有了RT3070的通用mac80211驱动框架,所以我首先直接基于此并借助wpa_suppicant软件来实现Wifi的STA模式。

一、配置Linux内核支持wireless无线上网

[*] Networking support —>
-*- Wireless —>

<*> cfg80211 - wireless configuration API
[ ] nl80211 testmode command
[ ] enable developer warnings
[ ] cfg80211 regulatory debugging
[*] enable powersave by default
[ ] cfg80211 DebugFS entries
[*] cfg80211 wireless extensions compatibility
[*] Wireless extensions sysfs files
{*} Common routines for IEEE802.11 drivers

[ ] lib80211 debugging messages
<*> Generic IEEE 802.11 Networking Stack (mac80211)
Default rate control algorithm (Minstrel) —>
[ ] Enable mac80211 mesh networking (pre-802.11s) support
[ ] Export mac80211 internals in DebugFS
[ ] Select mac80211 debugging features —>
Device Drivers —>
Generic Driver Options —>
(/sbin/hotplug) path to uevent helper

[ ] Maintain a devtmpfs filesystem to mount at /dev
[ ] Select only drivers that don’t need compile-time external firmware
[ ] Prevent firmware from being built
-*- Userspace firmware loading support
[*] Include in-kernel firmware blobs in kernel binary

() External firmware blobs to build into the kernel binary
[ ] Driver Core verbose debug messages
[ ] Managed device resources verbose debug messages
[*] Network device support —>
[*] Wireless LAN —>

<*> Ralink driver support —>
< > Ralink rt2500 (USB) support
< > Ralink rt2501/rt73 (USB) support
<*> Ralink rt27xx/rt28xx/rt30xx (USB) support
[ ] rt2800usb - Include support for rt33xx devices
[ ] rt2800usb - Include support for rt35xx devices (EXPERIMENTAL)
[ ] rt2800usb - Include support for rt53xx devices (EXPERIMENTAL)
[ ] rt2800usb - Include support for unknown (USB) devices
[*] Ralink debug output

注明:

a、cfg80211:
cfg80211 is the Linux 802.11 configuration API. cfg80211 replaces Wireless-Extensions. nl80211 is used to configure a cfg80211 device and is used for kernel <–> userspace communication. Wireless extensions is now in maintenance mode, no new features will be added to it, we’ll only fix bugs for it. cfg80211 is now feature-par complete with wireless-extensions, it actually has a lot more features that are simply not available and will never be available through wireless extensions. When implementing a cfg80211 driver wireless extensions support is still provided automatically for you through cfg80211 through CONFIG_CFG80211_WEXT. Distributions no longer needing wireless extensions can remove this and are encouraged to do so. cfg80211 also provides full regulatory support, this is done through wireless-regdb and the usage of CRDA.
All new Linux wireless drivers should be written targeting either cfg80211 for fullmac devices or mac80211 for softmac devices.
(摘自:http://wireless.kernel.org/en/developers/Documentation/cfg80211)

b、Minstrel:
minstrel is a mac80211 rate control algorithm ported over from MadWifi which supports multiple rate retries and claimed to be one of the best, if not the best, rate control algorithm.
(自:http://wireless.kernel.org/en/developers/Documentation/mac80211/RateControl/minstrel/)

c、hotplug
这里是支持热插拔。

d、Firmware
固件的目的是初始化,() External firmware blobs to build into the kernel binary这一选项可以加入固件路径。

e、[*] Ralink debug output
这个选项选了后容易出现下面的警告。
cfg80211: Calling CRDA to update world regulatory domain

二:插入RT3070无线网卡并加载新内核启动
1内核信息打印部分

usb 1-1.4: new full speed USB device number 5 using s3c2410-ohci
usb 1-1.4: New USB device found, idVendor=13d3, idProduct=3273
usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1.4: Product: 802.11 n WLAN
usb 1-1.4: Manufacturer: Ralink
usb 1-1.4: SerialNumber: 1.0
phy1 -> rt2x00_set_chip: Info - Chipset detected - rt: 3070, rf: 0005, rev: 0201.

2 使用lsusb命令查看:

~ >: lsusb
Bus 001 Device 001: ID 1d6b:0001
Bus 001 Device 002: ID 05e3:0606
Bus 001 Device 003: ID 148f:3070
~ >:

3 如果是热插拔的话会,在插入的那一刻,串口会打印如下信息:

~ >: usb 1-1.1: new full speed USB device number 3 using s3c2410-ohci
usb 1-1.1: New USB device found, idVendor=148f, idProduct=2070
usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1.1: Product: 802.11 g WLAN
usb 1-1.1: Manufacturer: Ralink
usb 1-1.1: SerialNumber: 1.0

4 ifconfig查看网卡信息

~ >: ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 00:24:25:50:95:F3
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

我们可以看到
第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)
第三行:MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节
第四、五行:接收、发送数据包情况统计
第七行:接收、发送数据字节数统计信息。

4 使能RT3070无线网卡模块

~>: ifconfig wlan0 up
phy0 -> rt2x00lib_request_firmware: Info - Loading firmware file ‘rt2870.bin’.
phy0 -> rt2x00lib_request_firmware: Error - Failed to request Firmware.
ifconfig: SIOCSIFFLAGS: No such file or directory

按照上的错误信息我们可以知道缺少了 rt2870.bin,因为RT3070的驱动还需要rt2870.bin这个系统固件(firmware)。
解决办法:Linux内核官方站点下载rt2870.bin这个系统固件
git clone git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git
将下载好的固件 RT2870.bin并放入开发板的/lib文件下新创建的firmware目录中就可以解决

~>:ifconfig wlan0 up
phy2 -> rt2x00lib_request_firmware: Info - Loading firmware file ‘rt2870.bin’.
phy2 -> rt2x00lib_request_firmware: Info - Firmware detected - version: 0.29.
phy2 -> rt2x00mac_conf_tx: Info - Configured TX queue 0 - CWmin: 3, CWmax: 4, Aifs: 2, TXop: 102.
phy2 -> rt2x00mac_conf_tx: Info - Configured TX queue 1 - CWmin: 4, CWmax: 5, Aifs: 2, TXop: 188.
phy2 -> rt2x00mac_conf_tx: Info - Configured TX queue 2 - CWmin: 5, CWmax: 10, Aifs: 3, TXop: 0.
phy2 -> rt2x00mac_conf_tx: Info - Configured TX queue 3 - CWmin: 5, CWmax: 10, Aifs: 7, TXop: 0.

三、无线网络配置工具Wireless tools和Wpa_supplicant以及Openssl移植
——————————————————————————————————————————————————————————————————————————-
目前可以使用wireless-tools或wpa_supplicant工具来配置无线网络。但要注意对无线网络的配置是全局性的,而非针对具体的接口。wpa_supplicant是一个较好的选择,但缺点是它不支持所有的驱动。另外,wpa_supplicant目前只能连接到那些你已经配置好ESSID的无线网络。而wireless-tools支持几乎所有的无线网卡和驱动,但它不能连接到那些只支持WPA的AP。
—————————————————————————————————————————————————————————————————————————–
1. Wireless tools移植

1.1资源下载
wireless_tools.29.tar.gz
http://download.youkuaiyun.com/detail/u010944778/8916883

1.2解压

[hulu@centos6 openssl-0.9.8i]$ tar zxvf wireless_tools.29.tar.gz

[hulu@centos6 openssl-0.9.8i]$ cd wireless_tools.29

1.3修改Makefile

11 ## Compiler to use (modify this for cross compile).
12 CC = /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc
13 ## Other tools you need to modify for cross compile (static lib only).
14 AR = /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ar
15 RANLIB = /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ranlib

1.4编译

[hulu@centos6 openssl-0.9.8i]$make
这里写图片描述
1.5拷贝
将生成的命令工具:ifrename、iwevent、wgetid、iwspy、iwlist、iwconfig、iwpriv,拷贝到目标板的/bin下,将libiw.so.29 拷贝到目标板的/lib下,并分别赋予权限chmod 777 iw* libiw.so.29

2.Openssl工具移植
—————————————————————————————————————————————————————————————————————————–
现在的wifi网络肯定都是加密的。而大多都是WPA加密,所以wpa_supplicant对我们来说除了配置无线网络的需求之外,它更主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的。而要加密就要使用到相关的加密算法,常用的密钥等,所以我们要先移植Openssl工具再移植wpa-supplicant。因为后面编译wpa_supplicant要依赖openssl中的lib和include
—————————————————————————————————————————————————————————————————————————-

2.1、下载openssl驱动源码
Openssl-0.9.8i
http://download.youkuaiyun.com/detail/u010944778/8918317

2.2解压后创建指定的安装目录

[hulu@centos6 openssl-0.9.8i]$ mkdir install

2.3修改Makefile

29 INSTALLTOP=/home/hulu/fl2440/wifi/openssl-0.9.8i/install//指定ssl的安装目录
32 OPENSSLDIR=/home/hulu/fl2440/wifi/openssl-0.9.8i/install/ 
62 CC= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc
69 AR= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ar $(ARFLAGS) r
70 RANLIB= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ranlib

2.4编译

~> make clean
~> ./config–prefix=/home/hulu/fl2440/wifi/openssl-0.9.8i/install
~> sudo make & make install

并拷贝libcrypto.a 、libcrypto.so.0.9.8 、libssl.a 、libssl.so.0.9.8到开发板的/lib下

3.wpa_supplicant驱动移植

3.1、下载wpa_supplicant源码
wpa_supplicant-0.7.3.tar.gz
http://download.youkuaiyun.com/detail/u010944778/8918325

3.2、解压后修改.config配置文件

[hulu@centos6 wpa_supplicant-0.7.3]$ ls COPYING;
patches ; README ; src ; wpa_supplicant
[hulu@centos6
wpa_supplican]$ cd wpa_supplicant/

[hulu@centos6 wpa_supplicant-0.7.3]$ cp defconfig .config

[hulu@centos6 wpa_supplicant-0.7.3]$ vim .config

修改如下:

27 #CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
28CC=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc -L/home/hulu/fl2440/wifi/openssl-0.9.8i/install/lib
29 #CFLAGS += -Os
30 CFLAGS += -I/home/hulu/fl2440/wifi/openssl-0.9.8i/install/include
31 #CPPFLAGS += -I../src/include -I../../src/router/openssl/include
32 #LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl
33 LIBS += -L/home/hulu/fl2440/wifi/openssl-0.9.8i/install/lib

3.3、编译

[hulu@centos6 wpa_supplicant]$ make
然后将wpa_cli,wpa_supplicant,wpa_passphrase拷贝到开发板的/bin目录下,并修改可执行权限

四、启动RT3070无线模块连接路由器
4.1配置无线网络
————————————————————————————————————————————————————————————————————————
上面我们说过,我们既可以通过wireless tools工具提供的命令iwconfig等来配置无线网络,也可以通过wpa_supplicant来配置.我这里采用wpa_supplicant来配置。
—————————————————————————————————————————————————————————————————————————————
4.1.1 使用wpa_passphrase创建wpa_supplicant的配置文件
以下命令均在开发板上进行操作:

~> /apps/wireless/sta # wpa_passphrase Freescale 123456 >>wpa_supplicant.conf
~>/apps/wireless/sta # cat wpa_supplicant.conf

~>/apps/wireless/Sta # vi wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
network={
ssid=”Freescale” //已知要连接的路由器的名字
key_mgmt=WPA-PSK //采用WPA-PSK加密模式
proto=WPA
pairwise=TKIP CCMP
group=TKIP CCMP
psk=”123456” //路由器密码
//#psk=20a17fe2e0482c0db4e4dcf6c4494cebbd88ae4f166015115ca83ce9022b8cd2
}
pairwise = TKIP CCMP和group =TKIP CCMP表示自动匹配加密算法CCMP或TKIP;

4.1.2启动RT3070并配置RT3070无线网卡参数
我们依旧利用wpa_supplicant工具来配置

在开发板执行:

~>wpa_supplicant -B -d -Dwext-iwlan0-c/apps/wireless/sta/wpa_supplicant.conf
-d :增加调试信息
-B:后台守护进程
-c:指定配置文件
-Dwext:wext为驱动名称
-iwlan0 :wlan0为网络接口名称
这里写图片描述
成功连上如上目标无线网络。

静态配置无线网卡IP和子网掩码和网关

~>:ifconfig wlan0 192.168.0.120 broatcast 192.168.0.255 netmask255.255.255.0 up
~>route add default gw 192.168.0.1
这里写图片描述
这里写图片描述

4.1.3 测试
先关闭eth0

~>: ifconfig eth0 down
如果你想上外网,那么就要给开发板添加DNS域名解析服务!
在开发板的/etc/目录下创建一个resolv.conf的文件,因为在内核启动的时候内核会在resolv.conf文件中找dns

~>: vi resolv.conf
nameserver 4.2.2.2
nameserver 8.8.8.8

先测试一下 ping一下DNS 4.2.2.2
这里写图片描述
再ping一下www.baidu.com
这里写图片描述

至此利用wpa_supplicant配置无线网卡,静态设置wlan0 IP地址和网关,并实现ping通无线路由器,ping通外网。

———————————————————————————————————————————————————————————————————————-
以上都是静态指定wlan0的IP联网的,如果板子自己去动态随机获取IP联网,这样可以不用给wlan0指定IP。接下我们来完成这个功能。
—————————————————————————————————————————————————————————————————————————-
实现DHCP自动获取IP地址

注意:系统已经实现DNS,即在开发板的/etc/目录下存在resolv.conf 文件,要支持动态获取IP的话,你需要在linux内核中和制作文件系统的busybox的menuconfig选中必要的选项
内核部分

Networking --->
    Networking support   
    Networking options ---> 
           Packet socket                 //添加.配置CONFIG_PACKET
          [ * ]     IP: DHCP support         //添加
          [ * ] Network packet filtering (replaces ipchains) --->  //添加,后面子选项可不选,配置CONFIG_NETFILTER
说明:若没选<* > Packet socket, [ * ] Network packet filtering (replaces ipchains)  --->选项,在执行udhcpc命令时出现如下错误:
#  udhcpc -f 
   udhcpc (v1.13.2) started
   eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
   udhcpc: socket: Address family not supported by protocol

busybox部分

Networking Utilities  --->
   udhcp Server/Client  --->
        [*] udhcp Server (udhcpd)                            
        [*] udhcp Client (udhcpc)       //生成udhcpc命令                               
        [ ] Lease display utility (dumpleases)                        
        [ ]   Log udhcp messages to syslog (instead of stdout)        
        [ ]   Compile udhcp with noisy debugging messages
    Networking Utilities --->
     [*] udhcp client for DHCPv6 (udhcpc6)                                            
     [*] udhcp server (udhcpd)  //生成udhcpc命令    

编译,并将新的文件系统和内核放到开发板上
从Busybox的examples/udhcp/下copy simple.script文件到开发板/usr/share/udhcpc/下,并重命名为default.script,然后更改文件default.script的权限,chmod 777 default.script。
注意:如果你没有在开发板上修改权限的话,是不能获取ip的,错误可能是这样的

~>: udhcpc -i wlan0 udhcpc
Sending discover…
Sending select for 192.168.1.110…
Lease of 192.168.1.110 obtained,
lease time 7200

启动rt3070,尝试动态获取IP

~>: wpa_supplicant -B -d -Dwext -iwlan0–c/apps/wireless/sta/wpa_supplicant.conf
~>: udhcpc -i wlan0 //-i 指定网卡wlan0
这里写图片描述
~> route
这里写图片描述
~>ping www.baidu.com
这里写图片描述

以上就是基于fl2440实现rt3070sta模式,有不足之处还请各位指出,欢迎阅读!!!!

电流镜结构实战:从零理解MOS管偏置电路设计(附吴金课程补充) 本文深入解析电流镜结构在MOS管偏置电路设计中的关键作用,从基本原理到实战应用全面覆盖。通过分析偏置电路的核心原理、破解设计难题的实用技巧,以及进阶优化策略,帮助工程师掌握这一模拟电路设计的核心技术。特别适合需要理解电流镜结构和基准电路设计的读者参考学习。 阅读详情

相关推荐

SystemC实战:用C++搞芯片建模的5个典型场景(含代码示例)

本文通过五个典型实战场景,详细介绍了如何使用SystemC这一基于C++的硬件建模库进行芯片设计与系统级建模。内容涵盖从基础并发模块构建、事务级总线建模、跨时钟域验证,到与ModelSim协同仿真及多核系统性能探索,并提供了完整的代码示例,帮助软件工程师利用熟悉的C++工具链高效参与硬件架构设计与验证。

weixin_29191761的博客 316

戴文的Linux内核专题:13 配置内核(9)

Novell的网络协议IPX通常用于Windows系统和NetWare服务器(The IPX protocol)。IPX代表网间分组交换(Internetwork Packet Exchange)。这是一个网络层协议通常与传输层的SPX协议同时使用。 为了使NetWare服务器在服务的网络中有相同的IPX地址,启用下一个特性(IPX: Full inte...

weixin_34221073的博客 319

电流采样电路设计:差分放大与ADC采集详解

在电机控制、电源管理、电池监测等应用中,电流采样是一个关键环节。通常,我们使用小阻值的采样电阻将电流信号转换为电压信号,再通过运放放大后送入ADC进行采集。本文将详细分析一种基于差分放大器的电流采样电路,包括信号放大、参考电压偏置、滤波保护以及ADC转换计算等内容。

W0s477的博客 2万+

kernel配置

]Enable AIO support,支持AIO(Asynchronous I/O 异步事件非阻塞I/O),(包含aio.h, aio_read,向内核发出读命令,aio_write向内核写命令,详细见‘AIO介绍‘文档),AIO机制为服务器端高并发应用程序提供了一种性能优化的手段。Enable access to .config through /proc/config.gz,上一项的子项,可以通过/proc/ config.gz访问.config配置,上一个选的话,建议选上。

weixin_42884925的博客 648

基于深度强化学习的柔性作业车间动态调度

在追求敏捷和灵活的生产调度方面,处理不可预测的动态事件的能力变得越来越重要。与此同时,生产系统中的网络-物理融合产生了大量需要实时挖掘和分析的工业数据。为了便于这种实时控制,本研究提出了一种分层分布式的体系结构来解决动态柔性作业车间调度问题。采用双深度Q网络算法(DDQN)训练调度智能体,捕捉生产信息与调度目标之间的关系,为具有恒定任务到达的柔性作业车间实时做出调度决策。为了处理动态调度中问题的可变规格说明,提出了专门的状态和动作表示法。此外,还提出了一种代理奖励整形技术(surrogate reward

太剧烈的快乐与太剧烈的悲哀是有相同之点的——同样地需要远离人群! 1万+

XGBoost实战:从原理到调参,手把手教你提升模型性能(附Python代码)

本文深入解析XGBoost核心原理,并提供一套从数据准备、系统性调参到生产部署的完整实战指南。通过剖析目标函数、正则化项与分裂算法,帮助读者理解参数背后的数学逻辑,并利用交叉验证、早停法及自动化工具(如Optuna)高效提升模型性能。文中附有详尽的Python代码示例,涵盖类别特征处理、缺失值应对、不平衡数据调整及模型可视化等高级技巧。

weixin_29178069的博客 458

Linux 内核驱动固件加载方式

对于内核驱动需要的固件文件,有两种方式加载:     方式1:固件编写进内核 1,  在驱动的  Driver   --->   Generic Driver Options  ---> External firmware blobs to build into the kernel binary 下编写 固件名字,(全称)。同时在此后的root direction下编写文件路径,  e

绝影 3452

Arduino、ESP32驱动AS3935数字闪电传感器(闪电传感器)

闪电传感器采用AMS独具创新的AS3935数字闪电传感芯片与Coilcraft的MA5532-AE专用天线,可在室内或室外,安全地检测方圆40km范围内发生闪电的距离,闪电相对强度与统计闪电发生次数。

不脱发的程序猿 2016

linux_Wifi模块移植——station模式---

前言 wpa_supplicant本是开源项目源码,被谷歌修改后加入Android移动平台,它主要是用来支持WEP,WPA/WAP2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_supplicant与驱动都采用socket通讯)与驱动交互上数据报给用户,而用户可以通过socket发送命令给wpa_supplicant

abcdefg的专栏 2813

【ROS机器人系统】自主导航+YOLO目标检测+语音播报

完成自主导航功能,并在小车移动至指定地点的过程中,通过机器人的摄像头检测导航途中所见物体,识别出物体的种类(框选出不同物体并标注识别结果),结合科大讯飞语音合成模块对识别结果进行语音播报。..............................

南京大学软件工程硕士在读 2万+

用 RFC Destination 打通 VS Code 与 ABAP 后端,ABAP 开发连接不只是登录那么简单

本文重点介绍了在VS Code中配置ABAP开发环境时建立RFC destination连接的关键细节。文章指出:1. RFC destination是连接前端开发工具与ABAP后端的核心配置,包含系统类型、客户端、用户名等关键信息;2. 连接方式的选择(RFC/HTTP)由产品形态决定,On-Premise和Private Edition使用RFC,而BTP和Public Cloud使用HTTP;3. 连接创建后需要通过添加工作区文件夹来展示开发对象;4. RFC连接涉及网络可达性、身份认证和开发权限三个

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 213

嵌入式Linux开发板_WIFI无线网卡驱动移植

本文所用开发板:tiny4412,当然也可以在jz2440上实现。 嵌入式中设备想要联网,无非就 有线和无线 两种方式。 有线就插上网线,没什么好说的;无线的话一种是将WIFI模块集成焊接在板子上,另一种是WIFI模块以USB的方式接到板子上。 本次使用的就是USB接口的WIFI无线网卡,实现开发板使用WIFI无线网卡访问互联网和作为个人热点。 1.准备工作 1.2 WIFI基础知识...

韦东山嵌入式专栏 1万+

【Qwen2微调实战】LLaMA-Factory框架对Qwen2-7B模型的微调实践

在人工智能的浪潮中,大型语言模型(LLMs)正逐渐成为研究和应用的热点。它们在自然语言处理(NLP)的各个领域,如文本生成、翻译、问答等任务中展现出了卓越的能力。Qwen2-7B模型,作为该领域的佼佼者,不仅因其庞大的参数量和强大的表示能力受到关注,更因其在微调后能够更好地适应特定任务而备受关注。本文将详细介绍如何利用LLaMA-Factory这一高效的微调框架对Qwen2-7B进行微调,以期达到提升模型在特定任务上的表现。

寻道AI,探索AI无限可能! 2万+

Linux配置并编译内核

几种配置方法         配置内核代码并不会花费太长时间。配置工具会询问许多问题并且允许开发者配置内核的每个方面。如果你有不确定的问题或者特性,你最好使用配置工具提供的默认值。本系列教程会使读者逐步了解配置内核的整个过程。           配置代码前需要在源文件的文件夹内打开一个终端。当终端打开后,基于你喜好的配置界面,这里有几种不同的配置方法: make config - 纯...

浅暖的博客 4万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

java实现wife链接硬件_S3C2440实现wifi、3G上网和迷你无线路由的制作(一)

S3C2440实现wifi、3G上网和迷你无线路由的制作fulinux凌云实验室本文将通过ARM、linux平台,借助RT2070/RT3070芯片的无线模块(或使用RT2070/RT3070芯片的USB无线上网卡)、3G无线上网卡,实现无线上网、通过ADSL和3G的迷你无线路由器的制作。wifi上网首先是利用s3c2440开发板和RT2070/RT3070芯片的无线模块实现无线上网的功能,即让...

weixin_30433439的博客 902

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Linux内核配置(7)

红外线子系统支持 红外数据通讯是用于无线红外连接的标准,它支持大多数的笔记本和PDA。 需要用户空间工具支持 *** IrDA protocols *** 不同的IrDA通信协议 <>IrLAN protocol (NEW) IrLAN协议 模拟以太网,可以使用红外线设备建立局域网。 可以用来同红外无线接入点通信。可以通过ad hoc同另一台支持IrLAN的计算机通信。 <>IrCOMM

浪迹一生 5112

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

ieee80211 phy1: Failed to select rate control algorithm

/************************************************************************ * ieee80211 phy1: Failed to select rate control algorithm * 说明: * MT7601u驱动rate control algorithm。 * * ...

weixin_33998125的博客 286

fl2400开发板rt3070芯片—station模式

------------------------------------------------------------------------- Cross compiler:arm-linux-gcc-4.5.4 Linux kernel version:linux-3.0 Development board:fl2440 Author:  Yuzhonghan -------

KarinaCristall的博客 1400

cubieboard在移植RT3070时,出现“rt2x00lib_request_firmware: Error - Failed to request Firmware”解决方案

在cubieboar2(A20)平台上进行hostapd+RT3070的softAP配置时,出现类似如下错误: [ 1043.640000] phy0 -> rt2x00lib_request_firmware: Error – Failed to request Firmware. SIOCSIFFLAGS: No such file or directory上面的出错信息表明没有USB W

武溪嵌人 3216

基于fl2440 开发板rt3070芯片工作在station模式

--------------------------------------------------------------------------------------------------------------------------------- 交叉编译器:arm-linux-gcc-4.5.4 linux内核版本:linux-3.0 开发板:飞凌2440 作者:guanle

guan的博客 1183

s3c2440 arm+linux 开发板移植rt3070驱动笔记

硬件平台:OK6410 arm开发板 操作系统:Linux3.0.1 WIFI:    RT3070 USB WIFI模组 交叉编译环境:arm-linux-gcc-4.3.2 linux内核编译设置不做讲解 1.1:linux内核预配置 make menuconfig 将Ralink driver support设置为M,支持动态加载,把Ranlink相关的设置空,以免冲突

xiaoaide01的专栏 1678

Linux内核(4.17.10)配置项详解(x86)

https://blog.csdn.net/liao20081228/article/details/81389813 64-bit kernel——支持64位 General setup——通用设置 Cross-compiler tool prefix——交叉编译工具前缀 Local version-append to kernel release——内核显示的版本信息,填入6...

liuzq的专栏 9677

linux_Wifi模块移植——station模式

作者:杨正 QQ:1209758756yz2012ww@gmail.com>2013.7.13   前言 wpa_supplicant本是开源项目源码,被谷歌修改后加入android移动平台,它主要是用来支持WEP,WPA/WAP2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_supplicant与驱动都采用sock

杨正的专栏 4394

phy0 -> rt2x00lib_request_firmware: Error - Failed to request Firmware.

~ > ifconfig wlan0 up  phy0 -> rt2x00lib_request_firmware: Error - Failed to request Firmware. ifconfig: SIOCSIFFLAGS: No such file or directory ~ > ls /lib/firmware rt2870.bin 原因:重新烧录了内核

我们的征途是星辰大海 3732

WIFI模块工作模式浅析

一.我的工作平台:  FL2440开发板,RT3070的WIFI模块,无线路由器(联网)。   二. 你要用WIFI模块做事: 1.首先要了解你使用的wifi模块是要工作在哪种模式下。   当你要用你的wifi模块组成一个基础网,应该使wifi工作在AP模式下。(AP称为无线接入点,是一个无线网络的创建着,是网络的中心节点。一般的家庭或办公室使用的无线路由器就是一个AP。)简单的解释

yeyechenxi的专栏 4375

Linux 图形界面与命令行模式切换

Tip:使用环境VMware Workstation    OS:CentOS 6.2  相信有不少的Linux 初学者对图形界面与命令行模式的切换感觉到很懊恼,到底应该怎 么才能切换,是不是只有重装系统才能不使用图形界面?答案是:不是。今天我们就一起来 看一下在Linux 中到底如何切换这两种模式的。 讲到这里就不得不说下Linux 的7 个运行级别: 0  – halt

东亮博客 2万+
上一篇: 基于FL2440平台在linux内核上led驱动开发
下一篇: 基于s3c2440平台rt3070工作在AP模式
HULU_ARM
博客等级 码龄11年 26粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值