【DIY教程】将D1哪吒开发板改装成一个4G热点简易 NAS
-
虚拟机之前编译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也能看到 eth1ifconfig 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之后,直接搜telnetdSymbol: 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凑合看吧
环境如图
合宙的开发板找了两根usb线,一个单纯是电源,另一根连到全志D1板子上。
然后全志的D1开发板就连了一根USB线,既是数据线,又是电源线。
吐槽:
- APST里面没有软件
- 开发板的数据USB口很松,
- 文档和真实的SDK版本上有点出入,导致很多东西找不到。吓人
- 论坛的帖子,这是markdown语法吗?感觉也不完全是。
-
-
-
@wm_ch 感谢吐槽,我来回复一下:
1.APST里面没有软件
——这个是需要企业认证用户才能直接在里面下量产工具,但是常用的工具如烧写固件的、写号的、制卡的都在全志在线社区可以单独下载,详见:
https://www.aw-ol.com/downloads?cat=52.开发板的数据USB口很松,
——收到反馈,下一批次注意
3.文档和真实的SDK版本上有点出入,导致很多东西找不到。吓人
——收到反馈,主要是代码迭代太快了,文档没跟上,后面我们会多review
4.论坛的帖子,这是markdown语法吗?感觉也不完全是。
——我也不知道这是什么骚语法,搭论坛的时候发现大家都用这个框架,我们也选了这个论坛框架,不过我日常用觉得还挺顺手的,符合日常发帖水论坛的习惯 -
是 markdown, 只是这东西 “方言”太多了,没有一个标准,就像文言文一样,不同时代,不同人,解释可能完全不同。
-
哈哈哈哈 编译崩了加内存的操作太骚了
-
补上合宙的固件,https://whycan.com/t_4407.html
全志D1的固件,
还有一个演示视频,声音有点小,凑合听吧。。。固件下载: tina_d1-nezha_uart0.img
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号