搜索
bottom↓
回复: 1

TI AM335x debian系统USB无线网卡移植手册

[复制链接]

出0入0汤圆

发表于 2017-11-23 11:39:03 | 显示全部楼层 |阅读模式
本帖最后由 szypf2011 于 2017-11-23 11:41 编辑

先简介下AM335x
  AM335x处理器采用系列化,从高端过渡到低端,满足不同行业客户的各种功能需求,达到性价比最优的微妙平衡。有AM3359/AM3358/AM3357/AM3356/AM3354等多款配置参数各不相同的处理器,且系列   处理器管脚PIN对PIN兼容,方便客户进行产品升级公开资料最全的一款芯片,方便工程师学习及进行产品设计。
系统支持丰富,支持WINCE、LINUX、Android三种主流嵌入式操作系统;支持裸机操作,可通过StarterWare做到无需操作系统,开发人员便可像对微控制器编程那样对处理器进行编程。集成2个MAC,双千兆网络。拥有CAN、PROFIBUS、RS485等多种主流工业总线,应用领域广泛。品质稳定,定位工业控制MCU,适应各种残酷工业环境;超长供货周期,保证客户产品寿命。


  这次使用的是深圳盈鹏飞嵌入式公司基于AM335x打造的双网络,6串口的嵌入式开发板(EVB-T335)。核心板采用的AM335x处理器,最高运行1GHz,邮票孔设计,超小体积,EtherCat.PROFINET工业总线,支持Linux3.14/Wince7.0系统!
从官网上找了两张开发板和核心板的高清图
EVB-T335开发板


CoM-T335核心板



开始切入主题
  根据盈鹏飞嵌入式公司提供文档<<CoM-335x如何烧写BBB的Debian系统>>(需要文档可到官网下载:http://www.embedall.com/)可将BBB的debian系统转换给EVB-T335 使用,但是转换后的debian系统,usbwifi驱动模块不能使用,原因是BBB debian系统中的内核驱动模块是以3.8版本内核编译的,而EVB-T335使用的是3.14.43版本内核。所以需要单独移植无线 usbwifi驱动模块以支持EVB-T335。本文以rtl8192cu为例讲解。
若要在3.14 内核 debian系统上移植无线usbwifi,需完成下列步骤:
a) 需重新配置内核,编译rtl8192cu驱动模块;
b) 下载移植固件firmware (rtl8192cufw_TMSC.bin / rtl8192cufw.bin);
c) debian系统上通过apt-get install 安装wpa_supplicant 工具,libnl库 (libnl-3.so.200、libnl-genl-3.so.200)
d) 编写wpa_supplicant.conf配置文件,用于连接无线wifi网络;

