重启后我总是需要ifdown / ifup wlan0


8

我正在尝试创建由5台计算机组成的临时wifi(一台Windows PC和4个带有树莓派的树莓派)。树莓派将通过mqtt进行对话,但这不是重点。我的问题是,wlan0每次重新启动后,我始终需要执行以下操作才能拥有接口:

sudo ifdown wlan0
sudo ifup wlan0

你知道为什么吗?这是我的配置文件(除了IP地址,每个pi上都一样!)

~ % ifconfig                 
eth0      Link encap:Ethernet  HWaddr b8:27:eb:ff:88:99  
          inet addr:192.168.1.41  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:951 errors:0 dropped:0 overruns:0 frame:0
          TX packets:266 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:66321 (64.7 KiB)  TX bytes:43663 (42.6 KiB)

wlan0     Link encap:Ethernet  HWaddr 00:0f:13:51:05:8c  
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:2520 (2.4 KiB)

~ % iwconfig
wlan0     IEEE 802.11bgn  ESSID:"mirroir"  
          Mode:Ad-Hoc  Frequency:2.412 GHz  Cell: 42:B1:44:EB:D2:C1   
          Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:on

lo        no wireless extensions.

eth0      no wireless extensions.


~ % more /etc/network/interfaces 
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
auto wlan0
iface wlan0 inet static
    address 192.168.0.2
    netmask 255.255.255.0
    wireless-channel 1
    wireless-essid mirroir
    wireless-mode ad-hoc
    wireless-key 967136deac

~ % sudo route add -net 192.168.0.0 netmask 255.255.255.0 wlan0

~ % netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         192.168.1.254   0.0.0.0         UG        0 0          0 eth0
192.168.0.0     *               255.255.255.0   U         0 0          0 wlan0
192.168.1.0     *               255.255.255.0   U         0 0          0 eth0

任何的想法?

似乎可行,但并非总是如此-像10个靴子中的1个,真的很奇怪吗?


是向下/向上还是之后的设置?
ott--

之后,之前wlan0没有IP
xavier.seignard

我看不到它是如何确定网关IP的?也许尝试gateway 192.168.1.254直接在文件的netmask 255.255.255.0行下添加/etc/network/interfaces
mulllhausen

Answers:


7

您是否尝试过以下解决方案之一?我不得不在这里猜测答案,因为该问题不容易重现,可能与您使用的驱动程序有关。

  1. 在interfaces文件中,尝试注释掉“ auto wlan0”,然后仅保留“ allow-hotplug wlan0”

    #auto wlan0
    allow-hotplug wlan0
    iface wlan0 inet dhcp
    ... rest of the config ...
    
  2. 可能不是您正在寻找的理想解决方案,但是请尝试在您喜欢的脚本目录中创建具有执行特权的新Shell脚本,其中包含以下内容。

    ifdown wlan0 
    ifup wlan0 
    

    然后将以下行添加到您的interfaces文件。

    auto wlan0
    iface wlan0 inet dhcp
    ... rest of the config ...
    post-up /path-to-your-script/script.sh
    
  3. 在没有激活无线连接的情况下启动计算机时。尝试摆弄iwconfig不同的参数(尝试使用man iwconfig以获得完整列表),直到出现界面为止。我想也许是txpower某种转换可能会对您有所帮助。如果这对您有用pre-up <command-that-worked>,请像第二个答案一样在您的interfaces文件中使用并将命令保留在那里。

    因此,最后这样(记住要传递绝对路径到(pre | post)上)

    pre-up /sbin/iwconfig wlan0 txpower on
    

嗨,谢谢你的完整答案!我尝试了第一个解决方案,但没有成功。我使用的解决方法是解决方案2,我在中添加了它/etc/rc.local。我应该尝试一下您提供的第三个解决方案。谢谢!
xavier.seignard

以上任何解决方案对您有用吗?如果您成功解决了问题,请分享..谢谢
Purinda Gunasekara

嗨,我还没有尝试过第三种,下周我会尝试
xavier.seignard 2013年

解决方案1对我有用。
dgmdan 2014年

3

完全一样的问题在这里。问题是时间问题:引导过程发布时wlan0尚未准备就绪ifup

我通过pre-up sleep 5在interfaces文件中的wlan0中添加一个等待语句来解决此问题:

marcelo@breeze:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
  pre-up sleep 5 
  address 10.0.0.42
  netmask 255.255.255.0
  gateway 10.0.0.2
  dns-nameservers 10.0.0.2
  wpa-ssid mycoolssid
  wpa-psk returnguantanamo

0

也许您想对eth0接口和wlan0使用不同的“本地”网络。

所以对于局域网使用网络10.10.0.1255.255.255.0192.168.0.1面具255.255.255.0

我在RPI上没有遇到这个问题(可能是因为我始终将wlan0和eth0网络IP保持非常不同)。但是在我的Windows PC上,我一直都192.168.1.x遇到这个问题:当我使用无线连接,然后插入以太网端口,例如带有192.168.0.x地址的rasbperry (注意第三个八位位组)时,我总是会断开网络连接。


0

取消注释auto eth0auto eth1或者auto wlan您希望在设备启动时显示的界面。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.