Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    【DIY教程】将D1哪吒开发板改装成一个4G热点简易 NAS

    MR Series
    4
    5
    2813
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      WM_CH LV 3 last edited by xiaowenge

      虚拟机之前编译SDK的时候,内存不够崩了,改成了4G内存。。。
      加上Samba服务之后,编译又崩了,改成了8G内存。。。

      编译方法:
      source build/envsetup.sh
      lunch d1_nezha-tina
      make -j32
      pack


      1. samba服务
      1.1 根据全志D1 WiFi AP功能介绍,进行内核配置

      在SDK根目录 make kernel_menuconfig 配置内核
      [*]Networking support
      	Networking options --->
      		[*] Network packet filtering framework (Netfilter) --->
      			[*]Advanced netfilter configuration
      				core Netfilter configuration--->
      					<*> Netfilter connection tracking support
      						[*] connection mark tracking support
      						[*] connection tracking security mark support 没有
      						[*] connection tracking events
      						[*] connection tracking timeout
      						[*] connection tracking timestamping
      						<M>connection tracking netlink interface
      						<M>connection tracking timeout tuning via Netlink
      					-*- Netfilter Xtables support (required for ip_tables)
      						<*>“conntrack”connection tracking match support
      						<*>“state”match support
      				IP: Netfilter Configuration --->
      					<*>IPv4 connection tracking support (required for NAT) 没有
      					<*>IP tables support (required for filtering/masq/NAT)
      						<*> Packet filtering
      						<*> IPv4 NAT	名字叫 iptables NAT support
      							<*>MASQUERADE target support
      							<*>NETMAP target support
      							<*>REDIRECT targer support
      						<*>Packet mangling
      
      

      文件系统需要添加softAP相关的东西:

      在SDK根目录 make menuconfig
      
      配置选中softap
      Allwinner --->
      <*>softap........................ Tina softap manager --->
      	<*>softap-demo....................................... Tina softap app demo
      		wifi module (xr819) ---> 没看到这个
      
      
      配置选中hostapd
      Network --->
      <*>hostapd .......................... IEEE 802.1x Authenticator (full)
      	-*- hostapd-common .......... hostapd/wpa_supplicant common support files
      
      配置选中iptables
      Network --->
      Firewall --->
      	<*>iptables................... IP firewall administration tool
      
      配置选中dnsmasq
      Base system --->
      <*>dnsmasq......................... DNS and DHCP server
      
      

      后来说的“开机自动装载WiFi驱动”
      需要参考文档《 Tina System init 使用说明文档.pdf》
      D1的文档中没有这个,
      我从网上搜了一下这个文档,发现要改好多,就没敢改。。。

      make menuconfig
      ---> System init (busybox-init)
      	---> () procd-init
      	---> (X) busybox-init
      

      他让选成busybox-init,但是D1的SDK默认是procd的,就没敢动这里。
      所有用户的进程都是由procd或者busybox init来管理的。

      使用AP功能很简单,直接敲命令

      softap_up ap_name ap_passwd
      

      就打开热点了,

      1.2 使用Tina的Samba服务
      加上Samba服务
      make menuconfig之后,直接搜samba
      太多了,一个一个找的,找到:

      Network--->
      <*> samba36-server................................. Samba 3.6 SMB/CIFS server
      

      之后在板子上配置Samba服务

      配置板子的Samba服务:
      sd卡插入之后,会自动挂载到目录 /mnt/SDCARD/

      vi /etc/samba/smb.conf
      [sdcard]                              
              path        = /mnt/SDCARD/
              available   = yes
              valid user  = root
              writeable   = yes
      smbpasswd -a root
      smbd restart
      

      电脑访问到了Tina插的sd卡的内容。。。


      2. 网卡数据转发

      2.1 无线上网卡 合宙air724UG开发板
      根据合宙官网,将内核这一项 RNDIS 驱动配置上:

      Symbol: USB_NET_RNDIS_HOST [=n]                                                           
      Type  : tristate                                                                          
      Prompt: Host for RNDIS and ActiveSync devices                                             
        Location:                                                                               
          -> Device Drivers                                                                     
            -> Network device support (NETDEVICES [=y])                                         
      (1)     -> USB Network Adapters (USB_NET_DRIVERS [=n])                                    
                -> Multi-purpose USB Networking Framework (USB_USBNET [=n])
      		  <*>     Host for RNDIS and ActiveSync devices	配置上
      

      这样什么都不用操作,Tina就可以用这个合宙air724UG进行上网。
      因为lsusb能看到
      查看模块的vid与pid,分别是1782和4e00。
      ifconfig也能看到 eth1

      ifconfig eth1 up
      udhcpc -i eth1 
      

      让他获取一下IP地址
      就可以连接外网了。

      2.2 开启两个网卡的数据转发

      echo "1" > /proc/sys/net/ipv4/ip_forward
      iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
      iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
      

      即可实现数据包转发。
      IP伪装,所有经过eth1发出的数据,源地址都改为wlan0的IP地址【更改源地址SNAT】
      同样,所有经过wlan0发出的数据,源地址都改为eth1的IP地址
      电脑通过tina可以上网了。。。


      3. 杂项

      我还添加了一下lsusb命令。。。
      make menuconfig之后,直接搜lsusb 给它配置上了。

      Symbol: BUSYBOX_CONFIG_LSUSB [=y]                                                
      Type  : boolean                                                                  
      Prompt: lsusb                                                                    
        Location:                                                                      
          -> Base system                                                               
            -> busybox................................ Core utilities for embedded Linu
      		[*]   Customize busybox options
      (1)     -> Linux System Utilities
      			lsusb
      

      加上Telnet
      make menuconfig之后,直接搜telnetd

      Symbol: BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE [=n]                           
      Type  : boolean                                                                  
      Prompt: Support standalone telnetd (not inetd only)                              
        Location:                                                                      
          -> Base system                                                               
            -> busybox................................ Core utilities for embedded Linu
      		[*]   Customize busybox options
              -> Networking Utilities                                                  
      (2)       -> telnetd (BUSYBOX_CONFIG_TELNETD [=n]) 
      

      做了个gif凑合看吧
      666.gif


      环境如图
      20210814045847.jpg
      合宙的开发板找了两根usb线,一个单纯是电源,另一根连到全志D1板子上。
      然后全志的D1开发板就连了一根USB线,既是数据线,又是电源线。


      吐槽:

      1. APST里面没有软件
      2. 开发板的数据USB口很松,
      3. 文档和真实的SDK版本上有点出入,导致很多东西找不到。吓人
      4. 论坛的帖子,这是markdown语法吗?感觉也不完全是。
        aa4aaa14-276f-4749-a173-254fdc5c0246-image.png
      Kirin 1 Reply Last reply Reply Quote Share 0
      • Deleted by  W WM_CH 
      • Restored by  W WM_CH 
      • Kirin
        陈塘关李靖 LV 6 @WM_CH last edited by

        @wm_ch 感谢吐槽,我来回复一下:
        1.APST里面没有软件
        ——这个是需要企业认证用户才能直接在里面下量产工具,但是常用的工具如烧写固件的、写号的、制卡的都在全志在线社区可以单独下载,详见:
        https://www.aw-ol.com/downloads?cat=5

        2.开发板的数据USB口很松,
        ——收到反馈,下一批次注意
        3.文档和真实的SDK版本上有点出入,导致很多东西找不到。吓人
        ——收到反馈,主要是代码迭代太快了,文档没跟上,后面我们会多review
        4.论坛的帖子,这是markdown语法吗?感觉也不完全是。
        ——我也不知道这是什么骚语法,搭论坛的时候发现大家都用这个框架,我们也选了这个论坛框架,不过我日常用觉得还挺顺手的,符合日常发帖水论坛的习惯

        1 Reply Last reply Reply Quote Share 0
        • U
          ubuntu LV 7 last edited by

          是 markdown, 只是这东西 “方言”太多了,没有一个标准,就像文言文一样,不同时代,不同人,解释可能完全不同。

          1 Reply Last reply Reply Quote Share 0
          • BedRock
            BedRock LV 6 last edited by

            哈哈哈哈 编译崩了加内存的操作太骚了 😛 😛 😛

            1 Reply Last reply Reply Quote Share 0
            • W
              WM_CH LV 3 last edited by WM_CH

              补上合宙的固件,https://whycan.com/t_4407.html

              全志D1的固件,
              还有一个演示视频,声音有点小,凑合听吧。。。

              固件下载: tina_d1-nezha_uart0.img

              1 Reply Last reply Reply Quote Share 0
              • 1 / 1
              • First post
                Last post

              Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

              行为准则 | 用户协议 | 隐私权政策