专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
嵌入式
mini2440开发板,是希望通过wifi网络开发板能与手机进行通讯
2019-07-16 08:19
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
嵌入式Linux
5597
3
1110
大家好,我手里有一个mini2440的
开发板
,我想用PC机+开发板+无线模块,使开发板可以作为一个AP接入点,
手机
终端能利用wifi无线的与开发板进行通讯。简单就是希望通过wifi网络开发板能与手机进行通讯。整个过程不要求进行互联网的访问。不知道什么样的无线模块可以呢,带AP功能的无线网卡可以吗,谢谢
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
z00
1楼-- · 2019-07-16 11:02
可以使用方法 wifi USB无线网卡
加载中...
z00
2楼-- · 2019-07-16 11:04
本帖最后由 z00 于 2014-4-22 22:48 编辑
一、环境介绍:
PC机:Windows XP
Android手机:Android 2.2
开发板:mini2440 Linux 2.6.32.2
wifi USB无线网卡:Realtek 8188
二、基本概念
一些非常基础的或者非常专业的词汇我不说,这里仅易于理解的说明下在文中会用到的两个概念。
essid
SSID(Service Set Identifier)服务集标识,通常由AP广播出来,主要就是用来区分不同的网络,简单认为就是这个网络的名称;这一笼统的概念后又有BSSID和ESSID的,前者据说是由单一的AP和站点(终端)构成的一个小型局域网;后者可以拥有多个AP,构成较大规模的网络,通过essid来区分。因此你可以通过你的wifi无线网卡搜索到很多可用网络并且连接网络时,就通过SSID来区分。
在Linux无线网卡中一般会用到Mode,也就是配置你的设备的工作模式:一般有Managed、ad-hoc/P2P、Master。Managed模式相当于你的设备作为网络的终端节点,可以连接AP,访问网络中的设备;ad-hoc/p2p模式,可以称之为点对点模式,就是在同ssid网络中,没有AP设备之间进行直接通信,可以看看Ubuntu网站的帮助文档https://help.ubuntu.com/community/WifiDocs/Adhoc。Master模式就是使用无线网卡作为AP,允许其它设备的连入,如果是softAP,那么就相当于一个无线路由。可能说的不是很准确,有这样一个概念。
三、网络搭建
说的有点大。就是相关的驱动安装,使用。首先是Android手机进入“设置”->“无线和网络”->找到类似于热点设置之类的(担心这里不同手机可能有不同的叫法),进入打开便携式Wi-Fi热点,可以进行网络ssid等的设置,这里是默认的“AndroidAP”。
PC机安装随盘的rtl818su驱动,或者从官网中选择下载相应的software。从“模式”菜单中选择“基站”,从“可用网络”中找到ssid“AndroidAP”,选择添加到配置文件,如图所示:
连接后自动获取IP,如图所示:
在Linux下,只要把rtl8180的驱动make一下,然后insmod加载上就可以了。要想在开发板上使用,只要配置相应的交叉编译器,指明目标板内核源文件路径。在随盘的linux驱动的config中修改如下:
CONFIG_PLATFORM_I386_PC =n
CONFIG_PLATFORM_ARM_S3C = y
在Makefile下可以修改如下:
ifeq ($(CONFIG_PLATFORM_ARM_S3C), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
ARCH := arm
CROSS_COMPILE := arm-linux-
KVER := 2.6.32.2
KSRC := /opt/arm_linux/kernel/linux-$(KVER)-mini2440
endif
如果是从官网上下载的驱动,只要改Makefile就可以了:
CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ANDROID_X86 = n
CONFIG_PLATFORM_ARM_S3C = y
CONFIG_PLATFORM_ARM_PXA = n
ifeq ($(CONFIG_PLATFORM_ARM_S3C), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIANARCH := arm
CROSS_COMPILE := arm-linux-
KVER := 2.6.32.2
KSRC := /opt/arm_linux/kernel/linux-$(KVER)-mini2440
endif
其中CROSS_COMPILE :交叉编译器,KSRC是你的板子的内核目录位置。
将生成的.ko文件拷贝到板子上,通过insmod加载,然后插入usb无线网卡,即可。下面进行Managed模式配置,使其能够与Android手机建立的AP连接。命令如下:
iwconfig wlan0 up
ifconfig wlan0 192.168.43.25 (手机上的默认IP为192.168.43.1,因此需要在一个IP段内)
iwconfig wlan0 mode Managed essid AndroidAP (这些命令在网卡linux驱动的readme中有,AndroidAP是手机建立的AP名称)
至于其它的什么channel、rate等的可选。
好了,ping一下试试吧,我的如下:
[root@FriendlyARM /]# ifconfig wlan0 192.168.43.25
[root@FriendlyARM /]# ping 192.168.43.1
PING 192.168.43.1 (192.168.43.1): 56 data bytes
fwdbg:issue action: 00000003, 00000000, 00000000
fwdbg:ADDBA RSP: 00000001
64 bytes from 192.168.43.1: seq=0 ttl=64 time=15.797 ms
64 bytes from 192.168.43.1: seq=1 ttl=64 time=30.911 ms
64 bytes from 192.168.43.1: seq=2 ttl=64 time=25.923 ms
^C
--- 192.168.43.1 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 15.797/24.210/30.911 ms
[root@FriendlyARM /]# ping 192.168.43.23
PING 192.168.43.23 (192.168.43.23): 56 data bytes
64 bytes from 192.168.43.23: seq=0 ttl=64 time=84.997 ms
64 bytes from 192.168.43.23: seq=1 ttl=64 time=33.968 ms
64 bytes from 192.168.43.23: seq=2 ttl=64 time=29.037 ms
^C
--- 192.168.43.23 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 29.037/49.334/84.997 ms
三、一些问题
最开始,我是希望用开发板作为AP,手机、PC可以直接连接,但是由于购买的Realtek 8188系列的usb无线wifi网卡不支持Linux下的软AP功能,因此作罢;然后又想通过使用ad-hoc模式连接手机和开发板,但是Android手机默认不支持ad-hoc模式,想要修改还得获取手机root权限,修改其中的wifi配置文件,但是我的手机不是常见的google的G系列的,没有找到网上所说的tiwlan.ini,更不要说修改了,结果看到wpa_supplicant的配置好像支持,但是试了几次还是没有获取到root权限,就没有修改成功。最后又找到据说的hostapd,能够使得无线网卡切换为master模式,模拟AP(通常可以认为是路由器)功能,也就是我们说的软AP(Soft AP)。貌似很好了,结果包括ssl、libnl一通移植板子上,测试了下无法改成AP模式失败退出,看了下支持的driver,没有我的网卡。但是可以想到的是,既然该usb网卡可以在windows下实现软AP的功能,说明硬件是没有问题的,只不过在Linux因为其其他产品的存在而没有此功能,所以,可以以hostapd为基础,修改其driver的支持,实现在板子上的AP功能,记录到此,以后要是可以了,再补上了!
加载中...
aills
3楼-- · 2019-07-16 16:52
精彩回答 2 元偷偷看……
加载中...
一周热门
更多
>
相关问题
ARM 汇编,怎么这个export这么捣乱啊?
1 个回答
【ALIENTEK 战舰STM32开发板例程系列连载+教学】第五十八章 UCOSII实验1-任务调度
38 个回答
什么情况下会导致 自恢复保险丝 阻值出现异常?
1 个回答
【提问题,赢课程】反激开关电源设计、变压器设计及调试课程问题搜集
2 个回答
nand启动文件大于4KB,怎么解决
1 个回答
学习ARM选ARM几比较好呢?
2 个回答
这两个板到底选谁?【我决不是发广告的】
1 个回答
关于以太网IP地址如何修改?
1 个回答
相关文章
嵌入式编译生成的HEX文件和BIN文件内容详解
0个评论
嵌入式领域,FPGA的串口通信接口设计,VHDL编程,altera平台
0个评论
IMX6UL裸机实现C语言按键输入实验
0个评论
如何编写一个工程文件夹下通用的Makefile
0个评论
Linux设备树专有名词及语法规则详解(下)
0个评论
嵌入式开发之GNU的汇编语法介绍
0个评论
嵌入式开发之Putty软件的安装和使用
0个评论
嵌入式开发之SecureCRT 软件安装和使用
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
嵌入式
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
一、环境介绍:
PC机:Windows XP
Android手机:Android 2.2
开发板:mini2440 Linux 2.6.32.2
wifi USB无线网卡:Realtek 8188
二、基本概念
一些非常基础的或者非常专业的词汇我不说,这里仅易于理解的说明下在文中会用到的两个概念。
essid
SSID(Service Set Identifier)服务集标识,通常由AP广播出来,主要就是用来区分不同的网络,简单认为就是这个网络的名称;这一笼统的概念后又有BSSID和ESSID的,前者据说是由单一的AP和站点(终端)构成的一个小型局域网;后者可以拥有多个AP,构成较大规模的网络,通过essid来区分。因此你可以通过你的wifi无线网卡搜索到很多可用网络并且连接网络时,就通过SSID来区分。
在Linux无线网卡中一般会用到Mode,也就是配置你的设备的工作模式:一般有Managed、ad-hoc/P2P、Master。Managed模式相当于你的设备作为网络的终端节点,可以连接AP,访问网络中的设备;ad-hoc/p2p模式,可以称之为点对点模式,就是在同ssid网络中,没有AP设备之间进行直接通信,可以看看Ubuntu网站的帮助文档https://help.ubuntu.com/community/WifiDocs/Adhoc。Master模式就是使用无线网卡作为AP,允许其它设备的连入,如果是softAP,那么就相当于一个无线路由。可能说的不是很准确,有这样一个概念。
三、网络搭建
说的有点大。就是相关的驱动安装,使用。首先是Android手机进入“设置”->“无线和网络”->找到类似于热点设置之类的(担心这里不同手机可能有不同的叫法),进入打开便携式Wi-Fi热点,可以进行网络ssid等的设置,这里是默认的“AndroidAP”。
PC机安装随盘的rtl818su驱动,或者从官网中选择下载相应的software。从“模式”菜单中选择“基站”,从“可用网络”中找到ssid“AndroidAP”,选择添加到配置文件,如图所示:
连接后自动获取IP,如图所示:
在Linux下,只要把rtl8180的驱动make一下,然后insmod加载上就可以了。要想在开发板上使用,只要配置相应的交叉编译器,指明目标板内核源文件路径。在随盘的linux驱动的config中修改如下:
CONFIG_PLATFORM_I386_PC =n
CONFIG_PLATFORM_ARM_S3C = y
在Makefile下可以修改如下:
ifeq ($(CONFIG_PLATFORM_ARM_S3C), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
ARCH := arm
CROSS_COMPILE := arm-linux-
KVER := 2.6.32.2
KSRC := /opt/arm_linux/kernel/linux-$(KVER)-mini2440
endif
如果是从官网上下载的驱动,只要改Makefile就可以了:
CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ANDROID_X86 = n
CONFIG_PLATFORM_ARM_S3C = y
CONFIG_PLATFORM_ARM_PXA = n
ifeq ($(CONFIG_PLATFORM_ARM_S3C), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIANARCH := arm
CROSS_COMPILE := arm-linux-
KVER := 2.6.32.2
KSRC := /opt/arm_linux/kernel/linux-$(KVER)-mini2440
endif
其中CROSS_COMPILE :交叉编译器,KSRC是你的板子的内核目录位置。
将生成的.ko文件拷贝到板子上,通过insmod加载,然后插入usb无线网卡,即可。下面进行Managed模式配置,使其能够与Android手机建立的AP连接。命令如下:
iwconfig wlan0 up
ifconfig wlan0 192.168.43.25 (手机上的默认IP为192.168.43.1,因此需要在一个IP段内)
iwconfig wlan0 mode Managed essid AndroidAP (这些命令在网卡linux驱动的readme中有,AndroidAP是手机建立的AP名称)
至于其它的什么channel、rate等的可选。
好了,ping一下试试吧,我的如下:
[root@FriendlyARM /]# ifconfig wlan0 192.168.43.25
[root@FriendlyARM /]# ping 192.168.43.1
PING 192.168.43.1 (192.168.43.1): 56 data bytes
fwdbg:issue action: 00000003, 00000000, 00000000
fwdbg:ADDBA RSP: 00000001
64 bytes from 192.168.43.1: seq=0 ttl=64 time=15.797 ms
64 bytes from 192.168.43.1: seq=1 ttl=64 time=30.911 ms
64 bytes from 192.168.43.1: seq=2 ttl=64 time=25.923 ms
^C
--- 192.168.43.1 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 15.797/24.210/30.911 ms
[root@FriendlyARM /]# ping 192.168.43.23
PING 192.168.43.23 (192.168.43.23): 56 data bytes
64 bytes from 192.168.43.23: seq=0 ttl=64 time=84.997 ms
64 bytes from 192.168.43.23: seq=1 ttl=64 time=33.968 ms
64 bytes from 192.168.43.23: seq=2 ttl=64 time=29.037 ms
^C
--- 192.168.43.23 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 29.037/49.334/84.997 ms
三、一些问题
最开始,我是希望用开发板作为AP,手机、PC可以直接连接,但是由于购买的Realtek 8188系列的usb无线wifi网卡不支持Linux下的软AP功能,因此作罢;然后又想通过使用ad-hoc模式连接手机和开发板,但是Android手机默认不支持ad-hoc模式,想要修改还得获取手机root权限,修改其中的wifi配置文件,但是我的手机不是常见的google的G系列的,没有找到网上所说的tiwlan.ini,更不要说修改了,结果看到wpa_supplicant的配置好像支持,但是试了几次还是没有获取到root权限,就没有修改成功。最后又找到据说的hostapd,能够使得无线网卡切换为master模式,模拟AP(通常可以认为是路由器)功能,也就是我们说的软AP(Soft AP)。貌似很好了,结果包括ssl、libnl一通移植板子上,测试了下无法改成AP模式失败退出,看了下支持的driver,没有我的网卡。但是可以想到的是,既然该usb网卡可以在windows下实现软AP的功能,说明硬件是没有问题的,只不过在Linux因为其其他产品的存在而没有此功能,所以,可以以hostapd为基础,修改其driver的支持,实现在板子上的AP功能,记录到此,以后要是可以了,再补上了!
一周热门 更多>