配置内核
支持rtl8192cu usbwifi内核及驱动模块配置如下:
  • Networking support  --->
                    -*-   Wireless  --->
                            --- Wireless  
                             <M>   cfg80211 - wireless configuration API
                            
  •      enable powersave by default
                            
  •      cfg80211 wireless extensions compatibility
                             <*>   Generic IEEE 802.11 Networking Stack (mac80211)
                            
  •    Minstrel
                            
  •      Minstrel 802.11n support
    Device Drivers  --->
           
  • Network device support  --->
                           
  •    Wireless LAN  --->
                                    <M>   Realtek rtlwifi family of devices  --->
                                            <M>   Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter
                                            []   Debugging output for rtlwifi driver family

    配置完成后,保存退出。然后重新编译内核和内核模块(如已将驱动编译进内核,则无需编译内核模块):
    编译内核:
    $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-  LOADADDR=0x80008000 uImage
    编译内核模块:
    $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules
    安装内核模块:
    $ make ARCH=arm INSTALL_MOD_PATH=<path to root of file system> modules_install
    path to root of file system为模块安装的目录,例如/home/alex/evbt335/kernel/modules为笔者的安装路径,相应命令如下所示:
    $ make ARCH=arm INSTALL_MOD_PATH=/home/alex/evbt335/kernel/modules modules_install
    将编译好的内核烧录到开发板,并将安装好的驱动模块目录/home/alex/evbt335/kernel/modules/lib/modules
    复制到debian的/lib/目录下。

    下载固件
      Rtl8192cu 所需固件为rtl8192cufw_TMSC.bin / rtl8192cufw.bin ,其他wifi模块可根据实际模块加载过程中打印输出为准;(如debian系统启动时,会自动加载所需模块,并打印缺少的固件)
    Linux系统所需的固件包可在linux系统下通过如下命令下载:
    git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
    下载后可在该固件包里找到rtl8192cufw_TMSC.bin / rtl8192cufw.bin文件,并移植到debian系统的/lib/firmware/rtlwifi/目录下即可;
    至此rtl8192cu usbwifi模块在系统启动过程中即可自动加载完成;

    配置使用
    下载wpa_supplicant工具及libnl库
      驱动模块加载成功后,需要使用wpa_supplicant 工具连接wifi网络。此工具还需要libnl库支持,所以需要使用下列命令加载wpa_supplicant 工具及libnl库;
    上电启动EVB-T335debian系统,输入以root用户登陆,无需输入密码,输入下列命令:
    root@beaglebone:/# apt-get install libnl-3-dev libnl-genl-3-dev wpasupplicant

    创建wpa_supplicant.conf配置文件
      在/etc/目录下创建wpa_supplicant.conf文件:(根据路由器实际配置修改,可参考附件2)
    # WPA-PSK/TKIP
    ctrl_interface=/var/run/wpa_supplicant
    network={
          ssid="artcor"                   //Wifi账号
          key_mgmt=WPA-PSK //请无论你是使用WPA-PSK,WPA2-PSK,都请在这里输入 WPA-PSK。这
    在wpa_supplicant看来WPA-PSK,WPA2-PSK都是 WPA-PSK,改成WPA2-PSK,它会不认识。
          proto=WPA RSN           //一般这样写可以兼容WPA和WPA2 CCMP和TKIP
    proto=RSN #Robust Security Network:强健安全网络,表示这个网络配
    置比 WEP模式要更安全。
          pairwise=CCMP TKIP        //关键点,wpa_supplicant目前还不认AES的加密标准,因此即使你在
    此输入AES也没有用,自行web到路由器上改成CCMP TKIP
          psk="82523090"        //Wifi密码
    }


    连接无线wifi
    上电启动EVB-T335,进入debian系统后,输入下列命令:
    由于EVBT-335使用了双网络,为避免冲突,可以先关闭eth0和eth1:
    root@beaglebone:/#ifconfig eth0 down
    root@beaglebone:/#ifconfig eth1 down

    root@beaglebone:/#modprobe rtl8192cu
    root@beaglebone:/#ifconfig wlan0 192.168.0.222 up
    root@beaglebone:/#route add default gw 192.168.0.1
    root@beaglebone:/#wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -B
    root@beaglebone:/# ping 192.168.0.1 -I wlan0
    此时即可正常使用usbwifi ,移植rtl8192cu完成;


    无线网卡使用注意事项
    问题1:加载驱动模块
    问题:debian系统上电启动会自动加载硬件所需的驱动模块,如需卸载rtl8192cu模块,可使用如下命令:
    root@beaglebone:/#modporbe –r rtl8192cu
    若要手动加载rtl8192cu模块,不要使用insmod命令,需使用modprobe 命令,该命令可自动加载该模块所需的其他依赖模块;
    问题2:可以ping通路由但是ping不通外网
    解决办法:
    route add default gw 192.168.0.1

  • 本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?注册

    x

    出0入0汤圆

     楼主| 发表于 2017-11-23 14:39:26 | 显示全部楼层
    关注公众号,获取更多技术文档,产品资讯!!!更有不定时推出开发板使用活动!!!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

    GMT+8, 2024-5-6 14:58

    © Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

    快速回复 返回顶部 返回列表