Nvidia Jetson 配置Hotspot
2019年1月7日
16:52
近期在玩 Nvidia Jetson AGX Xavier ,给他配置了一个无线网卡,型号为 Intel , 支持蓝牙技术,安装好以后,系统自动识别,并加载驱动,操作系统层顺利看到 wlan0,在桌面环境下启用无线AP功能, 可以顺利启动, 但它自动启动后,缺省工作在10.42.0.0/24网段,并允许wifi客户端使用这个AP代理访问Internet(—>eth0)。
我的工作AP环境中有两个无线客户端,分别是 ESP32 CAM1 和 ESP32 CAM2 两个摄像头设备,而它的rtsp代码我是用github上复制下来的,用于Jetson的图像识别。为了让这两个客户端能使用这个Jetson的AP信号,我做了如下定制化,以脱离局域网环境,让他们自动工作在同一网络。
查询系统进程,发现这个AP是使用NetworkManager管理的,并启动了 dnsmasq 对客户端体哦那个服务,这个dnsmasq以前听说过但没有具体使用过, 所以我现在记录下来,做个文档,共享给大家。
目标规划: AP 工作在 192.168.193.0/24, AP IP=192.168.193.1, 并根据两个摄像头的MAC地址分配静态IP。
由于不涉及 DNS 解析, 所以就没有填写关于 DNS 配置的相关信息, 有兴趣的可以查询 dnsmasq 的配置文件.
1:修改AP网络IP
在 /etc/NetworkManager/system-connection 目录中, 可以看见你刚刚创建的 AP 名字的一个文件, 用vim编辑它,在其中的 [ipv4] 节里面增加一行, 格式如下:
address1=192.168.193.1/24,192.168.193.1
注意是 address1, 后面有一个数字1.
2: 修改 dnsmasq配置文件。
查看系统进程, 可以看到dnsmasq进程在命令行参数中指定了配置文件目录, 所以在这个目录中增加配置文件。
vim /etc/NetworkManager/dnsmasq-shared.d/spender # 这个文件名可以随便起。创建一个新的即可。增加如下内容:
cache-size=1500
#指定作用于的网络接口
interface=wlan0
#指定listen 的地址,可以多个
listen-address=127.0.0.1
listen-address=192.168.193.1
#配置dhcp 选项
动态分配的ip范围及更新时间
dhcp-range=192.168.193.1,192.168.193.100,255.255.255.0,2h
#客户端路由
dhcp-option=option:router,192.168.193.1
#客户端 dns
dhcp-option=option:dns-server,192.168.193.1,192.168.0.254
#静态分配两个客户端IP
dhcp-host=08:3a:f1:a1:51,192.168.193.11
dhcp-host=08:3a:f1:a1:54,192.168.193.12
修改完以后,保存即可。
使用 systemctl restart network-manager 或者干脆 reboot 生效。
这个论坛使用了 markdown格式, 为第一次投文档, 写的不是很规范, 见谅!