**已关闭。**此问题为not about programming or software development。目前不接受回答。
此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site的主题相关,可以发表评论,说明在何处可以回答此问题。
28天前关闭
Improve this question的
我想尝试一些与乌藨子Pis网络项目,我需要只是一对Pis之间发送数据包.我会很高兴作为第一步只是能够ping之间到乌藨子Pis在ad-hoc模式.我还没有成功地做到这一点,尽管看了几个教程和例子在线.
我有2x乌藨子Pis与Debian Wheezy操作系统安装.我使用以下USB适配器,我安装了两个Pis固件,并测试了它们的工作原理,将它们连接在托管模式下到路由器:总线001设备004:ID 050 d:945 a贝尔金组件F7 D1101 v1基本无线适配器[Realtek RTL 8188 SU]
以下是一些关于网络信息的原则:
/etc/network/interfaces在每个pi:
pi1@raspberrypi ~ $ cat /etc/network/interfaces
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
iface wlan0 inet manual
address 192.168.2.1
netmask 255.255.255.0
wireless-channel 4
wireless-essid pi-ad-hoc
wireless-mode ad-hoc
pi2@raspberrypi ~ $ cat /etc/network/interfaces
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
iface wlan0 inet manual
address 192.168.2.2
netmask 255.255.255.0
wireless-channel 4
wireless-essid pi-ad-hoc
wireless-mode ad-hoc
字符串
ifconfig在每个pi:
pi1@raspberrypi ~ $ ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr ec:1a:59:46:8e:5a
inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:26 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
pi2@raspberrypi ~ $ ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr ec:1a:59:46:59:0a
inet addr:192.168.2.2 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:6 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
型
每个PI的iwconfig:
pi1@raspberrypi ~ $ iwconfig wlan0
wlan0 IEEE 802.11bg ESSID:"pi-ad-hoc" Nickname:"rtl_wifi"
Mode:Ad-Hoc Cell: 02:11:87:FA:4A:02 Bit Rate:54 Mb/s
Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
pi2@raspberrypi ~ $ iwconfig wlan0
wlan0 IEEE 802.11bg ESSID:"pi-ad-hoc" Nickname:"rtl_wifi"
Mode:Ad-Hoc Cell: 02:11:87:C4:F2:01 Bit Rate:54 Mb/s
Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
型
一个PI的路线(其他PI相同):
pi1@raspberrypi ~ $ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.2.0 * 255.255.255.0 U 0 0 0 wlan0
型
在每个PI扫描iwlist:
pi1@raspberrypi ~ $ sudo iwlist wlan0 scan
wlan0 Scan completed :
Cell 01 - Address: 02:11:87:FA:4A:02
ESSID:"pi-ad-hoc"
Protocol:IEEE 802.11bg
Mode:Ad-Hoc
Frequency:2.427 GHz (Channel 4)
Encryption key:off
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Quality:0 Signal level:0 Noise level:0
Cell 04 - Address: 02:11:87:C4:F2:01
ESSID:"pi-ad-hoc"
Protocol:IEEE 802.11bg
Mode:Ad-Hoc
Frequency:2.427 GHz (Channel 4)
Encryption key:off
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Signal level=100/100
pi2@raspberrypi ~ $ sudo iwlist wlan0 scan
wlan0 Scan completed :
Cell 01 - Address: 02:11:87:C4:F2:01
ESSID:"pi-ad-hoc"
Protocol:IEEE 802.11bg
Mode:Ad-Hoc
Frequency:2.427 GHz (Channel 4)
Encryption key:off
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Quality:0 Signal level:0 Noise level:0
Cell 02 - Address: 02:11:87:FA:4A:02
ESSID:"pi-ad-hoc"
Protocol:IEEE 802.11bg
Mode:Ad-Hoc
Frequency:2.427 GHz (Channel 4)
Encryption key:off
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Signal level=100/100
型
Ping不起作用,它们之间似乎没有联网。(与iwlist扫描中的小区不同),其是用于定义自组织网络的伪基站ID(我从我所读到的最好的理解)。此外,从iwlist,每个pi可以看到他们自己的加上其他pi的ad-hoc网络。我假设他们需要选择相同的Cell ID进行通信,我不确定如何让它们自动完成这一操作。我尝试在每个pi上静态地强制它们相同,这并没有改变单元格ID,因此不起作用:
sudo iwconfig wlan0 ap (some address)
型
我还尝试了一个解决方案,在wpa_supplicant配置中使用ap_scan=2,这似乎没有帮助。
有人知道我做错了什么吗?
3条答案
按热度按时间2wnc66cl1#
经过一番搜索,我发现我使用的Belkin USB适配器显然没有特别模式支持Linux驱动程序。我买了一些其他的无线USB适配器,工作很好“Edimax EW-7811 Un 150 Mbps无线11n纳米尺寸USB适配器”。它们更便宜,更小,他们在ad-hoc模式下工作,甚至不需要担心驱动程序。如果你也想做ad-hoc raspberry PI项目,我为故障排除提供的细节可以作为指导。
x759pob22#
这在/etc/network/interfaces中适用:
字符串
埃西德,channel和ap可以是任何有效值(在所有的Pi上都是一样的)。确保在同一个子网中为不同的Pi分配不同的地址,你应该没问题。ap定义了上面提到的cell ID。FWIW我使用的是TP-链接WN 725 N。它有RTL 8188 CUS芯片组,开箱即用,即使dmesg指示Pi将其视为RTL 8192也能正常工作。
qyyhg6bp3#
我没有成功使用任何适配器使用
RTL8188CUS
芯片组。幸运的是,我有一些雷凌RT5370
加密狗(从this kit),支持nl80211
接口和ad-hoc模式。我的解决方案涉及使用
wpa_supplicant
,并配置了2个文件。请确保安装了nl80211
驱动程序:字符串
接下来,在每个Pi上创建以下名为
/etc/wpa_supplicant-adhoc.conf
的wpa_supplicant
配置文件:型
在其中可以选择
ssid
、frequency
(查找here以获得有效值)和psk
。型
如果没有,你可以使用
型
接下来,将以下代码块添加到每个Pi上的
/etc/network/interfaces
文件中:型
其中每个Pi都有一个以
10.10.2.
开头的不同address
字段。此外,如果您的RT5370
适配器使用的接口不是wlan0
(例如wlan1
,wlan2
等),请确保使用该接口名称。此时,Pis应该会在重启后自动加入网络。通过ping或使用ssh测试连接,例如从IP地址为
10.10.2.1
的代理运行以下命令:型
访问IP地址为
10.10.2.2
的代理。这里列出的步骤改编自this Arch Linux wiki article和this Raspberry Pi forum discussion。